Index: src/code-stubs.cc |
diff --git a/src/code-stubs.cc b/src/code-stubs.cc |
index c7d4c805d0c87824ecd1cbdb23afc49dfa710f02..7c19e65123342b68c9ae41ed818ea6352ecfde05 100644 |
--- a/src/code-stubs.cc |
+++ b/src/code-stubs.cc |
@@ -575,7 +575,7 @@ void ElementsTransitionAndStoreStub::Generate(MacroAssembler* masm) { |
if (IsFastSmiOrObjectElementsKind(to_)) { |
if (IsFastSmiOrObjectElementsKind(from_)) { |
ElementsTransitionGenerator:: |
- GenerateMapChangeElementsTransition(masm); |
+ GenerateMapChangeElementsTransition(masm, &fail); |
} else if (IsFastDoubleElementsKind(from_)) { |
ASSERT(!IsFastSmiElementsKind(to_)); |
ElementsTransitionGenerator::GenerateDoubleToObject(masm, &fail); |
@@ -594,6 +594,9 @@ void ElementsTransitionAndStoreStub::Generate(MacroAssembler* masm) { |
grow_mode_); |
} else if (IsFastDoubleElementsKind(from_)) { |
ASSERT(to_ == FAST_HOLEY_DOUBLE_ELEMENTS); |
+ // Don't pass the fail label because we don't want to |
+ // record allocation site info changes for the double->fast |
+ // transition. |
ElementsTransitionGenerator:: |
GenerateMapChangeElementsTransition(masm); |
} else { |