diff options
author | 2022-04-07 01:57:45 -0700 | |
---|---|---|
committer | 2022-04-07 01:57:45 -0700 | |
commit | e08cc968cb531e35aa93e45c3443bc8d16854b83 (patch) | |
tree | 7eae3676e884c7904a64acc1090b69a204be816b /src/javascript/jsc/bindings/ZigGlobalObject.cpp | |
parent | 9bee40813f3e4296b93af45e6a070794554594ca (diff) | |
download | bun-e08cc968cb531e35aa93e45c3443bc8d16854b83.tar.gz bun-e08cc968cb531e35aa93e45c3443bc8d16854b83.tar.zst bun-e08cc968cb531e35aa93e45c3443bc8d16854b83.zip |
add GC output constraints
I don't fully understand what this does
but it sounds good!
Diffstat (limited to 'src/javascript/jsc/bindings/ZigGlobalObject.cpp')
-rw-r--r-- | src/javascript/jsc/bindings/ZigGlobalObject.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/javascript/jsc/bindings/ZigGlobalObject.cpp b/src/javascript/jsc/bindings/ZigGlobalObject.cpp index 509f6d2fc..8d005a981 100644 --- a/src/javascript/jsc/bindings/ZigGlobalObject.cpp +++ b/src/javascript/jsc/bindings/ZigGlobalObject.cpp @@ -22,7 +22,7 @@ #include "JavaScriptCore/InitializeThreading.h" #include "JavaScriptCore/IteratorOperations.h" #include "JavaScriptCore/JSArray.h" -#include "JavaScriptCore/JSCInlines.h" + #include "JavaScriptCore/JSCallbackConstructor.h" #include "JavaScriptCore/JSCallbackObject.h" #include "JavaScriptCore/JSCast.h" @@ -109,7 +109,6 @@ extern "C" void JSCInitialize() has_loaded_jsc = true; JSC::Config::enableRestrictedOptions(); - // JSC::Options::useAtMethod() = true; std::set_terminate([]() { Zig__GlobalObject__onCrash(); }); WTF::initializeMainThread(); JSC::initialize(); @@ -136,12 +135,12 @@ extern "C" JSC__JSGlobalObject* Zig__GlobalObject__create(JSClassRef* globalObje auto heapSize = JSC::HeapType::Large; JSC::VM& vm = JSC::VM::create(heapSize).leakRef(); + JSC::Wasm::enableFastMemory(); - WebCore::JSVMClientData::create(&vm); - + // This must happen before JSVMClientData::create vm.heap.acquireAccess(); - JSC::Wasm::enableFastMemory(); + WebCore::JSVMClientData::create(&vm); JSC::JSLockHolder locker(vm); Zig::GlobalObject* globalObject = Zig::GlobalObject::create(vm, Zig::GlobalObject::createStructure(vm, JSC::JSGlobalObject::create(vm, JSC::JSGlobalObject::createStructure(vm, JSC::jsNull())), JSC::jsNull())); @@ -152,6 +151,7 @@ extern "C" JSC__JSGlobalObject* Zig__GlobalObject__create(JSClassRef* globalObje } JSC::gcProtect(globalObject); + vm.ref(); return globalObject; } |