Duplicate :
|
|
Relates :
|
By accident today while trying to collect sizes of i/vtable stub sizes on x86/amd I found that the following will cause an assertion failure: java -d64 -XX:+ShowMessageBoxOnError -XX:+CountCompiledCalls -Xcomp -version The assert is: assert(is_instance_klass(),"bad cast"); and the call stack looks like: [7] ciObject::as_instance_klass(this = 0x50c918), line 192 in "ciObject.hpp" [8] TypeInstPtr::make(ptr = BotPTR, k = 0x50c918, xk = 0, o = (nil), offset = 92), line 2182 in "type.cpp" [9] Compile::flatten_alias_type(this = 0xfffffd7fb2bfd048, tj = 0x55fcb0), line 830 in "compile.cpp" [10] Compile::find_alias_type(this = 0xfffffd7fb2bfd048, adr_type = 0x55fcb0, no_create = 0), line 1014 in "compile.cpp" [11] Compile::alias_type(this = 0xfffffd7fb2bfd048, adr_type = 0x55fcb0), line 384 in "compile.hpp" [12] Compile::get_alias_index(this = 0xfffffd7fb2bfd048, at = 0x55fcb0), line 388 in "compile.hpp" [13] Compile::can_alias(this = 0xfffffd7fb2bfd048, adr_type = 0x55fcb0, alias_idx = 5), line 1151 in "compile.cpp" [14] insert_anti_dependences(LCA = 0x689e30, load = 0x63ce80, bbs = CLASS), line 369 in "gcm.cpp" [15] PhaseCFG::schedule_late(this = 0xfffffd7fb2bfc618, visited = CLASS, stack = CLASS, node_latency = CLASS), line 892 in "gcm.cpp" [16] PhaseCFG::GlobalCodeMotion(this = 0xfffffd7fb2bfc618, matcher = CLASS, unique = 590U, proj_list = CLASS), line 1074 in "gcm.cpp" [17] Compile::Code_Gen(this = 0xfffffd7fb2bfd048), line 1347 in "compile.cpp" [18] Compile::Compile(this = 0xfffffd7fb2bfd048, ci_env = 0xfffffd7fb2bfd930, compiler = 0x51d0f8, target = 0x5d80a8, osr_bci = -1, subsume_loads = 1), line 486 in "compile.cpp" [19] C2Compiler::compile_method(this = 0x51d0f8, env = 0xfffffd7fb2bfd930, target = 0x5d80a8, entry_bci = -1), line 28 in "c2compiler.cpp" [20] CompileBroker::invoke_compiler_on_method(task = 0x5ce2a8), line 1396 in "compileBroker.cpp" ###@###.### 2005-06-10 19:04:45 GMT