Index: src/ia32/stub-cache-ia32.cc |
=================================================================== |
--- src/ia32/stub-cache-ia32.cc (revision 3500) |
+++ src/ia32/stub-cache-ia32.cc (working copy) |
@@ -813,7 +813,14 @@ |
// We need to avoid using eax since that now holds the result. |
Register tmp = other.is(eax) ? reg : other; |
- __ PopHandleScope(eax, tmp); |
+ // The code emitted for PopHandleScope tries to call the runtime |
+ // through a stub. Do not allow the call to perform a garbage |
+ // collection but instead return a failure object. |
iposva
2009/12/20 05:04:51
This comment is very confusing. Isn't it so that e
|
+ result = masm()->TryPopHandleScope(eax, tmp); |
+ if (result->IsFailure()) { |
+ *failure = Failure::cast(result); |
+ return false; |
+ } |
__ LeaveInternalFrame(); |
__ ret(0); |