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

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue May 10 14:24:30 PDT 2011


Can you move cp->tag_at(i) to local var before all checks? Is it possible for 
entry.get_oop() to return NULL?

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