Mercurial > hg > truffle
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"); |