Chromium Code Reviews| Index: src/arm/macro-assembler-arm.h |
| =================================================================== |
| --- src/arm/macro-assembler-arm.h (revision 6213) |
| +++ src/arm/macro-assembler-arm.h (working copy) |
| @@ -588,6 +588,12 @@ |
| // Call a code stub. |
| void TailCallStub(CodeStub* stub, Condition cond = al); |
| + // 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, |
| + Condition cond = al); |
| + |
| // Call a runtime routine. |
| void CallRuntime(Runtime::Function* f, int num_arguments); |
| void CallRuntimeSaveDoubles(Runtime::FunctionId id); |
| @@ -606,6 +612,12 @@ |
| int num_arguments, |
| int result_size); |
| + // Tail call of a runtime routine (jump). Try to generate the code if |
| + // necessary. Do not perform a GC but instead return a retry after GC |
| + // failure. |
| + 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, |
| @@ -629,9 +641,22 @@ |
| void CallCFunction(ExternalReference function, int num_arguments); |
| void CallCFunction(Register function, int num_arguments); |
| + // creates the Exit frame, pushes the arguments and aligns the stack |
|
antonm
2011/01/11 14:11:33
nit: [C]reates. And you probably do not need [E]
Zaheer
2011/01/11 15:44:35
Done
|
| + // for the C call. saves the fp and context in top |
| + void PrepareCallApiFunction(int arg_stack_space, |
| + int unwind_space, |
| + Register scratch); |
| + |
| + // Calls an API function. Allocates HandleScope, extracts |
| + // returned value from handle and propagates exceptions. |
| + // Restores context. |
| + MaybeObject* TryCallApiFunctionAndReturn(ApiFunction* function); |
| + |
| // Jump to a runtime routine. |
| void JumpToExternalReference(const ExternalReference& builtin); |
| + MaybeObject* TryJumpToExternalReference(const ExternalReference& ext); |
| + |
| // Invoke specified builtin JavaScript function. Adds an entry to |
| // the unresolved list if the name does not resolve. |
| void InvokeBuiltin(Builtins::JavaScript id, InvokeJSFlags flags); |