ARM: clean-up some stub call sequences.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/203263016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent da6e5ebc
......@@ -1575,9 +1575,9 @@ void CEntryStub::GenerateCore(MacroAssembler* masm,
{
// Prevent literal pool emission before return address.
Assembler::BlockConstPoolScope block_const_pool(masm);
masm->add(lr, pc, Operand(4));
__ add(lr, pc, Operand(4));
__ str(lr, MemOperand(sp, 0));
masm->Jump(r5);
__ Call(r5);
}
__ VFPEnsureFPSCRState(r2);
......@@ -1865,16 +1865,10 @@ void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) {
__ mov(ip, Operand(entry));
}
__ ldr(ip, MemOperand(ip)); // deref address
__ add(ip, ip, Operand(Code::kHeaderSize - kHeapObjectTag));
// Branch and link to JSEntryTrampoline. We don't use the double underscore
// macro for the add instruction because we don't want the coverage tool
// inserting instructions here after we read the pc. We block literal pool
// emission for the same reason.
{
Assembler::BlockConstPoolScope block_const_pool(masm);
__ mov(lr, Operand(pc));
masm->add(pc, ip, Operand(Code::kHeaderSize - kHeapObjectTag));
}
// Branch and link to JSEntryTrampoline.
__ Call(ip);
// Unlink this frame from the handler chain.
__ PopTryHandler();
......
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