Line data Source code
1 : #ifndef V8_TORQUE_ARRAY_LASTINDEXOF_FROM_DSL_BASE_H__
2 : #define V8_TORQUE_ARRAY_LASTINDEXOF_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 392 : class ArrayLastindexofBuiltinsFromDSLAssembler {
13 : public:
14 392 : explicit ArrayLastindexofBuiltinsFromDSLAssembler(compiler::CodeAssemblerState* state) : state_(state), ca_(state) { USE(state_, ca_); }
15 : compiler::TNode<Object> LoadWithHoleCheck10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole);
16 : compiler::TNode<Object> LoadWithHoleCheck16FixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole);
17 : compiler::TNode<Number> GetFromIndex(compiler::TNode<Context> p_context, compiler::TNode<Number> p_length, BaseBuiltinsFromDSLAssembler::Arguments p_arguments);
18 : compiler::TNode<Object> TryFastArrayLastIndexOf(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<Object> p_searchElement, compiler::TNode<Number> p_from, compiler::CodeAssemblerLabel* label_Slow);
19 : compiler::TNode<Object> GenericArrayLastIndexOf(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_object, compiler::TNode<Object> p_searchElement, compiler::TNode<Number> p_from);
20 : compiler::TNode<Smi> FastArrayLastIndexOf10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_array, compiler::TNode<Smi> p_from, compiler::TNode<Object> p_searchElement);
21 : compiler::TNode<Smi> FastArrayLastIndexOf16FixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_array, compiler::TNode<Smi> p_from, compiler::TNode<Object> p_searchElement);
22 : private:
23 : compiler::CodeAssemblerState* const state_;
24 : compiler::CodeAssembler ca_;
25 : };
26 :
27 : } // namespace internal
28 : } // namespace v8
29 :
30 : #endif // V8_TORQUE_ARRAY_LASTINDEXOF_FROM_DSL_BASE_H__
|