Index: src/arm/stub-cache-arm.cc |
diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc |
index e2501125a0662a542a42076aff91104c7ff31800..e409f82f0c4cbab8a8f06aa611b547931f5e53a9 100644 |
--- a/src/arm/stub-cache-arm.cc |
+++ b/src/arm/stub-cache-arm.cc |
@@ -2671,10 +2671,13 @@ MaybeObject* StoreStubCompiler::CompileStoreInterceptor(JSObject* receiver, |
__ Push(r1, r2, r0); // Receiver, name, value. |
+ __ mov(r0, Operand(Smi::FromInt(strict_mode_))); |
+ __ push(r0); // strict mode |
+ |
// 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); |
@@ -4056,7 +4059,14 @@ MaybeObject* ExternalArrayStubCompiler::CompileKeyedStoreStub( |
// Push receiver, key and value for runtime call. |
__ Push(r2, r1, r0); |
- __ TailCallRuntime(Runtime::kSetProperty, 3, 1); |
+ __ mov(r1, Operand(Smi::FromInt(NONE))); // PropertyAttributes |
+ __ mov(r0, Operand(Smi::FromInt( |
+ Code::ExtractExtraICStateFromFlags(flags) == kStrictMode |
+ ? kStrictMode |
+ : kNonStrictMode))); |
+ __ Push(r1, r0); |
+ |
+ __ TailCallRuntime(Runtime::kSetProperty, 5, 1); |
return GetCode(flags); |
} |