Comment #1 on issue 3060 by yang...@chromium.org: V8 3.23.1 and later do not honor v8::V8::IgnoreOutOfMemoryException()
http://code.google.com/p/v8/issues/detail?id=3060

Unfortunately, I would say this is working as intended. We actually need to reconsider whether IgnoreOutOfMemoryException is a good idea at all.

To encourage further discussion, I'll briefly explain the status quo:

The original idea was that if V8 encounters an OOM condition, we unwind the stack until the API function that initiated execution. If we chose to not ignore, we then would call the FatalErrorCallback. If we ignore, then we expect the embedder to handle this correctly. Note that we honor ignore only in API calls. So ignore only works if we unwind the stack down to the API call.

Ever since we started handlifying V8's runtime code, this is no longer possible. If a factory method calling an allocation method of the heap runs into OOM, it's caught by the CALL_HEAP_FUNCTION wrapper. We then directly call v8::internal::V8::FatalProcessOutOfMemory. If the OOM condition happens in handlified code directly (opposed to being hidden by the CALL_HEAP_FUNCTION crutch), we call FatalProcessOutOfMemory directly. That means that IgnoreOutOfMemoryException has no effect.

As we proceed with handlifying code, IgnoreOutOfMemoryException will make less and less sense.



--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to