Request for reviews (L): 6695810: null oop passed to encode_heap_oop_not_null

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Wed May 14 20:53:07 PDT 2008


Note: diffs contains changes (in node.cpp and c2_globals.hpp)
       for 6701887 which I will push first.

http://webrev.invokedynamic.info/kvn/6695810/index.html

Fixed 6695810: null oop passed to encode_heap_oop_not_null

These changes include fixes for problems found in Escape Analysis
and Compressed Oops implementations.

Also they include additional optimizations for Compressed Oops:
  - use the 32-bits gap after klass in a object for
    a narrow oop field,
  - use the 32-bits gap after klass in a object for
    boxing objects value (except Long and Double),
  - use heapOopSize for instanceKlass::_nonstatic_field_size value
    instead of wordSize,
  - add LoadNKlass and CMoveN nodes and use CmpN and ConN nodes
    and add correspondent platform specific assembler instructions
    to generate narrow oops (32-bits) compares for oop type and
    oop NULL checks.

Reviewed by:
Fix verified (y/n): y, failed tests and generated code

Other testing:
JPRT, CTW, nsk tests, refworkload





More information about the hotspot-gc-dev mailing list