Request for reviews (S): 8002069: Assert failed in C2: assert(field->edge_count() > 0) failed: sanity

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Nov 2 16:34:19 PDT 2012


http://cr.openjdk.java.net/~kvn/8002069/webrev/

The reference to a field on a dead path (which is not eliminated yet) of 
bimorphic inlined call has different type (oop) instead of real (int) field type.

Added missed type check:

-          if (store != NULL && store->is_Store()) {
+          if (store != NULL && store->is_Store() &&
+              store->as_Store()->memory_type() == ft) {

The rest of changes are additional verification and verbose output during 
failure which helped me to debug the problem.

Added compiler regression test.

Tested with CTW and compiler regression tests.

Thanks,
Vladimir



More information about the hotspot-compiler-dev mailing list