| Index: src/ia32/macro-assembler-ia32.h | 
| =================================================================== | 
| --- src/ia32/macro-assembler-ia32.h	(revision 5816) | 
| +++ src/ia32/macro-assembler-ia32.h	(working copy) | 
| @@ -460,11 +460,23 @@ | 
| 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, | 
| int result_size); | 
|  | 
| +  // Convenience function: tail call 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* TryTailCallRuntime(Runtime::FunctionId fid, | 
| +                                                  int num_arguments, | 
| +                                                  int result_size); | 
| + | 
| // 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], | 
| // etc., not pushed. The argument count assumes all arguments are word sized. | 
| @@ -485,18 +497,21 @@ | 
| // Prepares stack to put arguments (aligns and so on). Reserves | 
| // space for return value if needed (assumes the return value is a handle). | 
| // Uses callee-saved esi to restore stack state after call. Arguments must be | 
| -  // stored in ApiParameterOperand(0), ApiParameterOperand(1) etc. | 
| +  // stored in ApiParameterOperand(0), ApiParameterOperand(1) etc. Saves | 
| +  // context (esi). | 
| void PrepareCallApiFunction(int stack_space, int argc); | 
|  | 
| // Calls an API function. Allocates HandleScope, extracts | 
| // returned value from handle and propagates exceptions. | 
| -  // Clobbers ebx, esi, edi and caller-save registers. | 
| -  void CallApiFunctionAndReturn(ApiFunction* function, int argc); | 
| +  // Clobbers ebx, edi and caller-save registers. Restores context. | 
| +  MaybeObject* TryCallApiFunctionAndReturn(ApiFunction* function, int argc); | 
|  | 
| // Jump to a runtime routine. | 
| void JumpToExternalReference(const ExternalReference& ext); | 
|  | 
| +  MaybeObject* TryJumpToExternalReference(const ExternalReference& ext); | 
|  | 
| + | 
| // --------------------------------------------------------------------------- | 
| // Utilities | 
|  | 
|  |