c53c20fe64
This CL adds a new method to the `console` that is available when DevTools is open. In TypeScript notation the API is: ``` namespace console { // Creates a new `Task` and associates the current async // stack trace with the created `Task`. scheduleTask(name: string): Task; } interface Task { // Executes an arbitrary payload and forwards the return value // back to the caller. Any async stack trace captured during // 'f' has the site of the corresponding `scheduleTask` as // its parent. run<T>(f: () => T): T; } ``` The API is a saner user-facing API for our async stack trace mechanism: * scheduleAsyncTask corresponds to scheduleTask * startAsyncTask/stopAsyncTask are called implicitly before `f` is executed. * cancelAsyncTask is called implicitly when `Task` is GC'ed The API is behind the flag --experimental-async-stack-tagging-api Bug: chromium:1334585 Change-Id: Ic6054279a108756caed6b4b5f2d1fe4a1bdbaf78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3776678 Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#81881} |
||
---|---|---|
.. | ||
clear-async-stack-on-context-reset-expected.txt | ||
clear-async-stack-on-context-reset.js | ||
destroy-context-during-log-expected.txt | ||
destroy-context-during-log.js | ||
scoped-variables-expected.txt | ||
scoped-variables.js | ||
stack-tagging-expected.txt | ||
stack-tagging.js |