Line data Source code
1 : #ifndef V8_TORQUE_ITERATOR_FROM_DSL_BASE_H__
2 : #define V8_TORQUE_ITERATOR_FROM_DSL_BASE_H__
3 :
4 : #include "src/compiler/code-assembler.h"
5 : #include "src/code-stub-assembler.h"
6 :
7 : namespace v8 {
8 : namespace internal {
9 :
10 896 : class IteratorBuiltinsFromDSLAssembler {
11 : public:
12 896 : explicit IteratorBuiltinsFromDSLAssembler(compiler::CodeAssemblerState* state) : state_(state), ca_(state) { USE(state_, ca_); }
13 : struct IteratorRecord {
14 : compiler::TNode<JSReceiver> object;
15 : compiler::TNode<Object> next;
16 :
17 : std::tuple<compiler::TNode<JSReceiver>, compiler::TNode<Object>> Flatten() const {
18 : return std::tuple_cat(std::make_tuple(object), std::make_tuple(next));
19 : }
20 : };
21 : private:
22 : compiler::CodeAssemblerState* const state_;
23 : compiler::CodeAssembler ca_;};
24 :
25 : } // namespace internal
26 : } // namespace v8
27 :
28 : #endif // V8_TORQUE_ITERATOR_FROM_DSL_BASE_H__
|