| 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 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 return WordOr(a, b); | 140 return WordOr(a, b); |
| 141 } | 141 } |
| 142 | 142 |
| 143 // Allocate an object of the given size. | 143 // Allocate an object of the given size. |
| 144 compiler::Node* Allocate(compiler::Node* size, AllocationFlags flags = kNone); | 144 compiler::Node* Allocate(compiler::Node* size, AllocationFlags flags = kNone); |
| 145 compiler::Node* Allocate(int size, AllocationFlags flags = kNone); | 145 compiler::Node* Allocate(int size, AllocationFlags flags = kNone); |
| 146 compiler::Node* InnerAllocate(compiler::Node* previous, int offset); | 146 compiler::Node* InnerAllocate(compiler::Node* previous, int offset); |
| 147 compiler::Node* InnerAllocate(compiler::Node* previous, | 147 compiler::Node* InnerAllocate(compiler::Node* previous, |
| 148 compiler::Node* offset); | 148 compiler::Node* offset); |
| 149 | 149 |
| 150 void Assert(compiler::Node* condition, const char* string = nullptr, | 150 void Assert(compiler::Node* condition); |
| 151 const char* file = nullptr, int line = 0); | |
| 152 | 151 |
| 153 // Check a value for smi-ness | 152 // Check a value for smi-ness |
| 154 compiler::Node* TaggedIsSmi(compiler::Node* a); | 153 compiler::Node* TaggedIsSmi(compiler::Node* a); |
| 155 // Check that the value is a non-negative smi. | 154 // Check that the value is a non-negative smi. |
| 156 compiler::Node* WordIsPositiveSmi(compiler::Node* a); | 155 compiler::Node* WordIsPositiveSmi(compiler::Node* a); |
| 157 | 156 |
| 158 void BranchIfSmiEqual(compiler::Node* a, compiler::Node* b, Label* if_true, | 157 void BranchIfSmiEqual(compiler::Node* a, compiler::Node* b, Label* if_true, |
| 159 Label* if_false) { | 158 Label* if_false) { |
| 160 BranchIf(SmiEqual(a, b), if_true, if_false); | 159 BranchIf(SmiEqual(a, b), if_true, if_false); |
| 161 } | 160 } |
| (...skipping 822 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 984 // Emits keyed sloppy arguments load if the |value| is nullptr or store | 983 // Emits keyed sloppy arguments load if the |value| is nullptr or store |
| 985 // otherwise. Returns either the loaded value or |value|. | 984 // otherwise. Returns either the loaded value or |value|. |
| 986 compiler::Node* EmitKeyedSloppyArguments(compiler::Node* receiver, | 985 compiler::Node* EmitKeyedSloppyArguments(compiler::Node* receiver, |
| 987 compiler::Node* key, | 986 compiler::Node* key, |
| 988 compiler::Node* value, | 987 compiler::Node* value, |
| 989 Label* bailout); | 988 Label* bailout); |
| 990 | 989 |
| 991 static const int kElementLoopUnrollThreshold = 8; | 990 static const int kElementLoopUnrollThreshold = 8; |
| 992 }; | 991 }; |
| 993 | 992 |
| 994 #define CSA_ASSERT(x) Assert((x), #x, __FILE__, __LINE__) | |
| 995 | |
| 996 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 993 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
| 997 | 994 |
| 998 } // namespace internal | 995 } // namespace internal |
| 999 } // namespace v8 | 996 } // namespace v8 |
| 1000 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 997 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
| OLD | NEW |