Request for reviews (S): 6826736: CMS: core dump with -XX:+UseCompressedOops

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Wed Jul 22 12:35:28 PDT 2009

Fixed 6826736: CMS: core dump with -XX:+UseCompressedOops

Compiled code may produce decoded oop = narrow_oop_base
when a narrow oop implicit null check is used.
The narrow_oop_base could be NULL or be the address
of the page below heap depending on the used mode of
compressed oops. Such decoded oop could live across
a safepoint and as result referenced in oopMap and debug info.
The implicit NULL exception code checks for such oop value
but deoptimization code and GC does not. And this cause
the problem.

Fix deoptimization code and GC to check for such oops values.
During deoptimization convert them to NULL.
And ignore them for GC (like NULL values are ignored).

Added the regression test which shows the problem.

Reviewed by:

Fix verified (y/n): y, regression test

Other testing:
JPRT, CTW with/without UseCompressedOops and +/- ScavengeALot

More information about the hotspot-compiler-dev mailing list