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

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

Issue 2059653002: [turbofan] Introduce PlainPrimitiveToNumber. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Tweak 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
« no previous file with comments | « no previous file | src/compiler/effect-control-linearizer.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 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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 Node* control); 84 Node* control);
85 ValueEffectControl LowerObjectIsSmi(Node* node, Node* effect, Node* control); 85 ValueEffectControl LowerObjectIsSmi(Node* node, Node* effect, Node* control);
86 ValueEffectControl LowerObjectIsString(Node* node, Node* effect, 86 ValueEffectControl LowerObjectIsString(Node* node, Node* effect,
87 Node* control); 87 Node* control);
88 ValueEffectControl LowerObjectIsUndetectable(Node* node, Node* effect, 88 ValueEffectControl LowerObjectIsUndetectable(Node* node, Node* effect,
89 Node* control); 89 Node* control);
90 ValueEffectControl LowerStringFromCharCode(Node* node, Node* effect, 90 ValueEffectControl LowerStringFromCharCode(Node* node, Node* effect,
91 Node* control); 91 Node* control);
92 ValueEffectControl LowerCheckIf(Node* node, Node* frame_state, Node* effect, 92 ValueEffectControl LowerCheckIf(Node* node, Node* frame_state, Node* effect,
93 Node* control); 93 Node* control);
94 ValueEffectControl LowerPlainPrimitiveToNumber(Node* node, Node* effect,
95 Node* control);
96 ValueEffectControl LowerPlainPrimitiveToWord32(Node* node, Node* effect,
97 Node* control);
98 ValueEffectControl LowerPlainPrimitiveToFloat64(Node* node, Node* effect,
99 Node* control);
100
94 ValueEffectControl AllocateHeapNumberWithValue(Node* node, Node* effect, 101 ValueEffectControl AllocateHeapNumberWithValue(Node* node, Node* effect,
95 Node* control); 102 Node* control);
96 ValueEffectControl BuildCheckedFloat64ToInt32(Node* value, Node* frame_state, 103 ValueEffectControl BuildCheckedFloat64ToInt32(Node* value, Node* frame_state,
97 Node* effect, Node* control); 104 Node* effect, Node* control);
98 ValueEffectControl BuildCheckedHeapNumberOrOddballToFloat64(Node* value, 105 ValueEffectControl BuildCheckedHeapNumberOrOddballToFloat64(Node* value,
99 Node* frame_state, 106 Node* frame_state,
100 Node* effect, 107 Node* effect,
101 Node* control); 108 Node* control);
109
102 Node* ChangeInt32ToSmi(Node* value); 110 Node* ChangeInt32ToSmi(Node* value);
103 Node* ChangeUint32ToSmi(Node* value); 111 Node* ChangeUint32ToSmi(Node* value);
104 Node* ChangeInt32ToFloat64(Node* value); 112 Node* ChangeInt32ToFloat64(Node* value);
105 Node* ChangeUint32ToFloat64(Node* value); 113 Node* ChangeUint32ToFloat64(Node* value);
106 Node* ChangeSmiToInt32(Node* value); 114 Node* ChangeSmiToInt32(Node* value);
107 Node* ObjectIsSmi(Node* value); 115 Node* ObjectIsSmi(Node* value);
108 116
109 Node* SmiMaxValueConstant(); 117 Node* SmiMaxValueConstant();
110 Node* SmiShiftBitsConstant(); 118 Node* SmiShiftBitsConstant();
111 119
112 Factory* factory() const; 120 Factory* factory() const;
113 Isolate* isolate() const; 121 Isolate* isolate() const;
114 JSGraph* jsgraph() const { return js_graph_; } 122 JSGraph* jsgraph() const { return js_graph_; }
115 Graph* graph() const; 123 Graph* graph() const;
116 Schedule* schedule() const { return schedule_; } 124 Schedule* schedule() const { return schedule_; }
117 Zone* temp_zone() const { return temp_zone_; } 125 Zone* temp_zone() const { return temp_zone_; }
118 CommonOperatorBuilder* common() const; 126 CommonOperatorBuilder* common() const;
119 SimplifiedOperatorBuilder* simplified() const; 127 SimplifiedOperatorBuilder* simplified() const;
120 MachineOperatorBuilder* machine() const; 128 MachineOperatorBuilder* machine() const;
121 129
130 Operator const* ToNumberOperator();
131
122 JSGraph* js_graph_; 132 JSGraph* js_graph_;
123 Schedule* schedule_; 133 Schedule* schedule_;
124 Zone* temp_zone_; 134 Zone* temp_zone_;
135
136 SetOncePointer<Operator const> to_number_operator_;
125 }; 137 };
126 138
127 } // namespace compiler 139 } // namespace compiler
128 } // namespace internal 140 } // namespace internal
129 } // namespace v8 141 } // namespace v8
130 142
131 #endif // V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ 143 #endif // V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_
OLDNEW
« no previous file with comments | « no previous file | src/compiler/effect-control-linearizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698