Index: src/ia32/stub-cache-ia32.cc |
diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc |
index 2e13ad4285defefa324c9accefd1cb36939a717a..f2867de0b41cbf33bb497227deb1fd2ebe235102 100644 |
--- a/src/ia32/stub-cache-ia32.cc |
+++ b/src/ia32/stub-cache-ia32.cc |
@@ -746,8 +746,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()) { |