From 6ae4dd808b986649616e4ba498e70480441e3b3c Mon Sep 17 00:00:00 2001 From: Dylan Conway <35280289+dylan-conway@users.noreply.github.com> Date: Thu, 31 Aug 2023 23:03:44 -0700 Subject: only set initial debugger breakpoint once (#4441) * unset `set_breakpoint_on_first_line` on reload * move to `module_loader.zig` --- src/bun.js/module_loader.zig | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/bun.js/module_loader.zig') diff --git a/src/bun.js/module_loader.zig b/src/bun.js/module_loader.zig index e165b20fa..0c3313a46 100644 --- a/src/bun.js/module_loader.zig +++ b/src/bun.js/module_loader.zig @@ -172,6 +172,15 @@ fn dumpSource(specifier: string, printer: anytype) !void { } } +fn setBreakPointOnFirstLine() bool { + const s = struct { + var set_break_point: bool = true; + }; + var ret = s.set_break_point; + s.set_break_point = false; + return ret; +} + pub const RuntimeTranspilerStore = struct { const debug = Output.scoped(.compile, false); @@ -403,7 +412,7 @@ pub const RuntimeTranspilerStore = struct { vm.main.len == path.text.len and vm.main_hash == hash and strings.eqlLong(vm.main, path.text, false), - .set_breakpoint_on_first_line = vm.debugger != null and vm.debugger.?.set_breakpoint_on_first_line and strings.eqlLong(vm.main, path.text, true), + .set_breakpoint_on_first_line = vm.debugger != null and vm.debugger.?.set_breakpoint_on_first_line and strings.eqlLong(vm.main, path.text, true) and setBreakPointOnFirstLine(), }; defer { @@ -1440,7 +1449,7 @@ pub const ModuleLoader = struct { .dont_bundle_twice = true, .allow_commonjs = true, .inject_jest_globals = jsc_vm.bundler.options.rewrite_jest_for_tests and is_main, - .set_breakpoint_on_first_line = is_main and jsc_vm.debugger != null and jsc_vm.debugger.?.set_breakpoint_on_first_line, + .set_breakpoint_on_first_line = is_main and jsc_vm.debugger != null and jsc_vm.debugger.?.set_breakpoint_on_first_line and setBreakPointOnFirstLine(), }; defer { if (should_close_input_file_fd and input_file_fd != 0) { -- cgit v1.2.3