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

need non-perm oops in code cache for JSR 292

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • hs17
    • 7
    • hotspot
    • b03
    • generic
    • generic
    • Verified

        In order to inline method handles at invokedynamic instructions, it is necessary to manipulate MethodHandle and CallSite constants from generated code. Since these objects are created by ordinary user code and subject to usual GC, they are not preallocated in the perm gen.

        Currently compiled code requires that any oop embedded as an instruction constant or any other nmethod part must be OopDesc::is_perm. For example, internal method objects and classes and interned strings are permanent so that they can be manipulated from compiled code.

        This restriction is a bug for JSR 292. Luckily, there is a simple fix.

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

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: