JDK-7044757 : Relocator needs work in nopermgen world
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 8
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2011-05-13
  • Updated: 2012-09-06
  • Resolved: 2012-09-06
Related Reports
Duplicate :  
Description
While the relocator is running if it adds bytecodes, foreach one it adds it creates a new methodOop and drops references to the old one expecting permgen collection to clean things up.
See Relocator::insert_space_at()
This is used by the rewriter if jsr bytecodes are found to resolve the ambiguity with jsr/ret.  It is also used by RedefineClasses in the case where an ldc index exceeds a byte due to method rewriting.
We might have to allocate Methods in CHeap memory and copy them to permgen as one of the the last link steps.