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

compiler optimizations required for JSR 292

    Details

    • Subcomponent:
    • Resolved In Build:
      b07
    • CPU:
      generic
    • OS:
      generic

      Backports

        Description

        The JITs (C1, C2) must not bail out to the interpreter when they encounter an invokedynamic call site. Rather, they must load the target method from the CallSite and perform a MethodHandle.invoke call on it, and possibly also call the bootstrap method. The target method, if available at compile time, should be optimistically inlined, as if for a bimorphic call site. Bail-outs to the interpreter should be limited to deoptimizations, as with other dynamically typed call sites.

        The structure of the target method handle should be reified to the compiler as a "synthetic method", a ciMethod or even a real methodOop. In this way the usual bytecode parser can be used to generate the IR for it. This design will also allow method handles to be shrink-wrapped when necessary, as (for example) in interface injection.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  jrose John Rose
                  Reporter:
                  jrose John Rose
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: