OLD | NEW |
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 29 matching lines...) Expand all Loading... |
40 : value(value), effect(effect), control(control) {} | 40 : value(value), effect(effect), control(control) {} |
41 }; | 41 }; |
42 | 42 |
43 bool TryWireInStateEffect(Node* node, Node** effect, Node** control); | 43 bool TryWireInStateEffect(Node* node, Node** effect, Node** control); |
44 ValueEffectControl LowerChangeInt32ToTagged(Node* node, Node* effect, | 44 ValueEffectControl LowerChangeInt32ToTagged(Node* node, Node* effect, |
45 Node* control); | 45 Node* control); |
46 ValueEffectControl LowerChangeUint32ToTagged(Node* node, Node* effect, | 46 ValueEffectControl LowerChangeUint32ToTagged(Node* node, Node* effect, |
47 Node* control); | 47 Node* control); |
48 ValueEffectControl LowerChangeFloat64ToTagged(Node* node, Node* effect, | 48 ValueEffectControl LowerChangeFloat64ToTagged(Node* node, Node* effect, |
49 Node* control); | 49 Node* control); |
| 50 ValueEffectControl LowerObjectIsCallable(Node* node, Node* effect, |
| 51 Node* control); |
| 52 ValueEffectControl LowerObjectIsNumber(Node* node, Node* effect, |
| 53 Node* control); |
| 54 ValueEffectControl LowerObjectIsReceiver(Node* node, Node* effect, |
| 55 Node* control); |
| 56 ValueEffectControl LowerObjectIsString(Node* node, Node* effect, |
| 57 Node* control); |
| 58 ValueEffectControl LowerObjectIsUndetectable(Node* node, Node* effect, |
| 59 Node* control); |
50 ValueEffectControl AllocateHeapNumberWithValue(Node* node, Node* effect, | 60 ValueEffectControl AllocateHeapNumberWithValue(Node* node, Node* effect, |
51 Node* control); | 61 Node* control); |
52 | 62 |
53 Node* ChangeInt32ToSmi(Node* value); | 63 Node* ChangeInt32ToSmi(Node* value); |
54 Node* ChangeUint32ToSmi(Node* value); | 64 Node* ChangeUint32ToSmi(Node* value); |
55 Node* ChangeInt32ToFloat64(Node* value); | 65 Node* ChangeInt32ToFloat64(Node* value); |
56 Node* ChangeUint32ToFloat64(Node* value); | 66 Node* ChangeUint32ToFloat64(Node* value); |
57 | 67 |
58 Node* SmiMaxValueConstant(); | 68 Node* SmiMaxValueConstant(); |
59 Node* SmiShiftBitsConstant(); | 69 Node* SmiShiftBitsConstant(); |
60 | 70 |
61 JSGraph* jsgraph() const { return js_graph_; } | 71 JSGraph* jsgraph() const { return js_graph_; } |
62 Graph* graph() const; | 72 Graph* graph() const; |
63 Schedule* schedule() const { return schedule_; } | 73 Schedule* schedule() const { return schedule_; } |
64 Zone* temp_zone() const { return temp_zone_; } | 74 Zone* temp_zone() const { return temp_zone_; } |
65 CommonOperatorBuilder* common() const; | 75 CommonOperatorBuilder* common() const; |
66 SimplifiedOperatorBuilder* simplified() const; | 76 SimplifiedOperatorBuilder* simplified() const; |
67 MachineOperatorBuilder* machine() const; | 77 MachineOperatorBuilder* machine() const; |
68 | 78 |
69 JSGraph* js_graph_; | 79 JSGraph* js_graph_; |
70 Schedule* schedule_; | 80 Schedule* schedule_; |
71 Zone* temp_zone_; | 81 Zone* temp_zone_; |
72 }; | 82 }; |
73 | 83 |
74 } // namespace compiler | 84 } // namespace compiler |
75 } // namespace internal | 85 } // namespace internal |
76 } // namespace v8 | 86 } // namespace v8 |
77 | 87 |
78 #endif // V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ | 88 #endif // V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ |
OLD | NEW |