Index: src/ia32/stub-cache-ia32.cc |
diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc |
index 51cc46a08e5c6cdbb95dab5222fb08ffb1080248..a95783b874e88c2044409700fdfe144e121a80f8 100644 |
--- a/src/ia32/stub-cache-ia32.cc |
+++ b/src/ia32/stub-cache-ia32.cc |
@@ -2552,12 +2552,13 @@ MaybeObject* StoreStubCompiler::CompileStoreInterceptor(JSObject* receiver, |
__ push(edx); // receiver |
__ push(ecx); // name |
__ push(eax); // value |
+ __ push(Immediate(Smi::FromInt(strict_mode_))); // strict mode |
__ push(ebx); // restore return address |
// Do tail-call to the runtime system. |
ExternalReference store_ic_property = |
ExternalReference(IC_Utility(IC::kStoreInterceptorProperty)); |
- __ TailCallExternalReference(store_ic_property, 3, 1); |
+ __ TailCallExternalReference(store_ic_property, 4, 1); |
// Handle store cache miss. |
__ bind(&miss); |
@@ -3712,10 +3713,15 @@ MaybeObject* ExternalArrayStubCompiler::CompileKeyedStoreStub( |
__ push(edx); |
__ push(ecx); |
__ push(eax); |
- __ push(ebx); |
+ __ push(Immediate(Smi::FromInt(NONE))); // PropertyAttributes |
+ __ push(Immediate(Smi::FromInt( |
+ Code::ExtractExtraICStateFromFlags(flags) == kStrictMode |
+ ? kStrictMode |
+ : kNonStrictMode))); |
+ __ push(ebx); // return address |
// Do tail-call to runtime routine. |
- __ TailCallRuntime(Runtime::kSetProperty, 3, 1); |
+ __ TailCallRuntime(Runtime::kSetProperty, 5, 1); |
return GetCode(flags); |
} |