review for 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents

Tom Rodriguez tom.rodriguez at oracle.com
Tue May 10 14:36:05 PDT 2011


On May 10, 2011, at 2:24 PM, Vladimir Kozlov wrote:

> Can you move cp->tag_at(i) to local var before all checks?

Ok.

> Is it possible for entry.get_oop() to return NULL?

No.

tom

> 
> Thanks,
> Vladimir
> 
> Tom Rodriguez wrote:
>> http://cr.openjdk.java.net/~never/7043040
>> 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents
>> Reviewed-by:
>> The logic in oop_push_constants was skipping JVM_CONSTANT_Object
>> entries which would cause corruption in later GCs.  The fix is to use
>> is_pointer_entry to identify roots like all the other visitor.  The
>> verify_on method was also too weak so it missed the problem when run
>> with the verify GC flags.  Tested with failing test from report.



More information about the hotspot-compiler-dev mailing list