Line data Source code
1 : #ifndef V8_TORQUE_GROWABLE_FIXED_ARRAY_FROM_DSL_BASE_H__
2 : #define V8_TORQUE_GROWABLE_FIXED_ARRAY_FROM_DSL_BASE_H__
3 :
4 : #include "src/compiler/code-assembler.h"
5 : #include "src/code-stub-assembler.h"
6 : #include "src/utils.h"
7 : #include "torque-generated/class-definitions-from-dsl.h"
8 :
9 : namespace v8 {
10 : namespace internal {
11 :
12 56 : class GrowableFixedArrayBuiltinsFromDSLAssembler {
13 : public:
14 56 : explicit GrowableFixedArrayBuiltinsFromDSLAssembler(compiler::CodeAssemblerState* state) : state_(state), ca_(state) { USE(state_, ca_); }
15 : struct GrowableFixedArray {
16 : compiler::TNode<FixedArray> array;
17 : compiler::TNode<IntPtrT> capacity;
18 : compiler::TNode<IntPtrT> length;
19 :
20 : std::tuple<compiler::TNode<FixedArray>, compiler::TNode<IntPtrT>, compiler::TNode<IntPtrT>> Flatten() const {
21 : return std::tuple_cat(std::make_tuple(array), std::make_tuple(capacity), std::make_tuple(length));
22 : }
23 : };
24 : GrowableFixedArrayBuiltinsFromDSLAssembler::GrowableFixedArray NewGrowableFixedArray();
25 : private:
26 : compiler::CodeAssemblerState* const state_;
27 : compiler::CodeAssembler ca_;
28 : };
29 :
30 : } // namespace internal
31 : } // namespace v8
32 :
33 : #endif // V8_TORQUE_GROWABLE_FIXED_ARRAY_FROM_DSL_BASE_H__
|