diff options
author | 2021-12-30 21:12:32 -0800 | |
---|---|---|
committer | 2021-12-30 21:12:32 -0800 | |
commit | e75c711c68896f5952793601f156c921c814caab (patch) | |
tree | f3b30e2281c7231d480bb84503d17b2370866ff9 /misctools | |
parent | 8d031f13c0e04629d431176e211a31224b7618c0 (diff) | |
download | bun-e75c711c68896f5952793601f156c921c814caab.tar.gz bun-e75c711c68896f5952793601f156c921c814caab.tar.zst bun-e75c711c68896f5952793601f156c921c814caab.zip |
Upgrade to latest Zig, remove dependency on patched version of Zig (#96)
* Prepare to upgrade zig
* zig fmt
* AllocGate
* Update data_url.zig
* wip
* few files
* just headers now?
* I think everything works?
* Update mimalloc
* Update hash_map.zig
* Perf improvements to compensate for Allocgate
* Bump
* :camera:
* Update bun.lockb
* Less branching
* [js parser] Slightly reduce memory usage
* Update js_parser.zig
* WIP remove unused
* [JS parser] WIP support for `with` keyword
* Remove more dead code
* Fix all the build errors!
* cleanup
* Move `network_thread` up
* Bump peechy
* Update README.md
Diffstat (limited to 'misctools')
-rw-r--r-- | misctools/features.zig | 11 | ||||
-rw-r--r-- | misctools/fetch.zig | 17 | ||||
-rw-r--r-- | misctools/headers-cleaner.zig | 100 | ||||
-rw-r--r-- | misctools/http_bench.zig | 37 | ||||
-rw-r--r-- | misctools/readlink-getfd.zig | 11 | ||||
-rw-r--r-- | misctools/readlink-realpath.zig | 11 | ||||
-rw-r--r-- | misctools/tgz.zig | 11 |
7 files changed, 126 insertions, 72 deletions
diff --git a/misctools/features.zig b/misctools/features.zig index 9886c12cb..6e1aa7a3e 100644 --- a/misctools/features.zig +++ b/misctools/features.zig @@ -1,7 +1,16 @@ const std = @import("std"); const path_handler = @import("../src/resolver/resolve_path.zig"); -usingnamespace @import("../src/global.zig"); +const _global = @import("../src/global.zig"); +const string = _global.string; +const Output = _global.Output; +const Global = _global.Global; +const Environment = _global.Environment; +const strings = _global.strings; +const MutableString = _global.MutableString; +const stringZ = _global.stringZ; +const default_allocator = _global.default_allocator; +const C = _global.C; const Features = @import("../src/analytics/analytics_thread.zig").Features; // zig run --main-pkg-path ../ ./features.zig diff --git a/misctools/fetch.zig b/misctools/fetch.zig index 776ac3950..7f6a68c45 100644 --- a/misctools/fetch.zig +++ b/misctools/fetch.zig @@ -1,9 +1,18 @@ const std = @import("std"); -usingnamespace @import("../src/global.zig"); +const _global = @import("../src/global.zig"); +const string = _global.string; +const Output = _global.Output; +const Global = _global.Global; +const Environment = _global.Environment; +const strings = _global.strings; +const MutableString = _global.MutableString; +const stringZ = _global.stringZ; +const default_allocator = _global.default_allocator; +const C = _global.C; const clap = @import("../src/deps/zig-clap/clap.zig"); const URL = @import("../src/query_string_map.zig").URL; -const Headers = @import("../src/javascript/jsc/webcore/response.zig").Headers; +const Headers = @import("http").Headers; const Method = @import("../src/http/method.zig").Method; const ColonListType = @import("../src/cli/colon_list_type.zig").ColonListType; const HeadersTuple = ColonListType(string, noop_resolver); @@ -62,7 +71,7 @@ pub const Arguments = struct { body: string = "", turbo: bool = false, - pub fn parse(allocator: *std.mem.Allocator) !Arguments { + pub fn parse(allocator: std.mem.Allocator) !Arguments { var diag = clap.Diagnostic{}; var args = clap.parse(clap.Help, ¶ms, .{ @@ -174,7 +183,7 @@ pub fn main() anyerror!void { var request_body_string = try default_allocator.create(MutableString); request_body_string.* = body_in_str; - try channel.buffer.ensureCapacity(1); + try channel.buffer.ensureTotalCapacity(1); try NetworkThread.init(); diff --git a/misctools/headers-cleaner.zig b/misctools/headers-cleaner.zig index a8261ae4f..e9304d3d7 100644 --- a/misctools/headers-cleaner.zig +++ b/misctools/headers-cleaner.zig @@ -1,58 +1,58 @@ const std = @import("std"); pub fn main() anyerror!void { - const headers_zig_file_src: std.builtin.SourceLocation = @src(); - var paths = [_][]const u8{std.mem.span(headers_zig_file_src.file), "../../src/javascript/jsc/bindings/headers.zig"}; - const headers_zig_file = try std.fs.path.resolve(std.heap.c_allocator, &paths); - std.debug.print("Writing to {s}", .{headers_zig_file}); - var headers_zig: std.fs.File = try std.fs.openFileAbsolute(headers_zig_file, .{ .write = true }); - var contents = try headers_zig.readToEndAlloc(std.heap.page_allocator, headers_zig.getEndPos() catch unreachable); - const last_extern_i = std.mem.lastIndexOf(u8, contents, "pub extern fn") orelse @panic("Expected contents"); - const last_newline = std.mem.indexOf(u8, contents[last_extern_i..], "\n") orelse @panic("Expected newline"); - const to_splice = "usingnamespace @import(\"./headers-replacements.zig\");\n"; - var new_contents = try std.heap.page_allocator.alloc(u8, contents.len + to_splice.len); - std.mem.copy(u8, new_contents, to_splice); - std.mem.copy(u8, new_contents[to_splice.len..], contents); - var i: usize = to_splice.len; - var remainder = new_contents[i..]; - while (remainder.len > 0) { - i = std.mem.indexOf(u8, remainder, "\npub const struct_b") orelse break + "\npub const struct_b".len; - var begin = remainder[i..]; - const end_line = std.mem.indexOf(u8, begin, "extern struct {") orelse break; - const end_struct = std.mem.indexOf(u8, begin, "\n};\n") orelse break + "\n};\n".len; + const headers_zig_file_src: std.builtin.SourceLocation = @src(); + var paths = [_][]const u8{ std.mem.span(headers_zig_file_src.file), "../../src/javascript/jsc/bindings/headers.zig" }; + const headers_zig_file = try std.fs.path.resolve(std.heap.c_allocator, &paths); + std.debug.print("Writing to {s}", .{headers_zig_file}); + var headers_zig: std.fs.File = try std.fs.openFileAbsolute(headers_zig_file, .{ .write = true }); + var contents = try headers_zig.readToEndAlloc(std.heap.page_allocator, headers_zig.getEndPos() catch unreachable); + const last_extern_i = std.mem.lastIndexOf(u8, contents, "pub extern fn") orelse @panic("Expected contents"); + const last_newline = std.mem.indexOf(u8, contents[last_extern_i..], "\n") orelse @panic("Expected newline"); + const to_splice = "// GENERATED CODE - DO NOT MODIFY BY HAND\n\n"; + var new_contents = try std.heap.page_allocator.alloc(u8, contents.len + to_splice.len); + std.mem.copy(u8, new_contents, to_splice); + std.mem.copy(u8, new_contents[to_splice.len..], contents); + var i: usize = to_splice.len; + var remainder = new_contents[i..]; + while (remainder.len > 0) { + i = (std.mem.indexOf(u8, remainder, "\npub const struct_b") orelse break); + var begin = remainder[i..]; + const end_line = (std.mem.indexOf(u8, begin, "extern struct {") orelse break); + const end_struct = (std.mem.indexOf(u8, begin, "\n};\n") orelse break) + "\n};\n".len; - std.mem.set(u8, begin[1 .. end_struct + 3], ' '); - remainder = begin[end_struct..]; - } - i = to_splice.len; - remainder = new_contents[i..]; - while (remainder.len > 0) { - i = std.mem.indexOf(u8, remainder, "\npub const struct_") orelse break + "\npub const struct_".len; - var begin = remainder[i..]; - var end_struct = std.mem.indexOf(u8, begin, "opaque {};") orelse break; - end_struct += std.mem.indexOf(u8, begin[end_struct..], "\n") orelse break; - i = 0; + std.mem.set(u8, begin[1 .. end_struct + 3], ' '); + remainder = begin[end_struct..]; + } + i = to_splice.len; + remainder = new_contents[i..]; + while (remainder.len > 0) { + i = (std.mem.indexOf(u8, remainder, "\npub const struct_") orelse break); + var begin = remainder[i..]; + var end_struct = (std.mem.indexOf(u8, begin, "opaque {};") orelse break); + end_struct += (std.mem.indexOf(u8, begin[end_struct..], "\n") orelse break); + i = 0; - std.mem.set(u8, begin[1..end_struct], ' '); - remainder = begin[end_struct..]; - } + std.mem.set(u8, begin[1..end_struct], ' '); + remainder = begin[end_struct..]; + } - const HARDCODE = [_][]const u8{ - "[*c][*c]JSC__Exception", - "*?*JSC__Exception ", - "[*c]?*c_void", - "[*c]*c_void", - }; - i = 0; - while (i < HARDCODE.len) : (i += 2) { - _ = std.mem.replace(u8, new_contents, HARDCODE[i], HARDCODE[i + 1], new_contents); - } + const HARDCODE = [_][]const u8{ + "[*c][*c]JSC__Exception", + "*?*JSC__Exception ", + "[*c]?*anyopaque", + "[*c]*anyopaque", + }; + i = 0; + while (i < HARDCODE.len) : (i += 2) { + _ = std.mem.replace(u8, new_contents, HARDCODE[i], HARDCODE[i + 1], new_contents); + } - const js_value_start = std.mem.indexOf(u8, new_contents, "pub const JSC__JSValue") orelse unreachable; - const js_value_end = std.mem.indexOf(u8, new_contents[js_value_start..], "\n") orelse unreachable; - std.mem.set(u8, new_contents[js_value_start..][0..js_value_end], ' '); + const js_value_start = std.mem.indexOf(u8, new_contents, "pub const JSC__JSValue") orelse unreachable; + const js_value_end = std.mem.indexOf(u8, new_contents[js_value_start..], "\n") orelse unreachable; + std.mem.set(u8, new_contents[js_value_start..][0..js_value_end], ' '); - try headers_zig.seekTo(0); - try headers_zig.writeAll(new_contents); - try headers_zig.setEndPos(last_newline + last_extern_i + to_splice.len); -}
\ No newline at end of file + try headers_zig.seekTo(0); + try headers_zig.writeAll(new_contents); + try headers_zig.setEndPos(last_newline + last_extern_i + to_splice.len); +} diff --git a/misctools/http_bench.zig b/misctools/http_bench.zig index 1db8e6061..be7527256 100644 --- a/misctools/http_bench.zig +++ b/misctools/http_bench.zig @@ -1,5 +1,14 @@ const std = @import("std"); -usingnamespace @import("../src/global.zig"); +const _global = @import("../src/global.zig"); +const string = _global.string; +const Output = _global.Output; +const Global = _global.Global; +const Environment = _global.Environment; +const strings = _global.strings; +const MutableString = _global.MutableString; +const stringZ = _global.stringZ; +const default_allocator = _global.default_allocator; +const C = _global.C; const clap = @import("../src/deps/zig-clap/clap.zig"); const URL = @import("../src/query_string_map.zig").URL; @@ -70,7 +79,7 @@ pub const Arguments = struct { repeat: usize = 0, concurrency: u16 = 32, - pub fn parse(allocator: *std.mem.Allocator) !Arguments { + pub fn parse(allocator: std.mem.Allocator) !Arguments { var diag = clap.Diagnostic{}; var args = clap.parse(clap.Help, ¶ms, .{ @@ -192,7 +201,7 @@ pub fn main() anyerror!void { var channel = try default_allocator.create(HTTP.HTTPChannel); channel.* = HTTP.HTTPChannel.init(); - try channel.buffer.ensureCapacity(args.count); + try channel.buffer.ensureTotalCapacity(args.count); try NetworkThread.init(); if (args.concurrency > 0) HTTP.AsyncHTTP.max_simultaneous_requests = args.concurrency; @@ -288,16 +297,16 @@ pub fn main() anyerror!void { Output.flush(); } + Output.prettyErrorln("\n<d>------<r>\n\n", .{}); + Output.prettyErrorln("Success: <b><green>{d}<r>\nFailure: <b><red>{d}<r>\n\n", .{ + success_count, + fail_count, + }); + + Output.printElapsed(@floatCast(f64, @intToFloat(f128, timer.read()) / std.time.ns_per_ms)); + Output.prettyErrorln(" {d} requests", .{ + read_count, + }); + Output.flush(); } - Output.prettyErrorln("\n<d>------<r>\n\n", .{}); - Output.prettyErrorln("Success: <b><green>{d}<r>\nFailure: <b><red>{d}<r>\n\n", .{ - success_count, - fail_count, - }); - - Output.printElapsed(@floatCast(f64, @intToFloat(f128, timer.read()) / std.time.ns_per_ms)); - Output.prettyErrorln(" {d} requests", .{ - read_count, - }); - Output.flush(); } diff --git a/misctools/readlink-getfd.zig b/misctools/readlink-getfd.zig index cd97cb2d0..3e7cba5b9 100644 --- a/misctools/readlink-getfd.zig +++ b/misctools/readlink-getfd.zig @@ -1,7 +1,16 @@ const std = @import("std"); const path_handler = @import("../src/resolver/resolve_path.zig"); -usingnamespace @import("../src/global.zig"); +const _global = @import("../src/global.zig"); +const string = _global.string; +const Output = _global.Output; +const Global = _global.Global; +const Environment = _global.Environment; +const strings = _global.strings; +const MutableString = _global.MutableString; +const stringZ = _global.stringZ; +const default_allocator = _global.default_allocator; +const C = _global.C; // zig build-exe -Drelease-fast --main-pkg-path ../ ./readlink-getfd.zig pub fn main() anyerror!void { diff --git a/misctools/readlink-realpath.zig b/misctools/readlink-realpath.zig index ed7fd14cf..cb7c7de2a 100644 --- a/misctools/readlink-realpath.zig +++ b/misctools/readlink-realpath.zig @@ -1,7 +1,16 @@ const std = @import("std"); const path_handler = @import("../src/resolver/resolve_path.zig"); -usingnamespace @import("../src/global.zig"); +const _global = @import("../src/global.zig"); +const string = _global.string; +const Output = _global.Output; +const Global = _global.Global; +const Environment = _global.Environment; +const strings = _global.strings; +const MutableString = _global.MutableString; +const stringZ = _global.stringZ; +const default_allocator = _global.default_allocator; +const C = _global.C; // zig build-exe -Drelease-fast --main-pkg-path ../ ./readlink-getfd.zig pub fn main() anyerror!void { diff --git a/misctools/tgz.zig b/misctools/tgz.zig index 64b966554..ef319056e 100644 --- a/misctools/tgz.zig +++ b/misctools/tgz.zig @@ -1,7 +1,16 @@ const std = @import("std"); const path_handler = @import("../src/resolver/resolve_path.zig"); -usingnamespace @import("../src/global.zig"); +const _global = @import("../src/global.zig"); +const string = _global.string; +const Output = _global.Output; +const Global = _global.Global; +const Environment = _global.Environment; +const strings = _global.strings; +const MutableString = _global.MutableString; +const stringZ = _global.stringZ; +const default_allocator = _global.default_allocator; +const C = _global.C; const Archive = @import("../src/libarchive/libarchive.zig").Archive; const Zlib = @import("../src/zlib.zig"); |