https://codereview.chromium.org/260723002/diff/1/src/debug.cc
File src/debug.cc (right):
https://codereview.chromium.org/260723002/diff/1/src/debug.cc#newcode1334
src/debug.cc:1334: current_promise_catch_handler_ = NULL;
On 2014/04/30 12:55:17, rossberg wrote:
Are we sure that PromiseHandle can never be reentered recursively?
I'm asserting now that the prologue always gets the uninitialized state.
https://codereview.chromium.org/260723002/diff/1/src/debug.h
File src/debug.h (right):
https://codereview.chromium.org/260723002/diff/1/src/debug.h#newcode239
src/debug.h:239: void PromiseHandlePrologue(Handle<JSFunction> promise);
On 2014/04/30 12:55:17, rossberg wrote:
Perhaps name the argument get_promise for clarity.
Done.
https://codereview.chromium.org/260723002/diff/1/src/promise.js
File src/promise.js (left):
https://codereview.chromium.org/260723002/diff/1/src/promise.js#oldcode320
src/promise.js:320: function GetPromiseStatus(promise) {
On 2014/04/30 12:55:17, rossberg wrote:
As discussed offline, I'd prefer to keep the accessors.
Done.
https://codereview.chromium.org/260723002/diff/1/src/promise.js
File src/promise.js (right):
https://codereview.chromium.org/260723002/diff/1/src/promise.js#newcode44
src/promise.js:44: %DebugPromiseHandleEpilogue();
On 2014/04/30 12:55:17, rossberg wrote:
Put his in 'finally' clause (also below).
Done.
https://codereview.chromium.org/260723002/diff/1/src/promise.js#newcode180
src/promise.js:180: %DebugPromiseHandlePrologue(function() { return
deferred.promise });
On 2014/04/30 12:55:17, rossberg wrote:
It's a bit weird that the prologue is executed twice. Doesn't it have
to match
up with the Epilogue?
Done.
https://codereview.chromium.org/260723002/diff/1/test/mjsunit/es6/debug-promises-undefined-reject.js
File test/mjsunit/es6/debug-promises-undefined-reject.js (right):
https://codereview.chromium.org/260723002/diff/1/test/mjsunit/es6/debug-promises-undefined-reject.js#newcode43
test/mjsunit/es6/debug-promises-undefined-reject.js:43: assertEquals(q,
event_data.promise());
On 2014/04/30 13:01:07, aandrey wrote:
check frame 0 source line?
There is really no way to do that. The resulting error stack trace is
entirely native code. This happens because the promise object is a
custom one and the reject handler that was queued as microtask is not a
valid function.
https://codereview.chromium.org/260723002/
--
--
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/d/optout.