205 void VtableStubs::vtable_stub_do(void f(VtableStub*)) { 206 for (int i = 0; i < N; i++) { 207 for (VtableStub* s = _table[i]; s != NULL; s = s->next()) { 208 f(s); 209 } 210 } 211 } 212 213 214 //----------------------------------------------------------------------------------------------------- 215 // Non-product code 216 #ifndef PRODUCT 217 218 extern "C" void bad_compiled_vtable_index(JavaThread* thread, oop receiver, int index) { 219 ResourceMark rm; 220 HandleMark hm; 221 Klass* klass = receiver->klass(); 222 InstanceKlass* ik = InstanceKlass::cast(klass); 223 klassVtable* vt = ik->vtable(); 224 ik->print(); 225 fatal(err_msg("bad compiled vtable dispatch: receiver " INTPTR_FORMAT ", " 226 "index %d (vtable length %d)", 227 (address)receiver, index, vt->length())); 228 } 229 230 #endif // Product | 205 void VtableStubs::vtable_stub_do(void f(VtableStub*)) { 206 for (int i = 0; i < N; i++) { 207 for (VtableStub* s = _table[i]; s != NULL; s = s->next()) { 208 f(s); 209 } 210 } 211 } 212 213 214 //----------------------------------------------------------------------------------------------------- 215 // Non-product code 216 #ifndef PRODUCT 217 218 extern "C" void bad_compiled_vtable_index(JavaThread* thread, oop receiver, int index) { 219 ResourceMark rm; 220 HandleMark hm; 221 Klass* klass = receiver->klass(); 222 InstanceKlass* ik = InstanceKlass::cast(klass); 223 klassVtable* vt = ik->vtable(); 224 ik->print(); 225 fatal("bad compiled vtable dispatch: receiver " INTPTR_FORMAT ", " 226 "index %d (vtable length %d)", 227 (address)receiver, index, vt->length()); 228 } 229 230 #endif // PRODUCT |