aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/bindings/sizes.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/javascript/jsc/bindings/sizes.zig')
-rw-r--r--src/javascript/jsc/bindings/sizes.zig38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/javascript/jsc/bindings/sizes.zig b/src/javascript/jsc/bindings/sizes.zig
new file mode 100644
index 000000000..a48ac9f16
--- /dev/null
+++ b/src/javascript/jsc/bindings/sizes.zig
@@ -0,0 +1,38 @@
+// Auto-generated by src/javascript/jsc/headergen/sizegen.cpp at 2021-07-21 02:02:1626858148.
+// These are the byte sizes for the different object types with bindings in JavaScriptCore.
+// This allows us to safely return stack allocated C++ types to Zig.
+// It is only safe to do this when these sizes are correct.
+// That means:
+// 1. We can't dynamically link JavaScriptCore
+// 2. It's important that this is run whenever JavaScriptCore is updated or the bindings on the Zig side change.
+// Failure to do so will lead to undefined behavior and probably some frustrated people.
+// --- To renegerate: ---
+// 1. "make jsc-bindings-headers"
+// 2. "make sizegen"
+// 3. "make jsc-bindings-headers"
+// You can verify the numbers written in this file at runtime via the `extern`d types
+pub const JSC__JSObject = 16;
+pub const JSC__PropertyNameArray = 48;
+pub const JSC__JSCell = 8;
+pub const JSC__JSString = 16;
+pub const Wundle__DefaultGlobal = 2464;
+pub const JSC__JSModuleLoader = 16;
+pub const JSC__JSModuleRecord = 344;
+pub const JSC__JSPromise = 32;
+pub const JSC__SourceOrigin = 48;
+pub const JSC__SourceCode = 24;
+pub const JSC__JSFunction = 32;
+pub const JSC__JSGlobalObject = 2464;
+pub const WTF__URL = 40;
+pub const WTF__String = 8;
+pub const JSC__JSValue = 8;
+pub const JSC__PropertyName = 8;
+pub const JSC__Exception = 40;
+pub const JSC__VM = 49080;
+pub const JSC__ThrowScope = 8;
+pub const JSC__CatchScope = 8;
+pub const JSC__CallFrame = 8;
+pub const JSC__Identifier = 8;
+pub const WTF__StringImpl = 24;
+pub const WTF__ExternalStringImpl = 32;
+pub const WTF__StringView = 24;