Index: src/ia32/builtins-ia32.cc |
diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc |
index 53ade3a6c99310fbf8bc67e62dc8d6c1c696507a..58514bca1cfd5ea04ed63faf8d3a81fc1b7554a1 100644 |
--- a/src/ia32/builtins-ia32.cc |
+++ b/src/ia32/builtins-ia32.cc |
@@ -915,10 +915,6 @@ void Builtins::Generate_FunctionApply(MacroAssembler* masm) { |
} |
-// Number of empty elements to allocate for an empty array. |
-static const int kPreallocatedArrayElements = 4; |
- |
- |
// Allocate an empty JSArray. The allocated array is put into the result |
// register. If the parameter initial_capacity is larger than zero an elements |
// backing store is allocated with this size and filled with the hole values. |
@@ -929,10 +925,9 @@ static void AllocateEmptyJSArray(MacroAssembler* masm, |
Register scratch1, |
Register scratch2, |
Register scratch3, |
- int initial_capacity, |
Label* gc_required) { |
+ int initial_capacity = JSArray::kPreallocatedArrayElements; |
ASSERT(initial_capacity >= 0); |
- |
// Load the initial map from the array function. |
__ mov(scratch1, FieldOperand(array_function, |
JSFunction::kPrototypeOrInitialMapOffset)); |
@@ -990,7 +985,6 @@ static void AllocateEmptyJSArray(MacroAssembler* masm, |
// Fill the FixedArray with the hole value. Inline the code if short. |
// Reconsider loop unfolding if kPreallocatedArrayElements gets changed. |
static const int kLoopUnfoldLimit = 4; |
- STATIC_ASSERT(kPreallocatedArrayElements <= kLoopUnfoldLimit); |
if (initial_capacity <= kLoopUnfoldLimit) { |
// Use a scratch register here to have only one reloc info when unfolding |
// the loop. |
@@ -1153,7 +1147,6 @@ static void ArrayNativeCode(MacroAssembler* masm, |
ebx, |
ecx, |
edi, |
- kPreallocatedArrayElements, |
&prepare_generic_code_call); |
__ IncrementCounter(masm->isolate()->counters()->array_function_native(), 1); |
__ pop(ebx); |
@@ -1182,7 +1175,7 @@ static void ArrayNativeCode(MacroAssembler* masm, |
__ mov(eax, Operand(esp, i * kPointerSize)); |
__ mov(Operand(esp, (i + 1) * kPointerSize), eax); |
} |
- __ add(esp, Immediate(2 * kPointerSize)); // Drop two stack slots. |
+ __ Drop(2); // Drop two stack slots. |
__ push(Immediate(0)); // Treat this as a call with argc of zero. |
__ jmp(&empty_array); |