Hi,
I am working on a Go wrapper for v8. For that I am doing a lot of research forth and back with the v8 source code.
Currently I am working on making resource constraints configurable. Setting the max old space memory too low can quickly result in an OOM error.
So I wanted to make the handler for that settable as well. v8's API offers to set a handler per isolate. After I implemented that, I realized what difference does it make which Isolate will run into an OOM error?
When OOM occurs, the v8 will call FATAL (os::abort) one way or another, right? There's not really a way to recover from this, so why isn't the OOM error handling just exposes globaly for the v8 namespace?
Best,
Konrad