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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 | 135 |
136 size_t hash_value(ParameterInfo const& p) { return p.index(); } | 136 size_t hash_value(ParameterInfo const& p) { return p.index(); } |
137 | 137 |
138 | 138 |
139 std::ostream& operator<<(std::ostream& os, ParameterInfo const& i) { | 139 std::ostream& operator<<(std::ostream& os, ParameterInfo const& i) { |
140 if (i.debug_name()) os << i.debug_name() << '#'; | 140 if (i.debug_name()) os << i.debug_name() << '#'; |
141 os << i.index(); | 141 os << i.index(); |
142 return os; | 142 return os; |
143 } | 143 } |
144 | 144 |
145 | 145 #define CACHED_OP_LIST(V) \ |
146 #define CACHED_OP_LIST(V) \ | 146 V(Dead, Operator::kFoldable, 0, 0, 0, 1, 1, 1) \ |
147 V(Dead, Operator::kFoldable, 0, 0, 0, 1, 1, 1) \ | 147 V(DeoptimizeIf, Operator::kFoldable, 2, 1, 1, 0, 0, 1) \ |
148 V(IfTrue, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ | 148 V(DeoptimizeUnless, Operator::kFoldable, 2, 1, 1, 0, 0, 1) \ |
149 V(IfFalse, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ | 149 V(IfTrue, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ |
150 V(IfSuccess, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ | 150 V(IfFalse, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ |
151 V(IfDefault, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ | 151 V(IfSuccess, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ |
152 V(Throw, Operator::kKontrol, 1, 1, 1, 0, 0, 1) \ | 152 V(IfDefault, Operator::kKontrol, 0, 0, 1, 0, 0, 1) \ |
153 V(Terminate, Operator::kKontrol, 0, 1, 1, 0, 0, 1) \ | 153 V(Throw, Operator::kKontrol, 1, 1, 1, 0, 0, 1) \ |
154 V(OsrNormalEntry, Operator::kFoldable, 0, 1, 1, 0, 1, 1) \ | 154 V(Terminate, Operator::kKontrol, 0, 1, 1, 0, 0, 1) \ |
155 V(OsrLoopEntry, Operator::kFoldable, 0, 1, 1, 0, 1, 1) \ | 155 V(OsrNormalEntry, Operator::kFoldable, 0, 1, 1, 0, 1, 1) \ |
156 V(BeginRegion, Operator::kNoThrow, 0, 1, 0, 0, 1, 0) \ | 156 V(OsrLoopEntry, Operator::kFoldable, 0, 1, 1, 0, 1, 1) \ |
| 157 V(BeginRegion, Operator::kNoThrow, 0, 1, 0, 0, 1, 0) \ |
157 V(FinishRegion, Operator::kNoThrow, 1, 1, 0, 1, 1, 0) | 158 V(FinishRegion, Operator::kNoThrow, 1, 1, 0, 1, 1, 0) |
158 | 159 |
159 | |
160 #define CACHED_RETURN_LIST(V) \ | 160 #define CACHED_RETURN_LIST(V) \ |
161 V(1) \ | 161 V(1) \ |
162 V(2) \ | 162 V(2) \ |
163 V(3) | 163 V(3) |
164 | 164 |
165 | 165 |
166 #define CACHED_END_LIST(V) \ | 166 #define CACHED_END_LIST(V) \ |
167 V(1) \ | 167 V(1) \ |
168 V(2) \ | 168 V(2) \ |
169 V(3) \ | 169 V(3) \ |
(...skipping 692 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
862 CommonOperatorBuilder::CreateFrameStateFunctionInfo( | 862 CommonOperatorBuilder::CreateFrameStateFunctionInfo( |
863 FrameStateType type, int parameter_count, int local_count, | 863 FrameStateType type, int parameter_count, int local_count, |
864 Handle<SharedFunctionInfo> shared_info) { | 864 Handle<SharedFunctionInfo> shared_info) { |
865 return new (zone()->New(sizeof(FrameStateFunctionInfo))) | 865 return new (zone()->New(sizeof(FrameStateFunctionInfo))) |
866 FrameStateFunctionInfo(type, parameter_count, local_count, shared_info); | 866 FrameStateFunctionInfo(type, parameter_count, local_count, shared_info); |
867 } | 867 } |
868 | 868 |
869 } // namespace compiler | 869 } // namespace compiler |
870 } // namespace internal | 870 } // namespace internal |
871 } // namespace v8 | 871 } // namespace v8 |
OLD | NEW |