From a0a2fa964b3ac5258806fda325e343f667330951 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sat, 23 Oct 2021 16:48:12 -0700 Subject: [PATCH] [internal] Remove more dead code, add script to find .zig files that aren't imported by other .zig files --- Makefile | 8 ++++-- misctools/find-unused-zig.sh | 5 ++++ src/cli/init_command.zig | 26 ------------------- src/flags.zig | 3 --- src/global.zig | 5 +++- src/hash_map.zig | 3 ++- src/javascript/jsc/bindings/DefaultGlobal.zig | 0 src/javascript/jsc/bindings/JSValue.zig | 0 src/javascript/jsc/bindings/jsc.zig | 0 src/javascript/jsc/bindings/wrapper.zig | 0 src/lib.zig | 20 -------------- src/output_native.zig | 5 ---- src/output_wasi.zig | 5 ---- src/output_wasm.zig | 5 ---- src/strings.zig | 14 ---------- 15 files changed, 17 insertions(+), 82 deletions(-) create mode 100644 misctools/find-unused-zig.sh delete mode 100644 src/cli/init_command.zig delete mode 100644 src/flags.zig delete mode 100644 src/javascript/jsc/bindings/DefaultGlobal.zig delete mode 100644 src/javascript/jsc/bindings/JSValue.zig delete mode 100644 src/javascript/jsc/bindings/jsc.zig delete mode 100644 src/javascript/jsc/bindings/wrapper.zig delete mode 100644 src/lib.zig delete mode 100644 src/output_native.zig delete mode 100644 src/output_wasi.zig delete mode 100644 src/output_wasm.zig delete mode 100644 src/strings.zig diff --git a/Makefile b/Makefile index 57d547cc6b..a554fe9ec4 100644 --- a/Makefile +++ b/Makefile @@ -586,7 +586,8 @@ bun-link-lld-release-aarch64: $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp $(CXX) -c -o $@ $< \ $(CLANG_FLAGS) \ - -O1 + -O1 \ + -w sizegen: $(CXX) src/javascript/jsc/headergen/sizegen.cpp -o $(BUN_TMP_DIR)/sizegen $(CLANG_FLAGS) -O1 @@ -599,4 +600,7 @@ analytics: ./node_modules/.bin/peechy --schema src/analytics/schema.peechy --zig src/analytics/analytics_schema.zig analytics-features: - @cd misctools; zig run --main-pkg-path ../ ./features.zig \ No newline at end of file + @cd misctools; zig run --main-pkg-path ../ ./features.zig + +find-unused-zig-files: + @bash ./misctools/find-unused-zig.sh \ No newline at end of file diff --git a/misctools/find-unused-zig.sh b/misctools/find-unused-zig.sh new file mode 100644 index 0000000000..78c1f09e83 --- /dev/null +++ b/misctools/find-unused-zig.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +rg "@import\(\"(.*\.zig)\"\)" src -r "\$1" --only-matching -I | xargs basename | sort | uniq > /tmp/imported-names.txt +find src -iname "*.zig" | xargs basename | sort | uniq > /tmp/all-names.txt +comm -1 -3 /tmp/imported-names.txt /tmp/all-names.txt \ No newline at end of file diff --git a/src/cli/init_command.zig b/src/cli/init_command.zig deleted file mode 100644 index 100da7a634..0000000000 --- a/src/cli/init_command.zig +++ /dev/null @@ -1,26 +0,0 @@ -usingnamespace @import("../global.zig"); -const std = @import("std"); - -const lex = @import("../js_lexer.zig"); -const logger = @import("../logger.zig"); -const alloc = @import("../alloc.zig"); -const options = @import("../options.zig"); -const js_parser = @import("../js_parser.zig"); -const json_parser = @import("../json_parser.zig"); -const js_printer = @import("../js_printer.zig"); -const js_ast = @import("../js_ast.zig"); -const linker = @import("../linker.zig"); -const panicky = @import("../panic_handler.zig"); -const sync = @import(".././sync.zig"); -const Api = @import("../api/schema.zig").Api; -const resolve_path = @import(".././resolver/resolve_path.zig"); -const configureTransformOptionsForBun = @import(".././javascript/jsc/config.zig").configureTransformOptionsForBun; -const Command = @import("../cli.zig").Command; -const bundler = @import("../bundler.zig"); -const NodeModuleBundle = @import("../node_module_bundle.zig").NodeModuleBundle; - -pub const InitCommand = struct { - pub fn exec(ctx: Command.Context) !void { - Output.prettyErrorln("nOt iMpLeMeNtEd yEt", .{}); - } -}; diff --git a/src/flags.zig b/src/flags.zig deleted file mode 100644 index 162f616021..0000000000 --- a/src/flags.zig +++ /dev/null @@ -1,3 +0,0 @@ -const std = @import("std"); - -pub const isWasm = std.Target.Os.Tag.freestanding == std.Target.current.os.tag; diff --git a/src/global.zig b/src/global.zig index d1ac73a325..862d1da134 100644 --- a/src/global.zig +++ b/src/global.zig @@ -1,5 +1,4 @@ const std = @import("std"); -pub usingnamespace @import("strings.zig"); pub const Environment = @import("env.zig"); pub const default_allocator: *std.mem.Allocator = if (isTest) @@ -457,3 +456,7 @@ pub const FileDescriptorType = if (isBrowser) u0 else std.os.fd_t; // such is often the case with macOS // As a useful optimization, we can store file descriptors and just keep them open...forever pub const StoredFileDescriptorType = if (isWindows or isBrowser) u0 else std.os.fd_t; + +pub usingnamespace @import("string_types.zig"); +pub const strings = @import("string_immutable.zig"); +pub const MutableString = @import("string_mutable.zig").MutableString; diff --git a/src/hash_map.zig b/src/hash_map.zig index fa553f939c..3c09e64f48 100644 --- a/src/hash_map.zig +++ b/src/hash_map.zig @@ -1,6 +1,7 @@ -// This is the hash map implementation built in to zig +// This is the previous version of the hash map implementation built in to zig // except, with a getWithHash(key: K) // and a hash getWithHash(key: K) +// This improved JS parser performance due to being able to reuse hash keys when looking up symbol table entries const std = @import("std"); const assert = debug.assert; diff --git a/src/javascript/jsc/bindings/DefaultGlobal.zig b/src/javascript/jsc/bindings/DefaultGlobal.zig deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/javascript/jsc/bindings/JSValue.zig b/src/javascript/jsc/bindings/JSValue.zig deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/javascript/jsc/bindings/jsc.zig b/src/javascript/jsc/bindings/jsc.zig deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/javascript/jsc/bindings/wrapper.zig b/src/javascript/jsc/bindings/wrapper.zig deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/lib.zig b/src/lib.zig deleted file mode 100644 index a7612ba285..0000000000 --- a/src/lib.zig +++ /dev/null @@ -1,20 +0,0 @@ -const std = @import("std"); -const lex = @import("js_lexer.zig"); -const logger = @import("logger.zig"); -const alloc = @import("alloc.zig"); -const options = @import("options.zig"); -const js_parser = @import("js_parser.zig"); -const json_parser = @import("json_parser.zig"); -const js_printer = @import("js_printer.zig"); -const js_ast = @import("js_ast.zig"); -const linker = @import("linker.zig"); -usingnamespace @import("ast/base.zig"); -usingnamespace @import("defines.zig"); -usingnamespace @import("global.zig"); -const panicky = @import("panic_handler.zig"); -const cli = @import("cli.zig"); -const api = @import("./api/schema.zig"); - -extern const Configuration = struct {}; - -export fn configure(configuration: Configuration) void {} diff --git a/src/output_native.zig b/src/output_native.zig deleted file mode 100644 index f0570bf32b..0000000000 --- a/src/output_native.zig +++ /dev/null @@ -1,5 +0,0 @@ -const std = @import("std"); - -pub var Stream: ?std.fs.File = null; -pub var writer: ?std.fs.File.Writer = null; -pub var errorWriter: ?std.fs.File.Writer = null; diff --git a/src/output_wasi.zig b/src/output_wasi.zig deleted file mode 100644 index f0570bf32b..0000000000 --- a/src/output_wasi.zig +++ /dev/null @@ -1,5 +0,0 @@ -const std = @import("std"); - -pub var Stream: ?std.fs.File = null; -pub var writer: ?std.fs.File.Writer = null; -pub var errorWriter: ?std.fs.File.Writer = null; diff --git a/src/output_wasm.zig b/src/output_wasm.zig deleted file mode 100644 index ef08d9a16b..0000000000 --- a/src/output_wasm.zig +++ /dev/null @@ -1,5 +0,0 @@ -const std = @import("std"); - -pub var out_buffer: []u8 = &([_]u8{}); -pub var Stream: ?std.io.FixedBufferStream([]u8) = null; -pub var writer = if (Stream) |stream| stream.writer() else null; diff --git a/src/strings.zig b/src/strings.zig deleted file mode 100644 index 4813c1f917..0000000000 --- a/src/strings.zig +++ /dev/null @@ -1,14 +0,0 @@ -const mutable = @import("string_mutable.zig"); -const std = @import("std"); - -pub usingnamespace @import("string_types.zig"); - -pub const strings = @import("string_immutable.zig"); - -pub const MutableString = mutable.MutableString; - -pub const eql = std.meta.eql; - -pub fn nql(a: anytype, b: @TypeOf(a)) bool { - return !eql(a, b); -}