Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8220028

[JVMCI] simplify management of speculations

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P4
    • Resolution: Duplicate
    • Affects Version/s: 13
    • Fix Version/s: 13
    • Component/s: hotspot
    • Labels:

      Description

      Currently, HotSpotSpeculationLog encapsulates and stores object representing speculations across all compilations of a method (or a Truffle AST). This complicates GC which has to find these logs and also presents concurrency issues when there can be multiple compilations of a Method. It is better to have a compilation serialize speculations into bytes. An nmethod will directly store these bytes and when a speculation fails, the relevant bytes are appended to a list hanging of a Method* (or Truffle AST).

      This has the following advantages:
      * speculation lifetimes work out of the box (i.e. they are reclaimed when their holder is collected)
      * in the context of libgraal, there is no need to worry about managing objects on the SVM heap that outlive a compilation

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                kvn Vladimir Kozlov
                Reporter:
                dnsimon Douglas Simon
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: