diff --git a/src/bun.js/ConsoleObject.zig b/src/bun.js/ConsoleObject.zig index f9d540ed11..491689ecc4 100644 --- a/src/bun.js/ConsoleObject.zig +++ b/src/bun.js/ConsoleObject.zig @@ -1629,11 +1629,11 @@ pub const Formatter = struct { }, .j => { - // JSON.stringify the value + // JSON.stringify the value using FastStringifier for SIMD optimization var str = bun.String.empty; defer str.deref(); - try next_value.jsonStringify(global, 0, &str); + try next_value.jsonStringifyFast(global, &str); this.addForNewLine(str.length()); writer.print("{f}", .{str}); }, diff --git a/src/bun.js/api/JSTranspiler.zig b/src/bun.js/api/JSTranspiler.zig index 86814d6dee..2524468d1a 100644 --- a/src/bun.js/api/JSTranspiler.zig +++ b/src/bun.js/api/JSTranspiler.zig @@ -165,7 +165,8 @@ pub const Config = struct { } if (!kind.isStringLike()) { - try tsconfig.jsonStringify(globalThis, 0, &out); + // Use jsonStringifyFast for SIMD-optimized serialization + try tsconfig.jsonStringifyFast(globalThis, &out); } else { out = try tsconfig.toBunString(globalThis); } @@ -204,7 +205,8 @@ pub const Config = struct { defer out.deref(); // TODO: write a converter between JSC types and Bun AST types if (is_object) { - try macros.jsonStringify(globalThis, 0, &out); + // Use jsonStringifyFast for SIMD-optimized serialization + try macros.jsonStringifyFast(globalThis, &out); } else { out = try macros.toBunString(globalThis); } diff --git a/src/bun.js/ipc.zig b/src/bun.js/ipc.zig index 5ac9975619..fa00ec05a5 100644 --- a/src/bun.js/ipc.zig +++ b/src/bun.js/ipc.zig @@ -229,7 +229,9 @@ const json = struct { pub fn serialize(writer: *bun.io.StreamBuffer, global: *jsc.JSGlobalObject, value: JSValue, is_internal: IsInternal) !usize { var out: bun.String = undefined; - try value.jsonStringify(global, 0, &out); + // Use jsonStringifyFast which passes undefined for the space parameter, + // triggering JSC's SIMD-optimized FastStringifier code path. + try value.jsonStringifyFast(global, &out); defer out.deref(); if (out.tag == .Dead) return IPCSerializationError.SerializationFailed; diff --git a/src/bun.js/test/jest.zig b/src/bun.js/test/jest.zig index cb913c812d..1acacb9994 100644 --- a/src/bun.js/test/jest.zig +++ b/src/bun.js/test/jest.zig @@ -430,7 +430,8 @@ pub fn formatLabel(globalThis: *JSGlobalObject, label: string, function_args: [] 'j', 'o' => { var str = bun.String.empty; defer str.deref(); - try current_arg.jsonStringify(globalThis, 0, &str); + // Use jsonStringifyFast for SIMD-optimized serialization + try current_arg.jsonStringifyFast(globalThis, &str); const owned_slice = bun.handleOom(str.toOwnedSlice(allocator)); defer allocator.free(owned_slice); bun.handleOom(list.appendSlice(owned_slice)); diff --git a/src/sql/mysql/MySQLTypes.zig b/src/sql/mysql/MySQLTypes.zig index 0280718592..a4efe2fdba 100644 --- a/src/sql/mysql/MySQLTypes.zig +++ b/src/sql/mysql/MySQLTypes.zig @@ -486,7 +486,8 @@ pub const Value = union(enum) { .MYSQL_TYPE_JSON => { var str: bun.String = bun.String.empty; - try value.jsonStringify(globalObject, 0, &str); + // Use jsonStringifyFast for SIMD-optimized serialization + try value.jsonStringifyFast(globalObject, &str); defer str.deref(); return Value{ .string = str.toUTF8(bun.default_allocator) }; }, diff --git a/src/sql/postgres/PostgresRequest.zig b/src/sql/postgres/PostgresRequest.zig index 775ab536c9..c06bc28c19 100644 --- a/src/sql/postgres/PostgresRequest.zig +++ b/src/sql/postgres/PostgresRequest.zig @@ -101,7 +101,8 @@ pub fn writeBind( .jsonb, .json => { var str = bun.String.empty; defer str.deref(); - try value.jsonStringify(globalObject, 0, &str); + // Use jsonStringifyFast for SIMD-optimized serialization + try value.jsonStringifyFast(globalObject, &str); const slice = str.toUTF8WithoutRef(bun.default_allocator); defer slice.deinit(); const l = try writer.length();