| Index: src/ia32/stub-cache-ia32.cc
|
| ===================================================================
|
| --- src/ia32/stub-cache-ia32.cc (revision 5878)
|
| +++ src/ia32/stub-cache-ia32.cc (working copy)
|
| @@ -3021,8 +3021,7 @@
|
|
|
| // Specialized stub for constructing objects from functions which only have only
|
| // simple assignments of the form this.x = ...; in their body.
|
| -MaybeObject* ConstructStubCompiler::CompileConstructStub(
|
| - SharedFunctionInfo* shared) {
|
| +MaybeObject* ConstructStubCompiler::CompileConstructStub(JSFunction* function) {
|
| // ----------- S t a t e -------------
|
| // -- eax : argc
|
| // -- edi : constructor
|
| @@ -3098,6 +3097,7 @@
|
| // edi: undefined
|
| // Fill the initialized properties with a constant value or a passed argument
|
| // depending on the this.x = ...; assignment in the function.
|
| + SharedFunctionInfo* shared = function->shared();
|
| for (int i = 0; i < shared->this_property_assignments_count(); i++) {
|
| if (shared->IsThisPropertyAssignmentArgument(i)) {
|
| // Check if the argument assigned to the property is actually passed.
|
| @@ -3125,8 +3125,9 @@
|
| }
|
|
|
| // Fill the unused in-object property fields with undefined.
|
| + ASSERT(function->has_initial_map());
|
| for (int i = shared->this_property_assignments_count();
|
| - i < shared->CalculateInObjectProperties();
|
| + i < function->initial_map()->inobject_properties();
|
| i++) {
|
| __ mov(Operand(edx, i * kPointerSize), edi);
|
| }
|
|
|