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

Side by Side Diff: src/compiler/ast-graph-builder.cc

Issue 2509643002: [Turbofan] Fix missing break on AstGraphBuilder VisitCall. (Closed)
Patch Set: Created 4 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « no previous file | test/mjsunit/compiler/regress-665680.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/compiler/ast-graph-builder.h" 5 #include "src/compiler/ast-graph-builder.h"
6 6
7 #include "src/ast/compile-time-value.h" 7 #include "src/ast/compile-time-value.h"
8 #include "src/ast/scopes.h" 8 #include "src/ast/scopes.h"
9 #include "src/compilation-info.h" 9 #include "src/compilation-info.h"
10 #include "src/compiler.h" 10 #include "src/compiler.h"
(...skipping 2300 matching lines...) Expand 10 before | Expand all | Expand 10 after
2311 case Call::WITH_CALL: { 2311 case Call::WITH_CALL: {
2312 Variable* variable = callee->AsVariableProxy()->var(); 2312 Variable* variable = callee->AsVariableProxy()->var();
2313 Node* name = jsgraph()->Constant(variable->name()); 2313 Node* name = jsgraph()->Constant(variable->name());
2314 const Operator* op = 2314 const Operator* op =
2315 javascript()->CallRuntime(Runtime::kLoadLookupSlotForCall); 2315 javascript()->CallRuntime(Runtime::kLoadLookupSlotForCall);
2316 Node* pair = NewNode(op, name); 2316 Node* pair = NewNode(op, name);
2317 callee_value = NewNode(common()->Projection(0), pair); 2317 callee_value = NewNode(common()->Projection(0), pair);
2318 receiver_value = NewNode(common()->Projection(1), pair); 2318 receiver_value = NewNode(common()->Projection(1), pair);
2319 PrepareFrameState(pair, expr->LookupId(), 2319 PrepareFrameState(pair, expr->LookupId(),
2320 OutputFrameStateCombine::Push(2)); 2320 OutputFrameStateCombine::Push(2));
2321 break;
2321 } 2322 }
2322 case Call::NAMED_PROPERTY_CALL: { 2323 case Call::NAMED_PROPERTY_CALL: {
2323 Property* property = callee->AsProperty(); 2324 Property* property = callee->AsProperty();
2324 VectorSlotPair feedback = 2325 VectorSlotPair feedback =
2325 CreateVectorSlotPair(property->PropertyFeedbackSlot()); 2326 CreateVectorSlotPair(property->PropertyFeedbackSlot());
2326 VisitForValue(property->obj()); 2327 VisitForValue(property->obj());
2327 Handle<Name> name = property->key()->AsLiteral()->AsPropertyName(); 2328 Handle<Name> name = property->key()->AsLiteral()->AsPropertyName();
2328 Node* object = environment()->Top(); 2329 Node* object = environment()->Top();
2329 callee_value = BuildNamedLoad(object, name, feedback); 2330 callee_value = BuildNamedLoad(object, name, feedback);
2330 PrepareFrameState(callee_value, property->LoadId(), 2331 PrepareFrameState(callee_value, property->LoadId(),
(...skipping 2035 matching lines...) Expand 10 before | Expand all | Expand 10 after
4366 TypeHintAnalysis* type_hint_analysis, SourcePositionTable* source_positions, 4367 TypeHintAnalysis* type_hint_analysis, SourcePositionTable* source_positions,
4367 int inlining_id) 4368 int inlining_id)
4368 : AstGraphBuilder(local_zone, info, jsgraph, invocation_frequency, 4369 : AstGraphBuilder(local_zone, info, jsgraph, invocation_frequency,
4369 loop_assignment, type_hint_analysis), 4370 loop_assignment, type_hint_analysis),
4370 source_positions_(source_positions), 4371 source_positions_(source_positions),
4371 start_position_(info->shared_info()->start_position(), inlining_id) {} 4372 start_position_(info->shared_info()->start_position(), inlining_id) {}
4372 4373
4373 } // namespace compiler 4374 } // namespace compiler
4374 } // namespace internal 4375 } // namespace internal
4375 } // namespace v8 4376 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | test/mjsunit/compiler/regress-665680.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698