src/hotspot/cpu/x86/macroAssembler_x86.cpp
changeset 58638 7be56b2ac50d
parent 58625 9b54aee889b4
parent 58536 1b76d17440a0
child 58679 9c3209ff7550
child 58977 c6a789f495fe
equal deleted inserted replaced
58637:d66bdf0e2dfe 58638:7be56b2ac50d
   822     masm->mov(c_rarg3, arg);
   822     masm->mov(c_rarg3, arg);
   823   }
   823   }
   824 }
   824 }
   825 
   825 
   826 void MacroAssembler::stop(const char* msg) {
   826 void MacroAssembler::stop(const char* msg) {
   827   address rip = pc();
   827   if (ShowMessageBoxOnError) {
   828   pusha(); // get regs on stack
   828     address rip = pc();
       
   829     pusha(); // get regs on stack
       
   830     lea(c_rarg1, InternalAddress(rip));
       
   831     movq(c_rarg2, rsp); // pass pointer to regs array
       
   832   }
   829   lea(c_rarg0, ExternalAddress((address) msg));
   833   lea(c_rarg0, ExternalAddress((address) msg));
   830   lea(c_rarg1, InternalAddress(rip));
       
   831   movq(c_rarg2, rsp); // pass pointer to regs array
       
   832   andq(rsp, -16); // align stack as required by ABI
   834   andq(rsp, -16); // align stack as required by ABI
   833   call(RuntimeAddress(CAST_FROM_FN_PTR(address, MacroAssembler::debug64)));
   835   call(RuntimeAddress(CAST_FROM_FN_PTR(address, MacroAssembler::debug64)));
   834   hlt();
   836   hlt();
   835 }
   837 }
   836 
   838