Thanks, Ben. > Assuming your execution contexts don't interleave (context A can't > call functions from context B), then all you have to do is place > CancelTerminateExecution calls in the right spots.
Yes, we do not have contexts interleaving(but context switch due to async calls). As to the "right spots" could you please give me more details or advice about it? Now I'm planning to `CancelTerminateExecution` when the `v8::TryCatch` is `HasTerminated`, which is created before entering js code, And mark the current execution environment as terminated so that we can skip Resolve/Reject when async operations are completed and thus ensure that no new microtask is generated or ran(now we use the auto policy for microtask). Besides the right spots, I'm also concerned that how the per-isolate(shared by all contexts) data are processed when I call 'TerminateExecution'. Such as the microtask queue, will the queue be cleared up by v8 automatically or I should do it manually? -- -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-users/239e50dc-59d8-4cf9-8abb-1296fff03ee9n%40googlegroups.com.
