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

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

Issue 1921563002: [turbofan] Initial version of number type feedback. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add tests for the checks and fix check insertion 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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 #ifndef V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ 5 #ifndef V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_
6 #define V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ 6 #define V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_
7 7
8 #include "src/compiler/common-operator.h" 8 #include "src/compiler/common-operator.h"
9 #include "src/compiler/node.h" 9 #include "src/compiler/node.h"
10 #include "src/compiler/simplified-operator.h" 10 #include "src/compiler/simplified-operator.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 ValueEffectControl LowerChangeFloat64ToTagged(Node* node, Node* effect, 53 ValueEffectControl LowerChangeFloat64ToTagged(Node* node, Node* effect,
54 Node* control); 54 Node* control);
55 ValueEffectControl LowerChangeTaggedSignedToInt32(Node* node, Node* effect, 55 ValueEffectControl LowerChangeTaggedSignedToInt32(Node* node, Node* effect,
56 Node* control); 56 Node* control);
57 ValueEffectControl LowerChangeTaggedToBit(Node* node, Node* effect, 57 ValueEffectControl LowerChangeTaggedToBit(Node* node, Node* effect,
58 Node* control); 58 Node* control);
59 ValueEffectControl LowerChangeTaggedToInt32(Node* node, Node* effect, 59 ValueEffectControl LowerChangeTaggedToInt32(Node* node, Node* effect,
60 Node* control); 60 Node* control);
61 ValueEffectControl LowerChangeTaggedToUint32(Node* node, Node* effect, 61 ValueEffectControl LowerChangeTaggedToUint32(Node* node, Node* effect,
62 Node* control); 62 Node* control);
63 ValueEffectControl LowerCheckedUint32ToInt32(Node* node, Node* effect,
64 Node* control);
65 ValueEffectControl LowerCheckedFloat64ToInt32(Node* node, Node* effect,
66 Node* control);
67 ValueEffectControl LowerCheckedTaggedToInt32(Node* node, Node* effect,
68 Node* control);
69 ValueEffectControl LowerCheckedTaggedToFloat64(Node* node, Node* effect,
70 Node* control);
63 ValueEffectControl LowerChangeTaggedToFloat64(Node* node, Node* effect, 71 ValueEffectControl LowerChangeTaggedToFloat64(Node* node, Node* effect,
64 Node* control); 72 Node* control);
65 ValueEffectControl LowerTruncateTaggedToWord32(Node* node, Node* effect, 73 ValueEffectControl LowerTruncateTaggedToWord32(Node* node, Node* effect,
66 Node* control); 74 Node* control);
67 ValueEffectControl LowerObjectIsCallable(Node* node, Node* effect, 75 ValueEffectControl LowerObjectIsCallable(Node* node, Node* effect,
68 Node* control); 76 Node* control);
69 ValueEffectControl LowerObjectIsNumber(Node* node, Node* effect, 77 ValueEffectControl LowerObjectIsNumber(Node* node, Node* effect,
70 Node* control); 78 Node* control);
71 ValueEffectControl LowerObjectIsReceiver(Node* node, Node* effect, 79 ValueEffectControl LowerObjectIsReceiver(Node* node, Node* effect,
72 Node* control); 80 Node* control);
73 ValueEffectControl LowerObjectIsSmi(Node* node, Node* effect, Node* control); 81 ValueEffectControl LowerObjectIsSmi(Node* node, Node* effect, Node* control);
74 ValueEffectControl LowerObjectIsString(Node* node, Node* effect, 82 ValueEffectControl LowerObjectIsString(Node* node, Node* effect,
75 Node* control); 83 Node* control);
76 ValueEffectControl LowerObjectIsUndetectable(Node* node, Node* effect, 84 ValueEffectControl LowerObjectIsUndetectable(Node* node, Node* effect,
77 Node* control); 85 Node* control);
78 ValueEffectControl AllocateHeapNumberWithValue(Node* node, Node* effect, 86 ValueEffectControl AllocateHeapNumberWithValue(Node* node, Node* effect,
79 Node* control); 87 Node* control);
80 88 ValueEffectControl BuildCheckedFloat64ToInt32(Node* value, Node* frame_state,
89 Node* effect, Node* control);
90 ValueEffectControl BuildCheckedHeapNumberOrOddballToFloat64(Node* value,
91 Node* frame_state,
92 Node* effect,
93 Node* control);
81 Node* ChangeInt32ToSmi(Node* value); 94 Node* ChangeInt32ToSmi(Node* value);
82 Node* ChangeUint32ToSmi(Node* value); 95 Node* ChangeUint32ToSmi(Node* value);
83 Node* ChangeInt32ToFloat64(Node* value); 96 Node* ChangeInt32ToFloat64(Node* value);
84 Node* ChangeUint32ToFloat64(Node* value); 97 Node* ChangeUint32ToFloat64(Node* value);
85 Node* ChangeSmiToInt32(Node* value); 98 Node* ChangeSmiToInt32(Node* value);
86 Node* ObjectIsSmi(Node* value); 99 Node* ObjectIsSmi(Node* value);
87 100
88 Node* SmiMaxValueConstant(); 101 Node* SmiMaxValueConstant();
89 Node* SmiShiftBitsConstant(); 102 Node* SmiShiftBitsConstant();
90 103
91 JSGraph* jsgraph() const { return js_graph_; } 104 JSGraph* jsgraph() const { return js_graph_; }
92 Graph* graph() const; 105 Graph* graph() const;
93 Schedule* schedule() const { return schedule_; } 106 Schedule* schedule() const { return schedule_; }
94 Zone* temp_zone() const { return temp_zone_; } 107 Zone* temp_zone() const { return temp_zone_; }
95 CommonOperatorBuilder* common() const; 108 CommonOperatorBuilder* common() const;
96 SimplifiedOperatorBuilder* simplified() const; 109 SimplifiedOperatorBuilder* simplified() const;
97 MachineOperatorBuilder* machine() const; 110 MachineOperatorBuilder* machine() const;
98 111
99 JSGraph* js_graph_; 112 JSGraph* js_graph_;
100 Schedule* schedule_; 113 Schedule* schedule_;
101 Zone* temp_zone_; 114 Zone* temp_zone_;
102 }; 115 };
103 116
104 } // namespace compiler 117 } // namespace compiler
105 } // namespace internal 118 } // namespace internal
106 } // namespace v8 119 } // namespace v8
107 120
108 #endif // V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ 121 #endif // V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698