Chromium Code Reviews| Index: src/arm/builtins-arm.cc |
| diff --git a/src/arm/builtins-arm.cc b/src/arm/builtins-arm.cc |
| index 1e55f7277cb336418de002941b3a36330dd46b78..123f4c79e0c55d812798e5cbbb0b6ec1a62a0e34 100644 |
| --- a/src/arm/builtins-arm.cc |
| +++ b/src/arm/builtins-arm.cc |
| @@ -136,10 +136,11 @@ static void AllocateEmptyJSArray(MacroAssembler* masm, |
| // scratch2: start of next object |
| __ str(scratch1, FieldMemOperand(result, JSObject::kMapOffset)); |
| __ LoadRoot(scratch1, Heap::kEmptyFixedArrayRootIndex); |
| - __ str(scratch1, FieldMemOperand(result, JSArray::kPropertiesOffset)); |
| // Field JSArray::kElementsOffset is initialized later. |
| __ mov(scratch3, Operand(0, RelocInfo::NONE)); |
| __ str(scratch3, FieldMemOperand(result, JSArray::kLengthOffset)); |
| + // scratch1: empty FixedArray |
| + __ str(scratch1, FieldMemOperand(result, JSArray::kPropertiesOffset)); |
| if (initial_capacity == 0) { |
| __ str(scratch1, FieldMemOperand(result, JSArray::kElementsOffset)); |
| @@ -153,6 +154,8 @@ static void AllocateEmptyJSArray(MacroAssembler* masm, |
| __ add(scratch1, result, Operand(JSArray::kSize)); |
| __ str(scratch1, FieldMemOperand(result, JSArray::kElementsOffset)); |
| + __ LoadRoot(scratch3, Heap::kFixedArrayMapRootIndex); |
|
ulan
2012/01/27 13:19:11
In this case it seems to reduce readability. I thi
|
| + |
| // Clear the heap tag on the elements array. |
| __ sub(scratch1, scratch1, Operand(kHeapObjectTag)); |
| @@ -161,7 +164,7 @@ static void AllocateEmptyJSArray(MacroAssembler* masm, |
| // result: JSObject |
| // scratch1: elements array (untagged) |
| // scratch2: start of next object |
| - __ LoadRoot(scratch3, Heap::kFixedArrayMapRootIndex); |
| + // scratch3: FixedArray map |
| STATIC_ASSERT(0 * kPointerSize == FixedArray::kMapOffset); |
| __ str(scratch3, MemOperand(scratch1, kPointerSize, PostIndex)); |
| __ mov(scratch3, Operand(Smi::FromInt(initial_capacity))); |
| @@ -252,6 +255,8 @@ static void AllocateJSArray(MacroAssembler* masm, |
| __ str(elements_array_storage, |
| FieldMemOperand(result, JSArray::kElementsOffset)); |
| + __ LoadRoot(scratch1, Heap::kFixedArrayMapRootIndex); |
|
ulan
2012/01/27 13:19:11
Ditto.
|
| + |
| // Clear the heap tag on the elements array. |
| STATIC_ASSERT(kSmiTag == 0); |
| __ sub(elements_array_storage, |
| @@ -262,7 +267,7 @@ static void AllocateJSArray(MacroAssembler* masm, |
| // result: JSObject |
| // elements_array_storage: elements array (untagged) |
| // array_size: size of array (smi) |
| - __ LoadRoot(scratch1, Heap::kFixedArrayMapRootIndex); |
| + // scratch1: FixedArray map |
| ASSERT_EQ(0 * kPointerSize, FixedArray::kMapOffset); |
| __ str(scratch1, MemOperand(elements_array_storage, kPointerSize, PostIndex)); |
| STATIC_ASSERT(kSmiTag == 0); |