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#include "src/utils.h"
6#include "torque-generated/class-definitions-from-dsl.h"
7
8namespace v8 {
9namespace internal {
10
11class BaseBuiltinsFromDSLAssembler {
12 public:
13 explicit BaseBuiltinsFromDSLAssembler(compiler::CodeAssemblerState* state) : state_(state), ca_(state) { USE(state_, ca_); }
14 compiler::TNode<JSObject> NewJSObject(compiler::TNode<Map> p_map, compiler::TNode<Object> p_properties, compiler::TNode<FixedArrayBase> p_elements);
15 compiler::TNode<JSObject> NewJSObject(compiler::TNode<Context> p_context);
16 compiler::TNode<JSProxyRevocableResult> NewJSProxyRevocableResult(compiler::TNode<Context> p_context, compiler::TNode<JSProxy> p_proxy, compiler::TNode<JSFunction> p_revoke);
17 compiler::TNode<JSArray> NewJSArray(compiler::TNode<Context> p_context, compiler::TNode<Map> p_map, compiler::TNode<FixedArrayBase> p_elements);
18 compiler::TNode<JSArray> NewJSArray(compiler::TNode<Context> p_context);
19 struct HoleIterator {
20
21 std::tuple<> Flatten() const {
22 return std::tuple_cat();
23 }
24 };
25 compiler::TNode<JSArray> NewJSArray(compiler::TNode<Context> p_context, compiler::TNode<Map> p_map, compiler::TNode<Smi> p_length);
26 compiler::TNode<Oddball> Hole();
27 compiler::TNode<Oddball> Null();
28 compiler::TNode<Oddball> Undefined();
29 compiler::TNode<Oddball> True();
30 compiler::TNode<Oddball> False();
31 compiler::TNode<String> kEmptyString();
32 compiler::TNode<String> kLengthString();
33 compiler::TNode<BoolT> ElementsKindNotEqual(compiler::TNode<Int32T> p_k1, compiler::TNode<Int32T> p_k2);
34 compiler::TNode<BoolT> IsNumberEqual(compiler::TNode<Number> p_a, compiler::TNode<Number> p_b);
35 compiler::TNode<BoolT> IsNumberNotEqual(compiler::TNode<Number> p_a, compiler::TNode<Number> p_b);
36 compiler::TNode<Number> Min(compiler::TNode<Number> p_x, compiler::TNode<Number> p_y);
37 compiler::TNode<Number> Max(compiler::TNode<Number> p_x, compiler::TNode<Number> p_y);
38 compiler::TNode<String> StringAdd(compiler::TNode<Context> p_context, compiler::TNode<String> p_a, compiler::TNode<String> p_b);
39 compiler::TNode<Smi> Cast5ATSmi(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
40 compiler::TNode<Smi> Cast13ATPositiveSmi(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
41 compiler::TNode<Number> Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
42 compiler::TNode<HeapObject> Cast10HeapObject(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
43 compiler::TNode<FixedArray> Cast10FixedArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
44 compiler::TNode<FixedDoubleArray> Cast16FixedDoubleArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
45 compiler::TNode<SloppyArgumentsElements> Cast23SloppyArgumentsElements(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
46 compiler::TNode<JSDataView> Cast12ATJSDataView(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
47 compiler::TNode<JSProxy> Cast7JSProxy(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
48 compiler::TNode<JSTypedArray> Cast12JSTypedArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
49 compiler::TNode<JSTypedArray> Cast12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
50 compiler::TNode<JSReceiver> Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
51 compiler::TNode<HeapObject> Cast52UT11ATUndefined15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
52 compiler::TNode<JSArray> Cast7JSArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
53 compiler::TNode<JSArrayBuffer> Cast13JSArrayBuffer(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
54 compiler::TNode<Context> Cast7Context(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
55 compiler::TNode<JSObject> Cast8JSObject(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
56 compiler::TNode<NumberDictionary> Cast18ATNumberDictionary(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
57 compiler::TNode<FixedTypedArrayBase> Cast19FixedTypedArrayBase(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
58 compiler::TNode<String> Cast6String(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
59 compiler::TNode<String> Cast14ATDirectString(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
60 compiler::TNode<JSReceiver> Cast13ATConstructor(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
61 compiler::TNode<HeapNumber> Cast10HeapNumber(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
62 compiler::TNode<JSRegExp> Cast8JSRegExp(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
63 compiler::TNode<Map> Cast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
64 compiler::TNode<JSArgumentsObjectWithLength> Cast27JSArgumentsObjectWithLength(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
65 compiler::TNode<JSRegExp> Cast14ATFastJSRegExp(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
66 compiler::TNode<JSArray> Cast13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
67 compiler::TNode<JSArray> Cast20ATFastJSArrayForCopy(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
68 compiler::TNode<JSArray> Cast34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
69 compiler::TNode<JSReceiver> Cast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
70 compiler::TNode<JSFunction> Cast10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
71 compiler::TNode<Smi> TryUintPtrToPositiveSmi(compiler::TNode<UintPtrT> p_ui, compiler::CodeAssemblerLabel* label_IfOverflow);
72 compiler::TNode<Int32T> FromConstexpr7ATint3117ATconstexpr_int31(int31_t p_i);
73 compiler::TNode<Int32T> FromConstexpr7ATint3217ATconstexpr_int31(int31_t p_i);
74 compiler::TNode<Int32T> FromConstexpr7ATint3217ATconstexpr_int32(int32_t p_i);
75 compiler::TNode<IntPtrT> FromConstexpr8ATintptr17ATconstexpr_int31(int31_t p_i);
76 compiler::TNode<IntPtrT> FromConstexpr8ATintptr17ATconstexpr_int32(int32_t p_i);
77 compiler::TNode<IntPtrT> FromConstexpr8ATintptr18ATconstexpr_intptr(intptr_t p_i);
78 compiler::TNode<UintPtrT> FromConstexpr9ATuintptr19ATconstexpr_uintptr(uintptr_t p_i);
79 compiler::TNode<Smi> FromConstexpr5ATSmi17ATconstexpr_int31(int31_t p_i);
80 compiler::TNode<Smi> FromConstexpr13ATPositiveSmi17ATconstexpr_int31(int31_t p_i);
81 compiler::TNode<String> FromConstexpr6String18ATconstexpr_string(const char* p_s);
82 compiler::TNode<Number> FromConstexpr20UT5ATSmi10HeapNumber18ATconstexpr_uint32(uint32_t p_i);
83 compiler::TNode<Number> FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int32(int32_t p_i);
84 compiler::TNode<Number> FromConstexpr20UT5ATSmi10HeapNumber19ATconstexpr_float64(double p_f);
85 compiler::TNode<Number> FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(int31_t p_i);
86 compiler::TNode<Number> FromConstexpr20UT5ATSmi10HeapNumber15ATconstexpr_Smi(Smi p_s);
87 compiler::TNode<Smi> FromConstexpr5ATSmi15ATconstexpr_Smi(Smi p_s);
88 compiler::TNode<Uint32T> FromConstexpr8ATuint3217ATconstexpr_int31(int31_t p_i);
89 compiler::TNode<UintPtrT> FromConstexpr9ATuintptr17ATconstexpr_int31(int31_t p_i);
90 compiler::TNode<Float64T> FromConstexpr9ATfloat6417ATconstexpr_int31(int31_t p_i);
91 compiler::TNode<Float64T> FromConstexpr9ATfloat6419ATconstexpr_float64(double p_i);
92 compiler::TNode<BoolT> FromConstexpr6ATbool16ATconstexpr_bool(bool p_b);
93 compiler::TNode<Smi> FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode p_m);
94 compiler::TNode<Int32T> FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(ElementsKind p_e);
95 compiler::TNode<Object> FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(const char* p_s);
96 compiler::TNode<IntPtrT> FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(int32_t p_c);
97 compiler::TNode<IntPtrT> FromConstexpr13ATContextSlot23ATconstexpr_ContextSlot(int32_t p_c);
98 compiler::TNode<Int32T> Convert7ATint3214ATElementsKind(compiler::TNode<Int32T> p_elementsKind);
99 compiler::TNode<Number> Convert20UT5ATSmi10HeapNumber7ATint32(compiler::TNode<Int32T> p_i);
100 compiler::TNode<IntPtrT> Convert8ATintptr7ATint32(compiler::TNode<Int32T> p_i);
101 compiler::TNode<Smi> Convert5ATSmi7ATint32(compiler::TNode<Int32T> p_i);
102 compiler::TNode<Number> Convert20UT5ATSmi10HeapNumber8ATuint32(compiler::TNode<Uint32T> p_ui);
103 compiler::TNode<Smi> Convert5ATSmi8ATuint32(compiler::TNode<Uint32T> p_ui);
104 compiler::TNode<UintPtrT> Convert9ATuintptr8ATuint32(compiler::TNode<Uint32T> p_ui);
105 compiler::TNode<Int32T> Convert7ATint327ATuint8(compiler::TNode<Uint8T> p_i);
106 compiler::TNode<Int32T> Convert7ATint328ATuint16(compiler::TNode<Uint16T> p_i);
107 compiler::TNode<Int32T> Convert7ATint328ATuint31(compiler::TNode<Uint32T> p_i);
108 compiler::TNode<Int32T> Convert7ATint328ATintptr(compiler::TNode<IntPtrT> p_i);
109 compiler::TNode<Smi> Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT> p_i);
110 compiler::TNode<Uint32T> Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT> p_ui);
111 compiler::TNode<IntPtrT> Convert8ATintptr5ATSmi(compiler::TNode<Smi> p_s);
112 compiler::TNode<UintPtrT> Convert9ATuintptr13ATPositiveSmi(compiler::TNode<Smi> p_ps);
113 compiler::TNode<IntPtrT> Convert8ATintptr9ATuintptr(compiler::TNode<UintPtrT> p_ui);
114 compiler::TNode<Smi> Convert13ATPositiveSmi8ATintptr(compiler::TNode<IntPtrT> p_i);
115 compiler::TNode<Int32T> Convert7ATint325ATSmi(compiler::TNode<Smi> p_s);
116 compiler::TNode<Float64T> Convert9ATfloat6410HeapNumber(compiler::TNode<HeapNumber> p_h);
117 compiler::TNode<Float64T> Convert9ATfloat6420UT5ATSmi10HeapNumber(compiler::TNode<Number> p_n);
118 compiler::TNode<UintPtrT> Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number> p_n);
119 compiler::TNode<Float64T> Convert9ATfloat649ATfloat32(compiler::TNode<Float32T> p_f);
120 compiler::TNode<Number> Convert20UT5ATSmi10HeapNumber9ATfloat64(compiler::TNode<Float64T> p_d);
121 compiler::TNode<Float64T> Convert9ATfloat649ATuintptr(compiler::TNode<UintPtrT> p_ui);
122 compiler::TNode<Number> Convert20UT5ATSmi10HeapNumber9ATuintptr(compiler::TNode<UintPtrT> p_ui);
123 compiler::TNode<UintPtrT> Convert9ATuintptr9ATfloat64(compiler::TNode<Float64T> p_d);
124 compiler::TNode<UintPtrT> Convert9ATuintptr8ATintptr(compiler::TNode<IntPtrT> p_i);
125 compiler::TNode<UintPtrT> Convert9ATuintptr8ATRawPtr(compiler::TNode<RawPtrT> p_r);
126 compiler::TNode<IntPtrT> Convert8ATintptr8ATRawPtr(compiler::TNode<RawPtrT> p_r);
127 compiler::TNode<BInt> Convert6ATbint7ATint32(compiler::TNode<Int32T> p_v);
128 compiler::TNode<BInt> Convert6ATbint8ATintptr(compiler::TNode<IntPtrT> p_v);
129 compiler::TNode<BInt> Convert6ATbint5ATSmi(compiler::TNode<Smi> p_v);
130 compiler::TNode<Object> UnsafeCast20UT5ATSmi10HeapObject(compiler::TNode<Object> p_o);
131 compiler::TNode<Map> kFixedArrayMap();
132 compiler::TNode<Map> kCOWMap();
133 compiler::TNode<FixedArray> kEmptyFixedArray();
134 void StoreFastJSArrayLength(compiler::TNode<JSArray> p_array, compiler::TNode<Smi> p_length);
135 void StoreFixedDoubleArrayElementSmi(compiler::TNode<FixedDoubleArray> p_a, compiler::TNode<Smi> p_i, compiler::TNode<Number> p_n);
136 void StoreFixedDoubleArrayDirect(compiler::TNode<FixedDoubleArray> p_a, compiler::TNode<Smi> p_i, compiler::TNode<Number> p_v);
137 void StoreFixedArrayDirect(compiler::TNode<FixedArray> p_a, compiler::TNode<Smi> p_i, compiler::TNode<Object> p_v);
138 compiler::TNode<Int32T> FastHoleyElementsKind(compiler::TNode<Int32T> p_kind);
139 compiler::TNode<Int32T> AllowDoubleElements(compiler::TNode<Int32T> p_kind);
140 compiler::TNode<Int32T> AllowNonNumberElements(compiler::TNode<Int32T> p_kind);
141 compiler::TNode<JSFunction> GetObjectFunction(compiler::TNode<Context> p_context);
142 compiler::TNode<JSReceiver> GetArrayBufferFunction(compiler::TNode<Context> p_context);
143 compiler::TNode<JSFunction> GetArrayBufferNoInitFunction(compiler::TNode<Context> p_context);
144 compiler::TNode<Map> GetFastPackedSmiElementsJSArrayMap(compiler::TNode<Context> p_context);
145 compiler::TNode<Map> GetProxyRevocableResultMap(compiler::TNode<Context> p_context);
146 void TorqueMoveElementsSmi(compiler::TNode<FixedArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
147 void TorqueMoveElements(compiler::TNode<FixedArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
148 void TorqueMoveElements(compiler::TNode<FixedDoubleArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
149 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);
150 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);
151 compiler::TNode<Object> LoadElementNoHole10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole);
152 compiler::TNode<Object> LoadElementNoHole16FixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole);
153 struct FastJSArrayWitness {
154 compiler::TNode<JSArray> stable;
155 compiler::TNode<JSArray> unstable;
156 compiler::TNode<Map> map;
157 compiler::TNode<BoolT> hasDoubles;
158 compiler::TNode<BoolT> hasSmis;
159 compiler::TNode<BoolT> arrayIsPushable;
160
161 std::tuple<compiler::TNode<JSArray>, compiler::TNode<JSArray>, compiler::TNode<Map>, compiler::TNode<BoolT>, compiler::TNode<BoolT>, compiler::TNode<BoolT>> Flatten() const {
162 return std::tuple_cat(std::make_tuple(stable), std::make_tuple(unstable), std::make_tuple(map), std::make_tuple(hasDoubles), std::make_tuple(hasSmis), std::make_tuple(arrayIsPushable));
163 }
164 };
165 BaseBuiltinsFromDSLAssembler::FastJSArrayWitness NewFastJSArrayWitness(compiler::TNode<JSArray> p_array);
166 compiler::TNode<BoolT> NumberIsNaN(compiler::TNode<Number> p_number);
167 compiler::TNode<BoolT> ToBoolean(compiler::TNode<Object> p_obj);
168 compiler::TNode<Number> ToIndex(compiler::TNode<Object> p_input, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_RangeError);
169 compiler::TNode<Number> GetLengthProperty(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
170 struct KeyValuePair {
171 compiler::TNode<Object> key;
172 compiler::TNode<Object> value;
173
174 std::tuple<compiler::TNode<Object>, compiler::TNode<Object>> Flatten() const {
175 return std::tuple_cat(std::make_tuple(key), std::make_tuple(value));
176 }
177 };
178 compiler::TNode<BoolT> IsFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context);
179 void BranchIfFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
180 void BranchIfNotFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
181 void BranchIfFastJSArrayForCopy(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
182 compiler::TNode<BoolT> IsFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
183 compiler::TNode<Smi> FromConstexpr11ATFrameType21ATconstexpr_FrameType(StackFrame::Type p_t);
184 compiler::TNode<Smi> Cast11ATFrameType(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
185 compiler::TNode<Object> LoadObjectFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o);
186 compiler::TNode<RawPtrT> LoadPointerFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o);
187 compiler::TNode<Smi> LoadSmiFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o);
188 compiler::TNode<JSFunction> LoadFunctionFromFrame(compiler::TNode<RawPtrT> p_f);
189 compiler::TNode<RawPtrT> LoadCallerFromFrame(compiler::TNode<RawPtrT> p_f);
190 compiler::TNode<Object> Cast23UT11ATFrameType7Context(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
191 compiler::TNode<Object> LoadContextOrFrameTypeFromFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f);
192 compiler::TNode<Smi> LoadLengthFromAdapterFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f);
193 compiler::TNode<BoolT> FrameTypeEquals(compiler::TNode<Smi> p_f1, compiler::TNode<Smi> p_f2);
194 compiler::TNode<RawPtrT> Cast15ATStandardFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f, compiler::CodeAssemblerLabel* label_CastError);
195 compiler::TNode<RawPtrT> Cast23ATArgumentsAdaptorFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f, compiler::CodeAssemblerLabel* label_CastError);
196 compiler::TNode<JSFunction> LoadTargetFromFrame();
197 struct Arguments {
198 compiler::TNode<RawPtrT> frame;
199 compiler::TNode<RawPtrT> base;
200 compiler::TNode<IntPtrT> length;
201
202 std::tuple<compiler::TNode<RawPtrT>, compiler::TNode<RawPtrT>, compiler::TNode<IntPtrT>> Flatten() const {
203 return std::tuple_cat(std::make_tuple(frame), std::make_tuple(base), std::make_tuple(length));
204 }
205 };
206 compiler::TNode<Map> LoadHeapObjectMap(compiler::TNode<HeapObject> p_o);
207 void StoreHeapObjectMap(compiler::TNode<HeapObject> p_o, compiler::TNode<Map> p_v);
208 compiler::TNode<Smi> LoadContextLength(compiler::TNode<Context> p_o);
209 void StoreContextLength(compiler::TNode<Context> p_o, compiler::TNode<Smi> p_v);
210 compiler::TNode<ScopeInfo> LoadContextScopeInfo(compiler::TNode<Context> p_o);
211 void StoreContextScopeInfo(compiler::TNode<Context> p_o, compiler::TNode<ScopeInfo> p_v);
212 compiler::TNode<Object> LoadContextPrevious(compiler::TNode<Context> p_o);
213 void StoreContextPrevious(compiler::TNode<Context> p_o, compiler::TNode<Object> p_v);
214 compiler::TNode<Object> LoadContextExtension(compiler::TNode<Context> p_o);
215 void StoreContextExtension(compiler::TNode<Context> p_o, compiler::TNode<Object> p_v);
216 compiler::TNode<Object> LoadContextNativeContext(compiler::TNode<Context> p_o);
217 void StoreContextNativeContext(compiler::TNode<Context> p_o, compiler::TNode<Object> p_v);
218 compiler::TNode<Float64T> LoadOddballToNumberRaw(compiler::TNode<Oddball> p_o);
219 void StoreOddballToNumberRaw(compiler::TNode<Oddball> p_o, compiler::TNode<Float64T> p_v);
220 compiler::TNode<String> LoadOddballToString(compiler::TNode<Oddball> p_o);
221 void StoreOddballToString(compiler::TNode<Oddball> p_o, compiler::TNode<String> p_v);
222 compiler::TNode<Number> LoadOddballToNumber(compiler::TNode<Oddball> p_o);
223 void StoreOddballToNumber(compiler::TNode<Oddball> p_o, compiler::TNode<Number> p_v);
224 compiler::TNode<String> LoadOddballTypeOf(compiler::TNode<Oddball> p_o);
225 void StoreOddballTypeOf(compiler::TNode<Oddball> p_o, compiler::TNode<String> p_v);
226 compiler::TNode<Smi> LoadOddballKind(compiler::TNode<Oddball> p_o);
227 void StoreOddballKind(compiler::TNode<Oddball> p_o, compiler::TNode<Smi> p_v);
228 compiler::TNode<Float64T> LoadHeapNumberValue(compiler::TNode<HeapNumber> p_o);
229 void StoreHeapNumberValue(compiler::TNode<HeapNumber> p_o, compiler::TNode<Float64T> p_v);
230 compiler::TNode<Int32T> LoadNameHashField(compiler::TNode<Name> p_o);
231 void StoreNameHashField(compiler::TNode<Name> p_o, compiler::TNode<Int32T> p_v);
232 compiler::TNode<Int32T> LoadSymbolFlags(compiler::TNode<Symbol> p_o);
233 void StoreSymbolFlags(compiler::TNode<Symbol> p_o, compiler::TNode<Int32T> p_v);
234 compiler::TNode<Object> LoadSymbolName(compiler::TNode<Symbol> p_o);
235 void StoreSymbolName(compiler::TNode<Symbol> p_o, compiler::TNode<Object> p_v);
236 compiler::TNode<Uint32T> LoadStringLength(compiler::TNode<String> p_o);
237 void StoreStringLength(compiler::TNode<String> p_o, compiler::TNode<Uint32T> p_v);
238 compiler::TNode<String> LoadConsStringFirst(compiler::TNode<ConsString> p_o);
239 void StoreConsStringFirst(compiler::TNode<ConsString> p_o, compiler::TNode<String> p_v);
240 compiler::TNode<String> LoadConsStringSecond(compiler::TNode<ConsString> p_o);
241 void StoreConsStringSecond(compiler::TNode<ConsString> p_o, compiler::TNode<String> p_v);
242 compiler::TNode<RawPtrT> LoadExternalStringResource(compiler::TNode<ExternalString> p_o);
243 void StoreExternalStringResource(compiler::TNode<ExternalString> p_o, compiler::TNode<RawPtrT> p_v);
244 compiler::TNode<RawPtrT> LoadExternalStringResourceData(compiler::TNode<ExternalString> p_o);
245 void StoreExternalStringResourceData(compiler::TNode<ExternalString> p_o, compiler::TNode<RawPtrT> p_v);
246 compiler::TNode<String> LoadSlicedStringParent(compiler::TNode<SlicedString> p_o);
247 void StoreSlicedStringParent(compiler::TNode<SlicedString> p_o, compiler::TNode<String> p_v);
248 compiler::TNode<Smi> LoadSlicedStringOffset(compiler::TNode<SlicedString> p_o);
249 void StoreSlicedStringOffset(compiler::TNode<SlicedString> p_o, compiler::TNode<Smi> p_v);
250 compiler::TNode<String> LoadThinStringActual(compiler::TNode<ThinString> p_o);
251 void StoreThinStringActual(compiler::TNode<ThinString> p_o, compiler::TNode<String> p_v);
252 compiler::TNode<Object> LoadTuple2Value1(compiler::TNode<Tuple2> p_o);
253 void StoreTuple2Value1(compiler::TNode<Tuple2> p_o, compiler::TNode<Object> p_v);
254 compiler::TNode<Object> LoadTuple2Value2(compiler::TNode<Tuple2> p_o);
255 void StoreTuple2Value2(compiler::TNode<Tuple2> p_o, compiler::TNode<Object> p_v);
256 compiler::TNode<Object> LoadTuple3Value3(compiler::TNode<Tuple3> p_o);
257 void StoreTuple3Value3(compiler::TNode<Tuple3> p_o, compiler::TNode<Object> p_v);
258 compiler::TNode<Smi> LoadFixedArrayBaseLength(compiler::TNode<FixedArrayBase> p_o);
259 void StoreFixedArrayBaseLength(compiler::TNode<FixedArrayBase> p_o, compiler::TNode<Smi> p_v);
260 compiler::TNode<Object> LoadJSReceiverPropertiesOrHash(compiler::TNode<JSReceiver> p_o);
261 void StoreJSReceiverPropertiesOrHash(compiler::TNode<JSReceiver> p_o, compiler::TNode<Object> p_v);
262 compiler::TNode<FixedArrayBase> LoadJSObjectElements(compiler::TNode<JSObject> p_o);
263 void StoreJSObjectElements(compiler::TNode<JSObject> p_o, compiler::TNode<FixedArrayBase> p_v);
264 compiler::TNode<SharedFunctionInfo> LoadJSFunctionSharedFunctionInfo(compiler::TNode<JSFunction> p_o);
265 void StoreJSFunctionSharedFunctionInfo(compiler::TNode<JSFunction> p_o, compiler::TNode<SharedFunctionInfo> p_v);
266 compiler::TNode<Context> LoadJSFunctionContext(compiler::TNode<JSFunction> p_o);
267 void StoreJSFunctionContext(compiler::TNode<JSFunction> p_o, compiler::TNode<Context> p_v);
268 compiler::TNode<Smi> LoadJSFunctionFeedbackCell(compiler::TNode<JSFunction> p_o);
269 void StoreJSFunctionFeedbackCell(compiler::TNode<JSFunction> p_o, compiler::TNode<Smi> p_v);
270 compiler::TNode<Code> LoadJSFunctionCode(compiler::TNode<JSFunction> p_o);
271 void StoreJSFunctionCode(compiler::TNode<JSFunction> p_o, compiler::TNode<Code> p_v);
272 compiler::TNode<HeapObject> LoadJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction> p_o);
273 void StoreJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction> p_o, compiler::TNode<HeapObject> p_v);
274 compiler::TNode<Object> LoadJSProxyTarget(compiler::TNode<JSProxy> p_o);
275 void StoreJSProxyTarget(compiler::TNode<JSProxy> p_o, compiler::TNode<Object> p_v);
276 compiler::TNode<Object> LoadJSProxyHandler(compiler::TNode<JSProxy> p_o);
277 void StoreJSProxyHandler(compiler::TNode<JSProxy> p_o, compiler::TNode<Object> p_v);
278 compiler::TNode<Object> LoadJSProxyRevocableResultProxy(compiler::TNode<JSProxyRevocableResult> p_o);
279 void StoreJSProxyRevocableResultProxy(compiler::TNode<JSProxyRevocableResult> p_o, compiler::TNode<Object> p_v);
280 compiler::TNode<Object> LoadJSProxyRevocableResultRevoke(compiler::TNode<JSProxyRevocableResult> p_o);
281 void StoreJSProxyRevocableResultRevoke(compiler::TNode<JSProxyRevocableResult> p_o, compiler::TNode<Object> p_v);
282 compiler::TNode<Object> LoadJSGlobalProxyNativeContext(compiler::TNode<JSGlobalProxy> p_o);
283 void StoreJSGlobalProxyNativeContext(compiler::TNode<JSGlobalProxy> p_o, compiler::TNode<Object> p_v);
284 compiler::TNode<Object> LoadJSValueValue(compiler::TNode<JSValue> p_o);
285 void StoreJSValueValue(compiler::TNode<JSValue> p_o, compiler::TNode<Object> p_v);
286 compiler::TNode<Object> LoadJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength> p_o);
287 void StoreJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength> p_o, compiler::TNode<Object> p_v);
288 compiler::TNode<Object> LoadJSSloppyArgumentsObjectCallee(compiler::TNode<JSSloppyArgumentsObject> p_o);
289 void StoreJSSloppyArgumentsObjectCallee(compiler::TNode<JSSloppyArgumentsObject> p_o, compiler::TNode<Object> p_v);
290 compiler::TNode<JSReceiver> LoadJSArrayIteratorIteratedObject(compiler::TNode<JSArrayIterator> p_o);
291 void StoreJSArrayIteratorIteratedObject(compiler::TNode<JSArrayIterator> p_o, compiler::TNode<JSReceiver> p_v);
292 compiler::TNode<Number> LoadJSArrayIteratorNextIndex(compiler::TNode<JSArrayIterator> p_o);
293 void StoreJSArrayIteratorNextIndex(compiler::TNode<JSArrayIterator> p_o, compiler::TNode<Number> p_v);
294 compiler::TNode<Smi> LoadJSArrayIteratorKind(compiler::TNode<JSArrayIterator> p_o);
295 void StoreJSArrayIteratorKind(compiler::TNode<JSArrayIterator> p_o, compiler::TNode<Smi> p_v);
296 compiler::TNode<Number> LoadJSArrayLength(compiler::TNode<JSArray> p_o);
297 void StoreJSArrayLength(compiler::TNode<JSArray> p_o, compiler::TNode<Number> p_v);
298 compiler::TNode<BoolT> _method_JSArray_IsEmpty(compiler::TNode<JSArray> p_this);
299 compiler::TNode<Object> LoadJSWeakCollectionTable(compiler::TNode<JSWeakCollection> p_o);
300 void StoreJSWeakCollectionTable(compiler::TNode<JSWeakCollection> p_o, compiler::TNode<Object> p_v);
301 compiler::TNode<Object> LoadJSCollectionIteratorTable(compiler::TNode<JSCollectionIterator> p_o);
302 void StoreJSCollectionIteratorTable(compiler::TNode<JSCollectionIterator> p_o, compiler::TNode<Object> p_v);
303 compiler::TNode<Object> LoadJSCollectionIteratorIndex(compiler::TNode<JSCollectionIterator> p_o);
304 void StoreJSCollectionIteratorIndex(compiler::TNode<JSCollectionIterator> p_o, compiler::TNode<Object> p_v);
305 compiler::TNode<Smi> LoadJSMessageObjectMessageType(compiler::TNode<JSMessageObject> p_o);
306 void StoreJSMessageObjectMessageType(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Smi> p_v);
307 compiler::TNode<Object> LoadJSMessageObjectArguments(compiler::TNode<JSMessageObject> p_o);
308 void StoreJSMessageObjectArguments(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Object> p_v);
309 compiler::TNode<Script> LoadJSMessageObjectScript(compiler::TNode<JSMessageObject> p_o);
310 void StoreJSMessageObjectScript(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Script> p_v);
311 compiler::TNode<Object> LoadJSMessageObjectStackFrames(compiler::TNode<JSMessageObject> p_o);
312 void StoreJSMessageObjectStackFrames(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Object> p_v);
313 compiler::TNode<Smi> LoadJSMessageObjectStartPosition(compiler::TNode<JSMessageObject> p_o);
314 void StoreJSMessageObjectStartPosition(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Smi> p_v);
315 compiler::TNode<Smi> LoadJSMessageObjectEndPosition(compiler::TNode<JSMessageObject> p_o);
316 void StoreJSMessageObjectEndPosition(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Smi> p_v);
317 compiler::TNode<Smi> LoadJSMessageObjectErrorLevel(compiler::TNode<JSMessageObject> p_o);
318 void StoreJSMessageObjectErrorLevel(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Smi> p_v);
319 compiler::TNode<HeapObject> LoadPrototypeInfoJsModuleNamespace(compiler::TNode<PrototypeInfo> p_o);
320 void StorePrototypeInfoJsModuleNamespace(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<HeapObject> p_v);
321 compiler::TNode<Object> LoadPrototypeInfoPrototypeUsers(compiler::TNode<PrototypeInfo> p_o);
322 void StorePrototypeInfoPrototypeUsers(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<Object> p_v);
323 compiler::TNode<Smi> LoadPrototypeInfoRegistrySlot(compiler::TNode<PrototypeInfo> p_o);
324 void StorePrototypeInfoRegistrySlot(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<Smi> p_v);
325 compiler::TNode<Object> LoadPrototypeInfoValidityCell(compiler::TNode<PrototypeInfo> p_o);
326 void StorePrototypeInfoValidityCell(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<Object> p_v);
327 compiler::TNode<Object> LoadPrototypeInfoObjectCreateMap(compiler::TNode<PrototypeInfo> p_o);
328 void StorePrototypeInfoObjectCreateMap(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<Object> p_v);
329 compiler::TNode<Smi> LoadPrototypeInfoBitField(compiler::TNode<PrototypeInfo> p_o);
330 void StorePrototypeInfoBitField(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<Smi> p_v);
331 compiler::TNode<Object> LoadScriptSource(compiler::TNode<Script> p_o);
332 void StoreScriptSource(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
333 compiler::TNode<Object> LoadScriptName(compiler::TNode<Script> p_o);
334 void StoreScriptName(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
335 compiler::TNode<Smi> LoadScriptLineOffset(compiler::TNode<Script> p_o);
336 void StoreScriptLineOffset(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
337 compiler::TNode<Smi> LoadScriptColumnOffset(compiler::TNode<Script> p_o);
338 void StoreScriptColumnOffset(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
339 compiler::TNode<Object> LoadScriptContext(compiler::TNode<Script> p_o);
340 void StoreScriptContext(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
341 compiler::TNode<Smi> LoadScriptScriptType(compiler::TNode<Script> p_o);
342 void StoreScriptScriptType(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
343 compiler::TNode<Object> LoadScriptLineEnds(compiler::TNode<Script> p_o);
344 void StoreScriptLineEnds(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
345 compiler::TNode<Smi> LoadScriptId(compiler::TNode<Script> p_o);
346 void StoreScriptId(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
347 compiler::TNode<Object> LoadScriptEvalFromSharedOrWrappedArguments(compiler::TNode<Script> p_o);
348 void StoreScriptEvalFromSharedOrWrappedArguments(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
349 compiler::TNode<Smi> LoadScriptEvalFromPosition(compiler::TNode<Script> p_o);
350 void StoreScriptEvalFromPosition(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
351 compiler::TNode<Object> LoadScriptSharedFunctionInfos(compiler::TNode<Script> p_o);
352 void StoreScriptSharedFunctionInfos(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
353 compiler::TNode<Smi> LoadScriptFlags(compiler::TNode<Script> p_o);
354 void StoreScriptFlags(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
355 compiler::TNode<Object> LoadScriptSourceUrl(compiler::TNode<Script> p_o);
356 void StoreScriptSourceUrl(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
357 compiler::TNode<Object> LoadScriptSourceMappingUrl(compiler::TNode<Script> p_o);
358 void StoreScriptSourceMappingUrl(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
359 compiler::TNode<Object> LoadScriptHostDefinedOptions(compiler::TNode<Script> p_o);
360 void StoreScriptHostDefinedOptions(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
361 compiler::TNode<Smi> LoadEmbedderDataArrayLength(compiler::TNode<EmbedderDataArray> p_o);
362 void StoreEmbedderDataArrayLength(compiler::TNode<EmbedderDataArray> p_o, compiler::TNode<Smi> p_v);
363 compiler::TNode<Int32T> LoadPreparseDataDataLength(compiler::TNode<PreparseData> p_o);
364 void StorePreparseDataDataLength(compiler::TNode<PreparseData> p_o, compiler::TNode<Int32T> p_v);
365 compiler::TNode<Int32T> LoadPreparseDataInnerLength(compiler::TNode<PreparseData> p_o);
366 void StorePreparseDataInnerLength(compiler::TNode<PreparseData> p_o, compiler::TNode<Int32T> p_v);
367 compiler::TNode<Object> LoadSharedFunctionInfoFunctionData(compiler::TNode<SharedFunctionInfo> p_o);
368 void StoreSharedFunctionInfoFunctionData(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Object> p_v);
369 compiler::TNode<Object> LoadSharedFunctionInfoNameOrScopeInfo(compiler::TNode<SharedFunctionInfo> p_o);
370 void StoreSharedFunctionInfoNameOrScopeInfo(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Object> p_v);
371 compiler::TNode<HeapObject> LoadSharedFunctionInfoOuterScopeInfoOrFeedbackMetadata(compiler::TNode<SharedFunctionInfo> p_o);
372 void StoreSharedFunctionInfoOuterScopeInfoOrFeedbackMetadata(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<HeapObject> p_v);
373 compiler::TNode<HeapObject> LoadSharedFunctionInfoScriptOrDebugInfo(compiler::TNode<SharedFunctionInfo> p_o);
374 void StoreSharedFunctionInfoScriptOrDebugInfo(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<HeapObject> p_v);
375 compiler::TNode<Int16T> LoadSharedFunctionInfoLength(compiler::TNode<SharedFunctionInfo> p_o);
376 void StoreSharedFunctionInfoLength(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Int16T> p_v);
377 compiler::TNode<Uint16T> LoadSharedFunctionInfoFormalParameterCount(compiler::TNode<SharedFunctionInfo> p_o);
378 void StoreSharedFunctionInfoFormalParameterCount(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Uint16T> p_v);
379 compiler::TNode<Uint16T> LoadSharedFunctionInfoExpectedNofProperties(compiler::TNode<SharedFunctionInfo> p_o);
380 void StoreSharedFunctionInfoExpectedNofProperties(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Uint16T> p_v);
381 compiler::TNode<Int16T> LoadSharedFunctionInfoFunctionTokenOffset(compiler::TNode<SharedFunctionInfo> p_o);
382 void StoreSharedFunctionInfoFunctionTokenOffset(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Int16T> p_v);
383 compiler::TNode<Int32T> LoadSharedFunctionInfoFlags(compiler::TNode<SharedFunctionInfo> p_o);
384 void StoreSharedFunctionInfoFlags(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Int32T> p_v);
385 compiler::TNode<Int32T> LoadSharedFunctionInfoWithIDUniqueId(compiler::TNode<SharedFunctionInfoWithID> p_o);
386 void StoreSharedFunctionInfoWithIDUniqueId(compiler::TNode<SharedFunctionInfoWithID> p_o, compiler::TNode<Int32T> p_v);
387 compiler::TNode<JSReceiver> LoadJSBoundFunctionBoundTargetFunction(compiler::TNode<JSBoundFunction> p_o);
388 void StoreJSBoundFunctionBoundTargetFunction(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<JSReceiver> p_v);
389 compiler::TNode<Object> LoadJSBoundFunctionBoundThis(compiler::TNode<JSBoundFunction> p_o);
390 void StoreJSBoundFunctionBoundThis(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<Object> p_v);
391 compiler::TNode<FixedArray> LoadJSBoundFunctionBoundArguments(compiler::TNode<JSBoundFunction> p_o);
392 void StoreJSBoundFunctionBoundArguments(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<FixedArray> p_v);
393 compiler::TNode<Smi> LoadFixedTypedArrayBaseBasePointer(compiler::TNode<FixedTypedArrayBase> p_o);
394 void StoreFixedTypedArrayBaseBasePointer(compiler::TNode<FixedTypedArrayBase> p_o, compiler::TNode<Smi> p_v);
395 compiler::TNode<RawPtrT> LoadFixedTypedArrayBaseExternalPointer(compiler::TNode<FixedTypedArrayBase> p_o);
396 void StoreFixedTypedArrayBaseExternalPointer(compiler::TNode<FixedTypedArrayBase> p_o, compiler::TNode<RawPtrT> p_v);
397 compiler::TNode<Smi> LoadFreeSpaceSize(compiler::TNode<FreeSpace> p_o);
398 void StoreFreeSpaceSize(compiler::TNode<FreeSpace> p_o, compiler::TNode<Smi> p_v);
399 compiler::TNode<FreeSpace> LoadFreeSpaceNext(compiler::TNode<FreeSpace> p_o);
400 void StoreFreeSpaceNext(compiler::TNode<FreeSpace> p_o, compiler::TNode<FreeSpace> p_v);
401 compiler::TNode<UintPtrT> LoadJSArrayBufferByteLength(compiler::TNode<JSArrayBuffer> p_o);
402 void StoreJSArrayBufferByteLength(compiler::TNode<JSArrayBuffer> p_o, compiler::TNode<UintPtrT> p_v);
403 compiler::TNode<RawPtrT> LoadJSArrayBufferBackingStore(compiler::TNode<JSArrayBuffer> p_o);
404 void StoreJSArrayBufferBackingStore(compiler::TNode<JSArrayBuffer> p_o, compiler::TNode<RawPtrT> p_v);
405 compiler::TNode<JSArrayBuffer> LoadJSArrayBufferViewBuffer(compiler::TNode<JSArrayBufferView> p_o);
406 void StoreJSArrayBufferViewBuffer(compiler::TNode<JSArrayBufferView> p_o, compiler::TNode<JSArrayBuffer> p_v);
407 compiler::TNode<UintPtrT> LoadJSArrayBufferViewByteOffset(compiler::TNode<JSArrayBufferView> p_o);
408 void StoreJSArrayBufferViewByteOffset(compiler::TNode<JSArrayBufferView> p_o, compiler::TNode<UintPtrT> p_v);
409 compiler::TNode<UintPtrT> LoadJSArrayBufferViewByteLength(compiler::TNode<JSArrayBufferView> p_o);
410 void StoreJSArrayBufferViewByteLength(compiler::TNode<JSArrayBufferView> p_o, compiler::TNode<UintPtrT> p_v);
411 compiler::TNode<Smi> LoadJSTypedArrayLength(compiler::TNode<JSTypedArray> p_o);
412 void StoreJSTypedArrayLength(compiler::TNode<JSTypedArray> p_o, compiler::TNode<Smi> p_v);
413 void _method_JSTypedArray_AttachOffHeapBuffer(compiler::TNode<JSTypedArray> p_this, compiler::TNode<JSArrayBuffer> p_buffer, compiler::TNode<Map> p_map, compiler::TNode<UintPtrT> p_byteOffset);
414 compiler::TNode<Object> LoadJSAccessorPropertyDescriptorGet(compiler::TNode<JSAccessorPropertyDescriptor> p_o);
415 void StoreJSAccessorPropertyDescriptorGet(compiler::TNode<JSAccessorPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
416 compiler::TNode<Object> LoadJSAccessorPropertyDescriptorSet(compiler::TNode<JSAccessorPropertyDescriptor> p_o);
417 void StoreJSAccessorPropertyDescriptorSet(compiler::TNode<JSAccessorPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
418 compiler::TNode<Object> LoadJSAccessorPropertyDescriptorEnumerable(compiler::TNode<JSAccessorPropertyDescriptor> p_o);
419 void StoreJSAccessorPropertyDescriptorEnumerable(compiler::TNode<JSAccessorPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
420 compiler::TNode<Object> LoadJSAccessorPropertyDescriptorConfigurable(compiler::TNode<JSAccessorPropertyDescriptor> p_o);
421 void StoreJSAccessorPropertyDescriptorConfigurable(compiler::TNode<JSAccessorPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
422 compiler::TNode<Object> LoadJSCollectionTable(compiler::TNode<JSCollection> p_o);
423 void StoreJSCollectionTable(compiler::TNode<JSCollection> p_o, compiler::TNode<Object> p_v);
424 compiler::TNode<Object> LoadJSDateValue(compiler::TNode<JSDate> p_o);
425 void StoreJSDateValue(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
426 compiler::TNode<Object> LoadJSDateYear(compiler::TNode<JSDate> p_o);
427 void StoreJSDateYear(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
428 compiler::TNode<Object> LoadJSDateMonth(compiler::TNode<JSDate> p_o);
429 void StoreJSDateMonth(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
430 compiler::TNode<Object> LoadJSDateDay(compiler::TNode<JSDate> p_o);
431 void StoreJSDateDay(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
432 compiler::TNode<Object> LoadJSDateWeekday(compiler::TNode<JSDate> p_o);
433 void StoreJSDateWeekday(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
434 compiler::TNode<Object> LoadJSDateHour(compiler::TNode<JSDate> p_o);
435 void StoreJSDateHour(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
436 compiler::TNode<Object> LoadJSDateMin(compiler::TNode<JSDate> p_o);
437 void StoreJSDateMin(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
438 compiler::TNode<Object> LoadJSDateSec(compiler::TNode<JSDate> p_o);
439 void StoreJSDateSec(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
440 compiler::TNode<Object> LoadJSDateCacheStamp(compiler::TNode<JSDate> p_o);
441 void StoreJSDateCacheStamp(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
442 compiler::TNode<JSReceiver> LoadJSAsyncFromSyncIteratorSyncIterator(compiler::TNode<JSAsyncFromSyncIterator> p_o);
443 void StoreJSAsyncFromSyncIteratorSyncIterator(compiler::TNode<JSAsyncFromSyncIterator> p_o, compiler::TNode<JSReceiver> p_v);
444 compiler::TNode<Object> LoadJSAsyncFromSyncIteratorNext(compiler::TNode<JSAsyncFromSyncIterator> p_o);
445 void StoreJSAsyncFromSyncIteratorNext(compiler::TNode<JSAsyncFromSyncIterator> p_o, compiler::TNode<Object> p_v);
446 compiler::TNode<String> LoadJSStringIteratorString(compiler::TNode<JSStringIterator> p_o);
447 void StoreJSStringIteratorString(compiler::TNode<JSStringIterator> p_o, compiler::TNode<String> p_v);
448 compiler::TNode<Smi> LoadJSStringIteratorNextIndex(compiler::TNode<JSStringIterator> p_o);
449 void StoreJSStringIteratorNextIndex(compiler::TNode<JSStringIterator> p_o, compiler::TNode<Smi> p_v);
450 compiler::TNode<Object> LoadJSDataPropertyDescriptorValue(compiler::TNode<JSDataPropertyDescriptor> p_o);
451 void StoreJSDataPropertyDescriptorValue(compiler::TNode<JSDataPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
452 compiler::TNode<Object> LoadJSDataPropertyDescriptorWritable(compiler::TNode<JSDataPropertyDescriptor> p_o);
453 void StoreJSDataPropertyDescriptorWritable(compiler::TNode<JSDataPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
454 compiler::TNode<Object> LoadJSDataPropertyDescriptorEnumerable(compiler::TNode<JSDataPropertyDescriptor> p_o);
455 void StoreJSDataPropertyDescriptorEnumerable(compiler::TNode<JSDataPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
456 compiler::TNode<Object> LoadJSDataPropertyDescriptorConfigurable(compiler::TNode<JSDataPropertyDescriptor> p_o);
457 void StoreJSDataPropertyDescriptorConfigurable(compiler::TNode<JSDataPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
458 compiler::TNode<Object> LoadTemplateInfoTag(compiler::TNode<TemplateInfo> p_o);
459 void StoreTemplateInfoTag(compiler::TNode<TemplateInfo> p_o, compiler::TNode<Object> p_v);
460 compiler::TNode<Object> LoadTemplateInfoSerialNumber(compiler::TNode<TemplateInfo> p_o);
461 void StoreTemplateInfoSerialNumber(compiler::TNode<TemplateInfo> p_o, compiler::TNode<Object> p_v);
462 compiler::TNode<Smi> LoadTemplateInfoNumberOfProperties(compiler::TNode<TemplateInfo> p_o);
463 void StoreTemplateInfoNumberOfProperties(compiler::TNode<TemplateInfo> p_o, compiler::TNode<Smi> p_v);
464 compiler::TNode<Object> LoadTemplateInfoPropertyList(compiler::TNode<TemplateInfo> p_o);
465 void StoreTemplateInfoPropertyList(compiler::TNode<TemplateInfo> p_o, compiler::TNode<Object> p_v);
466 compiler::TNode<Object> LoadTemplateInfoPropertyAccessors(compiler::TNode<TemplateInfo> p_o);
467 void StoreTemplateInfoPropertyAccessors(compiler::TNode<TemplateInfo> p_o, compiler::TNode<Object> p_v);
468 compiler::TNode<Object> LoadFunctionTemplateRareDataPrototypeTemplate(compiler::TNode<FunctionTemplateRareData> p_o);
469 void StoreFunctionTemplateRareDataPrototypeTemplate(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
470 compiler::TNode<Object> LoadFunctionTemplateRareDataPrototypeProviderTemplate(compiler::TNode<FunctionTemplateRareData> p_o);
471 void StoreFunctionTemplateRareDataPrototypeProviderTemplate(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
472 compiler::TNode<Object> LoadFunctionTemplateRareDataParentTemplate(compiler::TNode<FunctionTemplateRareData> p_o);
473 void StoreFunctionTemplateRareDataParentTemplate(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
474 compiler::TNode<Object> LoadFunctionTemplateRareDataNamedPropertyHandler(compiler::TNode<FunctionTemplateRareData> p_o);
475 void StoreFunctionTemplateRareDataNamedPropertyHandler(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
476 compiler::TNode<Object> LoadFunctionTemplateRareDataIndexedPropertyHandler(compiler::TNode<FunctionTemplateRareData> p_o);
477 void StoreFunctionTemplateRareDataIndexedPropertyHandler(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
478 compiler::TNode<Object> LoadFunctionTemplateRareDataInstanceTemplate(compiler::TNode<FunctionTemplateRareData> p_o);
479 void StoreFunctionTemplateRareDataInstanceTemplate(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
480 compiler::TNode<Object> LoadFunctionTemplateRareDataInstanceCallHandler(compiler::TNode<FunctionTemplateRareData> p_o);
481 void StoreFunctionTemplateRareDataInstanceCallHandler(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
482 compiler::TNode<Object> LoadFunctionTemplateRareDataAccessCheckInfo(compiler::TNode<FunctionTemplateRareData> p_o);
483 void StoreFunctionTemplateRareDataAccessCheckInfo(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
484 compiler::TNode<Object> LoadFunctionTemplateInfoCallCode(compiler::TNode<FunctionTemplateInfo> p_o);
485 void StoreFunctionTemplateInfoCallCode(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
486 compiler::TNode<Object> LoadFunctionTemplateInfoClassName(compiler::TNode<FunctionTemplateInfo> p_o);
487 void StoreFunctionTemplateInfoClassName(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
488 compiler::TNode<Object> LoadFunctionTemplateInfoSignature(compiler::TNode<FunctionTemplateInfo> p_o);
489 void StoreFunctionTemplateInfoSignature(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
490 compiler::TNode<Object> LoadFunctionTemplateInfoFunctionTemplateRareData(compiler::TNode<FunctionTemplateInfo> p_o);
491 void StoreFunctionTemplateInfoFunctionTemplateRareData(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
492 compiler::TNode<Object> LoadFunctionTemplateInfoSharedFunctionInfo(compiler::TNode<FunctionTemplateInfo> p_o);
493 void StoreFunctionTemplateInfoSharedFunctionInfo(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
494 compiler::TNode<Smi> LoadFunctionTemplateInfoFlag(compiler::TNode<FunctionTemplateInfo> p_o);
495 void StoreFunctionTemplateInfoFlag(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Smi> p_v);
496 compiler::TNode<Smi> LoadFunctionTemplateInfoLength(compiler::TNode<FunctionTemplateInfo> p_o);
497 void StoreFunctionTemplateInfoLength(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Smi> p_v);
498 compiler::TNode<Object> LoadFunctionTemplateInfoCachedPropertyName(compiler::TNode<FunctionTemplateInfo> p_o);
499 void StoreFunctionTemplateInfoCachedPropertyName(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
500 compiler::TNode<Object> LoadObjectTemplateInfoConstructor(compiler::TNode<ObjectTemplateInfo> p_o);
501 void StoreObjectTemplateInfoConstructor(compiler::TNode<ObjectTemplateInfo> p_o, compiler::TNode<Object> p_v);
502 compiler::TNode<Object> LoadObjectTemplateInfoData(compiler::TNode<ObjectTemplateInfo> p_o);
503 void StoreObjectTemplateInfoData(compiler::TNode<ObjectTemplateInfo> p_o, compiler::TNode<Object> p_v);
504 compiler::TNode<Smi> LoadPropertyArrayLengthAndHash(compiler::TNode<PropertyArray> p_o);
505 void StorePropertyArrayLengthAndHash(compiler::TNode<PropertyArray> p_o, compiler::TNode<Smi> p_v);
506 compiler::TNode<RawPtrT> LoadForeignForeignAddress(compiler::TNode<Foreign> p_o);
507 void StoreForeignForeignAddress(compiler::TNode<Foreign> p_o, compiler::TNode<RawPtrT> p_v);
508 compiler::TNode<Object> LoadInterceptorInfoGetter(compiler::TNode<InterceptorInfo> p_o);
509 void StoreInterceptorInfoGetter(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
510 compiler::TNode<Object> LoadInterceptorInfoSetter(compiler::TNode<InterceptorInfo> p_o);
511 void StoreInterceptorInfoSetter(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
512 compiler::TNode<Object> LoadInterceptorInfoQuery(compiler::TNode<InterceptorInfo> p_o);
513 void StoreInterceptorInfoQuery(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
514 compiler::TNode<Object> LoadInterceptorInfoDescriptor(compiler::TNode<InterceptorInfo> p_o);
515 void StoreInterceptorInfoDescriptor(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
516 compiler::TNode<Object> LoadInterceptorInfoDeleter(compiler::TNode<InterceptorInfo> p_o);
517 void StoreInterceptorInfoDeleter(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
518 compiler::TNode<Object> LoadInterceptorInfoEnumerator(compiler::TNode<InterceptorInfo> p_o);
519 void StoreInterceptorInfoEnumerator(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
520 compiler::TNode<Object> LoadInterceptorInfoDefiner(compiler::TNode<InterceptorInfo> p_o);
521 void StoreInterceptorInfoDefiner(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
522 compiler::TNode<Object> LoadInterceptorInfoData(compiler::TNode<InterceptorInfo> p_o);
523 void StoreInterceptorInfoData(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
524 compiler::TNode<Smi> LoadInterceptorInfoFlags(compiler::TNode<InterceptorInfo> p_o);
525 void StoreInterceptorInfoFlags(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Smi> p_v);
526 compiler::TNode<Object> LoadAccessCheckInfoCallback(compiler::TNode<AccessCheckInfo> p_o);
527 void StoreAccessCheckInfoCallback(compiler::TNode<AccessCheckInfo> p_o, compiler::TNode<Object> p_v);
528 compiler::TNode<Object> LoadAccessCheckInfoNamedInterceptor(compiler::TNode<AccessCheckInfo> p_o);
529 void StoreAccessCheckInfoNamedInterceptor(compiler::TNode<AccessCheckInfo> p_o, compiler::TNode<Object> p_v);
530 compiler::TNode<Object> LoadAccessCheckInfoIndexedInterceptor(compiler::TNode<AccessCheckInfo> p_o);
531 void StoreAccessCheckInfoIndexedInterceptor(compiler::TNode<AccessCheckInfo> p_o, compiler::TNode<Object> p_v);
532 compiler::TNode<Object> LoadAccessCheckInfoData(compiler::TNode<AccessCheckInfo> p_o);
533 void StoreAccessCheckInfoData(compiler::TNode<AccessCheckInfo> p_o, compiler::TNode<Object> p_v);
534 compiler::TNode<Smi> LoadArrayBoilerplateDescriptionFlags(compiler::TNode<ArrayBoilerplateDescription> p_o);
535 void StoreArrayBoilerplateDescriptionFlags(compiler::TNode<ArrayBoilerplateDescription> p_o, compiler::TNode<Smi> p_v);
536 compiler::TNode<FixedArrayBase> LoadArrayBoilerplateDescriptionConstantElements(compiler::TNode<ArrayBoilerplateDescription> p_o);
537 void StoreArrayBoilerplateDescriptionConstantElements(compiler::TNode<ArrayBoilerplateDescription> p_o, compiler::TNode<FixedArrayBase> p_v);
538 compiler::TNode<Smi> LoadAliasedArgumentsEntryAliasedContextSlot(compiler::TNode<AliasedArgumentsEntry> p_o);
539 void StoreAliasedArgumentsEntryAliasedContextSlot(compiler::TNode<AliasedArgumentsEntry> p_o, compiler::TNode<Smi> p_v);
540 compiler::TNode<Object> LoadCellValue(compiler::TNode<Cell> p_o);
541 void StoreCellValue(compiler::TNode<Cell> p_o, compiler::TNode<Object> p_v);
542 compiler::TNode<Object> LoadDataHandlerSmiHandler(compiler::TNode<DataHandler> p_o);
543 void StoreDataHandlerSmiHandler(compiler::TNode<DataHandler> p_o, compiler::TNode<Object> p_v);
544 compiler::TNode<Object> LoadDataHandlerValidityCell(compiler::TNode<DataHandler> p_o);
545 void StoreDataHandlerValidityCell(compiler::TNode<DataHandler> p_o, compiler::TNode<Object> p_v);
546 compiler::TNode<Object> LoadDataHandlerData1(compiler::TNode<DataHandler> p_o);
547 void StoreDataHandlerData1(compiler::TNode<DataHandler> p_o, compiler::TNode<Object> p_v);
548 compiler::TNode<Object> LoadDataHandlerData2(compiler::TNode<DataHandler> p_o);
549 void StoreDataHandlerData2(compiler::TNode<DataHandler> p_o, compiler::TNode<Object> p_v);
550 compiler::TNode<Object> LoadDataHandlerData3(compiler::TNode<DataHandler> p_o);
551 void StoreDataHandlerData3(compiler::TNode<DataHandler> p_o, compiler::TNode<Object> p_v);
552 compiler::TNode<JSFunction> LoadJSGeneratorObjectFunction(compiler::TNode<JSGeneratorObject> p_o);
553 void StoreJSGeneratorObjectFunction(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<JSFunction> p_v);
554 compiler::TNode<Context> LoadJSGeneratorObjectContext(compiler::TNode<JSGeneratorObject> p_o);
555 void StoreJSGeneratorObjectContext(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<Context> p_v);
556 compiler::TNode<Object> LoadJSGeneratorObjectReceiver(compiler::TNode<JSGeneratorObject> p_o);
557 void StoreJSGeneratorObjectReceiver(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<Object> p_v);
558 compiler::TNode<Object> LoadJSGeneratorObjectInputOrDebugPos(compiler::TNode<JSGeneratorObject> p_o);
559 void StoreJSGeneratorObjectInputOrDebugPos(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<Object> p_v);
560 compiler::TNode<Smi> LoadJSGeneratorObjectResumeMode(compiler::TNode<JSGeneratorObject> p_o);
561 void StoreJSGeneratorObjectResumeMode(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<Smi> p_v);
562 compiler::TNode<Smi> LoadJSGeneratorObjectContinuation(compiler::TNode<JSGeneratorObject> p_o);
563 void StoreJSGeneratorObjectContinuation(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<Smi> p_v);
564 compiler::TNode<FixedArray> LoadJSGeneratorObjectParametersAndRegisters(compiler::TNode<JSGeneratorObject> p_o);
565 void StoreJSGeneratorObjectParametersAndRegisters(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<FixedArray> p_v);
566 compiler::TNode<JSPromise> LoadJSAsyncFunctionObjectPromise(compiler::TNode<JSAsyncFunctionObject> p_o);
567 void StoreJSAsyncFunctionObjectPromise(compiler::TNode<JSAsyncFunctionObject> p_o, compiler::TNode<JSPromise> p_v);
568 compiler::TNode<HeapObject> LoadJSAsyncGeneratorObjectQueue(compiler::TNode<JSAsyncGeneratorObject> p_o);
569 void StoreJSAsyncGeneratorObjectQueue(compiler::TNode<JSAsyncGeneratorObject> p_o, compiler::TNode<HeapObject> p_v);
570 compiler::TNode<Smi> LoadJSAsyncGeneratorObjectIsAwaiting(compiler::TNode<JSAsyncGeneratorObject> p_o);
571 void StoreJSAsyncGeneratorObjectIsAwaiting(compiler::TNode<JSAsyncGeneratorObject> p_o, compiler::TNode<Smi> p_v);
572 compiler::TNode<Object> LoadJSPromiseReactionsOrResult(compiler::TNode<JSPromise> p_o);
573 void StoreJSPromiseReactionsOrResult(compiler::TNode<JSPromise> p_o, compiler::TNode<Object> p_v);
574 compiler::TNode<Smi> LoadJSPromiseFlags(compiler::TNode<JSPromise> p_o);
575 void StoreJSPromiseFlags(compiler::TNode<JSPromise> p_o, compiler::TNode<Smi> p_v);
576 compiler::TNode<Foreign> LoadCallbackTaskCallback(compiler::TNode<CallbackTask> p_o);
577 void StoreCallbackTaskCallback(compiler::TNode<CallbackTask> p_o, compiler::TNode<Foreign> p_v);
578 compiler::TNode<Foreign> LoadCallbackTaskData(compiler::TNode<CallbackTask> p_o);
579 void StoreCallbackTaskData(compiler::TNode<CallbackTask> p_o, compiler::TNode<Foreign> p_v);
580 compiler::TNode<JSReceiver> LoadCallableTaskCallable(compiler::TNode<CallableTask> p_o);
581 void StoreCallableTaskCallable(compiler::TNode<CallableTask> p_o, compiler::TNode<JSReceiver> p_v);
582 compiler::TNode<Context> LoadCallableTaskContext(compiler::TNode<CallableTask> p_o);
583 void StoreCallableTaskContext(compiler::TNode<CallableTask> p_o, compiler::TNode<Context> p_v);
584 compiler::TNode<Smi> LoadStackFrameInfoLineNumber(compiler::TNode<StackFrameInfo> p_o);
585 void StoreStackFrameInfoLineNumber(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Smi> p_v);
586 compiler::TNode<Smi> LoadStackFrameInfoColumnNumber(compiler::TNode<StackFrameInfo> p_o);
587 void StoreStackFrameInfoColumnNumber(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Smi> p_v);
588 compiler::TNode<Smi> LoadStackFrameInfoScriptId(compiler::TNode<StackFrameInfo> p_o);
589 void StoreStackFrameInfoScriptId(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Smi> p_v);
590 compiler::TNode<Object> LoadStackFrameInfoScriptName(compiler::TNode<StackFrameInfo> p_o);
591 void StoreStackFrameInfoScriptName(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Object> p_v);
592 compiler::TNode<Object> LoadStackFrameInfoScriptNameOrSourceUrl(compiler::TNode<StackFrameInfo> p_o);
593 void StoreStackFrameInfoScriptNameOrSourceUrl(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Object> p_v);
594 compiler::TNode<Object> LoadStackFrameInfoFunctionName(compiler::TNode<StackFrameInfo> p_o);
595 void StoreStackFrameInfoFunctionName(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Object> p_v);
596 compiler::TNode<Smi> LoadStackFrameInfoFlag(compiler::TNode<StackFrameInfo> p_o);
597 void StoreStackFrameInfoFlag(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Smi> p_v);
598 compiler::TNode<Smi> LoadClassPositionsStart(compiler::TNode<ClassPositions> p_o);
599 void StoreClassPositionsStart(compiler::TNode<ClassPositions> p_o, compiler::TNode<Smi> p_v);
600 compiler::TNode<Smi> LoadClassPositionsEnd(compiler::TNode<ClassPositions> p_o);
601 void StoreClassPositionsEnd(compiler::TNode<ClassPositions> p_o, compiler::TNode<Smi> p_v);
602 compiler::TNode<Smi> LoadWasmExceptionTagIndex(compiler::TNode<WasmExceptionTag> p_o);
603 void StoreWasmExceptionTagIndex(compiler::TNode<WasmExceptionTag> p_o, compiler::TNode<Smi> p_v);
604 compiler::TNode<HeapObject> LoadAsyncGeneratorRequestNext(compiler::TNode<AsyncGeneratorRequest> p_o);
605 void StoreAsyncGeneratorRequestNext(compiler::TNode<AsyncGeneratorRequest> p_o, compiler::TNode<HeapObject> p_v);
606 compiler::TNode<Smi> LoadAsyncGeneratorRequestResumeMode(compiler::TNode<AsyncGeneratorRequest> p_o);
607 void StoreAsyncGeneratorRequestResumeMode(compiler::TNode<AsyncGeneratorRequest> p_o, compiler::TNode<Smi> p_v);
608 compiler::TNode<Object> LoadAsyncGeneratorRequestValue(compiler::TNode<AsyncGeneratorRequest> p_o);
609 void StoreAsyncGeneratorRequestValue(compiler::TNode<AsyncGeneratorRequest> p_o, compiler::TNode<Object> p_v);
610 compiler::TNode<JSPromise> LoadAsyncGeneratorRequestPromise(compiler::TNode<AsyncGeneratorRequest> p_o);
611 void StoreAsyncGeneratorRequestPromise(compiler::TNode<AsyncGeneratorRequest> p_o, compiler::TNode<JSPromise> p_v);
612 compiler::TNode<HeapObject> LoadModuleInfoEntryExportName(compiler::TNode<ModuleInfoEntry> p_o);
613 void StoreModuleInfoEntryExportName(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<HeapObject> p_v);
614 compiler::TNode<HeapObject> LoadModuleInfoEntryLocalName(compiler::TNode<ModuleInfoEntry> p_o);
615 void StoreModuleInfoEntryLocalName(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<HeapObject> p_v);
616 compiler::TNode<HeapObject> LoadModuleInfoEntryImportName(compiler::TNode<ModuleInfoEntry> p_o);
617 void StoreModuleInfoEntryImportName(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<HeapObject> p_v);
618 compiler::TNode<Smi> LoadModuleInfoEntryModuleRequest(compiler::TNode<ModuleInfoEntry> p_o);
619 void StoreModuleInfoEntryModuleRequest(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<Smi> p_v);
620 compiler::TNode<Smi> LoadModuleInfoEntryCellIndex(compiler::TNode<ModuleInfoEntry> p_o);
621 void StoreModuleInfoEntryCellIndex(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<Smi> p_v);
622 compiler::TNode<Smi> LoadModuleInfoEntryBegPos(compiler::TNode<ModuleInfoEntry> p_o);
623 void StoreModuleInfoEntryBegPos(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<Smi> p_v);
624 compiler::TNode<Smi> LoadModuleInfoEntryEndPos(compiler::TNode<ModuleInfoEntry> p_o);
625 void StoreModuleInfoEntryEndPos(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<Smi> p_v);
626 compiler::TNode<HeapObject> LoadPromiseCapabilityPromise(compiler::TNode<PromiseCapability> p_o);
627 void StorePromiseCapabilityPromise(compiler::TNode<PromiseCapability> p_o, compiler::TNode<HeapObject> p_v);
628 compiler::TNode<Object> LoadPromiseCapabilityResolve(compiler::TNode<PromiseCapability> p_o);
629 void StorePromiseCapabilityResolve(compiler::TNode<PromiseCapability> p_o, compiler::TNode<Object> p_v);
630 compiler::TNode<Object> LoadPromiseCapabilityReject(compiler::TNode<PromiseCapability> p_o);
631 void StorePromiseCapabilityReject(compiler::TNode<PromiseCapability> p_o, compiler::TNode<Object> p_v);
632 compiler::TNode<Object> LoadPromiseReactionNext(compiler::TNode<PromiseReaction> p_o);
633 void StorePromiseReactionNext(compiler::TNode<PromiseReaction> p_o, compiler::TNode<Object> p_v);
634 compiler::TNode<HeapObject> LoadPromiseReactionRejectHandler(compiler::TNode<PromiseReaction> p_o);
635 void StorePromiseReactionRejectHandler(compiler::TNode<PromiseReaction> p_o, compiler::TNode<HeapObject> p_v);
636 compiler::TNode<HeapObject> LoadPromiseReactionFulfillHandler(compiler::TNode<PromiseReaction> p_o);
637 void StorePromiseReactionFulfillHandler(compiler::TNode<PromiseReaction> p_o, compiler::TNode<HeapObject> p_v);
638 compiler::TNode<HeapObject> LoadPromiseReactionPromiseOrCapability(compiler::TNode<PromiseReaction> p_o);
639 void StorePromiseReactionPromiseOrCapability(compiler::TNode<PromiseReaction> p_o, compiler::TNode<HeapObject> p_v);
640 compiler::TNode<HeapObject> LoadJSRegExpData(compiler::TNode<JSRegExp> p_o);
641 void StoreJSRegExpData(compiler::TNode<JSRegExp> p_o, compiler::TNode<HeapObject> p_v);
642 compiler::TNode<HeapObject> LoadJSRegExpSource(compiler::TNode<JSRegExp> p_o);
643 void StoreJSRegExpSource(compiler::TNode<JSRegExp> p_o, compiler::TNode<HeapObject> p_v);
644 compiler::TNode<Object> LoadJSRegExpFlags(compiler::TNode<JSRegExp> p_o);
645 void StoreJSRegExpFlags(compiler::TNode<JSRegExp> p_o, compiler::TNode<Object> p_v);
646 compiler::TNode<Object> LoadJSRegExpResultIndex(compiler::TNode<JSRegExpResult> p_o);
647 void StoreJSRegExpResultIndex(compiler::TNode<JSRegExpResult> p_o, compiler::TNode<Object> p_v);
648 compiler::TNode<Object> LoadJSRegExpResultInput(compiler::TNode<JSRegExpResult> p_o);
649 void StoreJSRegExpResultInput(compiler::TNode<JSRegExpResult> p_o, compiler::TNode<Object> p_v);
650 compiler::TNode<Object> LoadJSRegExpResultGroups(compiler::TNode<JSRegExpResult> p_o);
651 void StoreJSRegExpResultGroups(compiler::TNode<JSRegExpResult> p_o, compiler::TNode<Object> p_v);
652 compiler::TNode<Object> LoadJSRegExpStringIteratorIteratingRegExp(compiler::TNode<JSRegExpStringIterator> p_o);
653 void StoreJSRegExpStringIteratorIteratingRegExp(compiler::TNode<JSRegExpStringIterator> p_o, compiler::TNode<Object> p_v);
654 compiler::TNode<String> LoadJSRegExpStringIteratorIteratedString(compiler::TNode<JSRegExpStringIterator> p_o);
655 void StoreJSRegExpStringIteratorIteratedString(compiler::TNode<JSRegExpStringIterator> p_o, compiler::TNode<String> p_v);
656 compiler::TNode<Smi> LoadJSRegExpStringIteratorFlags(compiler::TNode<JSRegExpStringIterator> p_o);
657 void StoreJSRegExpStringIteratorFlags(compiler::TNode<JSRegExpStringIterator> p_o, compiler::TNode<Smi> p_v);
658 compiler::TNode<Object> LoadAccessorInfoName(compiler::TNode<AccessorInfo> p_o);
659 void StoreAccessorInfoName(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
660 compiler::TNode<Smi> LoadAccessorInfoFlags(compiler::TNode<AccessorInfo> p_o);
661 void StoreAccessorInfoFlags(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Smi> p_v);
662 compiler::TNode<Object> LoadAccessorInfoExpectedReceiverType(compiler::TNode<AccessorInfo> p_o);
663 void StoreAccessorInfoExpectedReceiverType(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
664 compiler::TNode<Object> LoadAccessorInfoSetter(compiler::TNode<AccessorInfo> p_o);
665 void StoreAccessorInfoSetter(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
666 compiler::TNode<Object> LoadAccessorInfoGetter(compiler::TNode<AccessorInfo> p_o);
667 void StoreAccessorInfoGetter(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
668 compiler::TNode<Object> LoadAccessorInfoJsGetter(compiler::TNode<AccessorInfo> p_o);
669 void StoreAccessorInfoJsGetter(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
670 compiler::TNode<Object> LoadAccessorInfoData(compiler::TNode<AccessorInfo> p_o);
671 void StoreAccessorInfoData(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
672 compiler::TNode<Object> LoadAccessorPairGetter(compiler::TNode<AccessorPair> p_o);
673 void StoreAccessorPairGetter(compiler::TNode<AccessorPair> p_o, compiler::TNode<Object> p_v);
674 compiler::TNode<Object> LoadAccessorPairSetter(compiler::TNode<AccessorPair> p_o);
675 void StoreAccessorPairSetter(compiler::TNode<AccessorPair> p_o, compiler::TNode<Object> p_v);
676 compiler::TNode<HeapObject> Cast10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
677 compiler::TNode<Uint32T> Convert8ATuint327ATuint8(compiler::TNode<Uint8T> p_i);
678 compiler::TNode<Uint32T> Convert8ATuint328ATuint16(compiler::TNode<Uint16T> p_i);
679 compiler::TNode<Uint32T> Convert8ATuint328ATuint31(compiler::TNode<Uint32T> p_i);
680 compiler::TNode<JSFunction> UnsafeCast10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
681 compiler::TNode<JSReceiver> UnsafeCast13ATConstructor(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
682 compiler::TNode<Map> UnsafeCast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
683 compiler::TNode<JSArray> Cast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
684 compiler::TNode<JSArgumentsObjectWithLength> Cast27JSArgumentsObjectWithLength(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
685 compiler::TNode<BoolT> Is13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
686 void BranchIf13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
687 void BranchIfNot13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
688 void BranchIf20ATFastJSArrayForCopy20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
689 compiler::TNode<BoolT> Is34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
690 compiler::TNode<Context> Cast7Context(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
691 compiler::TNode<Object> UnsafeCast23UT11ATFrameType7Context(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
692 compiler::TNode<JSReceiver> Cast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
693 compiler::TNode<JSReceiver> Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
694 compiler::TNode<Smi> Convert5ATSmi17ATconstexpr_int31(int31_t p_i);
695 compiler::TNode<JSArray> UnsafeCast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
696 compiler::TNode<NumberDictionary> UnsafeCast18ATNumberDictionary(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
697 compiler::TNode<FixedArray> UnsafeCast10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
698 compiler::TNode<Smi> UnsafeCast5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
699 compiler::TNode<FixedDoubleArray> UnsafeCast16FixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
700 compiler::TNode<JSTypedArray> UnsafeCast12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
701 compiler::TNode<String> Cast6String(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
702 compiler::TNode<HeapObject> UnsafeCast10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
703 compiler::TNode<JSReceiver> Cast13ATConstructor(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
704 compiler::TNode<JSArray> Cast13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
705 compiler::TNode<FixedArray> Cast10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
706 compiler::TNode<Context> UnsafeCast7Context(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
707 compiler::TNode<JSArray> Cast20ATFastJSArrayForCopy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
708 compiler::TNode<JSDataView> Cast12ATJSDataView(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
709 compiler::TNode<JSArray> Cast34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
710 compiler::TNode<BoolT> Is10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
711 compiler::TNode<Map> Cast5ATMap(compiler::TNode<Context> p_context, compiler::