Revision: 18127
Author:   [email protected]
Date:     Thu Nov 28 14:13:47 2013 UTC
Log: Swap cp and pp registers on Arm such for work on OOL Constant Pool.

[email protected]

Review URL: https://codereview.chromium.org/94723002
http://code.google.com/p/v8/source/detail?r=18127

Modified:
 /branches/bleeding_edge/src/arm/assembler-arm.h
 /branches/bleeding_edge/src/arm/builtins-arm.cc
 /branches/bleeding_edge/src/arm/code-stubs-arm.cc
 /branches/bleeding_edge/src/arm/frames-arm.h
 /branches/bleeding_edge/src/arm/macro-assembler-arm.h

=======================================
--- /branches/bleeding_edge/src/arm/assembler-arm.h Mon Nov 25 14:07:05 2013 UTC +++ /branches/bleeding_edge/src/arm/assembler-arm.h Thu Nov 28 14:13:47 2013 UTC
@@ -164,18 +164,12 @@
   inline static int NumAllocatableRegisters();

   static int ToAllocationIndex(Register reg) {
- if (FLAG_enable_ool_constant_pool && (reg.code() >= kRegister_r8_Code)) {
-      return reg.code() - 1;
-    }
     ASSERT(reg.code() < kMaxNumAllocatableRegisters);
     return reg.code();
   }

   static Register FromAllocationIndex(int index) {
     ASSERT(index >= 0 && index < kMaxNumAllocatableRegisters);
-    if (FLAG_enable_ool_constant_pool && (index >= 7)) {
-      return from_code(index + 1);
-    }
     return from_code(index);
   }

=======================================
--- /branches/bleeding_edge/src/arm/builtins-arm.cc Fri Nov 22 10:21:47 2013 UTC +++ /branches/bleeding_edge/src/arm/builtins-arm.cc Thu Nov 28 14:13:47 2013 UTC
@@ -693,7 +693,7 @@
   // r2: receiver
   // r3: argc
   // r4: argv
- // r5-r6, r7 (if not FLAG_enable_ool_constant_pool) and cp may be clobbered + // r5-r6, r8 (if not FLAG_enable_ool_constant_pool) and cp may be clobbered
   ProfileEntryHookStub::MaybeCallEntryHook(masm);

   // Clear the context before we push it when entering the internal frame.
@@ -734,7 +734,7 @@
     __ mov(r5, Operand(r4));
     __ mov(r6, Operand(r4));
     if (!FLAG_enable_ool_constant_pool) {
-      __ mov(r7, Operand(r4));
+      __ mov(r8, Operand(r4));
     }
     if (kR9Available == 1) {
       __ mov(r9, Operand(r4));
=======================================
--- /branches/bleeding_edge/src/arm/code-stubs-arm.cc Thu Nov 28 11:38:40 2013 UTC +++ /branches/bleeding_edge/src/arm/code-stubs-arm.cc Thu Nov 28 14:13:47 2013 UTC
@@ -2584,7 +2584,7 @@
   const int kAliasedOffset =
       Context::SlotOffset(Context::ALIASED_ARGUMENTS_BOILERPLATE_INDEX);

- __ ldr(r4, MemOperand(r8, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX))); + __ ldr(r4, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX)));
   __ ldr(r4, FieldMemOperand(r4, GlobalObject::kNativeContextOffset));
   __ cmp(r1, Operand::Zero());
   __ ldr(r4, MemOperand(r4, kNormalOffset), eq);
@@ -2635,7 +2635,7 @@
   __ str(r6, FieldMemOperand(r4, FixedArray::kMapOffset));
   __ add(r6, r1, Operand(Smi::FromInt(2)));
   __ str(r6, FieldMemOperand(r4, FixedArray::kLengthOffset));
- __ str(r8, FieldMemOperand(r4, FixedArray::kHeaderSize + 0 * kPointerSize)); + __ str(cp, FieldMemOperand(r4, FixedArray::kHeaderSize + 0 * kPointerSize));
   __ add(r6, r4, Operand(r1, LSL, 1));
   __ add(r6, r6, Operand(kParameterMapHeaderSize));
__ str(r6, FieldMemOperand(r4, FixedArray::kHeaderSize + 1 * kPointerSize));
@@ -3029,7 +3029,7 @@

// For arguments 4 and 3 get string length, calculate start of string data and
   // calculate the shift of the index (0 for ASCII and 1 for two byte).
-  __ add(r8, subject, Operand(SeqString::kHeaderSize - kHeapObjectTag));
+  __ add(r7, subject, Operand(SeqString::kHeaderSize - kHeapObjectTag));
   __ eor(r3, r3, Operand(1));
// Load the length from the original subject string from the previous stack // frame. Therefore we have to use fp, which points exactly to two pointer
@@ -3040,12 +3040,12 @@
   // Argument 4, r3: End of string data
   // Argument 3, r2: Start of string data
   // Prepare start and end index of the input.
-  __ add(r9, r8, Operand(r9, LSL, r3));
+  __ add(r9, r7, Operand(r9, LSL, r3));
   __ add(r2, r9, Operand(r1, LSL, r3));

-  __ ldr(r8, FieldMemOperand(subject, String::kLengthOffset));
-  __ SmiUntag(r8);
-  __ add(r3, r9, Operand(r8, LSL, r3));
+  __ ldr(r7, FieldMemOperand(subject, String::kLengthOffset));
+  __ SmiUntag(r7);
+  __ add(r3, r9, Operand(r7, LSL, r3));

   // Argument 2 (r1): Previous index.
   // Already there
=======================================
--- /branches/bleeding_edge/src/arm/frames-arm.h Wed Nov 20 13:44:24 2013 UTC +++ /branches/bleeding_edge/src/arm/frames-arm.h Thu Nov 28 14:13:47 2013 UTC
@@ -64,8 +64,8 @@
   1 <<  4 |  //  r4 v1
   1 <<  5 |  //  r5 v2
   1 <<  6 |  //  r6 v3
-  1 <<  7 |  //  r7 v4 (pp in JavaScript code)
-  1 <<  8 |  //  r8 v5 (cp in JavaScript code)
+  1 <<  7 |  //  r7 v4 (cp in JavaScript code)
+  1 <<  8 |  //  r8 v5 (pp in JavaScript code)
   kR9Available <<  9 |  //  r9 v6
   1 << 10 |  // r10 v7
   1 << 11;   // r11 v8 (fp in JavaScript code)
=======================================
--- /branches/bleeding_edge/src/arm/macro-assembler-arm.h Mon Nov 25 19:17:21 2013 UTC +++ /branches/bleeding_edge/src/arm/macro-assembler-arm.h Thu Nov 28 14:13:47 2013 UTC
@@ -45,8 +45,8 @@


 // Give alias names to registers
-const Register pp = { kRegister_r7_Code };  // Constant pool pointer.
-const Register cp = { kRegister_r8_Code };  // JavaScript context pointer.
+const Register cp = { kRegister_r7_Code };  // JavaScript context pointer.
+const Register pp = { kRegister_r8_Code };  // Constant pool pointer.
const Register kRootRegister = { kRegister_r10_Code }; // Roots array pointer.

 // Flags used for AllocateHeapNumber

--
--
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