Reviewers: Yang,
Message:
PTAL.
Description:
Disable elimination of unreachable code after HSoftDeopts
Please review this at https://codereview.chromium.org/12036011/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/flag-definitions.h
M src/hydrogen.cc
Index: src/flag-definitions.h
diff --git a/src/flag-definitions.h b/src/flag-definitions.h
index
5bf7df3a5a51118966676ec9f655ec51098cfb32..71ab693fa411ad8b1c34a6f5b01e0207c4ee7ff3
100644
--- a/src/flag-definitions.h
+++ b/src/flag-definitions.h
@@ -211,6 +211,8 @@ DEFINE_bool(array_index_dehoisting, true,
"perform array index dehoisting")
DEFINE_bool(dead_code_elimination, true, "use dead code elimination")
DEFINE_bool(trace_dead_code_elimination, false, "trace dead code
elimination")
+DEFINE_bool(unreachable_code_elimination, false,
+ "eliminate unreachable code (hidden behind soft deopts)")
DEFINE_bool(track_allocation_sites, true,
"Use allocation site info to reduce transitions")
DEFINE_bool(trace_osr, false, "trace on-stack replacement")
Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index
a4578ee3dfa5324e94cdd9ae32c2b08ffd9b7852..57ba4655e14b9d262a6b9e0e6b62a93fa70a9aba
100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -1267,6 +1267,7 @@ void
HGraph::MarkAsDeoptimizingRecursively(HBasicBlock* block) {
void HGraph::NullifyUnreachableInstructions() {
+ if (!FLAG_unreachable_code_elimination) return;
int block_count = blocks_.length();
for (int i = 0; i < block_count; ++i) {
HBasicBlock* block = blocks_.at(i);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev