diff options
Diffstat (limited to 'src/3rdparty/v8/src/x64/macro-assembler-x64.h')
-rw-r--r-- | src/3rdparty/v8/src/x64/macro-assembler-x64.h | 57 |
1 files changed, 10 insertions, 47 deletions
diff --git a/src/3rdparty/v8/src/x64/macro-assembler-x64.h b/src/3rdparty/v8/src/x64/macro-assembler-x64.h index 5caa6cf..3a655ef 100644 --- a/src/3rdparty/v8/src/x64/macro-assembler-x64.h +++ b/src/3rdparty/v8/src/x64/macro-assembler-x64.h @@ -357,7 +357,7 @@ class MacroAssembler: public Assembler { const CallWrapper& call_wrapper, CallKind call_kind); - void InvokeFunction(JSFunction* function, + void InvokeFunction(Handle<JSFunction> function, const ParameterCount& actual, InvokeFlag flag, const CallWrapper& call_wrapper, @@ -1107,19 +1107,9 @@ class MacroAssembler: public Assembler { // Call a code stub. void CallStub(CodeStub* stub, unsigned ast_id = kNoASTId); - // Call a code stub and return the code object called. Try to generate - // the code if necessary. Do not perform a GC but instead return a retry - // after GC failure. - MUST_USE_RESULT MaybeObject* TryCallStub(CodeStub* stub); - // Tail call a code stub (jump). void TailCallStub(CodeStub* stub); - // Tail call a code stub (jump) and return the code object called. Try to - // generate the code if necessary. Do not perform a GC but instead return - // a retry after GC failure. - MUST_USE_RESULT MaybeObject* TryTailCallStub(CodeStub* stub); - // Return from a code stub after popping its arguments. void StubReturn(int argc); @@ -1129,19 +1119,9 @@ class MacroAssembler: public Assembler { // Call a runtime function and save the value of XMM registers. void CallRuntimeSaveDoubles(Runtime::FunctionId id); - // Call a runtime function, returning the CodeStub object called. - // Try to generate the stub code if necessary. Do not perform a GC - // but instead return a retry after GC failure. - MUST_USE_RESULT MaybeObject* TryCallRuntime(const Runtime::Function* f, - int num_arguments); - // Convenience function: Same as above, but takes the fid instead. void CallRuntime(Runtime::FunctionId id, int num_arguments); - // Convenience function: Same as above, but takes the fid instead. - MUST_USE_RESULT MaybeObject* TryCallRuntime(Runtime::FunctionId id, - int num_arguments); - // Convenience function: call an external reference. void CallExternalReference(const ExternalReference& ext, int num_arguments); @@ -1153,38 +1133,26 @@ class MacroAssembler: public Assembler { int num_arguments, int result_size); - MUST_USE_RESULT MaybeObject* TryTailCallExternalReference( - const ExternalReference& ext, int num_arguments, int result_size); - // Convenience function: tail call a runtime routine (jump). void TailCallRuntime(Runtime::FunctionId fid, int num_arguments, int result_size); - MUST_USE_RESULT MaybeObject* TryTailCallRuntime(Runtime::FunctionId fid, - int num_arguments, - int result_size); - // Jump to a runtime routine. void JumpToExternalReference(const ExternalReference& ext, int result_size); - // Jump to a runtime routine. - MaybeObject* TryJumpToExternalReference(const ExternalReference& ext, - int result_size); - - // Prepares stack to put arguments (aligns and so on). - // WIN64 calling convention requires to put the pointer to the return value - // slot into rcx (rcx must be preserverd until TryCallApiFunctionAndReturn). - // Saves context (rsi). Clobbers rax. Allocates arg_stack_space * kPointerSize + // Prepares stack to put arguments (aligns and so on). WIN64 calling + // convention requires to put the pointer to the return value slot into + // rcx (rcx must be preserverd until CallApiFunctionAndReturn). Saves + // context (rsi). Clobbers rax. Allocates arg_stack_space * kPointerSize // inside the exit frame (not GCed) accessible via StackSpaceOperand. void PrepareCallApiFunction(int arg_stack_space); - // Calls an API function. Allocates HandleScope, extracts - // returned value from handle and propagates exceptions. - // Clobbers r14, r15, rbx and caller-save registers. Restores context. - // On return removes stack_space * kPointerSize (GCed). - MUST_USE_RESULT MaybeObject* TryCallApiFunctionAndReturn( - ApiFunction* function, int stack_space); + // Calls an API function. Allocates HandleScope, extracts returned value + // from handle and propagates exceptions. Clobbers r14, r15, rbx and + // caller-save registers. Restores context. On return removes + // stack_space * kPointerSize (GCed). + void CallApiFunctionAndReturn(Address function_address, int stack_space); // Before calling a C-function from generated code, align arguments on stack. // After aligning the frame, arguments must be stored in esp[0], esp[4], @@ -1418,11 +1386,6 @@ static inline Operand GlobalObjectOperand() { } -static inline Operand QmlGlobalObjectOperand() { - return ContextOperand(rsi, Context::QML_GLOBAL_INDEX); -} - - // Provides access to exit frame stack space (not GCed). static inline Operand StackSpaceOperand(int index) { #ifdef _WIN64 |