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

Unified Diff: src/compiler/ast-graph-builder.cc

Issue 2198473002: [turbofan] Add support for accessor inlining. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@TurboFan_CheckMaps
Patch Set: Fix bailouts 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/compiler/access-info.cc ('k') | src/compiler/code-generator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/ast-graph-builder.cc
diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc
index 3251b943a5ab64a7afc872ef033c9218ac940db5..6ff39f50961ef6640fd2d74c3b1c73a5597dbb48 100644
--- a/src/compiler/ast-graph-builder.cc
+++ b/src/compiler/ast-graph-builder.cc
@@ -2240,14 +2240,16 @@ void AstGraphBuilder::VisitAssignment(Assignment* expr) {
Node* object = environment()->Pop();
Handle<Name> name = property->key()->AsLiteral()->AsPropertyName();
Node* store = BuildNamedStore(object, name, value, feedback);
- PrepareFrameState(store, expr->id(), ast_context()->GetStateCombine());
+ PrepareFrameState(store, expr->AssignmentId(),
+ OutputFrameStateCombine::Push());
break;
}
case KEYED_PROPERTY: {
Node* key = environment()->Pop();
Node* object = environment()->Pop();
Node* store = BuildKeyedStore(object, key, value, feedback);
- PrepareFrameState(store, expr->id(), ast_context()->GetStateCombine());
+ PrepareFrameState(store, expr->AssignmentId(),
+ OutputFrameStateCombine::Push());
break;
}
case NAMED_SUPER_PROPERTY: {
@@ -2300,7 +2302,8 @@ void AstGraphBuilder::VisitProperty(Property* expr) {
Node* object = environment()->Pop();
Handle<Name> name = expr->key()->AsLiteral()->AsPropertyName();
value = BuildNamedLoad(object, name, pair);
- PrepareFrameState(value, expr->id(), ast_context()->GetStateCombine());
+ PrepareFrameState(value, expr->LoadId(),
+ ast_context()->GetStateCombine());
Jarin 2016/08/01 05:37:54 Should be Push (here and below). Could you write a
Benedikt Meurer 2016/08/01 06:16:06 Done.
break;
}
case KEYED_PROPERTY: {
@@ -2309,7 +2312,8 @@ void AstGraphBuilder::VisitProperty(Property* expr) {
Node* key = environment()->Pop();
Node* object = environment()->Pop();
value = BuildKeyedLoad(object, key, pair);
- PrepareFrameState(value, expr->id(), ast_context()->GetStateCombine());
+ PrepareFrameState(value, expr->LoadId(),
+ ast_context()->GetStateCombine());
break;
}
case NAMED_SUPER_PROPERTY: {
@@ -2319,7 +2323,8 @@ void AstGraphBuilder::VisitProperty(Property* expr) {
Node* receiver = environment()->Pop();
Handle<Name> name = expr->key()->AsLiteral()->AsPropertyName();
value = BuildNamedSuperLoad(receiver, home_object, name, pair);
- PrepareFrameState(value, expr->id(), ast_context()->GetStateCombine());
+ PrepareFrameState(value, expr->LoadId(),
+ ast_context()->GetStateCombine());
break;
}
case KEYED_SUPER_PROPERTY: {
@@ -2330,7 +2335,8 @@ void AstGraphBuilder::VisitProperty(Property* expr) {
Node* home_object = environment()->Pop();
Node* receiver = environment()->Pop();
value = BuildKeyedSuperLoad(receiver, home_object, key, pair);
- PrepareFrameState(value, expr->id(), ast_context()->GetStateCombine());
+ PrepareFrameState(value, expr->LoadId(),
+ ast_context()->GetStateCombine());
break;
}
}
@@ -2754,20 +2760,16 @@ void AstGraphBuilder::VisitCountOperation(CountOperation* expr) {
Node* object = environment()->Pop();
Handle<Name> name = property->key()->AsLiteral()->AsPropertyName();
Node* store = BuildNamedStore(object, name, value, feedback);
- environment()->Push(value);
PrepareFrameState(store, expr->AssignmentId(),
- OutputFrameStateCombine::Ignore());
- environment()->Pop();
+ OutputFrameStateCombine::Push());
break;
}
case KEYED_PROPERTY: {
Node* key = environment()->Pop();
Node* object = environment()->Pop();
Node* store = BuildKeyedStore(object, key, value, feedback);
- environment()->Push(value);
PrepareFrameState(store, expr->AssignmentId(),
- OutputFrameStateCombine::Ignore());
- environment()->Pop();
+ OutputFrameStateCombine::Push());
break;
}
case NAMED_SUPER_PROPERTY: {
@@ -2775,10 +2777,8 @@ void AstGraphBuilder::VisitCountOperation(CountOperation* expr) {
Node* receiver = environment()->Pop();
Handle<Name> name = property->key()->AsLiteral()->AsPropertyName();
Node* store = BuildNamedSuperStore(receiver, home_object, name, value);
- environment()->Push(value);
PrepareFrameState(store, expr->AssignmentId(),
- OutputFrameStateCombine::Ignore());
- environment()->Pop();
+ OutputFrameStateCombine::Push());
break;
}
case KEYED_SUPER_PROPERTY: {
@@ -2786,10 +2786,8 @@ void AstGraphBuilder::VisitCountOperation(CountOperation* expr) {
Node* home_object = environment()->Pop();
Node* receiver = environment()->Pop();
Node* store = BuildKeyedSuperStore(receiver, home_object, key, value);
- environment()->Push(value);
PrepareFrameState(store, expr->AssignmentId(),
- OutputFrameStateCombine::Ignore());
- environment()->Pop();
+ OutputFrameStateCombine::Push());
break;
}
}
« no previous file with comments | « src/compiler/access-info.cc ('k') | src/compiler/code-generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698