Chromium Code Reviews| Index: src/arm/codegen-arm.cc |
| =================================================================== |
| --- src/arm/codegen-arm.cc (revision 4616) |
| +++ src/arm/codegen-arm.cc (working copy) |
| @@ -4414,12 +4414,13 @@ |
| (JSRegExpResult::kSize + FixedArray::kHeaderSize) / kPointerSize; |
| __ mov(r5, Operand(r1, LSR, kSmiTagSize + kSmiShiftSize)); |
| __ add(r2, r5, Operand(objects_size)); |
| - __ AllocateInNewSpace(r2, // In: Size, in words. |
| - r0, // Out: Start of allocation (tagged). |
| - r3, // Scratch register. |
| - r4, // Scratch register. |
| - &slowcase, |
| - TAG_OBJECT); |
| + __ AllocateInNewSpace( |
| + r2, // In: Size, in words. |
| + r0, // Out: Start of allocation (tagged). |
| + r3, // Scratch register. |
| + r4, // Scratch register. |
| + &slowcase, |
| + static_cast<AllocationFlags>(TAG_OBJECT | SIZE_IN_WORDS)); |
| // r0: Start of allocated area, object-tagged. |
| // r1: Number of elements in array, as smi. |
| // r5: Number of elements, untagged. |
| @@ -5867,7 +5868,7 @@ |
| __ pop(r3); |
| // Attempt to allocate new JSFunction in new space. |
| - __ AllocateInNewSpace(JSFunction::kSize / kPointerSize, |
| + __ AllocateInNewSpace(JSFunction::kSize, |
| r0, |
| r1, |
| r2, |
| @@ -5908,12 +5909,13 @@ |
| int length = slots_ + Context::MIN_CONTEXT_SLOTS; |
| // Attempt to allocate the context in new space. |
| - __ AllocateInNewSpace(length + (FixedArray::kHeaderSize / kPointerSize), |
| - r0, |
| - r1, |
| - r2, |
| - &gc, |
| - TAG_OBJECT); |
| + __ AllocateInNewSpace( |
| + length + (FixedArray::kHeaderSize / kPointerSize), |
|
Vyacheslav Egorov (Chromium)
2010/05/07 13:18:26
FixedArray::SizeFor(length) and allocation in byte
|
| + r0, |
| + r1, |
| + r2, |
| + &gc, |
| + static_cast<AllocationFlags>(TAG_OBJECT | SIZE_IN_WORDS)); |
| // Load the function from the stack. |
| __ ldr(r3, MemOperand(sp, 0)); |
| @@ -5976,7 +5978,7 @@ |
| // Allocate both the JS array and the elements array in one big |
| // allocation. This avoids multiple limit checks. |
| - __ AllocateInNewSpace(size / kPointerSize, |
| + __ AllocateInNewSpace(size, |
| r0, |
| r1, |
| r2, |
| @@ -8406,8 +8408,7 @@ |
| __ str(r3, MemOperand(sp, 1 * kPointerSize)); |
| // Try the new space allocation. Start out with computing the size |
| - // of the arguments object and the elements array (in words, not |
| - // bytes because AllocateInNewSpace expects words). |
| + // of the arguments object and the elements array in words. |
| Label add_arguments_object; |
| __ bind(&try_allocate); |
| __ cmp(r1, Operand(0)); |
| @@ -8418,7 +8419,13 @@ |
| __ add(r1, r1, Operand(Heap::kArgumentsObjectSize / kPointerSize)); |
| // Do the allocation of both objects in one go. |
| - __ AllocateInNewSpace(r1, r0, r2, r3, &runtime, TAG_OBJECT); |
| + __ AllocateInNewSpace( |
| + r1, |
| + r0, |
| + r2, |
| + r3, |
| + &runtime, |
| + static_cast<AllocationFlags>(TAG_OBJECT | SIZE_IN_WORDS)); |
| // Get the arguments boilerplate from the current (global) context. |
| int offset = Context::SlotOffset(Context::ARGUMENTS_BOILERPLATE_INDEX); |