Revision: 5263
Author: [email protected]
Date: Fri Aug 13 05:36:59 2010
Log: ARM: Fix another bug in r5252
Also hoist the load of the valueOf symbol out of the loop.
Review URL: http://codereview.chromium.org/3170014
http://code.google.com/p/v8/source/detail?r=5263
Modified:
/branches/bleeding_edge/src/arm/codegen-arm.cc
=======================================
--- /branches/bleeding_edge/src/arm/codegen-arm.cc Fri Aug 13 04:18:16 2010
+++ /branches/bleeding_edge/src/arm/codegen-arm.cc Fri Aug 13 05:36:59 2010
@@ -4833,10 +4833,13 @@
// Loop through all the keys in the descriptor array. If one of these
is the
// symbol valueOf the result is false.
Label entry, loop;
+ // The use of ip to store the valueOf symbol asumes that it is not
otherwise
+ // used in the loop below.
+ __ mov(ip, Operand(Factory::value_of_symbol()));
__ jmp(&entry);
__ bind(&loop);
- __ ldr(scratch2_, FieldMemOperand(map_result_, 0));
- __ cmp(scratch2_, Operand(Factory::value_of_symbol()));
+ __ ldr(scratch2_, MemOperand(map_result_, 0));
+ __ cmp(scratch2_, ip);
__ b(eq, &false_result);
__ add(map_result_, map_result_, Operand(kPointerSize));
__ bind(&entry);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev