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