Request for reviews (S): 6826736: CMS: core dump with -XX:+UseCompressedOops
John Coomes
John.Coomes at sun.com
Wed Jul 22 13:44:50 PDT 2009
Vladimir Kozlov (Vladimir.Kozlov at Sun.COM) wrote:
>
> http://cr.openjdk.java.net/~kvn/6826736/webrev.01
>
> Fixed 6826736: CMS: core dump with -XX:+UseCompressedOops
>
> Problem:
> Compiled code may produce decoded oop = narrow_oop_base
> when a narrow oop implicit null check is used.
> ...
> Solution:
> 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).
Looks reasonable to me, but I don't know this code. Spotted a couple
of typos:
412 // is interesting in NULL.
Change to interesting to interested.
432 assert((*loc) == (oop)NULL || Universe::narrow_oop_base() != (address)(void*)(*loc),
433 "found non valid value pointer");
Change "non valid" to invalid.
FWIW, I also like Paul's suggestion of is_narrow_oop_base(void*).
-John
More information about the hotspot-compiler-dev
mailing list