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

[Valhalla] Interpreter should be able to return values in TLVB

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Won't Fix
    • Affects Version/s: repo-valhalla
    • Fix Version/s: repo-valhalla
    • Component/s: hotspot
    • Labels:

      Description

      The interpreter is able to use the Thread-Local Value Buffer (TLVB) to pass values as arguments to method being invoked, but it cannot always do it to return value. Currently, when a value must be returned to the caller method, the interpreter calls the runtime, which checks the kind of the caller frame to determine the way the value will be returned. If the caller frame is an interpreted frame, the value is returned in the TLVB (the value might need to be relocated). If the caller frame is a compiled frame, a copy of the value is created in the Java heap, and this copy is the one being returned to the caller.

      The implementation should be changed in order to:
        - avoid trapping into the runtime in most cases
        - always being able to return a value stores in the TLVB, even if the caller is a compiled frame

        Attachments

          Activity

            People

            • Assignee:
              fparain Frederic Parain
              Reporter:
              fparain Frederic Parain
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: