Chromium Code Reviews| Index: src/ia32/code-stubs-ia32.cc |
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc |
| index bfa49d51d0ac4e3dfdd458f26e1bcc9d2f5fd86a..cdb03dfa0e911679c95c0720c0c0264f16d5b519 100644 |
| --- a/src/ia32/code-stubs-ia32.cc |
| +++ b/src/ia32/code-stubs-ia32.cc |
| @@ -130,9 +130,10 @@ static void InitializeArrayConstructorDescriptor( |
| int constant_stack_parameter_count) { |
| // register state |
| // eax -- number of arguments |
| + // edi -- function |
| // ebx -- type info cell with elements kind |
| - static Register registers[] = { ebx }; |
| - descriptor->register_param_count_ = 1; |
| + static Register registers[] = { edi, ebx }; |
| + descriptor->register_param_count_ = 2; |
| if (constant_stack_parameter_count != 0) { |
| // stack param count needs (constructor pointer, and single argument) |
| @@ -7922,14 +7923,7 @@ void ArrayConstructorStub::Generate(MacroAssembler* masm) { |
| __ cmp(ebx, Immediate(undefined_sentinel)); |
| __ j(equal, &no_info); |
| __ mov(edx, FieldOperand(ebx, kPointerSize)); |
|
Toon Verwaest
2013/05/07 11:02:06
Don't you want to use JSGlobalPropertyCell::kValue
mvstanton
2013/05/07 12:40:50
Done.
|
| - |
| - // There is no info if the call site went megamorphic either |
| - |
| - // TODO(mvstanton): Really? I thought if it was the array function that |
| - // the cell wouldn't get stamped as megamorphic. |
| - __ cmp(edx, Immediate(TypeFeedbackCells::MegamorphicSentinel( |
| - masm->isolate()))); |
| - __ j(equal, &no_info); |
| + __ JumpIfNotSmi(edx, &no_info); |
| __ SmiUntag(edx); |
| __ jmp(&switch_ready); |
| __ bind(&no_info); |