aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/javascript/jsc/bindings/ZigGlobalObject.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/javascript/jsc/bindings/ZigGlobalObject.cpp b/src/javascript/jsc/bindings/ZigGlobalObject.cpp
index cf853e2d4..3717c85d4 100644
--- a/src/javascript/jsc/bindings/ZigGlobalObject.cpp
+++ b/src/javascript/jsc/bindings/ZigGlobalObject.cpp
@@ -94,18 +94,27 @@ extern "C" void JSCInitialize()
if (has_loaded_jsc)
return;
has_loaded_jsc = true;
+ JSC::Config::enableRestrictedOptions();
- JSC::Options::useConcurrentJIT() = true;
- JSC::Options::useSigillCrashAnalyzer() = true;
- JSC::Options::useWebAssembly() = true;
- JSC::Options::useSourceProviderCache() = true;
- JSC::Options::useUnlinkedCodeBlockJettisoning() = false;
- JSC::Options::exposeInternalModuleLoader() = true;
- JSC::Options::useSharedArrayBuffer() = true;
// JSC::Options::useAtMethod() = true;
std::set_terminate([]() { Zig__GlobalObject__onCrash(); });
WTF::initializeMainThread();
JSC::initialize();
+ {
+ JSC::Options::AllowUnfinalizedAccessScope scope;
+
+ JSC::Options::useConcurrentJIT() = true;
+ JSC::Options::useSigillCrashAnalyzer() = true;
+ JSC::Options::useWebAssembly() = true;
+ JSC::Options::useSourceProviderCache() = true;
+ JSC::Options::useUnlinkedCodeBlockJettisoning() = false;
+ JSC::Options::exposeInternalModuleLoader() = true;
+ JSC::Options::useSharedArrayBuffer() = true;
+ JSC::Options::useJIT() = true;
+ JSC::Options::useBBQJIT() = true;
+
+ JSC::Options::ensureOptionsAreCoherent();
+ }
}
extern "C" JSC__JSGlobalObject* Zig__GlobalObject__create(JSClassRef* globalObjectClass, int count,