From bdea3e9a8f97690ab252d2665429673d9d0a0a79 Mon Sep 17 00:00:00 2001 From: "rodolph.perfetta@arm.com" Date: Wed, 19 Mar 2014 16:27:09 +0000 Subject: [PATCH] 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 --- src/arm/code-stubs-arm.cc | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc index cad6417..5609cd0 100644 --- a/src/arm/code-stubs-arm.cc +++ b/src/arm/code-stubs-arm.cc @@ -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(); -- 2.7.4