aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/bindings/sizes.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-07-21 02:07:07 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-07-21 02:07:07 -0700
commita8a4f280469d4d3baf8ea6e9dbce9ec06bd3d868 (patch)
tree8a10690daafe99a8d908119f9bb855cd0f3d368a /src/javascript/jsc/bindings/sizes.zig
parentf2ea2027300949b919f9d595ce3039c8bc82d21a (diff)
downloadbun-a8a4f280469d4d3baf8ea6e9dbce9ec06bd3d868.tar.gz
bun-a8a4f280469d4d3baf8ea6e9dbce9ec06bd3d868.tar.zst
bun-a8a4f280469d4d3baf8ea6e9dbce9ec06bd3d868.zip
most of the bindings!
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;