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