comparison src/share/vm/c1/c1_LIRGenerator.cpp @ 4116:973293defacd

7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks Summary: Move the inlinee invoke notification callback into inlinee preamble Reviewed-by: kvn, never
author iveresov
date Wed, 16 Nov 2011 19:42:58 -0800
parents 940513efe83a
children 04b9a2566eec 069ab3f976d3
comparison
equal deleted inserted replaced
4115:1bd45abaa507 4116:973293defacd
427 if (bci == SynchronizationEntryBCI) { 427 if (bci == SynchronizationEntryBCI) {
428 if (x->as_ExceptionObject() || x->as_Throw()) { 428 if (x->as_ExceptionObject() || x->as_Throw()) {
429 // all locals are dead on exit from the synthetic unlocker 429 // all locals are dead on exit from the synthetic unlocker
430 liveness.clear(); 430 liveness.clear();
431 } else { 431 } else {
432 assert(x->as_MonitorEnter(), "only other case is MonitorEnter"); 432 assert(x->as_MonitorEnter() || x->as_ProfileInvoke(), "only other cases are MonitorEnter and ProfileInvoke");
433 } 433 }
434 } 434 }
435 if (!liveness.is_valid()) { 435 if (!liveness.is_valid()) {
436 // Degenerate or breakpointed method. 436 // Degenerate or breakpointed method.
437 bailout("Degenerate or breakpointed method"); 437 bailout("Degenerate or breakpointed method");