Commit 95831640 authored by olehougaard's avatar olehougaard

Fixed some external references in the ARM code generator to use an ExternalReference wrapper.

Review URL: http://codereview.chromium.org/18266

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent d4dae20a
...@@ -4028,9 +4028,9 @@ void CEntryStub::GenerateCore(MacroAssembler* masm, ...@@ -4028,9 +4028,9 @@ void CEntryStub::GenerateCore(MacroAssembler* masm,
__ b(ne, &continue_exception); __ b(ne, &continue_exception);
// Retrieve the pending exception and clear the variable. // Retrieve the pending exception and clear the variable.
__ mov(ip, Operand(Factory::the_hole_value().location())); __ mov(ip, Operand(ExternalReference::the_hole_value_location()));
__ ldr(r3, MemOperand(ip)); __ ldr(r3, MemOperand(ip));
__ mov(ip, Operand(Top::pending_exception_address())); __ mov(ip, Operand(ExternalReference(Top::k_pending_exception_address)));
__ ldr(r0, MemOperand(ip)); __ ldr(r0, MemOperand(ip));
__ str(r3, MemOperand(ip)); __ str(r3, MemOperand(ip));
...@@ -4160,7 +4160,7 @@ void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) { ...@@ -4160,7 +4160,7 @@ void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) {
// exception field in the JSEnv and return a failure sentinel. // exception field in the JSEnv and return a failure sentinel.
// Coming in here the fp will be invalid because the PushTryHandler below // Coming in here the fp will be invalid because the PushTryHandler below
// sets it to 0 to signal the existence of the JSEntry frame. // sets it to 0 to signal the existence of the JSEntry frame.
__ mov(ip, Operand(Top::pending_exception_address())); __ mov(ip, Operand(ExternalReference(Top::k_pending_exception_address)));
__ str(r0, MemOperand(ip)); __ str(r0, MemOperand(ip));
__ mov(r0, Operand(reinterpret_cast<int32_t>(Failure::Exception()))); __ mov(r0, Operand(reinterpret_cast<int32_t>(Failure::Exception())));
__ b(&exit); __ b(&exit);
...@@ -4177,7 +4177,7 @@ void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) { ...@@ -4177,7 +4177,7 @@ void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) {
// Clear any pending exceptions. // Clear any pending exceptions.
__ mov(ip, Operand(ExternalReference::the_hole_value_location())); __ mov(ip, Operand(ExternalReference::the_hole_value_location()));
__ ldr(r5, MemOperand(ip)); __ ldr(r5, MemOperand(ip));
__ mov(ip, Operand(Top::pending_exception_address())); __ mov(ip, Operand(ExternalReference(Top::k_pending_exception_address)));
__ str(r5, MemOperand(ip)); __ str(r5, MemOperand(ip));
// Invoke the function by calling through JS entry trampoline builtin. // Invoke the function by calling through JS entry trampoline builtin.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment