Index: src/arm/stub-cache-arm.cc |
diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc |
index 5a54970c0e6310f39d69917c7eba31429a942d84..4b1a054a49e79d13b559bcb9fec82075c8c15f2b 100644 |
--- a/src/arm/stub-cache-arm.cc |
+++ b/src/arm/stub-cache-arm.cc |
@@ -443,8 +443,10 @@ void StubCompiler::GenerateStoreField(MacroAssembler* masm, |
Label exit; |
// Check that the map of the object hasn't changed. |
+ CompareMapMode mode = transition.is_null() ? ALLOW_ELEMENT_TRANSITION_MAPS |
+ : REQUIRE_EXACT_MAP; |
__ CheckMap(receiver_reg, scratch, Handle<Map>(object->map()), miss_label, |
- DO_SMI_CHECK, ALLOW_ELEMENT_TRANSITION_MAPS); |
+ DO_SMI_CHECK, mode); |
// Perform global security token check if needed. |
if (object->IsJSGlobalProxy()) { |