diff --git a/src/bun.js/api/ffi.zig b/src/bun.js/api/ffi.zig index 1f300a6113..cd246bd55a 100644 --- a/src/bun.js/api/ffi.zig +++ b/src/bun.js/api/ffi.zig @@ -319,8 +319,6 @@ pub const FFI = struct { } pub fn compile(this: *CompileC, globalThis: *JSGlobalObject) !struct { *TCC.State, []u8 } { - bun.analytics.Features.ffi += 1; - const compile_options: [:0]const u8 = if (this.flags.len > 0) this.flags else if (bun.env_var.BUN_TCC_OPTIONS.get()) |tcc_options| @@ -804,6 +802,8 @@ pub const FFI = struct { bytes_to_free_on_error = ""; compile_c.symbols = .{}; + bun.analytics.Features.ffi += 1; + const js_object = lib.toJS(globalThis); jsc.Codegen.JSFFI.symbolsValueSetCached(js_object, globalThis, obj); return js_object; @@ -853,6 +853,7 @@ pub const FFI = struct { .compiled => { const function_ = bun.default_allocator.create(Function) catch unreachable; function_.* = func.*; + bun.analytics.Features.ffi += 1; return JSValue.createObject2( globalThis, ZigString.static("ptr"), @@ -1068,8 +1069,6 @@ pub const FFI = struct { }; }; - bun.analytics.Features.ffi += 1; - var size = symbols.values().len; if (size >= 63) { size = 0; @@ -1153,6 +1152,8 @@ pub const FFI = struct { .functions = symbols, }); + bun.analytics.Features.ffi += 1; + const js_object = lib.toJS(global); jsc.Codegen.JSFFI.symbolsValueSetCached(js_object, global, obj); return js_object; @@ -1516,8 +1517,6 @@ pub const FFI = struct { const tcc_options = "-std=c11 -nostdlib -Wl,--export-all-symbols" ++ if (Environment.isDebug) " -g" else ""; pub fn compile(this: *Function, napiEnv: ?*napi.NapiEnv) !void { - bun.analytics.Features.ffi += 1; - var source_code = std.ArrayList(u8).init(this.allocator); var source_code_writer = source_code.writer(); try this.printSourceCode(&source_code_writer); @@ -1592,8 +1591,6 @@ pub const FFI = struct { js_function: JSValue, is_threadsafe: bool, ) !void { - bun.analytics.Features.ffi += 1; - jsc.markBinding(@src()); var source_code = std.ArrayList(u8).init(this.allocator); var source_code_writer = source_code.writer();