Index: src/x64/stub-cache-x64.cc |
diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc |
index 1103ec5caec245a701478e30aeead523cfb1c255..af810c1a6c2235374930afe0b82c9d0447258436 100644 |
--- a/src/x64/stub-cache-x64.cc |
+++ b/src/x64/stub-cache-x64.cc |
@@ -730,8 +730,10 @@ void StubCompiler::GenerateStoreField(MacroAssembler* masm, |
Register scratch, |
Label* miss_label) { |
// 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, Handle<Map>(object->map()), |
- miss_label, DO_SMI_CHECK, ALLOW_ELEMENT_TRANSITION_MAPS); |
+ miss_label, DO_SMI_CHECK, mode); |
// Perform global security token check if needed. |
if (object->IsJSGlobalProxy()) { |