equal
deleted
inserted
replaced
290 |
290 |
291 void MacroAssembler::verify_thread() { |
291 void MacroAssembler::verify_thread() { |
292 if (VerifyThread) { |
292 if (VerifyThread) { |
293 // NOTE: this chops off the heads of the 64-bit O registers. |
293 // NOTE: this chops off the heads of the 64-bit O registers. |
294 // make sure G2_thread contains the right value |
294 // make sure G2_thread contains the right value |
295 save_frame_and_mov(0, Lmethod, Lmethod); // to avoid clobbering O0 (and propagate Lmethod for -Xprof) |
295 save_frame_and_mov(0, Lmethod, Lmethod); // to avoid clobbering O0 (and propagate Lmethod) |
296 mov(G1, L1); // avoid clobbering G1 |
296 mov(G1, L1); // avoid clobbering G1 |
297 // G2 saved below |
297 // G2 saved below |
298 mov(G3, L3); // avoid clobbering G3 |
298 mov(G3, L3); // avoid clobbering G3 |
299 mov(G4, L4); // avoid clobbering G4 |
299 mov(G4, L4); // avoid clobbering G4 |
300 mov(G5_method, L5); // avoid clobbering G5_method |
300 mov(G5_method, L5); // avoid clobbering G5_method |
396 Address pc_addr(G2_thread, JavaThread::frame_anchor_offset() + JavaFrameAnchor::last_Java_pc_offset()); |
396 Address pc_addr(G2_thread, JavaThread::frame_anchor_offset() + JavaFrameAnchor::last_Java_pc_offset()); |
397 Address flags (G2_thread, JavaThread::frame_anchor_offset() + JavaFrameAnchor::flags_offset()); |
397 Address flags (G2_thread, JavaThread::frame_anchor_offset() + JavaFrameAnchor::flags_offset()); |
398 |
398 |
399 #ifdef ASSERT |
399 #ifdef ASSERT |
400 // check that it WAS previously set |
400 // check that it WAS previously set |
401 save_frame_and_mov(0, Lmethod, Lmethod); // Propagate Lmethod to helper frame for -Xprof |
401 save_frame_and_mov(0, Lmethod, Lmethod); // Propagate Lmethod to helper frame |
402 ld_ptr(sp_addr, L0); |
402 ld_ptr(sp_addr, L0); |
403 tst(L0); |
403 tst(L0); |
404 breakpoint_trap(Assembler::zero, Assembler::ptr_cc); |
404 breakpoint_trap(Assembler::zero, Assembler::ptr_cc); |
405 restore(); |
405 restore(); |
406 #endif // ASSERT |
406 #endif // ASSERT |
616 Address vm_result_addr(G2_thread, JavaThread::vm_result_offset()); |
616 Address vm_result_addr(G2_thread, JavaThread::vm_result_offset()); |
617 verify_oop(oop_result); |
617 verify_oop(oop_result); |
618 |
618 |
619 # ifdef ASSERT |
619 # ifdef ASSERT |
620 // Check that we are not overwriting any other oop. |
620 // Check that we are not overwriting any other oop. |
621 save_frame_and_mov(0, Lmethod, Lmethod); // Propagate Lmethod for -Xprof |
621 save_frame_and_mov(0, Lmethod, Lmethod); // Propagate Lmethod |
622 ld_ptr(vm_result_addr, L0); |
622 ld_ptr(vm_result_addr, L0); |
623 tst(L0); |
623 tst(L0); |
624 restore(); |
624 restore(); |
625 breakpoint_trap(notZero, Assembler::ptr_cc); |
625 breakpoint_trap(notZero, Assembler::ptr_cc); |
626 // } |
626 // } |