< prev index next >

src/hotspot/cpu/x86/interp_masm_x86.cpp

Print this page
rev 58099 : 8239492: [x86] Turn MacroAssembler::verify_oop into macro recording file and line

@@ -49,11 +49,11 @@
 }
 
 void InterpreterMacroAssembler::profile_obj_type(Register obj, const Address& mdo_addr) {
   Label update, next, none;
 
-  verify_oop(obj);
+  interp_verify_oop(obj, atos, __FILE__, __LINE__);
 
   testptr(obj, obj);
   jccb(Assembler::notZero, update);
   orptr(mdo_addr, TypeEntries::null_seen);
   jmpb(next);

@@ -347,11 +347,11 @@
   const Address val_addr(rcx, JvmtiThreadState::earlyret_value_offset());
 #ifdef _LP64
   switch (state) {
     case atos: movptr(rax, oop_addr);
                movptr(oop_addr, (int32_t)NULL_WORD);
-               verify_oop(rax, state);              break;
+               interp_verify_oop(rax, state, __FILE__, __LINE__); break;
     case ltos: movptr(rax, val_addr);                 break;
     case btos:                                   // fall through
     case ztos:                                   // fall through
     case ctos:                                   // fall through
     case stos:                                   // fall through

@@ -368,11 +368,11 @@
   const Address val_addr1(rcx, JvmtiThreadState::earlyret_value_offset()
                              + in_ByteSize(wordSize));
   switch (state) {
     case atos: movptr(rax, oop_addr);
                movptr(oop_addr, NULL_WORD);
-               verify_oop(rax, state);                break;
+               interp_verify_oop(rax, state, __FILE__, __LINE__); break;
     case ltos:
                movl(rdx, val_addr1);               // fall through
     case btos:                                     // fall through
     case ztos:                                     // fall through
     case ctos:                                     // fall through

@@ -654,15 +654,15 @@
   case ftos: pop_f(xmm0);               break;
   case dtos: pop_d(xmm0);               break;
   case vtos: /* nothing to do */        break;
   default:   ShouldNotReachHere();
   }
-  verify_oop(rax, state);
+  interp_verify_oop(rax, state, __FILE__, __LINE__);
 }
 
 void InterpreterMacroAssembler::push(TosState state) {
-  verify_oop(rax, state);
+  interp_verify_oop(rax, state, __FILE__, __LINE__);
   switch (state) {
   case atos: push_ptr();                break;
   case btos:
   case ztos:
   case ctos:

@@ -720,11 +720,11 @@
       }
       break;
     case vtos: /* nothing to do */                           break;
     default  : ShouldNotReachHere();
   }
-  verify_oop(rax, state);
+  interp_verify_oop(rax, state, __FILE__, __LINE__);
 }
 
 
 void InterpreterMacroAssembler::push_l(Register lo, Register hi) {
   push(hi);

@@ -743,11 +743,11 @@
   fstp_d(Address(rsp, 0));
 }
 
 
 void InterpreterMacroAssembler::push(TosState state) {
-  verify_oop(rax, state);
+  interp_verify_oop(rax, state, __FILE__, __LINE__);
   switch (state) {
     case atos: push_ptr(rax); break;
     case btos:                                               // fall through
     case ztos:                                               // fall through
     case ctos:                                               // fall through

@@ -842,11 +842,11 @@
     jcc(Assembler::greaterEqual, L);
     stop("broken stack frame");
     bind(L);
   }
   if (verifyoop) {
-    verify_oop(rax, state);
+    interp_verify_oop(rax, state, __FILE__, __LINE__);
   }
 
   address* const safepoint_table = Interpreter::safept_table(state);
 #ifdef _LP64
   Label no_safepoint, dispatch;

@@ -1957,13 +1957,13 @@
   }
 }
 
 
 
-void InterpreterMacroAssembler::verify_oop(Register reg, TosState state) {
+void InterpreterMacroAssembler::interp_verify_oop(Register reg, TosState state, const char* file, int line) {
   if (state == atos) {
-    MacroAssembler::verify_oop(reg);
+    MacroAssembler::_verify_oop(reg, "broken oop", file, line);
   }
 }
 
 void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) {
 #ifndef _LP64
< prev index next >