comparison src/cpu/x86/vm/assembler_x86.cpp @ 2212:d9e4d0aefc90

Small clean up to reduce delta to OpenJDK.
author Thomas Wuerthinger <thomas.wuerthinger@gmail.com>
date Mon, 21 Feb 2011 19:28:35 +0100
parents 91fe28b03d6a
children 2ab52cda08e5
comparison
equal deleted inserted replaced
2211:0cd39a385a72 2212:d9e4d0aefc90
5542 pusha(); // get regs on stack 5542 pusha(); // get regs on stack
5543 lea(c_rarg0, ExternalAddress((address) msg)); 5543 lea(c_rarg0, ExternalAddress((address) msg));
5544 lea(c_rarg1, InternalAddress(rip)); 5544 lea(c_rarg1, InternalAddress(rip));
5545 movq(c_rarg2, rsp); // pass pointer to regs array 5545 movq(c_rarg2, rsp); // pass pointer to regs array
5546 andq(rsp, -16); // align stack as required by ABI 5546 andq(rsp, -16); // align stack as required by ABI
5547 mov64(rax, 0);
5548 call(RuntimeAddress(CAST_FROM_FN_PTR(address, MacroAssembler::debug64))); 5547 call(RuntimeAddress(CAST_FROM_FN_PTR(address, MacroAssembler::debug64)));
5549 hlt(); 5548 hlt();
5550 } 5549 }
5551 5550
5552 void MacroAssembler::warn(const char* msg) { 5551 void MacroAssembler::warn(const char* msg) {
5553 push(rsp); 5552 push(rsp);
5554 andq(rsp, -16); // align stack as required by push_CPU_state and call 5553 andq(rsp, -16); // align stack as required by push_CPU_state and call
5555 5554
5556 push_CPU_state(); // keeps alignment at 16 bytes 5555 push_CPU_state(); // keeps alignment at 16 bytes
5557 lea(c_rarg0, ExternalAddress((address) msg)); 5556 lea(c_rarg0, ExternalAddress((address) msg));
5558 mov64(rax, 0);
5559 call_VM_leaf(CAST_FROM_FN_PTR(address, warning), c_rarg0); 5557 call_VM_leaf(CAST_FROM_FN_PTR(address, warning), c_rarg0);
5560 pop_CPU_state(); 5558 pop_CPU_state();
5561 pop(rsp); 5559 pop(rsp);
5562 } 5560 }
5563 5561