Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does V8 have an event loop?

Tags:

event-loop

v8

I keep hearing V8 has its rudimentary event loop implementation but

  1. couldn't find it
  2. doesn't really make sense to me. Methinks, the simplest design of a JS engine would be to simply run synchronously and let the "embedder" write their own event loop - like nodejs got libuv.

Is there an event loop implementation in v8? If so, could you point me at it?

like image 527
Novellizator Avatar asked May 01 '18 10:05

Novellizator


1 Answers

Your intuition is right that the event loop is something that embedders should have control over. However, it is also a fundamental abstract concept of the JavaScript programming model. V8's solution is to provide a default implementation that embedders can override; you can find it in the "libplatform" component: https://chromium.googlesource.com/v8/v8/+/master/src/libplatform/default-platform.cc#140

See also Relationship between event loop,libuv and v8 engine

like image 163
jmrk Avatar answered Sep 21 '22 03:09

jmrk