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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 bool operator==(FrameStateCallInfo const&, FrameStateCallInfo const&); | 124 bool operator==(FrameStateCallInfo const&, FrameStateCallInfo const&); |
125 bool operator!=(FrameStateCallInfo const&, FrameStateCallInfo const&); | 125 bool operator!=(FrameStateCallInfo const&, FrameStateCallInfo const&); |
126 | 126 |
127 size_t hash_value(FrameStateCallInfo const&); | 127 size_t hash_value(FrameStateCallInfo const&); |
128 | 128 |
129 std::ostream& operator<<(std::ostream&, FrameStateCallInfo const&); | 129 std::ostream& operator<<(std::ostream&, FrameStateCallInfo const&); |
130 | 130 |
131 | 131 |
132 // Interface for building common operators that can be used at any level of IR, | 132 // Interface for building common operators that can be used at any level of IR, |
133 // including JavaScript, mid-level, and low-level. | 133 // including JavaScript, mid-level, and low-level. |
134 class CommonOperatorBuilder FINAL { | 134 class CommonOperatorBuilder FINAL : public ZoneObject { |
135 public: | 135 public: |
136 explicit CommonOperatorBuilder(Zone* zone); | 136 explicit CommonOperatorBuilder(Zone* zone); |
137 | 137 |
138 const Operator* Dead(); | 138 const Operator* Dead(); |
139 const Operator* End(); | 139 const Operator* End(); |
140 const Operator* Branch(BranchHint = BranchHint::kNone); | 140 const Operator* Branch(BranchHint = BranchHint::kNone); |
141 const Operator* IfTrue(); | 141 const Operator* IfTrue(); |
142 const Operator* IfFalse(); | 142 const Operator* IfFalse(); |
143 const Operator* Throw(); | 143 const Operator* Throw(); |
144 const Operator* Terminate(int effects); | 144 const Operator* Terminate(int effects); |
(...skipping 22 matching lines...) Expand all Loading... |
167 OutputFrameStateCombine state_combine, | 167 OutputFrameStateCombine state_combine, |
168 MaybeHandle<JSFunction> jsfunction = MaybeHandle<JSFunction>()); | 168 MaybeHandle<JSFunction> jsfunction = MaybeHandle<JSFunction>()); |
169 const Operator* Call(const CallDescriptor* descriptor); | 169 const Operator* Call(const CallDescriptor* descriptor); |
170 const Operator* Projection(size_t index); | 170 const Operator* Projection(size_t index); |
171 | 171 |
172 private: | 172 private: |
173 Zone* zone() const { return zone_; } | 173 Zone* zone() const { return zone_; } |
174 | 174 |
175 const CommonOperatorBuilderImpl& impl_; | 175 const CommonOperatorBuilderImpl& impl_; |
176 Zone* const zone_; | 176 Zone* const zone_; |
| 177 |
| 178 DISALLOW_COPY_AND_ASSIGN(CommonOperatorBuilder); |
177 }; | 179 }; |
178 | 180 |
179 } // namespace compiler | 181 } // namespace compiler |
180 } // namespace internal | 182 } // namespace internal |
181 } // namespace v8 | 183 } // namespace v8 |
182 | 184 |
183 #endif // V8_COMPILER_COMMON_OPERATOR_H_ | 185 #endif // V8_COMPILER_COMMON_OPERATOR_H_ |
OLD | NEW |