Line data Source code
1 : #ifndef V8_TORQUE_BASE_FROM_DSL_BASE_H__
2 : #define V8_TORQUE_BASE_FROM_DSL_BASE_H__
3 :
4 : #include "src/compiler/code-assembler.h"
5 :
6 : namespace v8 {
7 : namespace internal {
8 :
9 636517 : class BaseBuiltinsFromDSLAssembler {
10 : public:
11 636517 : explicit BaseBuiltinsFromDSLAssembler(compiler::CodeAssemblerState* state) : state_(state), ca_(state) { USE(state_, ca_); }
12 : compiler::TNode<HeapObject> _method_HeapObject_constructor(compiler::TNode<HeapObject> p_this, compiler::TNode<Object> p_p0);
13 : compiler::TNode<Object> LoadHeapObjectMapUntyped(compiler::TNode<HeapObject> p_o);
14 : void StoreHeapObjectMapUntyped(compiler::TNode<HeapObject> p_o, compiler::TNode<Object> p_v);
15 : compiler::TNode<JSReceiver> _method_JSReceiver_constructor(compiler::TNode<JSReceiver> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1);
16 : compiler::TNode<Object> LoadJSReceiverPropertiesOrHash(compiler::TNode<JSReceiver> p_o);
17 : void StoreJSReceiverPropertiesOrHash(compiler::TNode<JSReceiver> p_o, compiler::TNode<Object> p_v);
18 : compiler::TNode<JSObject> _method_JSObject_constructor(compiler::TNode<JSObject> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2);
19 : compiler::TNode<FixedArrayBase> LoadJSObjectElements(compiler::TNode<JSObject> p_o);
20 : void StoreJSObjectElements(compiler::TNode<JSObject> p_o, compiler::TNode<FixedArrayBase> p_v);
21 : compiler::TNode<JSArgumentsObjectWithLength> _method_JSArgumentsObjectWithLength_constructor(compiler::TNode<JSArgumentsObjectWithLength> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2, compiler::TNode<Object> p_p3);
22 : compiler::TNode<Object> LoadJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength> p_o);
23 : void StoreJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength> p_o, compiler::TNode<Object> p_v);
24 : compiler::TNode<JSArray> _method_JSArray_constructor(compiler::TNode<JSArray> p_this, compiler::TNode<Context> p_context);
25 : compiler::TNode<BoolT> _method_JSArray_IsEmpty(compiler::TNode<JSArray> p_this);
26 : compiler::TNode<Number> LoadJSArrayLength(compiler::TNode<JSArray> p_o);
27 : void StoreJSArrayLength(compiler::TNode<JSArray> p_o, compiler::TNode<Number> p_v);
28 : compiler::TNode<JSFunction> _method_JSFunction_constructor(compiler::TNode<JSFunction> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2, compiler::TNode<SharedFunctionInfo> p_p3, compiler::TNode<Context> p_p4, compiler::TNode<Smi> p_p5, compiler::TNode<Code> p_p6, compiler::TNode<HeapObject> p_p7);
29 : compiler::TNode<SharedFunctionInfo> LoadJSFunctionSharedFunctionInfo(compiler::TNode<JSFunction> p_o);
30 : void StoreJSFunctionSharedFunctionInfo(compiler::TNode<JSFunction> p_o, compiler::TNode<SharedFunctionInfo> p_v);
31 : compiler::TNode<Context> LoadJSFunctionContext(compiler::TNode<JSFunction> p_o);
32 : void StoreJSFunctionContext(compiler::TNode<JSFunction> p_o, compiler::TNode<Context> p_v);
33 : compiler::TNode<Smi> LoadJSFunctionFeedbackCell(compiler::TNode<JSFunction> p_o);
34 : void StoreJSFunctionFeedbackCell(compiler::TNode<JSFunction> p_o, compiler::TNode<Smi> p_v);
35 : compiler::TNode<Code> LoadJSFunctionCode(compiler::TNode<JSFunction> p_o);
36 : void StoreJSFunctionCode(compiler::TNode<JSFunction> p_o, compiler::TNode<Code> p_v);
37 : compiler::TNode<HeapObject> LoadJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction> p_o);
38 : void StoreJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction> p_o, compiler::TNode<HeapObject> p_v);
39 : compiler::TNode<JSBoundFunction> _method_JSBoundFunction_constructor(compiler::TNode<JSBoundFunction> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2, compiler::TNode<JSReceiver> p_p3, compiler::TNode<Object> p_p4, compiler::TNode<FixedArray> p_p5);
40 : compiler::TNode<JSReceiver> LoadJSBoundFunctionBoundTargetFunction(compiler::TNode<JSBoundFunction> p_o);
41 : void StoreJSBoundFunctionBoundTargetFunction(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<JSReceiver> p_v);
42 : compiler::TNode<Object> LoadJSBoundFunctionBoundThis(compiler::TNode<JSBoundFunction> p_o);
43 : void StoreJSBoundFunctionBoundThis(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<Object> p_v);
44 : compiler::TNode<FixedArray> LoadJSBoundFunctionBoundArguments(compiler::TNode<JSBoundFunction> p_o);
45 : void StoreJSBoundFunctionBoundArguments(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<FixedArray> p_v);
46 : compiler::TNode<Oddball> Hole();
47 : compiler::TNode<Oddball> Null();
48 : compiler::TNode<Oddball> Undefined();
49 : compiler::TNode<Oddball> True();
50 : compiler::TNode<Oddball> False();
51 : compiler::TNode<String> kEmptyString();
52 : compiler::TNode<String> kLengthString();
53 : compiler::TNode<BoolT> ElementsKindNotEqual(compiler::TNode<Int32T> p_k1, compiler::TNode<Int32T> p_k2);
54 : compiler::TNode<BoolT> IsNumberEqual(compiler::TNode<Number> p_a, compiler::TNode<Number> p_b);
55 : compiler::TNode<Number> Min(compiler::TNode<Number> p_x, compiler::TNode<Number> p_y);
56 : compiler::TNode<Number> Max(compiler::TNode<Number> p_x, compiler::TNode<Number> p_y);
57 : compiler::TNode<HeapObject> CastHeapObject10HeapObject(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
58 : compiler::TNode<FixedArray> CastHeapObject12ATFixedArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
59 : compiler::TNode<FixedDoubleArray> CastHeapObject18ATFixedDoubleArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
60 : compiler::TNode<FixedArray> CastHeapObject25ATSloppyArgumentsElements(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
61 : compiler::TNode<JSDataView> CastHeapObject12ATJSDataView(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
62 : compiler::TNode<JSTypedArray> CastHeapObject14ATJSTypedArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
63 : compiler::TNode<JSReceiver> CastHeapObject41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
64 : compiler::TNode<JSArray> CastHeapObject7JSArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
65 : compiler::TNode<Context> CastHeapObject9ATContext(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
66 : compiler::TNode<JSObject> CastHeapObject8JSObject(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
67 : compiler::TNode<NumberDictionary> CastHeapObject18ATNumberDictionary(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
68 : compiler::TNode<FixedTypedArrayBase> CastHeapObject21ATFixedTypedArrayBase(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
69 : compiler::TNode<String> CastHeapObject8ATString(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
70 : compiler::TNode<JSReceiver> CastHeapObject13ATConstructor(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
71 : compiler::TNode<HeapNumber> CastHeapObject12ATHeapNumber(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
72 : compiler::TNode<Map> CastHeapObject5ATMap(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
73 : compiler::TNode<JSArgumentsObjectWithLength> CastHeapObject27JSArgumentsObjectWithLength(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
74 : compiler::TNode<JSArray> CastHeapObject13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
75 : struct FastJSArrayWitness {
76 : compiler::TNode<HeapObject> array;
77 : compiler::TNode<Map> map;
78 :
79 : std::tuple<compiler::TNode<HeapObject>, compiler::TNode<Map>> Flatten() const {
80 : return std::tuple_cat(std::make_tuple(array), std::make_tuple(map));
81 : }
82 : };
83 : BaseBuiltinsFromDSLAssembler::FastJSArrayWitness MakeWitness(compiler::TNode<JSArray> p_array);
84 : compiler::TNode<JSArray> Testify(BaseBuiltinsFromDSLAssembler::FastJSArrayWitness p_witness, compiler::CodeAssemblerLabel* label_CastError);
85 : compiler::TNode<JSArray> CastHeapObject20ATFastJSArrayForCopy(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
86 : compiler::TNode<JSArray> CastHeapObject34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
87 : compiler::TNode<JSReceiver> CastHeapObject10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
88 : compiler::TNode<JSFunction> CastHeapObject10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
89 : compiler::TNode<Smi> Cast5ATSmi(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
90 : compiler::TNode<Number> Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
91 : compiler::TNode<Int32T> FromConstexpr7ATint3117ATconstexpr_int31(int31_t p_i);
92 : compiler::TNode<Int32T> FromConstexpr7ATint3217ATconstexpr_int31(int31_t p_i);
93 : compiler::TNode<Int32T> FromConstexpr7ATint3217ATconstexpr_int32(int32_t p_i);
94 : compiler::TNode<IntPtrT> FromConstexpr8ATintptr17ATconstexpr_int31(int31_t p_i);
95 : compiler::TNode<IntPtrT> FromConstexpr8ATintptr17ATconstexpr_int32(int32_t p_i);
96 : compiler::TNode<IntPtrT> FromConstexpr8ATintptr18ATconstexpr_intptr(intptr_t p_i);
97 : compiler::TNode<UintPtrT> FromConstexpr9ATuintptr19ATconstexpr_uintptr(uintptr_t p_i);
98 : compiler::TNode<Smi> FromConstexpr5ATSmi17ATconstexpr_int31(int31_t p_i);
99 : compiler::TNode<String> FromConstexpr8ATString18ATconstexpr_string(const char* p_s);
100 : compiler::TNode<Number> FromConstexpr22UT12ATHeapNumber5ATSmi18ATconstexpr_uint32(uint32_t p_i);
101 : compiler::TNode<Number> FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int32(int32_t p_i);
102 : compiler::TNode<Number> FromConstexpr22UT12ATHeapNumber5ATSmi19ATconstexpr_float64(double p_f);
103 : compiler::TNode<Number> FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(int31_t p_i);
104 : compiler::TNode<Number> FromConstexpr22UT12ATHeapNumber5ATSmi15ATconstexpr_Smi(Smi p_s);
105 : compiler::TNode<Smi> FromConstexpr5ATSmi15ATconstexpr_Smi(Smi p_s);
106 : compiler::TNode<Uint32T> FromConstexpr8ATuint3217ATconstexpr_int31(int31_t p_i);
107 : compiler::TNode<UintPtrT> FromConstexpr9ATuintptr17ATconstexpr_int31(int31_t p_i);
108 : compiler::TNode<Float64T> FromConstexpr9ATfloat6417ATconstexpr_int31(int31_t p_i);
109 : compiler::TNode<BoolT> FromConstexpr6ATbool16ATconstexpr_bool(bool p_b);
110 : compiler::TNode<Smi> FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode p_m);
111 : compiler::TNode<Int32T> FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(ElementsKind p_e);
112 : compiler::TNode<Object> FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(const char* p_s);
113 : compiler::TNode<IntPtrT> FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(int32_t p_c);
114 : compiler::TNode<Int32T> Convert7ATint3214ATElementsKind(compiler::TNode<Int32T> p_elementsKind);
115 : compiler::TNode<Number> Convert22UT12ATHeapNumber5ATSmi7ATint32(compiler::TNode<Int32T> p_i);
116 : compiler::TNode<IntPtrT> Convert8ATintptr7ATint32(compiler::TNode<Int32T> p_i);
117 : compiler::TNode<Smi> Convert5ATSmi7ATint32(compiler::TNode<Int32T> p_i);
118 : compiler::TNode<Number> Convert22UT12ATHeapNumber5ATSmi8ATuint32(compiler::TNode<Uint32T> p_ui);
119 : compiler::TNode<Smi> Convert5ATSmi8ATuint32(compiler::TNode<Uint32T> p_ui);
120 : compiler::TNode<UintPtrT> Convert9ATuintptr8ATuint32(compiler::TNode<Uint32T> p_ui);
121 : compiler::TNode<Int32T> Convert7ATint328ATintptr(compiler::TNode<IntPtrT> p_i);
122 : compiler::TNode<Smi> Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT> p_i);
123 : compiler::TNode<Uint32T> Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT> p_ui);
124 : compiler::TNode<IntPtrT> Convert8ATintptr5ATSmi(compiler::TNode<Smi> p_s);
125 : compiler::TNode<Int32T> Convert7ATint325ATSmi(compiler::TNode<Smi> p_s);
126 : compiler::TNode<Float64T> Convert9ATfloat6412ATHeapNumber(compiler::TNode<HeapNumber> p_h);
127 : compiler::TNode<Float64T> Convert9ATfloat6422UT12ATHeapNumber5ATSmi(compiler::TNode<Number> p_n);
128 : compiler::TNode<UintPtrT> Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number> p_n);
129 : compiler::TNode<Float64T> Convert9ATfloat649ATfloat32(compiler::TNode<Float32T> p_f);
130 : compiler::TNode<Number> Convert22UT12ATHeapNumber5ATSmi9ATfloat64(compiler::TNode<Float64T> p_d);
131 : compiler::TNode<Float64T> Convert9ATfloat649ATuintptr(compiler::TNode<UintPtrT> p_ui);
132 : compiler::TNode<Number> Convert22UT12ATHeapNumber5ATSmi9ATuintptr(compiler::TNode<UintPtrT> p_ui);
133 : compiler::TNode<UintPtrT> Convert9ATuintptr9ATfloat64(compiler::TNode<Float64T> p_d);
134 : compiler::TNode<UintPtrT> Convert9ATuintptr8ATintptr(compiler::TNode<IntPtrT> p_i);
135 : compiler::TNode<UintPtrT> Convert9ATuintptr8ATRawPtr(compiler::TNode<RawPtrT> p_r);
136 : compiler::TNode<IntPtrT> Convert8ATintptr8ATRawPtr(compiler::TNode<RawPtrT> p_r);
137 : compiler::TNode<BInt> Convert6ATbint7ATint32(compiler::TNode<Int32T> p_v);
138 : compiler::TNode<BInt> Convert6ATbint8ATintptr(compiler::TNode<IntPtrT> p_v);
139 : compiler::TNode<BInt> Convert6ATbint5ATSmi(compiler::TNode<Smi> p_v);
140 : compiler::TNode<Object> UnsafeCast20UT5ATSmi10HeapObject(compiler::TNode<Object> p_o);
141 : compiler::TNode<Map> kCOWMap();
142 : compiler::TNode<FixedArrayBase> kEmptyFixedArray();
143 : void StoreFixedDoubleArrayNumber(compiler::TNode<FixedDoubleArray> p_a, compiler::TNode<Smi> p_index, compiler::TNode<Number> p_value);
144 : void StoreFixedDoubleArrayElementWithSmiIndex(compiler::TNode<FixedDoubleArray> p_array, compiler::TNode<Smi> p_index, compiler::TNode<Float64T> p_value);
145 : compiler::TNode<Int32T> AllowDoubleElements(compiler::TNode<Int32T> p_kind);
146 : compiler::TNode<Int32T> AllowNonNumberElements(compiler::TNode<Int32T> p_kind);
147 : compiler::TNode<JSFunction> GetObjectFunction(compiler::TNode<Context> p_context);
148 : compiler::TNode<Map> GetFastPackedSmiElementsJSArrayMap(compiler::TNode<Context> p_context);
149 : void TorqueMoveElements(compiler::TNode<FixedArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
150 : void TorqueMoveElements(compiler::TNode<FixedDoubleArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
151 : void TorqueCopyElements(compiler::TNode<FixedArray> p_dstElements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<FixedArray> p_srcElements, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
152 : void TorqueCopyElements(compiler::TNode<FixedDoubleArray> p_dstElements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<FixedDoubleArray> p_srcElements, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
153 : compiler::TNode<Object> LoadElementNoHole12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole);
154 : compiler::TNode<Object> LoadElementNoHole18ATFixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole);
155 : compiler::TNode<BoolT> NumberIsNaN(compiler::TNode<Number> p_number);
156 : compiler::TNode<BoolT> ToBoolean(compiler::TNode<Object> p_obj);
157 : compiler::TNode<Number> ToIndex(compiler::TNode<Object> p_input, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_RangeError);
158 : compiler::TNode<Number> GetLengthProperty(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
159 : struct KeyValuePair {
160 : compiler::TNode<Object> key;
161 : compiler::TNode<Object> value;
162 :
163 : std::tuple<compiler::TNode<Object>, compiler::TNode<Object>> Flatten() const {
164 : return std::tuple_cat(std::make_tuple(key), std::make_tuple(value));
165 : }
166 : };
167 : compiler::TNode<BoolT> IsFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context);
168 : void BranchIfFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
169 : void BranchIfNotFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
170 : void BranchIfFastJSArrayForCopy(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
171 : compiler::TNode<BoolT> IsFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
172 : compiler::TNode<Smi> FromConstexpr11ATFrameType21ATconstexpr_FrameType(StackFrame::Type p_t);
173 : compiler::TNode<Smi> Cast11ATFrameType(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
174 : compiler::TNode<Object> LoadObjectFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o);
175 : compiler::TNode<RawPtrT> LoadPointerFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o);
176 : compiler::TNode<Smi> LoadSmiFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o);
177 : compiler::TNode<JSFunction> LoadFunctionFromFrame(compiler::TNode<RawPtrT> p_f);
178 : compiler::TNode<RawPtrT> LoadCallerFromFrame(compiler::TNode<RawPtrT> p_f);
179 : compiler::TNode<Object> Cast25UT9ATContext11ATFrameType(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
180 : compiler::TNode<Object> LoadContextOrFrameTypeFromFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f);
181 : compiler::TNode<Smi> LoadLengthFromAdapterFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f);
182 : compiler::TNode<BoolT> FrameTypeEquals(compiler::TNode<Smi> p_f1, compiler::TNode<Smi> p_f2);
183 : compiler::TNode<RawPtrT> Cast15ATStandardFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f, compiler::CodeAssemblerLabel* label_CastError);
184 : compiler::TNode<RawPtrT> Cast23ATArgumentsAdaptorFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f, compiler::CodeAssemblerLabel* label_CastError);
185 : compiler::TNode<JSFunction> LoadTargetFromFrame();
186 : compiler::TNode<JSArray> Cast13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
187 : compiler::TNode<JSFunction> UnsafeCast10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
188 : compiler::TNode<Map> UnsafeCast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
189 : compiler::TNode<FixedArray> Cast12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
190 : compiler::TNode<FixedDoubleArray> Cast18ATFixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
191 : compiler::TNode<JSArray> Cast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
192 : compiler::TNode<JSArgumentsObjectWithLength> Cast27JSArgumentsObjectWithLength(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
193 : compiler::TNode<BoolT> Is13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
194 : void BranchIf13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
195 : void BranchIfNot13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
196 : void BranchIf20ATFastJSArrayForCopy20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
197 : compiler::TNode<BoolT> Is34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
198 : compiler::TNode<Context> Cast9ATContext(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
199 : compiler::TNode<Object> UnsafeCast25UT9ATContext11ATFrameType(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
200 : compiler::TNode<HeapObject> Cast10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
201 : compiler::TNode<IntPtrT> Convert8ATintptr17ATconstexpr_int31(int31_t p_i);
202 : compiler::TNode<JSReceiver> Cast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
203 : compiler::TNode<JSReceiver> Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
204 : compiler::TNode<JSArray> UnsafeCast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
205 : compiler::TNode<NumberDictionary> UnsafeCast18ATNumberDictionary(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
206 : compiler::TNode<FixedArray> UnsafeCast12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
207 : compiler::TNode<Smi> UnsafeCast5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
208 : compiler::TNode<FixedDoubleArray> UnsafeCast18ATFixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
209 : compiler::TNode<JSTypedArray> UnsafeCast14ATJSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
210 : compiler::TNode<String> Cast8ATString(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
211 : compiler::TNode<JSArray> Cast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
212 : compiler::TNode<HeapObject> UnsafeCast10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
213 : compiler::TNode<JSReceiver> Cast13ATConstructor(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
214 : compiler::TNode<JSArray> Cast13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
215 : compiler::TNode<FixedArray> Cast25ATSloppyArgumentsElements(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
216 : compiler::TNode<FixedArray> Cast12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
217 : compiler::TNode<Context> UnsafeCast9ATContext(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
218 : compiler::TNode<JSArray> Cast20ATFastJSArrayForCopy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
219 : compiler::TNode<Smi> Convert5ATSmi17ATconstexpr_int31(int31_t p_i);
220 : compiler::TNode<JSDataView> Cast12ATJSDataView(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
221 : compiler::TNode<Map> Cast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
222 : compiler::TNode<JSArray> Cast34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
223 : compiler::TNode<BoolT> Is10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
224 : compiler::TNode<Map> Cast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
225 : compiler::TNode<JSTypedArray> Cast14ATJSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
226 : compiler::TNode<JSReceiver> Cast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
227 : compiler::TNode<HeapNumber> UnsafeCast12ATHeapNumber(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
228 : compiler::TNode<JSReceiver> UnsafeCast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
229 : compiler::TNode<JSReceiver> UnsafeCast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
230 : compiler::TNode<JSObject> UnsafeCast8JSObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
231 : compiler::TNode<Number> UnsafeCast22UT12ATHeapNumber5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
232 : void BranchIf34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
233 : void BranchIf10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
234 : compiler::TNode<FixedTypedArrayBase> UnsafeCast21ATFixedTypedArrayBase(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
235 : private:
236 : compiler::CodeAssemblerState* const state_;
237 : compiler::CodeAssembler ca_;};
238 :
239 : } // namespace internal
240 : } // namespace v8
241 :
242 : #endif // V8_TORQUE_BASE_FROM_DSL_BASE_H__
|