aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc
diff options
context:
space:
mode:
Diffstat (limited to 'src/javascript/jsc')
-rw-r--r--src/javascript/jsc/JavascriptCore.zig4
m---------src/javascript/jsc/WebKit0
-rw-r--r--src/javascript/jsc/bindings/ZigGlobalObject.cpp17
3 files changed, 13 insertions, 8 deletions
diff --git a/src/javascript/jsc/JavascriptCore.zig b/src/javascript/jsc/JavascriptCore.zig
index f443799c1..dd271d2c0 100644
--- a/src/javascript/jsc/JavascriptCore.zig
+++ b/src/javascript/jsc/JavascriptCore.zig
@@ -544,3 +544,7 @@ pub const JSString = struct {
}
}
};
+
+
+// not official api functions
+pub extern "c" fn JSCInitialize() void;
diff --git a/src/javascript/jsc/WebKit b/src/javascript/jsc/WebKit
-Subproject 231267671049bbd7cd60cd6e66fbc76b9e5ee5e
+Subproject 487a7b31de9fa54dab1611799db26907c14dc5a
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();