Request for reviews (S): 6826736: CMS: core dump with -XX:+UseCompressedOops
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
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.
Fix verified (y/n): y, regression test
JPRT, CTW with/without UseCompressedOops and +/- ScavengeALot
More information about the hotspot-compiler-dev