Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Unified Diff: src/compiler/scheduler.cc

Issue 522873002: Removal of the deoptimization block from Turbofan (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Change constant capitalization Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/schedule.cc ('k') | src/compiler/verifier.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/scheduler.cc
diff --git a/src/compiler/scheduler.cc b/src/compiler/scheduler.cc
index bdae2df8db2c0f11d80ee7c9621bb53f32c85a26..cc3eae1b337fc914107453cd93ce9ce5847a5db5 100644
--- a/src/compiler/scheduler.cc
+++ b/src/compiler/scheduler.cc
@@ -95,12 +95,6 @@ class CFGBuilder {
case IrOpcode::kBranch:
BuildBlocksForSuccessors(node, IrOpcode::kIfTrue, IrOpcode::kIfFalse);
break;
- case IrOpcode::kCall:
- if (OperatorProperties::CanLazilyDeoptimize(node->op())) {
- BuildBlocksForSuccessors(node, IrOpcode::kContinuation,
- IrOpcode::kLazyDeoptimization);
- }
- break;
default:
break;
}
@@ -116,15 +110,6 @@ class CFGBuilder {
scheduler_->schedule_root_nodes_.push_back(node);
ConnectBranch(node);
break;
- case IrOpcode::kDeoptimize:
- scheduler_->schedule_root_nodes_.push_back(node);
- ConnectDeoptimize(node);
- case IrOpcode::kCall:
- if (OperatorProperties::CanLazilyDeoptimize(node->op())) {
- scheduler_->schedule_root_nodes_.push_back(node);
- ConnectCall(node);
- }
- break;
case IrOpcode::kReturn:
scheduler_->schedule_root_nodes_.push_back(node);
ConnectReturn(node);
@@ -152,7 +137,7 @@ class CFGBuilder {
}
// Collect the branch-related projections from a node, such as IfTrue,
- // IfFalse, Continuation, and LazyDeoptimization.
+ // IfFalse.
// TODO(titzer): consider moving this to node.h
void CollectSuccessorProjections(Node* node, Node** buffer,
IrOpcode::Value true_opcode,
@@ -206,21 +191,13 @@ class CFGBuilder {
for (InputIter j = merge->inputs().begin(); j != merge->inputs().end();
++j) {
BasicBlock* predecessor_block = schedule_->block(*j);
- if ((*j)->opcode() != IrOpcode::kReturn &&
- (*j)->opcode() != IrOpcode::kDeoptimize) {
+ if ((*j)->opcode() != IrOpcode::kReturn) {
TraceConnect(merge, predecessor_block, block);
schedule_->AddGoto(predecessor_block, block);
}
}
}
- void ConnectDeoptimize(Node* deopt) {
- Node* deopt_block_node = NodeProperties::GetControlInput(deopt);
- BasicBlock* deopt_block = schedule_->block(deopt_block_node);
- TraceConnect(deopt, deopt_block, NULL);
- schedule_->AddDeoptimize(deopt_block, deopt);
- }
-
void ConnectReturn(Node* ret) {
Node* return_block_node = NodeProperties::GetControlInput(ret);
BasicBlock* return_block = schedule_->block(return_block_node);
@@ -228,21 +205,6 @@ class CFGBuilder {
schedule_->AddReturn(return_block, ret);
}
- void ConnectCall(Node* call) {
- Node* call_block_node = NodeProperties::GetControlInput(call);
- BasicBlock* call_block = schedule_->block(call_block_node);
-
- BasicBlock* successor_blocks[2];
- CollectSuccessorBlocks(call, successor_blocks, IrOpcode::kContinuation,
- IrOpcode::kLazyDeoptimization);
-
- TraceConnect(call, call_block, successor_blocks[0]);
- TraceConnect(call, call_block, successor_blocks[1]);
-
- schedule_->AddCall(call_block, call, successor_blocks[0],
- successor_blocks[1]);
- }
-
void TraceConnect(Node* node, BasicBlock* block, BasicBlock* succ) {
DCHECK_NE(NULL, block);
if (succ == NULL) {
« no previous file with comments | « src/compiler/schedule.cc ('k') | src/compiler/verifier.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698