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