src/cpu/aarch64/vm/interp_masm_aarch64.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
8074457 Cdiff src/cpu/aarch64/vm/interp_masm_aarch64.cpp
src/cpu/aarch64/vm/interp_masm_aarch64.cpp
Print this page
*** 45,56 ****
void InterpreterMacroAssembler::jump_to_entry(address entry) {
assert(entry, "Entry must have been generated by now");
b(entry);
}
- #ifndef CC_INTERP
-
void InterpreterMacroAssembler::check_and_handle_popframe(Register java_thread) {
if (JvmtiExport::can_pop_frame()) {
Label L;
// Initiate popframe handling only if it is not already being
// processed. If the flag has the popframe_processing bit set, it
--- 45,54 ----
*** 593,604 ****
// compiled code the saved sender SP was saved in sender_sp, so this
// restores it.
andr(sp, esp, -16);
}
- #endif // C_INTERP
-
// Lock object
//
// Args:
// c_rarg1: BasicObjectLock to be used for locking
//
--- 591,600 ----
*** 756,767 ****
restore_bcp();
}
}
- #ifndef CC_INTERP
-
void InterpreterMacroAssembler::test_method_data_pointer(Register mdp,
Label& zero_continue) {
assert(ProfileInterpreter, "must be profiling interpreter");
ldr(mdp, Address(rfp, frame::interpreter_frame_mdp_offset * wordSize));
cbz(mdp, zero_continue);
--- 752,761 ----
*** 1343,1353 ****
MacroAssembler::verify_oop(reg);
}
}
void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) { ; }
- #endif // !CC_INTERP
void InterpreterMacroAssembler::notify_method_entry() {
// Whenever JVMTI is interp_only_mode, method entry/exit events are sent to
// track stack depth. If it is possible to enter interp_only_mode we add
--- 1337,1346 ----
*** 1390,1417 ****
// Note: frame::interpreter_frame_result has a dependency on how the
// method result is saved across the call to post_method_exit. If this
// is changed then the interpreter_frame_result implementation will
// need to be updated too.
! // For c++ interpreter the result is always stored at a known location in the frame
! // template interpreter will leave it on the top of the stack.
! NOT_CC_INTERP(push(state);)
ldrw(r3, Address(rthread, JavaThread::interp_only_mode_offset()));
cbz(r3, L);
call_VM(noreg,
CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_exit));
bind(L);
! NOT_CC_INTERP(pop(state));
}
{
SkipIfEqual skip(this, &DTraceMethodProbes, false);
! NOT_CC_INTERP(push(state));
get_method(c_rarg1);
call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit),
rthread, c_rarg1);
! NOT_CC_INTERP(pop(state));
}
}
// Jump if ((*counter_addr += increment) & mask) satisfies the condition.
--- 1383,1409 ----
// Note: frame::interpreter_frame_result has a dependency on how the
// method result is saved across the call to post_method_exit. If this
// is changed then the interpreter_frame_result implementation will
// need to be updated too.
! // template interpreter will leave the result on the top of the stack.
! push(state);
ldrw(r3, Address(rthread, JavaThread::interp_only_mode_offset()));
cbz(r3, L);
call_VM(noreg,
CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_exit));
bind(L);
! pop(state);
}
{
SkipIfEqual skip(this, &DTraceMethodProbes, false);
! push(state);
get_method(c_rarg1);
call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit),
rthread, c_rarg1);
! pop(state);
}
}
// Jump if ((*counter_addr += increment) & mask) satisfies the condition.
src/cpu/aarch64/vm/interp_masm_aarch64.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File