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

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

Issue 2105023003: [turbofan] Also verify lazy bailout points in graph builder. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix object literals with duplicate computed properties. Created 4 years, 6 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 | « no previous file | src/full-codegen/arm/full-codegen-arm.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 9a8c48a3c07f12aa4f48f1aa923eece76a1b7be3..73ab72c333f1773a83c9581c2e396fcee3c4568f 100644
--- a/src/compiler/ast-graph-builder.cc
+++ b/src/compiler/ast-graph-builder.cc
@@ -1916,6 +1916,7 @@ void AstGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) {
case ObjectLiteral::Property::CONSTANT:
case ObjectLiteral::Property::COMPUTED:
case ObjectLiteral::Property::MATERIALIZED_LITERAL: {
+ if (!property->emit_store()) continue;
Node* attr = jsgraph()->Constant(NONE);
Node* set_function_name =
jsgraph()->Constant(property->NeedsSetFunctionName());
@@ -4037,14 +4038,13 @@ bool AstGraphBuilder::CheckOsrEntry(IterationStatement* stmt) {
void AstGraphBuilder::PrepareFrameState(Node* node, BailoutId ast_id,
OutputFrameStateCombine combine) {
if (OperatorProperties::GetFrameStateInputCount(node->op()) > 0) {
+ DCHECK(ast_id.IsNone() || info()->shared_info()->VerifyBailoutId(ast_id));
DCHECK_EQ(1, OperatorProperties::GetFrameStateInputCount(node->op()));
-
DCHECK_EQ(IrOpcode::kDead,
NodeProperties::GetFrameStateInput(node, 0)->opcode());
- bool node_has_exception = NodeProperties::IsExceptionalCall(node);
- NodeProperties::ReplaceFrameStateInput(
- node, 0,
- environment()->Checkpoint(ast_id, combine, node_has_exception));
+ bool has_exception = NodeProperties::IsExceptionalCall(node);
+ Node* state = environment()->Checkpoint(ast_id, combine, has_exception);
+ NodeProperties::ReplaceFrameStateInput(node, 0, state);
}
}
@@ -4059,8 +4059,8 @@ void AstGraphBuilder::PrepareEagerCheckpoint(BailoutId ast_id) {
Node* node = NewNode(common()->Checkpoint());
DCHECK_EQ(IrOpcode::kDead,
NodeProperties::GetFrameStateInput(node, 0)->opcode());
- NodeProperties::ReplaceFrameStateInput(node, 0,
- environment()->Checkpoint(ast_id));
+ Node* state = environment()->Checkpoint(ast_id);
+ NodeProperties::ReplaceFrameStateInput(node, 0, state);
}
}
« no previous file with comments | « no previous file | src/full-codegen/arm/full-codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698