V8 中的并发优化作业
Concurrency optimization job in V8
当并发优化被触发时,一个新的优化作业将被分派到一个子线程中去完成。
Runtime如何知道优化工作已经完成?
我发现在运行时函数StackGuard
中,优化后的代码会设置在JSFunction中,但我不知道这个函数是如何触发的
优化作业完成后,它会向主线程发送信号。请参阅 optimizing-compile-dispatcher.cc
中对 isolate_->stack_guard()->RequestInstallCode()
的调用。函数中的下一个堆栈检查然后会注意到有一个待处理的请求,并输入您已经找到的 StackGuard 函数。
当并发优化被触发时,一个新的优化作业将被分派到一个子线程中去完成。
Runtime如何知道优化工作已经完成?
我发现在运行时函数StackGuard
中,优化后的代码会设置在JSFunction中,但我不知道这个函数是如何触发的
优化作业完成后,它会向主线程发送信号。请参阅 optimizing-compile-dispatcher.cc
中对 isolate_->stack_guard()->RequestInstallCode()
的调用。函数中的下一个堆栈检查然后会注意到有一个待处理的请求,并输入您已经找到的 StackGuard 函数。