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