b98dd0af92
With creation frame we can show additional information with description of each async stack trace, which could help user to understand where promises were chained. At least in case of Promise.resolve().then(foo1).then(foo2) we would be able to show following stack trace for break in foo2 callback: foo2 (test.js:14:2) -- Promise.resolve (test.js:29:14)-- -- Promise.resolve (test.js:28:14)-- promiseThen (test.js:30:2) More details: https://docs.google.com/document/d/1u19N45f1gSF7M39mGsycJEK3IPyJgIXCBnWyiPeuJFE BUG=v8:5738 R=dgozman@chromium.org,gsathya@chromium.org Review-Url: https://codereview.chromium.org/2648873002 Cr-Commit-Position: refs/heads/master@{#42682}
101 lines
2.2 KiB
Plaintext
101 lines
2.2 KiB
Plaintext
Checks created frame for async call chain
|
|
|
|
Running test: testPromise
|
|
foo1 (test.js:10:2)
|
|
-- Promise.resolve (test.js:20:14)--
|
|
promise (test.js:21:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testPromiseThen
|
|
foo1 (test.js:10:2)
|
|
-- Promise.resolve (test.js:28:14)--
|
|
promiseThen (test.js:30:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo2 (test.js:14:2)
|
|
-- Promise.resolve (test.js:29:14)--
|
|
-- Promise.resolve (test.js:28:14)--
|
|
promiseThen (test.js:30:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testPromiseThenThen
|
|
foo1 (test.js:10:2)
|
|
-- Promise.resolve (test.js:37:14)--
|
|
promiseThenThen (test.js:39:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo1 (test.js:10:2)
|
|
-- Promise.resolve (test.js:38:14)--
|
|
promiseThenThen (test.js:39:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo2 (test.js:14:2)
|
|
-- Promise.resolve (test.js:37:25)--
|
|
-- Promise.resolve (test.js:37:14)--
|
|
promiseThenThen (test.js:39:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testPromiseResolve
|
|
foo1 (test.js:10:2)
|
|
-- Promise.resolve (test.js:44:27)--
|
|
promiseResolve (test.js:44:17)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testPromiseReject
|
|
foo1 (test.js:10:2)
|
|
-- Promise.reject (test.js:48:31)--
|
|
promiseReject (test.js:48:17)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testPromiseAll
|
|
foo1 (test.js:10:2)
|
|
-- Promise.resolve (test.js:52:44)--
|
|
-- Promise.resolve (test.js:52:17)--
|
|
promiseAll (test.js:52:31)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testPromiseRace
|
|
foo1 (test.js:10:2)
|
|
-- Promise.resolve (test.js:56:45)--
|
|
-- Promise.resolve (test.js:56:17)--
|
|
promiseRace (test.js:56:32)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testThenableJob1
|
|
foo1 (test.js:10:2)
|
|
-- Promise.resolve (test.js:60:72)--
|
|
-- Promise.resolve (test.js:60:56)--
|
|
Promise.resolve.then (test.js:60:46)
|
|
-- Promise.resolve (test.js:60:27)--
|
|
thenableJob1 (test.js:60:17)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testThenableJob2
|
|
foo1 (test.js:10:2)
|
|
-- Promise.resolve (test.js:64:57)--
|
|
Promise.resolve.then (test.js:64:46)
|
|
-- Promise.resolve (test.js:64:27)--
|
|
thenableJob2 (test.js:64:17)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testSetTimeouts
|
|
foo1 (test.js:10:2)
|
|
setTimeout (test.js:72:25)
|
|
-- setTimeout --
|
|
setTimeout (test.js:72:6)
|
|
-- setTimeout --
|
|
setTimeout (test.js:71:4)
|
|
-- setTimeout --
|
|
setTimeouts (test.js:70:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|