Mercurial > hg > truffle
diff src/share/vm/c1/c1_GraphBuilder.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 | 2f5980b127e3 |
line wrap: on
line diff
--- a/src/share/vm/c1/c1_GraphBuilder.cpp Wed Nov 16 09:13:57 2011 -0800 +++ b/src/share/vm/c1/c1_GraphBuilder.cpp Wed Nov 16 19:42:58 2011 -0800 @@ -3495,9 +3495,6 @@ 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 @@ 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");