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 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 kIndex) {} // parameter | 285 kIndex) {} // parameter |
286 }; | 286 }; |
287 #define CACHED_PARAMETER(index) \ | 287 #define CACHED_PARAMETER(index) \ |
288 ParameterOperator<index> kParameter##index##Operator; | 288 ParameterOperator<index> kParameter##index##Operator; |
289 CACHED_PARAMETER_LIST(CACHED_PARAMETER) | 289 CACHED_PARAMETER_LIST(CACHED_PARAMETER) |
290 #undef CACHED_PARAMETER | 290 #undef CACHED_PARAMETER |
291 | 291 |
292 template <size_t kIndex> | 292 template <size_t kIndex> |
293 struct ProjectionOperator FINAL : public Operator1<size_t> { | 293 struct ProjectionOperator FINAL : public Operator1<size_t> { |
294 ProjectionOperator() | 294 ProjectionOperator() |
295 : Operator1<size_t>( // -- | 295 : Operator1<size_t>( // -- |
296 IrOpcode::kProjection, // opcode | 296 IrOpcode::kProjection, // opcode |
297 Operator::kFoldable | Operator::kNoThrow, // flags | 297 Operator::kPure, // flags |
298 "Projection", // name | 298 "Projection", // name |
299 1, 0, 0, 1, 0, 0, // counts, | 299 1, 0, 0, 1, 0, 0, // counts, |
300 kIndex) {} // parameter | 300 kIndex) {} // parameter |
301 }; | 301 }; |
302 #define CACHED_PROJECTION(index) \ | 302 #define CACHED_PROJECTION(index) \ |
303 ProjectionOperator<index> kProjection##index##Operator; | 303 ProjectionOperator<index> kProjection##index##Operator; |
304 CACHED_PROJECTION_LIST(CACHED_PROJECTION) | 304 CACHED_PROJECTION_LIST(CACHED_PROJECTION) |
305 #undef CACHED_PROJECTION | 305 #undef CACHED_PROJECTION |
306 | 306 |
307 template <int kInputCount> | 307 template <int kInputCount> |
308 struct StateValuesOperator FINAL : public Operator { | 308 struct StateValuesOperator FINAL : public Operator { |
309 StateValuesOperator() | 309 StateValuesOperator() |
310 : Operator( // -- | 310 : Operator( // -- |
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 } else { | 669 } else { |
670 UNREACHABLE(); | 670 UNREACHABLE(); |
671 return nullptr; | 671 return nullptr; |
672 } | 672 } |
673 } | 673 } |
674 | 674 |
675 | 675 |
676 } // namespace compiler | 676 } // namespace compiler |
677 } // namespace internal | 677 } // namespace internal |
678 } // namespace v8 | 678 } // namespace v8 |
OLD | NEW |