OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #include "src/compiler/common-operator.h" | 5 #include "src/compiler/common-operator.h" |
6 | 6 |
7 #include "src/assembler.h" | 7 #include "src/assembler.h" |
8 #include "src/base/lazy-instance.h" | 8 #include "src/base/lazy-instance.h" |
9 #include "src/compiler/linkage.h" | 9 #include "src/compiler/linkage.h" |
10 #include "src/compiler/opcodes.h" | 10 #include "src/compiler/opcodes.h" |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 for (MachineType elem : *types) { | 228 for (MachineType elem : *types) { |
229 if (!first) { | 229 if (!first) { |
230 os << ", "; | 230 os << ", "; |
231 } | 231 } |
232 first = false; | 232 first = false; |
233 os << elem; | 233 os << elem; |
234 } | 234 } |
235 return os; | 235 return os; |
236 } | 236 } |
237 | 237 |
238 #define CACHED_OP_LIST(V) \ | 238 #define CACHED_OP_LIST(V) \ |
239 V(Dead, Operator::kFoldable, 0, 0, 0, 1, 1, 1) \ | 239 V(Dead, Operator::kFoldable, 0, 0, 0, 1, 1, 1) \ |
240 V(IfTrue, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ | 240 V(IfTrue, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ |
241 V(IfFalse, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ | 241 V(IfFalse, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ |
242 V(IfSuccess, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ | 242 V(IfSuccess, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ |
243 V(IfDefault, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ | 243 V(IfDefault, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ |
244 V(Throw, Operator::kKontrol, 1, 1, 1, 0, 0, 1) \ | 244 V(Throw, Operator::kKontrol, 1, 1, 1, 0, 0, 1) \ |
245 V(Terminate, Operator::kKontrol, 0, 1, 1, 0, 0, 1) \ | 245 V(Terminate, Operator::kKontrol, 0, 1, 1, 0, 0, 1) \ |
246 V(OsrNormalEntry, Operator::kFoldable, 0, 1, 1, 0, 1, 1) \ | 246 V(OsrNormalEntry, Operator::kFoldable, 0, 1, 1, 0, 1, 1) \ |
247 V(OsrLoopEntry, Operator::kFoldable, 0, 1, 1, 0, 1, 1) \ | 247 V(OsrLoopEntry, Operator::kFoldable, 0, 1, 1, 0, 1, 1) \ |
248 V(LoopExit, Operator::kKontrol, 0, 0, 2, 0, 0, 1) \ | 248 V(LoopExit, Operator::kKontrol, 0, 0, 2, 0, 0, 1) \ |
249 V(LoopExitValue, Operator::kPure, 1, 0, 1, 1, 0, 0) \ | 249 V(LoopExitValue, Operator::kPure, 1, 0, 1, 1, 0, 0) \ |
250 V(LoopExitEffect, Operator::kNoThrow, 0, 1, 1, 0, 1, 0) \ | 250 V(LoopExitEffect, Operator::kNoThrow, 0, 1, 1, 0, 1, 0) \ |
251 V(Checkpoint, Operator::kKontrol, 0, 1, 1, 0, 1, 0) \ | 251 V(Checkpoint, Operator::kKontrol, 0, 1, 1, 0, 1, 0) \ |
252 V(FinishRegion, Operator::kKontrol, 1, 1, 0, 1, 1, 0) | 252 V(FinishRegion, Operator::kKontrol, 1, 1, 0, 1, 1, 0) \ |
| 253 V(Retain, Operator::kKontrol, 1, 1, 0, 0, 1, 0) |
253 | 254 |
254 #define CACHED_RETURN_LIST(V) \ | 255 #define CACHED_RETURN_LIST(V) \ |
255 V(1) \ | 256 V(1) \ |
256 V(2) \ | 257 V(2) \ |
257 V(3) | 258 V(3) |
258 | 259 |
259 | 260 |
260 #define CACHED_END_LIST(V) \ | 261 #define CACHED_END_LIST(V) \ |
261 V(1) \ | 262 V(1) \ |
262 V(2) \ | 263 V(2) \ |
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1030 CommonOperatorBuilder::CreateFrameStateFunctionInfo( | 1031 CommonOperatorBuilder::CreateFrameStateFunctionInfo( |
1031 FrameStateType type, int parameter_count, int local_count, | 1032 FrameStateType type, int parameter_count, int local_count, |
1032 Handle<SharedFunctionInfo> shared_info) { | 1033 Handle<SharedFunctionInfo> shared_info) { |
1033 return new (zone()->New(sizeof(FrameStateFunctionInfo))) | 1034 return new (zone()->New(sizeof(FrameStateFunctionInfo))) |
1034 FrameStateFunctionInfo(type, parameter_count, local_count, shared_info); | 1035 FrameStateFunctionInfo(type, parameter_count, local_count, shared_info); |
1035 } | 1036 } |
1036 | 1037 |
1037 } // namespace compiler | 1038 } // namespace compiler |
1038 } // namespace internal | 1039 } // namespace internal |
1039 } // namespace v8 | 1040 } // namespace v8 |
OLD | NEW |