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 |