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

Side by Side Diff: src/compiler/js-inlining.cc

Issue 1467173002: [turbofan] Allow to consume feedback on CallConstruct. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address comments. Created 5 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
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/js-inlining.h" 5 #include "src/compiler/js-inlining.h"
6 6
7 #include "src/ast.h" 7 #include "src/ast.h"
8 #include "src/ast-numbering.h" 8 #include "src/ast-numbering.h"
9 #include "src/compiler.h" 9 #include "src/compiler.h"
10 #include "src/compiler/all-nodes.h" 10 #include "src/compiler/all-nodes.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 DCHECK_EQ(IrOpcode::kJSCallFunction, call_->opcode()); 48 DCHECK_EQ(IrOpcode::kJSCallFunction, call_->opcode());
49 return call_->InputAt(1); 49 return call_->InputAt(1);
50 } 50 }
51 51
52 Node* new_target() { 52 Node* new_target() {
53 DCHECK_EQ(IrOpcode::kJSCallConstruct, call_->opcode()); 53 DCHECK_EQ(IrOpcode::kJSCallConstruct, call_->opcode());
54 return call_->InputAt(formal_arguments() + 1); 54 return call_->InputAt(formal_arguments() + 1);
55 } 55 }
56 56
57 Node* frame_state_before() { 57 Node* frame_state_before() {
58 DCHECK_EQ(IrOpcode::kJSCallFunction, call_->opcode());
59 return NodeProperties::GetFrameStateInput(call_, 1); 58 return NodeProperties::GetFrameStateInput(call_, 1);
60 } 59 }
61 60
62 Node* frame_state_after() { 61 Node* frame_state_after() {
63 // Both, {JSCallFunction} and {JSCallConstruct}, have frame state after. 62 // Both, {JSCallFunction} and {JSCallConstruct}, have frame state after.
64 return NodeProperties::GetFrameStateInput(call_, 0); 63 return NodeProperties::GetFrameStateInput(call_, 0);
65 } 64 }
66 65
67 int formal_arguments() { 66 int formal_arguments() {
68 // Both, {JSCallFunction} and {JSCallConstruct}, have two extra inputs: 67 // Both, {JSCallFunction} and {JSCallConstruct}, have two extra inputs:
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 node, frame_state, call.formal_arguments(), 488 node, frame_state, call.formal_arguments(),
490 FrameStateType::kArgumentsAdaptor, info.shared_info()); 489 FrameStateType::kArgumentsAdaptor, info.shared_info());
491 } 490 }
492 491
493 return InlineCall(node, new_target, context, frame_state, start, end); 492 return InlineCall(node, new_target, context, frame_state, start, end);
494 } 493 }
495 494
496 } // namespace compiler 495 } // namespace compiler
497 } // namespace internal 496 } // namespace internal
498 } // namespace v8 497 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698