Chromium Code Reviews| Index: src/x64/macro-assembler-x64.h |
| =================================================================== |
| --- src/x64/macro-assembler-x64.h (revision 5803) |
| +++ src/x64/macro-assembler-x64.h (working copy) |
| @@ -813,22 +813,36 @@ |
| 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). |
| - // Uses calle-saved esi to restore stack state after call. |
| - void PrepareCallApiFunction(int stack_space); |
| + // Uses calle-saved esi to restore stack state after call. In WIN64 puts |
|
antonm
2010/11/13 11:34:46
esi -> rsi
calle -> callee
antonm
2010/11/13 11:34:46
"In WIN64 puts" doesn't sound fine imho.
WIN64 ca
SeRya
2010/11/15 12:09:11
Done.
|
| + // the pointer to the return value slot into rcx (rcx must be preserverd |
| + // untill TryCallApiFunctionAndReturn). |
|
antonm
2010/11/13 11:34:46
untill -> until
SeRya
2010/11/15 12:09:11
Done.
|
| + void PrepareCallApiFunction(int stack_space, int argc); |
|
antonm
2010/11/13 11:34:46
Please, add comments about semantics of stack_spac
SeRya
2010/11/15 12:09:11
Done.
|
| // Tail call an API function (jump). Allocates HandleScope, extracts |
| // returned value from handle and propogates exceptions. |
| // Clobbers ebx, edi and caller-save registers. |
| - void CallApiFunctionAndReturn(ApiFunction* function); |
| + MUST_USE_RESULT MaybeObject* TryCallApiFunctionAndReturn( |
|
antonm
2010/11/13 11:34:46
I think you should unify doc with ia32 variant
SeRya
2010/11/15 12:09:11
Done.
|
| + ApiFunction* function); |
| // 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], |