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