V8 中的并发优化作业

Concurrency optimization job in V8

当并发优化​​被触发时,一个新的优化作业将被分派到一个子线程中去完成。

Runtime如何知道优化工作已经完成?

我发现在运行时函数StackGuard中,优化后的代码会设置在JSFunction中,但我不知道这个函数是如何触发的

优化作业完成后,它会向主线程发送信号。请参阅 optimizing-compile-dispatcher.cc 中对 isolate_->stack_guard()->RequestInstallCode() 的调用。函数中的下一个堆栈检查然后会注意到有一个待处理的请求,并输入您已经找到的 StackGuard 函数。