| Index: src/ia32/macro-assembler-ia32.h
|
| ===================================================================
|
| --- src/ia32/macro-assembler-ia32.h (revision 3500)
|
| +++ src/ia32/macro-assembler-ia32.h (working copy)
|
| @@ -319,9 +319,17 @@
|
| // Eventually this should be used for all C calls.
|
| void CallRuntime(Runtime::Function* f, int num_arguments);
|
|
|
| + // Call a runtime function, returning the RuntimeStub object called.
|
| + // Try to generate the stub code if necessary. Do not perform a GC
|
| + // but instead return a retry after GC failure.
|
| + Object* TryCallRuntime(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.
|
| + Object* TryCallRuntime(Runtime::FunctionId id, int num_arguments);
|
| +
|
| // Tail call of a runtime routine (jump).
|
| // Like JumpToRuntime, but also takes care of passing the number
|
| // of arguments.
|
| @@ -335,6 +343,10 @@
|
| // ensuring that saved register, it is not no_reg, is left unchanged.
|
| void PopHandleScope(Register saved, Register scratch);
|
|
|
| + // As PopHandleScope, but does not perform a GC. Instead, returns a
|
| + // retry after GC failure object if GC is necessary.
|
| + Object* TryPopHandleScope(Register saved, Register scratch);
|
| +
|
| // Jump to a runtime routine.
|
| void JumpToRuntime(const ExternalReference& ext);
|
|
|
| @@ -427,6 +439,13 @@
|
| Register scratch,
|
| AllocationFlags flags);
|
| void UpdateAllocationTopHelper(Register result_end, Register scratch);
|
| +
|
| + // Helper for PopHandleScope. Allowed to perform a GC and returns
|
| + // NULL if gc_allowed. Does not perform a GC if !gc_allowed, and
|
| + // possibly returns a failure object indicating an allocation failure.
|
| + Object* PopHandleScopeHelper(Register saved,
|
| + Register scratch,
|
| + bool gc_allowed);
|
| };
|
|
|
|
|
|
|