JDK-8011585 : Move resolved_references[] array into mirror
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Priority: P3
  • Status: Closed
  • Resolution: Won't Fix
  • Submitted: 2013-04-04
  • Updated: 2015-09-25
  • Resolved: 2014-06-19
Related Reports
Relates :  
Relates :  
Description
Two reasons to do this.  GC doesn't have to walk ClassLoaderData::_handles.   The other reason is that in MVM the resolved references are per-task so not shared in the ClassLoaderData.

Make sure this doesn't affect performance since the interpreter code needs to change to find the mirror from the constant_pool but it's not any more levels of indirection than we have now.
Comments
Attached x86 patch. I don't think there is a lot of motivation to do this at this time. Closing as WNF.
19-06-2014

No, compiled JSR 292 code is not affected. We never read data from the resolved references array in compiled code.
08-04-2013

It's one more level of indirection: cpool->pool_holder()->java_mirror()->resolved_references() vs. *(cpool->resolved_references()) I don't know if this affects compiled code for JSR 292.
04-04-2013

Should do before this one (or together if ambitious)
04-04-2013