Reviewers: ulan,

Message:
Hey Ulan,
This is an obvious optimization, since we do not need an interworking safe tail
call for the ARM backend, as all (tail) calls to C++ code are done via the
CEntryStub or the DirectCEntryStub.
PTAL
-- Benedikt

Description:
[arm] Use single instruction tail call sequence.

Please review this at https://codereview.chromium.org/107813003/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+3, -2 lines):
  M src/arm/macro-assembler-arm.cc


Index: src/arm/macro-assembler-arm.cc
diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
index 5f6076b41dfbd1bf726930aa129b4b63a1b51361..76c63e723179ab689e52a0c9c3e80e1b9962cc01 100644
--- a/src/arm/macro-assembler-arm.cc
+++ b/src/arm/macro-assembler-arm.cc
@@ -59,8 +59,9 @@ void MacroAssembler::Jump(Register target, Condition cond) {

 void MacroAssembler::Jump(intptr_t target, RelocInfo::Mode rmode,
                           Condition cond) {
-  mov(ip, Operand(target, rmode));
-  bx(ip, cond);
+  // 'target' is always generated ARM code, never THUMB code.
+  ASSERT_EQ(0, target & 0x3);
+  mov(pc, Operand(target, rmode), LeaveCC, cond);
 }




--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to