On Tue, May 17, 2016 at 6:25 PM, Jakob Kummerow <[email protected]> wrote:
> On Tue, May 17, 2016 at 1:01 AM, Caitlin Potter <[email protected]> > wrote: > >> As part of the async functions runtime implementation, I had implemented >> a function in d8.cc which would call isolate->RunMicrotasks() --- but was >> talked down from doing this because of a worry that it might interfere with >> certain uses of d8 out in the wild. >> >> So, I went with using the existing %RunMicrotasks runtime function --- >> but of course this requires a flag to be present, so the mjsunit helpers >> which rely on this can't be present in mjsunit.js (which means either a lot >> of code duplication, or worse). >> > > Yes they can; grep for "%GetOptimizationStatus" in mjsunit.js. > I would vote for not adding yet another function like assertOptimized to mjsunit.js that tries to catch the "SyntaxError: Unexpected token %" an turns into a nop when the --allow-natives-syntax flag is not passed. This just hides the fact that the request (i.e. draining the microtask queue) can just not be fulfilled without said flag. > > (I can't comment on functionality concerns around %RunMicrotasks -- if the > approach is invalid in general, then the above point is obviously moot.) > > >> What I'd like to do is get a feel for just how dangerous something like >> `runMicrotasks()` in d8.cc, or if we could get away with adding it as a >> method of a `TestUtils` or `Utils` object instead. Something that would >> allow tests which rely on being able to drain the microtask queue (in order >> to execute quickly, predictably, and synchronously, while still verifying >> the correct async behaviours), without requiring a --allow-natives-syntax >> just to parse the script. >> >> I don't think there's a huge risk in adding these to d8.cc, and they >> aren't exposed in v8 itself (or Chromium) --- if you're a user of d8 and >> you think a global variable named "Utils", "TestUtils", "runMicrotasks", or >> whatever, would interfere with your uses of d8, I'd like to hear why and >> how. >> >> Hopefully, there's consensus that it's not dangerous to add such a method >> or object to d8's global object. >> >> -- >> -- >> v8-users mailing list >> [email protected] >> http://groups.google.com/group/v8-users >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > -- > v8-users mailing list > [email protected] > http://groups.google.com/group/v8-users > --- > You received this message because you are subscribed to the Google Groups > "v8-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
