Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 9f63c174f1ae13435ee4c77aac3a3cbd97eee77e..ae97d5e4a81e56965e38fb5868f58deae06025e6 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -687,6 +687,11 @@ void HGraphBuilder::CheckBuilder::End() { |
} |
+HConstant* HGraph::GetInvalidContext() { |
+ return GetConstantInt32(&constant_invalid_context_, 0xFFFFC0C7); |
+} |
+ |
+ |
HGraphBuilder::IfBuilder::IfBuilder(HGraphBuilder* builder, BailoutId id) |
: builder_(builder), |
finished_(false), |
@@ -4007,6 +4012,13 @@ void HGraph::SetupInformativeDefinitionsRecursively(HBasicBlock* block) { |
for (int i = 0; i < block->dominated_blocks()->length(); ++i) { |
SetupInformativeDefinitionsRecursively(block->dominated_blocks()->at(i)); |
} |
+ |
+ for (HInstruction* i = block->first(); i != NULL; i = i->next()) { |
+ if (i->IsBoundsCheck()) { |
+ HBoundsCheck* check = HBoundsCheck::cast(i); |
+ check->ApplyIndexChange(); |
+ } |
+ } |
} |