| Index: src/ia32/macro-assembler-ia32.h
|
| ===================================================================
|
| --- src/ia32/macro-assembler-ia32.h (revision 3501)
|
| +++ src/ia32/macro-assembler-ia32.h (working copy)
|
| @@ -310,9 +310,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.
|
| @@ -326,6 +334,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);
|
|
|
| @@ -418,6 +430,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);
|
| };
|
|
|
|
|
|
|