mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 06:14:49 +02:00
7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks
Move the inlinee invoke notification callback into inlinee preamble Reviewed-by: kvn, never
This commit is contained in:
parent
8d2ee23293
commit
b6ce13798b
6 changed files with 31 additions and 24 deletions
|
@ -3495,9 +3495,6 @@ bool GraphBuilder::try_inline_full(ciMethod* callee, bool holder_known, BlockBeg
|
|||
if (profile_calls()) {
|
||||
profile_call(recv, holder_known ? callee->holder() : NULL);
|
||||
}
|
||||
if (profile_inlined_calls()) {
|
||||
profile_invocation(callee, copy_state_before());
|
||||
}
|
||||
}
|
||||
|
||||
// Introduce a new callee continuation point - if the callee has
|
||||
|
@ -3571,6 +3568,10 @@ bool GraphBuilder::try_inline_full(ciMethod* callee, bool holder_known, BlockBeg
|
|||
append(new RuntimeCall(voidType, "dtrace_method_entry", CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry), args));
|
||||
}
|
||||
|
||||
if (profile_inlined_calls()) {
|
||||
profile_invocation(callee, copy_state_before_with_bci(SynchronizationEntryBCI));
|
||||
}
|
||||
|
||||
BlockBegin* callee_start_block = block_at(0);
|
||||
if (callee_start_block != NULL) {
|
||||
assert(callee_start_block->is_set(BlockBegin::parser_loop_header_flag), "must be loop header");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue