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

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

    XMLWordPrintable

    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: