Lines Matching refs:assembler
19 #include "ecmascript/compiler/assembler/x64/assembler_x64.h"
20 #include "ecmascript/compiler/assembler/x64/extended_assembler_x64.h"
40 static void CopyArgumentWithArgV(ExtendedAssembler *assembler, Register argc, Register argV);
41 static void PushAsmInterpBridgeFrame(ExtendedAssembler *assembler);
42 static void PopAsmInterpBridgeFrame(ExtendedAssembler *assembler);
43 static void PushUndefinedWithArgc(ExtendedAssembler *assembler, Register argc);
44 static void GetArgvAtStack(ExtendedAssembler *assembler);
45 static void PushArgsWithArgvAndCheckStack(ExtendedAssembler *assembler, Register glue, Register argc, Register argv,
47 static void StackOverflowCheck(ExtendedAssembler *assembler, Register glue, Register numArgs, Register op1,
49 static void PushAsmBridgeFrame(ExtendedAssembler *assembler);
50 static void PopAsmBridgeFrame(ExtendedAssembler *assembler);
55 static void CallRuntime(ExtendedAssembler *assembler);
57 static void JSFunctionEntry(ExtendedAssembler *assembler);
59 static void OptimizedCallAndPushArgv(ExtendedAssembler *assembler);
61 static void JSProxyCallInternalWithArgV(ExtendedAssembler *assembler);
63 static void JSCall(ExtendedAssembler *assembler);
65 static void CallOptimized(ExtendedAssembler *assembler);
67 static void CallRuntimeWithArgv(ExtendedAssembler *assembler);
69 static void JSCallWithArgV(ExtendedAssembler *assembler);
71 static void JSCallWithArgVAndPushArgv(ExtendedAssembler *assembler);
73 static void SuperCallWithArgV(ExtendedAssembler *assembler);
75 static void AOTCallToAsmInterBridge(ExtendedAssembler *assembler);
77 static void FastCallToAsmInterBridge(ExtendedAssembler *assembler);
79 static void DeoptHandlerAsm(ExtendedAssembler *assembler);
81 static void JSCallNew(ExtendedAssembler *assembler);
83 static void GenJSCall(ExtendedAssembler *assembler, bool isNew);
85 static void GenJSCallWithArgV(ExtendedAssembler *assembler, int id);
87 static void DeoptEnterAsmInterp(ExtendedAssembler *assembler);
88 static void JSCallCheck(ExtendedAssembler *assembler, Register jsFuncReg,
90 static void ThrowNonCallableInternal(ExtendedAssembler *assembler, Register glueReg);
91 static void JSBoundFunctionCallInternal(ExtendedAssembler *assembler, Register jsFuncReg, Label *jsCall);
92 static void OptimizedCallAsmInterpreter(ExtendedAssembler *assembler);
93 static void PushArgsWithArgV(ExtendedAssembler *assembler, Register jsfunc,
95 static void PushMandatoryJSArgs(ExtendedAssembler *assembler, Register jsfunc,
97 static void PopJSFunctionArgs(ExtendedAssembler *assembler, Register expectedNumArgs);
98 static void PushJSFunctionEntryFrame(ExtendedAssembler *assembler, Register prevFp);
99 static void PopJSFunctionEntryFrame(ExtendedAssembler *assembler, Register glue);
100 static void PushOptimizedUnfoldArgVFrame(ExtendedAssembler *assembler, Register callSiteSp);
101 static void PopOptimizedUnfoldArgVFrame(ExtendedAssembler *assembler);
102 static void CallBuiltinTrampoline(ExtendedAssembler *assembler, Register temp);
103 static void CallBuiltinConstructorStub(ExtendedAssembler *assembler, Register builtinStub, Register argv,
105 static void RemoveArgv(ExtendedAssembler *assembler, Register temp);
112 static void OptimizedFastCallEntry(ExtendedAssembler *assembler);
114 static void OptimizedFastCallAndPushArgv(ExtendedAssembler *assembler);
116 static void JSFastCallWithArgV(ExtendedAssembler *assembler);
118 static void JSFastCallWithArgVAndPushArgv(ExtendedAssembler *assembler);
123 static void GeneratorReEnterAsmInterp(ExtendedAssembler *assembler);
125 static void GeneratorReEnterAsmInterpDispatch(ExtendedAssembler *assembler);
127 static void AsmInterpEntryDispatch(ExtendedAssembler *assembler);
129 static void AsmInterpreterEntry(ExtendedAssembler *assembler);
131 static void PushCallThisRangeAndDispatch(ExtendedAssembler *assembler);
133 static void PushCallRangeAndDispatch(ExtendedAssembler *assembler);
135 static void PushCallArgs3AndDispatch(ExtendedAssembler *assembler);
137 static void PushCallArgs2AndDispatch(ExtendedAssembler *assembler);
139 static void PushCallArg1AndDispatch(ExtendedAssembler *assembler);
141 static void PushCallArg0AndDispatch(ExtendedAssembler *assembler);
143 static void PushCallThisArg0AndDispatch(ExtendedAssembler *assembler);
145 static void PushCallThisArg1AndDispatch(ExtendedAssembler *assembler);
147 static void PushCallThisArgs2AndDispatch(ExtendedAssembler *assembler);
149 static void PushCallThisArgs3AndDispatch(ExtendedAssembler *assembler);
151 static void PushCallNewAndDispatch(ExtendedAssembler *assembler);
153 static void PushSuperCallAndDispatch(ExtendedAssembler *assembler);
155 static void PushCallNewAndDispatchNative(ExtendedAssembler *assembler);
157 static void PushNewTargetAndDispatchNative(ExtendedAssembler *assembler);
159 static void PushCallRangeAndDispatchNative(ExtendedAssembler *assembler);
161 static void PushCallArgsAndDispatchNative(ExtendedAssembler *assembler);
163 static void ResumeRspAndDispatch(ExtendedAssembler *assembler);
165 static void ResumeRspAndReturn([[maybe_unused]] ExtendedAssembler *assembler);
167 static void ResumeRspAndReturnBaseline([[maybe_unused]] ExtendedAssembler *assembler);
169 static void CallGetter(ExtendedAssembler *assembler);
171 static void CallSetter(ExtendedAssembler *assembler);
173 static void CallContainersArgs2(ExtendedAssembler *assembler);
175 static void CallContainersArgs3(ExtendedAssembler *assembler);
177 static void CallReturnWithArgv(ExtendedAssembler *assembler);
179 static void ResumeCaughtFrameAndDispatch(ExtendedAssembler *assembler);
181 static void ResumeUncaughtFrameAndReturn(ExtendedAssembler *assembler);
183 static void ResumeRspAndRollback(ExtendedAssembler *assembler);
185 static void ASMFastWriteBarrier(ExtendedAssembler *assembler);
187 static void ASMWriteBarrierWithEden(ExtendedAssembler *assembler);
189 static void PushFrameState(ExtendedAssembler *assembler, Register prevSpRegister, Register fpRegister,
192 static void PushGeneratorFrameState(ExtendedAssembler *assembler, Register prevSpRegister,
195 static void PushAsmInterpEntryFrame(ExtendedAssembler *assembler);
196 static void PopAsmInterpEntryFrame(ExtendedAssembler *assembler);
197 static void GetDeclaredNumArgsFromCallField(ExtendedAssembler *assembler, Register callFieldRegister,
199 static void GetNumVregsFromCallField(ExtendedAssembler *assembler, Register callFieldRegister,
201 static void PushUndefinedWithArgcAndCheckStack(ExtendedAssembler *assembler, Register glue, Register argc,
203 static void ThrowStackOverflowExceptionAndReturn(ExtendedAssembler *assembler, Register glue, Register fp,
205 static void ThrowStackOverflowExceptionAndReturnToAotFrame(ExtendedAssembler *assembler, Register glue,
207 static void HasPendingException(ExtendedAssembler *assembler, Register threadRegister);
208 static void PushCallThis(ExtendedAssembler *assembler, JSCallMode mode,
210 static Register GetThisRegsiter(ExtendedAssembler *assembler, JSCallMode mode, Register defaultRegister);
211 static Register GetNewTargetRegsiter(ExtendedAssembler *assembler, JSCallMode mode, Register defaultRegister);
212 static void PushVregs(ExtendedAssembler *assembler, Label *stackOverflow, FrameTransitionType type);
213 static void DispatchCall(ExtendedAssembler *assembler, Register pcRegister, Register newSpRegister,
215 static void CallNativeEntry(ExtendedAssembler *assembler);
216 static void CallFastBuiltin(ExtendedAssembler *assembler, Label *callNativeBuiltin);
217 static void CallNativeWithArgv(ExtendedAssembler *assembler, bool callNew, bool hasNewTarget = false);
218 static void CallNativeInternal(ExtendedAssembler *assembler, Register nativeCode);
219 static bool PushBuiltinFrame(ExtendedAssembler *assembler, Register glue, FrameType type);
220 static void JSCallCommonEntry(ExtendedAssembler *assembler, JSCallMode mode, FrameTransitionType type);
221 static void JSCallCommonFastPath(ExtendedAssembler *assembler, JSCallMode mode, Label *stackOverflow);
222 static void JSCallCommonSlowPath(ExtendedAssembler *assembler, JSCallMode mode,
224 static void PreserveMostCall(ExtendedAssembler* assembler);
225 static void ASMFastSharedWriteBarrier(ExtendedAssembler *assembler, Label &needcall);
233 static void CallArg0AndCheckToBaseline(ExtendedAssembler *assembler);
234 static void CallArg1AndCheckToBaseline(ExtendedAssembler *assembler);
235 static void CallArgs2AndCheckToBaseline(ExtendedAssembler *assembler);
236 static void CallArgs3AndCheckToBaseline(ExtendedAssembler *assembler);
237 static void CallThisArg0AndCheckToBaseline(ExtendedAssembler *assembler);
238 static void CallThisArg1AndCheckToBaseline(ExtendedAssembler *assembler);
239 static void CallThisArgs2AndCheckToBaseline(ExtendedAssembler *assembler);
240 static void CallThisArgs3AndCheckToBaseline(ExtendedAssembler *assembler);
241 static void CallRangeAndCheckToBaseline(ExtendedAssembler *assembler);
242 static void CallNewAndCheckToBaseline(ExtendedAssembler *assembler);
243 static void SuperCallAndCheckToBaseline(ExtendedAssembler *assembler);
244 static void CallThisRangeAndCheckToBaseline(ExtendedAssembler *assembler);
246 static void CallArg0AndDispatchFromBaseline(ExtendedAssembler *assembler);
247 static void CallArg1AndDispatchFromBaseline(ExtendedAssembler *assembler);
248 static void CallArgs2AndDispatchFromBaseline(ExtendedAssembler *assembler);
249 static void CallArgs3AndDispatchFromBaseline(ExtendedAssembler *assembler);
250 static void CallThisArg0AndDispatchFromBaseline(ExtendedAssembler *assembler);
251 static void CallThisArg1AndDispatchFromBaseline(ExtendedAssembler *assembler);
252 static void CallThisArgs2AndDispatchFromBaseline(ExtendedAssembler *assembler);
253 static void CallThisArgs3AndDispatchFromBaseline(ExtendedAssembler *assembler);
254 static void CallRangeAndDispatchFromBaseline(ExtendedAssembler *assembler);
255 static void CallNewAndDispatchFromBaseline(ExtendedAssembler *assembler);
256 static void SuperCallAndDispatchFromBaseline(ExtendedAssembler *assembler);
257 static void CallThisRangeAndDispatchFromBaseline(ExtendedAssembler *assembler);
259 static void CallArg0AndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
260 static void CallArg1AndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
261 static void CallArgs2AndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
262 static void CallArgs3AndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
263 static void CallThisArg0AndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
264 static void CallThisArg1AndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
265 static void CallThisArgs2AndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
266 static void CallThisArgs3AndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
267 static void CallRangeAndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
268 static void CallNewAndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
269 static void SuperCallAndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
270 static void CallThisRangeAndCheckToBaselineFromBaseline(ExtendedAssembler *assembler);
272 static void GetBaselineBuiltinFp(ExtendedAssembler *assembler);
278 explicit JsFunctionArgsConfigFrameScope(ExtendedAssembler *assembler) : assembler_(assembler)
312 explicit OptimizedUnfoldArgVFrameFrameScope(ExtendedAssembler *assembler) : assembler_(assembler)
342 explicit OptimizedUnfoldArgVFrameFrame1Scope(ExtendedAssembler *assembler) : assembler_(assembler)