On Sep 26, 2015, at 7:34 AM, Anne van Kesteren wrote: > On Fri, Sep 25, 2015 at 4:48 PM, Justin Novosad <ju...@google.com> wrote: >> Currently there is no spec'ed behavior for handling out-of memory issues >> for the specific case of attempting to allocate a large buffer through >> image data APIs. > > Actually, there is no specified behavior for out-of-memory behavior, > period. This is a problem that starts with the ECMAScript standard and > everything that builds upon it.
Actually, that's not completely correct. Within ES2015, the only way explicitly allocate a large, dense area of memory is by creating a large ArrayBuffer instance. All attempts to create such instances eventually perform the actions specified by CreateDataBlock [1]. CreateDataBlock explicitly says that a RangeError exception is thrown if it is impossible to allocated the requested memory. I would expect and future ES features that exposed similar allocation capabilities to follow that same pattern. Allen [1]: http://ecma-international.org/ecma-262/6.0/#sec-createbytedatablock > > I have seen Mark Miller discuss some of the issues surrounding this > and perhaps even the necessity to eventually define it, but so far > this has not happened. Not sure if the full story is documented > somewhere. Mark? > > https://esdiscuss.org/topic/using-max-stack-limit-to-determine-current-js-engine-and-revision#content-7 > indicates there may be security issues with throwing out-of-memory > exceptions. > > > -- > https://annevankesteren.nl/ >