| Index: src/v8natives.js
|
| diff --git a/src/v8natives.js b/src/v8natives.js
|
| index c1955cfdf7b71eb41e11af3e312992e0305922f1..3f993a2444951de9791b0008c1177ffd5971177a 100644
|
| --- a/src/v8natives.js
|
| +++ b/src/v8natives.js
|
| @@ -1906,7 +1906,16 @@ function RunMicrotasks() {
|
| RunMicrotasks.queue = new InternalArray;
|
|
|
| for (var i = 0; i < microtasks.length; i++) {
|
| - microtasks[i]();
|
| + var microtask = microtasks[i];
|
| + if (typeof microtask === 'function')
|
| + microtask();
|
| + else
|
| + %RunExternalMicrotask(microtask);
|
| }
|
| }
|
| }
|
| +
|
| +function EnqueueExternalMicrotask(handler) {
|
| + %SetMicrotaskPending(true);
|
| + RunMicrotasks.queue.push(handler);
|
| +}
|
|
|