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

Side by Side Diff: src/compiler/graph-assembler.cc

Issue 2682143002: [compiler] Pass deoptimization_kind through DeoptimizeParameters and FlagsContinuation (Closed)
Patch Set: fix Created 3 years, 10 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 unified diff | Download patch
« no previous file with comments | « src/compiler/graph-assembler.h ('k') | src/compiler/ia32/code-generator-ia32.cc » ('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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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/graph-assembler.h" 5 #include "src/compiler/graph-assembler.h"
6 6
7 #include "src/code-factory.h" 7 #include "src/code-factory.h"
8 #include "src/compiler/linkage.h" 8 #include "src/compiler/linkage.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 } 150 }
151 151
152 Node* GraphAssembler::ToNumber(Node* value) { 152 Node* GraphAssembler::ToNumber(Node* value) {
153 return current_effect_ = 153 return current_effect_ =
154 graph()->NewNode(ToNumberOperator(), ToNumberBuiltinConstant(), 154 graph()->NewNode(ToNumberOperator(), ToNumberBuiltinConstant(),
155 value, NoContextConstant(), current_effect_); 155 value, NoContextConstant(), current_effect_);
156 } 156 }
157 157
158 Node* GraphAssembler::DeoptimizeIf(DeoptimizeReason reason, Node* condition, 158 Node* GraphAssembler::DeoptimizeIf(DeoptimizeReason reason, Node* condition,
159 Node* frame_state) { 159 Node* frame_state) {
160 return current_control_ = current_effect_ = 160 return current_control_ = current_effect_ = graph()->NewNode(
161 graph()->NewNode(common()->DeoptimizeIf(reason), condition, 161 common()->DeoptimizeIf(DeoptimizeKind::kEager, reason), condition,
162 frame_state, current_effect_, current_control_); 162 frame_state, current_effect_, current_control_);
163 }
164
165 Node* GraphAssembler::DeoptimizeUnless(DeoptimizeKind kind,
166 DeoptimizeReason reason, Node* condition,
167 Node* frame_state) {
168 return current_control_ = current_effect_ = graph()->NewNode(
169 common()->DeoptimizeUnless(kind, reason), condition, frame_state,
170 current_effect_, current_control_);
163 } 171 }
164 172
165 Node* GraphAssembler::DeoptimizeUnless(DeoptimizeReason reason, Node* condition, 173 Node* GraphAssembler::DeoptimizeUnless(DeoptimizeReason reason, Node* condition,
166 Node* frame_state) { 174 Node* frame_state) {
167 return current_control_ = current_effect_ = 175 return DeoptimizeUnless(DeoptimizeKind::kEager, reason, condition,
168 graph()->NewNode(common()->DeoptimizeUnless(reason), condition, 176 frame_state);
169 frame_state, current_effect_, current_control_);
170 } 177 }
171 178
172 void GraphAssembler::Branch(Node* condition, 179 void GraphAssembler::Branch(Node* condition,
173 GraphAssemblerStaticLabel<1>* if_true, 180 GraphAssemblerStaticLabel<1>* if_true,
174 GraphAssemblerStaticLabel<1>* if_false) { 181 GraphAssemblerStaticLabel<1>* if_false) {
175 DCHECK_NOT_NULL(current_control_); 182 DCHECK_NOT_NULL(current_control_);
176 183
177 BranchHint hint = BranchHint::kNone; 184 BranchHint hint = BranchHint::kNone;
178 if (if_true->IsDeferred() != if_false->IsDeferred()) { 185 if (if_true->IsDeferred() != if_false->IsDeferred()) {
179 hint = if_false->IsDeferred() ? BranchHint::kTrue : BranchHint::kFalse; 186 hint = if_false->IsDeferred() ? BranchHint::kTrue : BranchHint::kFalse;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 return representations_[phi_index]; 285 return representations_[phi_index];
279 } 286 }
280 287
281 Node** GraphAssemblerLabel::GetControlsPtr() { return controls_; } 288 Node** GraphAssemblerLabel::GetControlsPtr() { return controls_; }
282 289
283 Node** GraphAssemblerLabel::GetEffectsPtr() { return effects_; } 290 Node** GraphAssemblerLabel::GetEffectsPtr() { return effects_; }
284 291
285 } // namespace compiler 292 } // namespace compiler
286 } // namespace internal 293 } // namespace internal
287 } // namespace v8 294 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/graph-assembler.h ('k') | src/compiler/ia32/code-generator-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698