JDK-6523674 : Allow different styles of java object fields allocation
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2007-02-09
  • Updated: 2010-05-22
  • Resolved: 2007-04-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u2Fixed 7Fixed hs10Fixed
Related Reports
Relates :  
Description
Currently HotSpot VM allocate java object fileds according to thir type
in the next order:

oops        (32-bits for LP32, 64-bits for LP64)
long/double (64-bits fileds)
int/float   (32-bits fileds)
short/char  (16-bits fileds)
byte        ( 8-bits fileds)  

The other stype could be source based.

Also we could compact fields by placeing them into gaps between fields in super class.

Comments
SUGGESTED FIX Webrev: http://prt-web.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2007/20070323140227.kvn.6523674/workspace/webrevs/webrev-2007.03.23/index.html Solution: These changes implement straightforward approach by allocating oops fields last instead of first. Added the fields compacting by allocating fields in available gap before a double/long field. Added missed hard-coded offset checks in JavaClasses::check_offsets(). Changed generation of several prefetch instructions. Do it only for arrays and do it on sparc also.
24-03-2007

EVALUATION Different styles of java object nonstatic fields allocation provide performance improvement.
27-02-2007