Temporarily skip escape analysis when compiling for OSR.
authormstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 3 Sep 2013 10:58:07 +0000 (10:58 +0000)
committermstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 3 Sep 2013 10:58:07 +0000 (10:58 +0000)
R=jkummerow@chromium.org
TEST=mjsunit/compiler/escape-analysis --stress-compaction

Review URL: https://codereview.chromium.org/23480028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/hydrogen-escape-analysis.cc
src/hydrogen-escape-analysis.h

index 0e70bcd..00cfe27 100644 (file)
@@ -306,4 +306,13 @@ void HEscapeAnalysisPhase::PerformScalarReplacement() {
 }
 
 
+void HEscapeAnalysisPhase::Run() {
+  // TODO(mstarzinger): We disable escape analysis with OSR for now, because
+  // spill slots might be uninitialized. Needs investigation.
+  if (graph()->has_osr()) return;
+  CollectCapturedValues();
+  PerformScalarReplacement();
+}
+
+
 } }  // namespace v8::internal
index 639f5a9..311a653 100644 (file)
@@ -45,10 +45,7 @@ class HEscapeAnalysisPhase : public HPhase {
         cumulative_values_(0),
         block_states_(graph->blocks()->length(), zone()) { }
 
-  void Run() {
-    CollectCapturedValues();
-    PerformScalarReplacement();
-  }
+  void Run();
 
  private:
   void CollectCapturedValues();