Request for reviews (S): 6953267: assert in EA code with -XX:+StressReflectiveCode

Tom Rodriguez tom.rodriguez at oracle.com
Mon May 17 19:04:26 PDT 2010


escape.cpp:

Why isn't this snippet:

+       const TypeKlassPtr *kt;
+       if (k->Opcode() == Op_LoadKlass) {
+         kt = k->as_Load()->type()->isa_klassptr();
+       } else {
+         // Also works for DecodeN(LoadNKlass).
+         kt = k->as_Type()->type()->isa_klassptr();
+       }


just this?

const TypeKlassPtr* kt = k->bottom_type()->isa_klassptr();

they are and should be equivalent.  Otherwise it's ok.

tom

On May 17, 2010, at 5:10 PM, Vladimir Kozlov wrote:

> http://cr.openjdk.java.net/~kvn/6953267/webrev
> 
> Fixed 6953267: assert in EA code with -XX:+StressReflectiveCode
> 
> EA code does not handle code generated with StressReflectiveCode
> when an array klass is used for Allocate node or instance klass
> for AllocateArray node on never executed path (see method
> LibraryCallKit::inline_native_clone()).
> 
> Add missing checks into EA code.



More information about the hotspot-compiler-dev mailing list