|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
static A test_helper(Object o) {
// this includes a check for null with both branches taken
return (A)o;
}
// Loop is unswitched because of the test null for null from the
// checkcast above, unsafe access is copied in each branch, the
// compiler sees a memory access to a null object
static int test1(Object o, long offset) {
int f = 0;
for (int i = 0; i < 100; i++) {
A a = test_helper(o);
f = UNSAFE.getInt(a, offset);
}
return f;
}
Results in:
# Internal Error (/home/roland/hs/hotspot/src/share/vm/opto/compile.cpp:1720), pid=24319, tid=24364
# assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr: adr_type = NULL+12
|