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

Side by Side Diff: src/compiler/effect-control-linearizer.cc

Issue 2108793003: [turbofan] Drop the obsolete TypeGuard operator. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@MathRandom
Patch Set: 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 unified diff | Download patch
« no previous file with comments | « src/compiler/effect-control-linearizer.h ('k') | src/compiler/escape-analysis.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/effect-control-linearizer.h" 5 #include "src/compiler/effect-control-linearizer.h"
6 6
7 #include "src/code-factory.h" 7 #include "src/code-factory.h"
8 #include "src/compiler/access-builder.h" 8 #include "src/compiler/access-builder.h"
9 #include "src/compiler/js-graph.h" 9 #include "src/compiler/js-graph.h"
10 #include "src/compiler/linkage.h" 10 #include "src/compiler/linkage.h"
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 } 388 }
389 } 389 }
390 } 390 }
391 391
392 bool EffectControlLinearizer::TryWireInStateEffect(Node* node, 392 bool EffectControlLinearizer::TryWireInStateEffect(Node* node,
393 Node* frame_state, 393 Node* frame_state,
394 Node** effect, 394 Node** effect,
395 Node** control) { 395 Node** control) {
396 ValueEffectControl state(nullptr, nullptr, nullptr); 396 ValueEffectControl state(nullptr, nullptr, nullptr);
397 switch (node->opcode()) { 397 switch (node->opcode()) {
398 case IrOpcode::kTypeGuard:
399 state = LowerTypeGuard(node, *effect, *control);
400 break;
401 case IrOpcode::kChangeBitToTagged: 398 case IrOpcode::kChangeBitToTagged:
402 state = LowerChangeBitToTagged(node, *effect, *control); 399 state = LowerChangeBitToTagged(node, *effect, *control);
403 break; 400 break;
404 case IrOpcode::kChangeInt31ToTaggedSigned: 401 case IrOpcode::kChangeInt31ToTaggedSigned:
405 state = LowerChangeInt31ToTaggedSigned(node, *effect, *control); 402 state = LowerChangeInt31ToTaggedSigned(node, *effect, *control);
406 break; 403 break;
407 case IrOpcode::kChangeInt32ToTagged: 404 case IrOpcode::kChangeInt32ToTagged:
408 state = LowerChangeInt32ToTagged(node, *effect, *control); 405 state = LowerChangeInt32ToTagged(node, *effect, *control);
409 break; 406 break;
410 case IrOpcode::kChangeUint32ToTagged: 407 case IrOpcode::kChangeUint32ToTagged:
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 default: 500 default:
504 return false; 501 return false;
505 } 502 }
506 NodeProperties::ReplaceUses(node, state.value, state.effect, state.control); 503 NodeProperties::ReplaceUses(node, state.value, state.effect, state.control);
507 *effect = state.effect; 504 *effect = state.effect;
508 *control = state.control; 505 *control = state.control;
509 return true; 506 return true;
510 } 507 }
511 508
512 EffectControlLinearizer::ValueEffectControl 509 EffectControlLinearizer::ValueEffectControl
513 EffectControlLinearizer::LowerTypeGuard(Node* node, Node* effect,
514 Node* control) {
515 Node* value = node->InputAt(0);
516 return ValueEffectControl(value, effect, control);
517 }
518
519 EffectControlLinearizer::ValueEffectControl
520 EffectControlLinearizer::LowerChangeFloat64ToTagged(Node* node, Node* effect, 510 EffectControlLinearizer::LowerChangeFloat64ToTagged(Node* node, Node* effect,
521 Node* control) { 511 Node* control) {
522 Node* value = node->InputAt(0); 512 Node* value = node->InputAt(0);
523 513
524 Node* value32 = graph()->NewNode(machine()->RoundFloat64ToInt32(), value); 514 Node* value32 = graph()->NewNode(machine()->RoundFloat64ToInt32(), value);
525 Node* check_same = graph()->NewNode( 515 Node* check_same = graph()->NewNode(
526 machine()->Float64Equal(), value, 516 machine()->Float64Equal(), value,
527 graph()->NewNode(machine()->ChangeInt32ToFloat64(), value32)); 517 graph()->NewNode(machine()->ChangeInt32ToFloat64(), value32));
528 Node* branch_same = graph()->NewNode(common()->Branch(), check_same, control); 518 Node* branch_same = graph()->NewNode(common()->Branch(), check_same, control);
529 519
(...skipping 1167 matching lines...) Expand 10 before | Expand all | Expand 10 after
1697 isolate(), graph()->zone(), callable.descriptor(), 0, flags, 1687 isolate(), graph()->zone(), callable.descriptor(), 0, flags,
1698 Operator::kNoThrow); 1688 Operator::kNoThrow);
1699 to_number_operator_.set(common()->Call(desc)); 1689 to_number_operator_.set(common()->Call(desc));
1700 } 1690 }
1701 return to_number_operator_.get(); 1691 return to_number_operator_.get();
1702 } 1692 }
1703 1693
1704 } // namespace compiler 1694 } // namespace compiler
1705 } // namespace internal 1695 } // namespace internal
1706 } // namespace v8 1696 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/effect-control-linearizer.h ('k') | src/compiler/escape-analysis.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698