src/cpu/x86/vm/interp_masm_x86_32.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/cpu/x86/vm/interp_masm_x86_32.cpp Thu Jul 17 13:48:31 2014
--- new/src/cpu/x86/vm/interp_masm_x86_32.cpp Thu Jul 17 13:48:25 2014
*** 824,834 ****
--- 824,834 ----
#ifndef CC_INTERP
// Test ImethodDataPtr. If it is null, continue at the specified label
void InterpreterMacroAssembler::test_method_data_pointer(Register mdp, Label& zero_continue) {
assert(ProfileInterpreter, "must be profiling interpreter");
! movptr(mdp, Address(rbp, frame::interpreter_frame_mdx_offset * wordSize));
! movptr(mdp, Address(rbp, frame::interpreter_frame_mdp_offset * wordSize));
testptr(mdp, mdp);
jcc(Assembler::zero, zero_continue);
}
*** 851,861 ****
--- 851,861 ----
// mdo is guaranteed to be non-zero here, we checked for it before the call.
movptr(rbx, Address(rbx, in_bytes(Method::method_data_offset())));
addptr(rbx, in_bytes(MethodData::data_offset()));
addptr(rax, rbx);
bind(set_mdp);
! movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), rax);
! movptr(Address(rbp, frame::interpreter_frame_mdp_offset * wordSize), rax);
pop(rbx);
pop(rax);
}
void InterpreterMacroAssembler::verify_method_data_pointer() {
*** 973,998 ****
--- 973,998 ----
void InterpreterMacroAssembler::update_mdp_by_offset(Register mdp_in, int offset_of_disp) {
assert(ProfileInterpreter, "must be profiling interpreter");
Address disp_address(mdp_in, offset_of_disp);
addptr(mdp_in,disp_address);
! movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), mdp_in);
! movptr(Address(rbp, frame::interpreter_frame_mdp_offset * wordSize), mdp_in);
}
void InterpreterMacroAssembler::update_mdp_by_offset(Register mdp_in, Register reg, int offset_of_disp) {
assert(ProfileInterpreter, "must be profiling interpreter");
Address disp_address(mdp_in, reg, Address::times_1, offset_of_disp);
addptr(mdp_in, disp_address);
! movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), mdp_in);
! movptr(Address(rbp, frame::interpreter_frame_mdp_offset * wordSize), mdp_in);
}
void InterpreterMacroAssembler::update_mdp_by_constant(Register mdp_in, int constant) {
assert(ProfileInterpreter, "must be profiling interpreter");
addptr(mdp_in, constant);
! movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), mdp_in);
! movptr(Address(rbp, frame::interpreter_frame_mdp_offset * wordSize), mdp_in);
}
void InterpreterMacroAssembler::update_mdp_for_ret(Register return_bci) {
assert(ProfileInterpreter, "must be profiling interpreter");
src/cpu/x86/vm/interp_masm_x86_32.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File