aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/ScriptExecutionContext.h
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-07-16 21:15:24 -0700
committerGravatar GitHub <noreply@github.com> 2023-07-16 21:15:24 -0700
commit209dc981c0ef52de5c80eab5d24ec8a8eba765e8 (patch)
treec3d203d03d109161bcaf25558c05fda49c5e864e /src/bun.js/bindings/ScriptExecutionContext.h
parent7fc392b182fa45d1fa33e654c2b4d1f1022a1ac3 (diff)
downloadbun-209dc981c0ef52de5c80eab5d24ec8a8eba765e8.tar.gz
bun-209dc981c0ef52de5c80eab5d24ec8a8eba765e8.tar.zst
bun-209dc981c0ef52de5c80eab5d24ec8a8eba765e8.zip
Implement Workers (#3645)
* copy files * format * options * Introduce `Worker`, `onmessage`, `onerror`, and `postMessage` globals * Stub `Worker.prototype.ref` & `Worker.prototype.unref` * Update web_worker.zig * Worker works * Add "mini" mode * add wakeup * Partially fix the keep-alive issue * clean up refer behavior * Implement `serialize` & `deserialize` in `bun:jsc` & add polyfill for `node:v8` * Types & docs * Update globals.d.ts * Add mutex * Fixes --------- Co-authored-by: Dylan Conway <dylan.conway567@gmail.com> Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/bindings/ScriptExecutionContext.h')
-rw-r--r--src/bun.js/bindings/ScriptExecutionContext.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/bun.js/bindings/ScriptExecutionContext.h b/src/bun.js/bindings/ScriptExecutionContext.h
index fcf65f477..c3fbd7c9b 100644
--- a/src/bun.js/bindings/ScriptExecutionContext.h
+++ b/src/bun.js/bindings/ScriptExecutionContext.h
@@ -81,6 +81,15 @@ public:
regenerateIdentifier();
}
+ ScriptExecutionContext(JSC::VM* vm, JSC::JSGlobalObject* globalObject, ScriptExecutionContextIdentifier identifier)
+ : m_vm(vm)
+ , m_globalObject(globalObject)
+ , m_identifier(identifier)
+ {
+ }
+
+ static ScriptExecutionContextIdentifier generateIdentifier();
+
JSC::JSGlobalObject* jsGlobalObject()
{
return m_globalObject;
@@ -170,6 +179,12 @@ public:
JSC::VM& vm() { return *m_vm; }
ScriptExecutionContextIdentifier identifier() const { return m_identifier; }
+ bool isWorker = false;
+ void setGlobalObject(JSC::JSGlobalObject* globalObject)
+ {
+ m_globalObject = globalObject;
+ }
+
private:
JSC::VM* m_vm = nullptr;
JSC::JSGlobalObject* m_globalObject = nullptr;