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

Unified Diff: src/crankshaft/hydrogen.cc

Issue 2126233002: Devirtualize AstNode and subclasses, except for visiting-related methods. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: remove static assert again Created 4 years, 5 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/crankshaft/hydrogen.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/crankshaft/hydrogen.cc
diff --git a/src/crankshaft/hydrogen.cc b/src/crankshaft/hydrogen.cc
index db60d6f3523d029b45b2cbd1cf3393b62c619b44..b1e0d1af1c7fe5db888227e6f2463c462f44f7c5 100644
--- a/src/crankshaft/hydrogen.cc
+++ b/src/crankshaft/hydrogen.cc
@@ -3544,13 +3544,13 @@ HBasicBlock* HOptimizedGraphBuilder::CreateJoin(HBasicBlock* first,
}
}
-
HBasicBlock* HOptimizedGraphBuilder::JoinContinue(IterationStatement* statement,
+ BailoutId continue_id,
HBasicBlock* exit_block,
HBasicBlock* continue_block) {
if (continue_block != NULL) {
if (exit_block != NULL) Goto(exit_block, continue_block);
- continue_block->SetJoinId(statement->ContinueId());
+ continue_block->SetJoinId(continue_id);
return continue_block;
}
return exit_block;
@@ -5097,10 +5097,10 @@ void HOptimizedGraphBuilder::VisitSwitchStatement(SwitchStatement* stmt) {
}
}
-
void HOptimizedGraphBuilder::VisitLoopBody(IterationStatement* stmt,
+ BailoutId stack_check_id,
HBasicBlock* loop_entry) {
- Add<HSimulate>(stmt->StackCheckId());
+ Add<HSimulate>(stack_check_id);
HStackCheck* stack_check =
HStackCheck::cast(Add<HStackCheck>(HStackCheck::kBackwardsBranch));
DCHECK(loop_entry->IsLoopHeader());
@@ -5119,10 +5119,10 @@ void HOptimizedGraphBuilder::VisitDoWhileStatement(DoWhileStatement* stmt) {
BreakAndContinueInfo break_info(stmt, scope());
{
BreakAndContinueScope push(&break_info, this);
- CHECK_BAILOUT(VisitLoopBody(stmt, loop_entry));
+ CHECK_BAILOUT(VisitLoopBody(stmt, stmt->StackCheckId(), loop_entry));
}
- HBasicBlock* body_exit =
- JoinContinue(stmt, current_block(), break_info.continue_block());
+ HBasicBlock* body_exit = JoinContinue(
+ stmt, stmt->ContinueId(), current_block(), break_info.continue_block());
HBasicBlock* loop_successor = NULL;
if (body_exit != NULL) {
set_current_block(body_exit);
@@ -5182,10 +5182,10 @@ void HOptimizedGraphBuilder::VisitWhileStatement(WhileStatement* stmt) {
BreakAndContinueInfo break_info(stmt, scope());
if (current_block() != NULL) {
BreakAndContinueScope push(&break_info, this);
- CHECK_BAILOUT(VisitLoopBody(stmt, loop_entry));
+ CHECK_BAILOUT(VisitLoopBody(stmt, stmt->StackCheckId(), loop_entry));
}
- HBasicBlock* body_exit =
- JoinContinue(stmt, current_block(), break_info.continue_block());
+ HBasicBlock* body_exit = JoinContinue(
+ stmt, stmt->ContinueId(), current_block(), break_info.continue_block());
HBasicBlock* loop_exit = CreateLoop(stmt,
loop_entry,
body_exit,
@@ -5231,10 +5231,10 @@ void HOptimizedGraphBuilder::VisitForStatement(ForStatement* stmt) {
BreakAndContinueInfo break_info(stmt, scope());
if (current_block() != NULL) {
BreakAndContinueScope push(&break_info, this);
- CHECK_BAILOUT(VisitLoopBody(stmt, loop_entry));
+ CHECK_BAILOUT(VisitLoopBody(stmt, stmt->StackCheckId(), loop_entry));
}
- HBasicBlock* body_exit =
- JoinContinue(stmt, current_block(), break_info.continue_block());
+ HBasicBlock* body_exit = JoinContinue(
+ stmt, stmt->ContinueId(), current_block(), break_info.continue_block());
if (stmt->next() != NULL && body_exit != NULL) {
set_current_block(body_exit);
@@ -5430,11 +5430,11 @@ void HOptimizedGraphBuilder::BuildForInBody(ForInStatement* stmt,
break_info.set_continue_block(continue_block);
{
BreakAndContinueScope push(&break_info, this);
- CHECK_BAILOUT(VisitLoopBody(stmt, loop_entry));
+ CHECK_BAILOUT(VisitLoopBody(stmt, stmt->StackCheckId(), loop_entry));
}
- HBasicBlock* body_exit =
- JoinContinue(stmt, current_block(), break_info.continue_block());
+ HBasicBlock* body_exit = JoinContinue(
+ stmt, stmt->ContinueId(), current_block(), break_info.continue_block());
if (body_exit != NULL) {
set_current_block(body_exit);
@@ -6717,7 +6717,7 @@ static bool ComputeReceiverTypes(Expression* expr, HValue* receiver,
SmallMapList* maps = expr->GetReceiverTypes();
*t = maps;
bool monomorphic = expr->IsMonomorphic();
- if (maps != NULL && receiver->HasMonomorphicJSObjectType()) {
+ if (maps != nullptr && receiver->HasMonomorphicJSObjectType()) {
if (maps->length() > 0) {
Map* root_map = receiver->GetMonomorphicJSObjectMap()->FindRootMap();
maps->FilterForPossibleTransitions(root_map);
@@ -6763,7 +6763,6 @@ static bool AreStringTypes(SmallMapList* maps) {
return true;
}
-
void HOptimizedGraphBuilder::BuildStore(Expression* expr, Property* prop,
FeedbackVectorSlot slot,
BailoutId ast_id, BailoutId return_id,
@@ -7596,7 +7595,6 @@ HValue* HOptimizedGraphBuilder::HandlePolymorphicElementAccess(
return access_type == STORE ? val : Pop();
}
-
HValue* HOptimizedGraphBuilder::HandleKeyedElementAccess(
HValue* obj, HValue* key, HValue* val, Expression* expr,
FeedbackVectorSlot slot, BailoutId ast_id, BailoutId return_id,
@@ -7809,7 +7807,6 @@ bool HOptimizedGraphBuilder::TryArgumentsAccess(Property* expr) {
return true;
}
-
HValue* HOptimizedGraphBuilder::BuildNamedAccess(
PropertyAccessType access, BailoutId ast_id, BailoutId return_id,
Expression* expr, FeedbackVectorSlot slot, HValue* object,
@@ -10715,7 +10712,6 @@ HInstruction* HOptimizedGraphBuilder::BuildIncrement(
return instr;
}
-
void HOptimizedGraphBuilder::BuildStoreForEffect(
Expression* expr, Property* prop, FeedbackVectorSlot slot, BailoutId ast_id,
BailoutId return_id, HValue* object, HValue* key, HValue* value) {
« no previous file with comments | « src/crankshaft/hydrogen.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698