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.