diff options
Diffstat (limited to 'src/javascript/jsc/bindings/ZigGlobalObject.cpp')
-rw-r--r-- | src/javascript/jsc/bindings/ZigGlobalObject.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/javascript/jsc/bindings/ZigGlobalObject.cpp b/src/javascript/jsc/bindings/ZigGlobalObject.cpp index dd98742d2..e470e27b5 100644 --- a/src/javascript/jsc/bindings/ZigGlobalObject.cpp +++ b/src/javascript/jsc/bindings/ZigGlobalObject.cpp @@ -58,6 +58,8 @@ #include <wtf/text/StringView.h> #include <wtf/text/WTFString.h> +#include <wtf/Gigacage.h> + #include <cstdlib> #include <exception> #include <iostream> @@ -82,22 +84,21 @@ namespace JSCastingHelpers = JSC::JSCastingHelpers; bool has_loaded_jsc = false; -extern "C" JSC__JSGlobalObject *Zig__GlobalObject__create(JSClassRef *globalObjectClass, int count, - void *console_client) { - - if (!has_loaded_jsc) { +extern "C" void JSCInitialize() { + if (has_loaded_jsc) return; JSC::Options::useSourceProviderCache() = true; JSC::Options::useUnlinkedCodeBlockJettisoning() = false; // JSC::Options::useTopLevelAwait() = true; JSC::Options::exposeInternalModuleLoader() = true; - std::set_terminate([]() { Zig__GlobalObject__onCrash(); }); + // std::set_terminate([]() { Zig__GlobalObject__onCrash(); }); WTF::initializeMainThread(); JSC::initialize(); + // Gigacage::disablePrimitiveGigacage(); has_loaded_jsc = true; - } - - // JSC::Options::useCodeCache() = false; +} +extern "C" JSC__JSGlobalObject *Zig__GlobalObject__create(JSClassRef *globalObjectClass, int count, + void *console_client) { auto heapSize = JSC::LargeHeap; JSC::VM &vm = JSC::VM::create(heapSize).leakRef(); |