diff options
author | 2023-07-22 04:31:58 -0700 | |
---|---|---|
committer | 2023-07-22 04:31:58 -0700 | |
commit | c6a3467625fede0fe9901ab53b0aabd651866b64 (patch) | |
tree | 6cdd9bfd79756e97081b45de5323a7bbde62ceff /src/bun.js/bindings/BunClientData.cpp | |
parent | 636cec03e10ab487b1df3057aaab60b4d2b02c99 (diff) | |
download | bun-c6a3467625fede0fe9901ab53b0aabd651866b64.tar.gz bun-c6a3467625fede0fe9901ab53b0aabd651866b64.tar.zst bun-c6a3467625fede0fe9901ab53b0aabd651866b64.zip |
Unified event loop (#3741)
* Unified event loop
* Update WebKit, add test for es-module-lexer
* Update README.md
* Use async wasm
* Explicitly set whether concurrenttask should be deinit'd
* Update package.json
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/bindings/BunClientData.cpp')
-rw-r--r-- | src/bun.js/bindings/BunClientData.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/bun.js/bindings/BunClientData.cpp b/src/bun.js/bindings/BunClientData.cpp index 2cdd8b25a..9af17d638 100644 --- a/src/bun.js/bindings/BunClientData.cpp +++ b/src/bun.js/bindings/BunClientData.cpp @@ -21,6 +21,7 @@ #include "JavaScriptCore/JSCInlines.h" #include "JSDOMWrapper.h" +#include <JavaScriptCore/DeferredWorkTimer.h> namespace WebCore { using namespace JSC; @@ -69,9 +70,14 @@ JSVMClientData::~JSVMClientData() ASSERT(m_normalWorld->hasOneRef()); m_normalWorld = nullptr; } -void JSVMClientData::create(VM* vm) +void JSVMClientData::create(VM* vm, void* bunVM) { JSVMClientData* clientData = new JSVMClientData(*vm); + clientData->bunVM = bunVM; + vm->deferredWorkTimer->onAddPendingWork = Bun::JSCTaskScheduler::onAddPendingWork; + vm->deferredWorkTimer->onScheduleWorkSoon = Bun::JSCTaskScheduler::onScheduleWorkSoon; + vm->deferredWorkTimer->onCancelPendingWork = Bun::JSCTaskScheduler::onCancelPendingWork; + vm->clientData = clientData; // ~VM deletes this pointer. clientData->m_normalWorld = DOMWrapperWorld::create(*vm, DOMWrapperWorld::Type::Normal); |