warpo 3.1.2 → 3.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/asconfig.schema.json +10 -2
  2. package/dist/debug_server/debugSession.d.ts +1 -1
  3. package/dist/debug_server/debugSession.js +44 -48
  4. package/dist/debug_server/debugSession.js.map +1 -1
  5. package/dist/debug_server/debugger.d.ts +1 -1
  6. package/dist/debug_server/debuggerWasmModule.d.ts +1 -0
  7. package/dist/debug_server/debuggerWasmModule.js +27 -15
  8. package/dist/debug_server/debuggerWasmModule.js.map +1 -1
  9. package/dist/debug_server/nodeDebugger.d.ts +6 -1
  10. package/dist/debug_server/nodeDebugger.js +60 -2
  11. package/dist/debug_server/nodeDebugger.js.map +1 -1
  12. package/dist/debug_server/tests/debugSession.test.js +140 -1
  13. package/dist/debug_server/tests/debugSession.test.js.map +1 -1
  14. package/dist/debug_server/tests/testModule/debugger_breakpoint_update.d.ts +1 -0
  15. package/dist/debug_server/tests/testModule/debugger_breakpoint_update.js +10 -0
  16. package/dist/debug_server/tests/testModule/debugger_breakpoint_update.js.map +1 -0
  17. package/dist/debug_server/tests/testModule/debugger_generic_function.d.ts +1 -0
  18. package/dist/debug_server/tests/testModule/debugger_generic_function.js +10 -0
  19. package/dist/debug_server/tests/testModule/debugger_generic_function.js.map +1 -0
  20. package/dist/debug_server/tests/testModule/debugger_member_function.d.ts +1 -0
  21. package/dist/debug_server/tests/testModule/debugger_member_function.js +16 -0
  22. package/dist/debug_server/tests/testModule/debugger_member_function.js.map +1 -0
  23. package/dist/test_runner/core/compiler.js +2 -0
  24. package/dist/test_runner/core/compiler.js.map +1 -1
  25. package/package.json +1 -1
@@ -23,7 +23,6 @@
23
23
  }
24
24
  },
25
25
  "required": ["entries", "options", "targets"],
26
-
27
26
  "$defs": {
28
27
  "OptionsSchema": {
29
28
  "type": "object",
@@ -90,7 +89,16 @@
90
89
  "items": {
91
90
  "type": "string",
92
91
  "description": "Name of a feature to disable.",
93
- "enum": ["mutable-globals", "sign-extension", "nontrapping-f2i", "bulk-memory"]
92
+ "enum": ["mutable-globals", "sign-extension", "nontrapping-f2i", "bulk-memory", "multi-value", "tail-call"]
93
+ }
94
+ },
95
+ "enable": {
96
+ "type": "array",
97
+ "description": "List of compiler features to enable.",
98
+ "items": {
99
+ "type": "string",
100
+ "description": "Name of a feature to enable.",
101
+ "enum": ["mutable-globals", "sign-extension", "nontrapping-f2i", "bulk-memory", "multi-value", "tail-call"]
94
102
  }
95
103
  },
96
104
  "debug": {
@@ -14,7 +14,7 @@ export declare class WarpoDebugSession extends LoggingDebugSession {
14
14
  private static threadId;
15
15
  private breakpointId;
16
16
  private requestedBreakpointsBySource;
17
- private pendingBreakpointUpdatesBySource;
17
+ private pendingBreakpointSources;
18
18
  private variableContainers;
19
19
  private pausedStackFramesById;
20
20
  private nextVariablesReference;
@@ -33,7 +33,7 @@ export class WarpoDebugSession extends LoggingDebugSession {
33
33
  static threadId = 1;
34
34
  breakpointId = 0;
35
35
  requestedBreakpointsBySource = new Map();
36
- pendingBreakpointUpdatesBySource = new Map();
36
+ pendingBreakpointSources = new Set();
37
37
  variableContainers = new Map();
38
38
  pausedStackFramesById = new Map();
39
39
  nextVariablesReference = 1;
@@ -106,15 +106,23 @@ export class WarpoDebugSession extends LoggingDebugSession {
106
106
  return info;
107
107
  });
108
108
  this.requestedBreakpointsBySource.set(sourcePath, bps);
109
- this.pendingBreakpointUpdatesBySource.set(sourcePath, [...bps]);
109
+ this.pendingBreakpointSources.clear();
110
+ for (const pendingSourcePath of this.requestedBreakpointsBySource.keys()) {
111
+ this.pendingBreakpointSources.add(pendingSourcePath);
112
+ }
110
113
  const breakpoints = bps.map((bp) => {
111
114
  const dbp = new Breakpoint(bp.verified, bp.line);
112
115
  dbp.id = bp.id;
113
116
  return dbp;
114
117
  });
115
118
  response.body = { breakpoints };
116
- this.sendResponse(response);
117
- this.requestBreakpointUpdate();
119
+ if (this.runtime?.isPaused() && this.loadedModule) {
120
+ this.requestBreakpointUpdate(() => this.sendResponse(response));
121
+ }
122
+ else {
123
+ this.sendResponse(response);
124
+ this.requestBreakpointUpdate();
125
+ }
118
126
  }
119
127
  configurationDoneRequest(response, _args) {
120
128
  super.configurationDoneRequest(response, _args);
@@ -996,7 +1004,7 @@ export class WarpoDebugSession extends LoggingDebugSession {
996
1004
  }
997
1005
  resetRuntimeState() {
998
1006
  this.disposeLoadedModule();
999
- this.pendingBreakpointUpdatesBySource.clear();
1007
+ this.pendingBreakpointSources.clear();
1000
1008
  this.stoppedWasmBytecodeOffset = undefined;
1001
1009
  this.stoppedForTrap = false;
1002
1010
  }
@@ -1009,20 +1017,16 @@ export class WarpoDebugSession extends LoggingDebugSession {
1009
1017
  }
1010
1018
  this.log("==============================");
1011
1019
  }
1012
- requestBreakpointUpdate() {
1013
- if (!this.runtime || !this.loadedModule || this.pendingBreakpointUpdatesBySource.size === 0) {
1020
+ requestBreakpointUpdate(onComplete) {
1021
+ if (!this.runtime || !this.loadedModule || this.pendingBreakpointSources.size === 0) {
1022
+ onComplete?.();
1014
1023
  return;
1015
1024
  }
1016
1025
  if (this.runtime.isPaused()) {
1017
- this.applyPendingBreakpointUpdates(this.runtime);
1026
+ this.applyPendingBreakpointUpdates(this.runtime, onComplete);
1018
1027
  return;
1019
1028
  }
1020
- for (const sourcePath of this.pendingBreakpointUpdatesBySource.keys()) {
1021
- if (this.loadedModule.hasSource(sourcePath)) {
1022
- this.runtime.pause();
1023
- return;
1024
- }
1025
- }
1029
+ this.runtime.pause();
1026
1030
  }
1027
1031
  applyPendingBreakpointUpdates(runtime, onComplete) {
1028
1032
  const wasmModule = this.loadedModule;
@@ -1030,42 +1034,34 @@ export class WarpoDebugSession extends LoggingDebugSession {
1030
1034
  onComplete?.();
1031
1035
  return;
1032
1036
  }
1033
- for (const [sourcePath, breakpoints] of this.pendingBreakpointUpdatesBySource) {
1034
- if (breakpoints.length === 0) {
1035
- this.pendingBreakpointUpdatesBySource.delete(sourcePath);
1036
- continue;
1037
- }
1038
- if (!wasmModule.hasSource(sourcePath)) {
1039
- continue;
1040
- }
1041
- const breakpoint = breakpoints.shift();
1042
- if (!breakpoint) {
1043
- this.pendingBreakpointUpdatesBySource.delete(sourcePath);
1044
- continue;
1045
- }
1046
- if (breakpoints.length === 0) {
1047
- this.pendingBreakpointUpdatesBySource.delete(sourcePath);
1048
- }
1049
- const breakpointLocation = wasmModule.resolveBreakpointLocation(breakpoint);
1050
- if (!breakpointLocation) {
1051
- this.log(`No source-map match for breakpoint ${path.basename(breakpoint.source)}:${breakpoint.line}`);
1052
- this.applyPendingBreakpointUpdates(runtime, onComplete);
1053
- return;
1054
- }
1055
- this.log(`Resolved breakpoint ${path.basename(breakpoint.source)}:${breakpoint.line} -> ${breakpointLocation.wasmBytecodeOffset}`);
1056
- runtime.setWasmBreakpoint(wasmModule, breakpointLocation.wasmBytecodeOffset, {
1057
- onSuccess: () => {
1058
- this.log(`Breakpoint installed at ${breakpointLocation.wasmBytecodeOffset}`);
1059
- this.applyPendingBreakpointUpdates(runtime, onComplete);
1060
- },
1061
- onError: (error) => {
1062
- this.log(`Failed to set breakpoint ${path.basename(breakpoint.source)}:${breakpoint.line} at ${breakpointLocation.wasmBytecodeOffset}: ${error.message}`);
1063
- this.applyPendingBreakpointUpdates(runtime, onComplete);
1064
- },
1065
- });
1037
+ if (this.pendingBreakpointSources.size === 0) {
1038
+ onComplete?.();
1066
1039
  return;
1067
1040
  }
1068
- onComplete?.();
1041
+ this.pendingBreakpointSources.clear();
1042
+ const wasmBytecodeOffsets = new Set();
1043
+ for (const [sourcePath, breakpoints] of this.requestedBreakpointsBySource) {
1044
+ for (const breakpoint of breakpoints) {
1045
+ const breakpointLocations = wasmModule.resolveBreakpointLocations(breakpoint);
1046
+ if (breakpointLocations.length === 0) {
1047
+ this.log(`No source-map match for breakpoint ${path.basename(sourcePath)}:${breakpoint.line}`);
1048
+ }
1049
+ for (const location of breakpointLocations) {
1050
+ wasmBytecodeOffsets.add(location.wasmBytecodeOffset);
1051
+ this.log(`Resolved breakpoint ${path.basename(sourcePath)}:${breakpoint.line} -> ${location.wasmBytecodeOffset}`);
1052
+ }
1053
+ }
1054
+ }
1055
+ runtime.setWasmBreakpoints(wasmModule, Array.from(wasmBytecodeOffsets).toSorted((left, right) => left - right), {
1056
+ onSuccess: () => {
1057
+ this.log(`Breakpoint set installed: ${wasmBytecodeOffsets.size} locations`);
1058
+ onComplete?.();
1059
+ },
1060
+ onError: (error) => {
1061
+ this.log(`Failed to update breakpoints: ${error.message}`);
1062
+ onComplete?.();
1063
+ },
1064
+ });
1069
1065
  }
1070
1066
  disposeLoadedModule() {
1071
1067
  this.clearVariableContainers();
@@ -1 +1 @@
1
- {"version":3,"file":"debugSession.js","sourceRoot":"","sources":["../../tools/debug_server/debugSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debugSession.js","sourceRoot":"","sources":["../../tools/debug_server/debugSession.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ export interface Debugger {
44
44
  getPausedWasmFrameVariables(frameIndex: number): Promise<DebugRuntimeVariable[]>;
45
45
  getPausedWasmGlobalVariables(): Promise<DebugRuntimeGlobal[]>;
46
46
  readWasmMemory(address: number, byteLength: number): Promise<Uint8Array | undefined>;
47
- setWasmBreakpoint(module: DebuggerWasmModule, wasmBytecodeOffset: number, callbacks?: DebuggerCommandCallbacks): void;
47
+ setWasmBreakpoints(module: DebuggerWasmModule, wasmBytecodeOffsets: number[], callbacks?: DebuggerCommandCallbacks): void;
48
48
  onModuleLoad: ((module: DebuggerWasmModule) => void | Promise<void>) | undefined;
49
49
  onPause: ((info: DebugPauseInfo) => void | Promise<void>) | undefined;
50
50
  onRuntimeError: ((message: string) => void) | undefined;
@@ -57,6 +57,7 @@ export declare class DebuggerWasmModule {
57
57
  url?: string;
58
58
  }): Promise<DebuggerWasmModule>;
59
59
  dispose(): void;
60
+ resolveBreakpointLocations(breakpoint: DebuggerBreakpointInfo): DebuggerBreakpointLocation[];
60
61
  resolveBreakpointLocation(breakpoint: DebuggerBreakpointInfo): DebuggerBreakpointLocation | undefined;
61
62
  findBytecodeOffset(sourcePath: string, line: number): number | undefined;
62
63
  getVariablesAtBytecodeOffset(wasmBytecodeOffset: number): DebuggerSourceVariableInfo[] | undefined;
@@ -41,34 +41,46 @@ export class DebuggerWasmModule {
41
41
  dispose() {
42
42
  this.sourceMap.destroy();
43
43
  }
44
- resolveBreakpointLocation(breakpoint) {
44
+ resolveBreakpointLocations(breakpoint) {
45
45
  const { source: sourcePath, line } = breakpoint;
46
46
  const source = this.findSource(sourcePath);
47
47
  if (!source) {
48
- return undefined;
48
+ return [];
49
49
  }
50
50
  const cacheKey = `${source}:${line}`;
51
- if (this.breakpointLocations.has(cacheKey)) {
52
- const wasmBytecodeOffset = this.breakpointLocations.get(cacheKey);
53
- return wasmBytecodeOffset === undefined ? undefined : { wasmBytecodeOffset, sourceLine: line };
51
+ const cachedWasmBytecodeOffsets = this.breakpointLocations.get(cacheKey);
52
+ if (cachedWasmBytecodeOffsets !== undefined) {
53
+ return cachedWasmBytecodeOffsets.map((wasmBytecodeOffset) => ({ wasmBytecodeOffset, sourceLine: line }));
54
54
  }
55
- let firstColumn;
55
+ const wasmBytecodeOffsetsByFunction = new Map();
56
+ let firstWasmBytecodeOffsetWithoutFunction;
56
57
  this.sourceMap.eachMapping((mapping) => {
57
58
  if (mapping.source !== source || mapping.originalLine !== line || mapping.generatedLine !== 1) {
58
59
  return;
59
60
  }
60
- if (firstColumn === undefined || mapping.generatedColumn < firstColumn) {
61
- firstColumn = mapping.generatedColumn;
61
+ const functionInfo = this.functionInfoResolver.findFunctionByBytecodeOffset(mapping.generatedColumn);
62
+ if (!functionInfo) {
63
+ if (firstWasmBytecodeOffsetWithoutFunction === undefined ||
64
+ mapping.generatedColumn < firstWasmBytecodeOffsetWithoutFunction) {
65
+ firstWasmBytecodeOffsetWithoutFunction = mapping.generatedColumn;
66
+ }
67
+ return;
68
+ }
69
+ const existingOffset = wasmBytecodeOffsetsByFunction.get(functionInfo);
70
+ if (existingOffset === undefined || mapping.generatedColumn < existingOffset) {
71
+ wasmBytecodeOffsetsByFunction.set(functionInfo, mapping.generatedColumn);
62
72
  }
63
73
  });
64
- this.breakpointLocations.set(cacheKey, firstColumn);
65
- if (firstColumn === undefined) {
66
- return undefined;
74
+ const wasmBytecodeOffsets = Array.from(wasmBytecodeOffsetsByFunction.values());
75
+ if (firstWasmBytecodeOffsetWithoutFunction !== undefined) {
76
+ wasmBytecodeOffsets.push(firstWasmBytecodeOffsetWithoutFunction);
67
77
  }
68
- return {
69
- wasmBytecodeOffset: firstColumn,
70
- sourceLine: line,
71
- };
78
+ const sortedWasmBytecodeOffsets = wasmBytecodeOffsets.toSorted((left, right) => left - right);
79
+ this.breakpointLocations.set(cacheKey, sortedWasmBytecodeOffsets);
80
+ return sortedWasmBytecodeOffsets.map((wasmBytecodeOffset) => ({ wasmBytecodeOffset, sourceLine: line }));
81
+ }
82
+ resolveBreakpointLocation(breakpoint) {
83
+ return this.resolveBreakpointLocations(breakpoint)[0];
72
84
  }
73
85
  findBytecodeOffset(sourcePath, line) {
74
86
  return this.resolveBreakpointLocation({
@@ -1 +1 @@
1
- {"version":3,"file":"debuggerWasmModule.js","sourceRoot":"","sources":["../../tools/debug_server/debuggerWasmModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debuggerWasmModule.js","sourceRoot":"","sources":["../../tools/debug_server/debuggerWasmModule.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare class NodeDebugger implements Debugger {
11
11
  private ws;
12
12
  private cdpId;
13
13
  private readonly pendingCommandCallbacks;
14
+ private readonly wasmBreakpointIds;
14
15
  private paused;
15
16
  private wasmFilePath;
16
17
  private wasmScriptId;
@@ -27,7 +28,11 @@ export declare class NodeDebugger implements Debugger {
27
28
  pause(): void;
28
29
  resume(): Promise<void>;
29
30
  finishModuleLoad(): void;
30
- setWasmBreakpoint(module: DebuggerWasmModule, wasmBytecodeOffset: number, callbacks?: DebuggerCommandCallbacks): void;
31
+ setWasmBreakpoints(module: DebuggerWasmModule, wasmBytecodeOffsets: number[], callbacks?: DebuggerCommandCallbacks): void;
32
+ private installWasmBreakpoints;
33
+ private setNodeWasmBreakpoint;
34
+ private clearWasmBreakpoints;
35
+ private removeNodeBreakpoint;
31
36
  private resolveWasmBytecodeOffsetLocation;
32
37
  private resolveWasmLocationBytecodeOffset;
33
38
  getPausedWasmFrames(): DebugPausedWasmFrame[];
@@ -79,6 +79,7 @@ export class NodeDebugger {
79
79
  ws;
80
80
  cdpId = 0;
81
81
  pendingCommandCallbacks = new Map();
82
+ wasmBreakpointIds = new Set();
82
83
  paused = false;
83
84
  wasmFilePath;
84
85
  wasmScriptId;
@@ -163,6 +164,7 @@ export class NodeDebugger {
163
164
  this.wasmGlobalsObjectId = undefined;
164
165
  this.stderrOutput = "";
165
166
  this.runtimeExitPromise = undefined;
167
+ this.wasmBreakpointIds.clear();
166
168
  this.ws?.close();
167
169
  this.child?.kill();
168
170
  }
@@ -183,17 +185,39 @@ export class NodeDebugger {
183
185
  this.log("finishModuleLoad -> Runtime.runIfWaitingForDebugger");
184
186
  this.sendCommand("Runtime.runIfWaitingForDebugger");
185
187
  }
186
- setWasmBreakpoint(module, wasmBytecodeOffset, callbacks) {
188
+ setWasmBreakpoints(module, wasmBytecodeOffsets, callbacks) {
189
+ this.clearWasmBreakpoints({
190
+ onSuccess: () => this.installWasmBreakpoints(module, wasmBytecodeOffsets, 0, callbacks),
191
+ onError: callbacks?.onError,
192
+ });
193
+ }
194
+ installWasmBreakpoints(module, wasmBytecodeOffsets, offsetIndex, callbacks) {
195
+ if (offsetIndex >= wasmBytecodeOffsets.length) {
196
+ callbacks?.onSuccess?.();
197
+ return;
198
+ }
199
+ const wasmBytecodeOffset = wasmBytecodeOffsets[offsetIndex];
200
+ this.setNodeWasmBreakpoint(module, wasmBytecodeOffset, {
201
+ onSuccess: () => this.installWasmBreakpoints(module, wasmBytecodeOffsets, offsetIndex + 1, callbacks),
202
+ onError: () => this.installWasmBreakpoints(module, wasmBytecodeOffsets, offsetIndex + 1, callbacks),
203
+ });
204
+ }
205
+ setNodeWasmBreakpoint(module, wasmBytecodeOffset, callbacks) {
187
206
  void (async () => {
188
207
  try {
189
208
  const location = this.resolveWasmBytecodeOffsetLocation(module, wasmBytecodeOffset);
190
209
  this.log(`setWasmBreakpoint offset=${wasmBytecodeOffset} url=${module.url}`);
191
- await this.waitForCommandResult("Debugger.setBreakpointByUrl", {
210
+ const result = await this.waitForCommandResult("Debugger.setBreakpointByUrl", {
192
211
  lineNumber: location.lineNumber,
193
212
  url: module.url,
194
213
  columnNumber: location.columnNumber,
195
214
  condition: "",
196
215
  });
216
+ const breakpointId = result.breakpointId;
217
+ if (typeof breakpointId !== "string") {
218
+ throw new TypeError("CDP did not return a breakpoint ID");
219
+ }
220
+ this.wasmBreakpointIds.add(breakpointId);
197
221
  this.log(`setWasmBreakpoint success offset=${wasmBytecodeOffset}`);
198
222
  callbacks?.onSuccess?.();
199
223
  }
@@ -204,6 +228,40 @@ export class NodeDebugger {
204
228
  }
205
229
  })();
206
230
  }
231
+ clearWasmBreakpoints(callbacks) {
232
+ const breakpointIds = Array.from(this.wasmBreakpointIds);
233
+ const removeNext = (index) => {
234
+ if (index >= breakpointIds.length) {
235
+ callbacks?.onSuccess?.();
236
+ return;
237
+ }
238
+ const breakpointId = breakpointIds[index];
239
+ this.removeNodeBreakpoint(breakpointId, {
240
+ onSuccess: () => {
241
+ this.wasmBreakpointIds.delete(breakpointId);
242
+ removeNext(index + 1);
243
+ },
244
+ onError: () => {
245
+ removeNext(index + 1);
246
+ },
247
+ });
248
+ };
249
+ removeNext(0);
250
+ }
251
+ removeNodeBreakpoint(breakpointId, callbacks) {
252
+ void (async () => {
253
+ try {
254
+ await this.waitForCommand("Debugger.removeBreakpoint", { breakpointId });
255
+ this.log(`removeWasmBreakpoint success id=${breakpointId}`);
256
+ callbacks?.onSuccess?.();
257
+ }
258
+ catch (error) {
259
+ const commandError = error instanceof Error ? error : new Error(String(error));
260
+ this.log(`removeWasmBreakpoint error id=${breakpointId} message=${commandError.message}`);
261
+ callbacks?.onError?.(commandError);
262
+ }
263
+ })();
264
+ }
207
265
  resolveWasmBytecodeOffsetLocation(module, wasmBytecodeOffset) {
208
266
  if (!module.url) {
209
267
  throw new Error("Wasm script URL is not available");