OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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_CODE_STUB_ASSEMBLER_H_ | 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_ |
6 #define V8_CODE_STUB_ASSEMBLER_H_ | 6 #define V8_CODE_STUB_ASSEMBLER_H_ |
7 | 7 |
8 #include <functional> | 8 #include <functional> |
9 | 9 |
10 #include "src/compiler/code-assembler.h" | 10 #include "src/compiler/code-assembler.h" |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 void Assert(compiler::Node* condition, const char* string = nullptr, | 160 void Assert(compiler::Node* condition, const char* string = nullptr, |
161 const char* file = nullptr, int line = 0); | 161 const char* file = nullptr, int line = 0); |
162 | 162 |
163 // Check a value for smi-ness | 163 // Check a value for smi-ness |
164 compiler::Node* TaggedIsSmi(compiler::Node* a); | 164 compiler::Node* TaggedIsSmi(compiler::Node* a); |
165 // Check that the value is a non-negative smi. | 165 // Check that the value is a non-negative smi. |
166 compiler::Node* WordIsPositiveSmi(compiler::Node* a); | 166 compiler::Node* WordIsPositiveSmi(compiler::Node* a); |
167 | 167 |
168 void BranchIfSmiEqual(compiler::Node* a, compiler::Node* b, Label* if_true, | 168 void BranchIfSmiEqual(compiler::Node* a, compiler::Node* b, Label* if_true, |
169 Label* if_false) { | 169 Label* if_false) { |
170 BranchIf(SmiEqual(a, b), if_true, if_false); | 170 Branch(SmiEqual(a, b), if_true, if_false); |
171 } | 171 } |
172 | 172 |
173 void BranchIfSmiLessThan(compiler::Node* a, compiler::Node* b, Label* if_true, | 173 void BranchIfSmiLessThan(compiler::Node* a, compiler::Node* b, Label* if_true, |
174 Label* if_false) { | 174 Label* if_false) { |
175 BranchIf(SmiLessThan(a, b), if_true, if_false); | 175 Branch(SmiLessThan(a, b), if_true, if_false); |
176 } | 176 } |
177 | 177 |
178 void BranchIfSmiLessThanOrEqual(compiler::Node* a, compiler::Node* b, | 178 void BranchIfSmiLessThanOrEqual(compiler::Node* a, compiler::Node* b, |
179 Label* if_true, Label* if_false) { | 179 Label* if_true, Label* if_false) { |
180 BranchIf(SmiLessThanOrEqual(a, b), if_true, if_false); | 180 Branch(SmiLessThanOrEqual(a, b), if_true, if_false); |
181 } | 181 } |
182 | 182 |
183 void BranchIfFloat64IsNaN(compiler::Node* value, Label* if_true, | 183 void BranchIfFloat64IsNaN(compiler::Node* value, Label* if_true, |
184 Label* if_false) { | 184 Label* if_false) { |
185 BranchIfFloat64Equal(value, value, if_false, if_true); | 185 Branch(Float64Equal(value, value), if_false, if_true); |
186 } | 186 } |
187 | 187 |
188 // Branches to {if_true} if ToBoolean applied to {value} yields true, | 188 // Branches to {if_true} if ToBoolean applied to {value} yields true, |
189 // otherwise goes to {if_false}. | 189 // otherwise goes to {if_false}. |
190 void BranchIfToBooleanIsTrue(compiler::Node* value, Label* if_true, | 190 void BranchIfToBooleanIsTrue(compiler::Node* value, Label* if_true, |
191 Label* if_false); | 191 Label* if_false); |
192 | 192 |
193 void BranchIfSimd128Equal(compiler::Node* lhs, compiler::Node* lhs_map, | 193 void BranchIfSimd128Equal(compiler::Node* lhs, compiler::Node* lhs_map, |
194 compiler::Node* rhs, compiler::Node* rhs_map, | 194 compiler::Node* rhs, compiler::Node* rhs_map, |
195 Label* if_equal, Label* if_notequal); | 195 Label* if_equal, Label* if_notequal); |
(...skipping 857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1053 static const int kElementLoopUnrollThreshold = 8; | 1053 static const int kElementLoopUnrollThreshold = 8; |
1054 }; | 1054 }; |
1055 | 1055 |
1056 #define CSA_ASSERT(x) Assert((x), #x, __FILE__, __LINE__) | 1056 #define CSA_ASSERT(x) Assert((x), #x, __FILE__, __LINE__) |
1057 | 1057 |
1058 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 1058 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
1059 | 1059 |
1060 } // namespace internal | 1060 } // namespace internal |
1061 } // namespace v8 | 1061 } // namespace v8 |
1062 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 1062 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |