|
V8 Microtask Queue & API
This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue".
It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to
-schedule a microtask (EnqueueExternalMicrotask)
-run the microtask queue (RunMicrotasks)
-control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks).
R=dcarney@chromium.org, rossberg@chromium.org, dcarney, rossberg, svenpanne
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=19344
Total comments: 8
Total comments: 6
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+730 lines, -188 lines) |
Patch |
|
M |
include/v8.h
|
View
|
1
2
3
4
5
6
|
2 chunks |
+17 lines, -1 line |
0 comments
|
Download
|
|
M |
src/api.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+19 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/bootstrapper.cc
|
View
|
1
2
3
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/contexts.h
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/execution.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/execution.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+14 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/heap.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/heap.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/isolate.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/object-observe.js
|
View
|
1
2
3
4
5
|
2 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/promise.js
|
View
|
1
2
3
4
5
|
1 chunk |
+18 lines, -26 lines |
0 comments
|
Download
|
|
M |
src/runtime.h
|
View
|
1
2
3
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/runtime.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+15 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/v8.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/v8.cc
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+19 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/v8natives.js
|
View
|
1
2
3
4
5
|
1 chunk |
+22 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/cctest/cctest.gyp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/test-api.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+96 lines, -0 lines |
0 comments
|
Download
|
|
A |
test/cctest/test-microtask-delivery.cc
|
View
|
1
2
3
|
1 chunk |
+137 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/fuzz-natives-part3.js
|
View
|
1
2
3
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
A |
test/mjsunit/harmony/microtask-delivery.js
|
View
|
1
2
3
|
1 chunk |
+168 lines, -0 lines |
0 comments
|
Download
|
|
M |
tools/v8heapconst.py
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+171 lines, -150 lines |
0 comments
|
Download
|
Total messages: 13 (0 generated)
|