OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_COMMON_OPERATOR_H_ | 5 #ifndef V8_COMPILER_COMMON_OPERATOR_H_ |
6 #define V8_COMPILER_COMMON_OPERATOR_H_ | 6 #define V8_COMPILER_COMMON_OPERATOR_H_ |
7 | 7 |
8 #include "src/compiler/machine-type.h" | 8 #include "src/compiler/machine-type.h" |
9 #include "src/unique.h" | 9 #include "src/unique.h" |
10 | 10 |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 bool operator==(FrameStateCallInfo const&, FrameStateCallInfo const&); | 120 bool operator==(FrameStateCallInfo const&, FrameStateCallInfo const&); |
121 bool operator!=(FrameStateCallInfo const&, FrameStateCallInfo const&); | 121 bool operator!=(FrameStateCallInfo const&, FrameStateCallInfo const&); |
122 | 122 |
123 size_t hash_value(FrameStateCallInfo const&); | 123 size_t hash_value(FrameStateCallInfo const&); |
124 | 124 |
125 std::ostream& operator<<(std::ostream&, FrameStateCallInfo const&); | 125 std::ostream& operator<<(std::ostream&, FrameStateCallInfo const&); |
126 | 126 |
127 | 127 |
128 // Interface for building common operators that can be used at any level of IR, | 128 // Interface for building common operators that can be used at any level of IR, |
129 // including JavaScript, mid-level, and low-level. | 129 // including JavaScript, mid-level, and low-level. |
130 class CommonOperatorBuilder FINAL { | 130 class CommonOperatorBuilder FINAL : public ZoneObject { |
131 public: | 131 public: |
132 explicit CommonOperatorBuilder(Zone* zone); | 132 explicit CommonOperatorBuilder(Zone* zone); |
133 | 133 |
134 const Operator* Dead(); | 134 const Operator* Dead(); |
135 const Operator* End(); | 135 const Operator* End(); |
136 const Operator* Branch(BranchHint = BranchHint::kNone); | 136 const Operator* Branch(BranchHint = BranchHint::kNone); |
137 const Operator* IfTrue(); | 137 const Operator* IfTrue(); |
138 const Operator* IfFalse(); | 138 const Operator* IfFalse(); |
139 const Operator* Throw(); | 139 const Operator* Throw(); |
140 const Operator* Terminate(int effects); | 140 const Operator* Terminate(int effects); |
(...skipping 22 matching lines...) Expand all Loading... |
163 OutputFrameStateCombine state_combine, | 163 OutputFrameStateCombine state_combine, |
164 MaybeHandle<JSFunction> jsfunction = MaybeHandle<JSFunction>()); | 164 MaybeHandle<JSFunction> jsfunction = MaybeHandle<JSFunction>()); |
165 const Operator* Call(const CallDescriptor* descriptor); | 165 const Operator* Call(const CallDescriptor* descriptor); |
166 const Operator* Projection(size_t index); | 166 const Operator* Projection(size_t index); |
167 | 167 |
168 private: | 168 private: |
169 Zone* zone() const { return zone_; } | 169 Zone* zone() const { return zone_; } |
170 | 170 |
171 const CommonOperatorBuilderImpl& impl_; | 171 const CommonOperatorBuilderImpl& impl_; |
172 Zone* const zone_; | 172 Zone* const zone_; |
| 173 |
| 174 DISALLOW_COPY_AND_ASSIGN(CommonOperatorBuilder); |
173 }; | 175 }; |
174 | 176 |
175 } // namespace compiler | 177 } // namespace compiler |
176 } // namespace internal | 178 } // namespace internal |
177 } // namespace v8 | 179 } // namespace v8 |
178 | 180 |
179 #endif // V8_COMPILER_COMMON_OPERATOR_H_ | 181 #endif // V8_COMPILER_COMMON_OPERATOR_H_ |
OLD | NEW |