Skip to content

[Based on #135] debug: add Chrome WebAssembly source sessions - #137

Open
cpunion wants to merge 3 commits into
codex/wasi-debug-2164-20260802from
codex/browser-debug-2164-20260802
Open

[Based on #135] debug: add Chrome WebAssembly source sessions#137
cpunion wants to merge 3 commits into
codex/wasi-debug-2164-20260802from
codex/browser-debug-2164-20260802

Conversation

@cpunion

@cpunion cpunion commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Implements Task 6 of xgo-dev#2164 on top of #135.

  • adds standard Wasm build IDs and validates embedded/external DWARF identity
  • builds a DWARF-derived browser index with source remapping, scopes, variables, and types
  • adds an LLGo Chrome Language Extension and llgo debug -target=wasm launcher
  • validates embedded DWARF, URL-escaped external sidecars, real LLGo artifacts, and no-extension fallback in pinned headless Chrome
  • documents launch, remapping, sidecar, and optimized-out behavior

Local validation:

  • Node Language Extension tests pass
  • relevant Go packages pass
  • Chrome for Testing 151 passes embedded/external fixtures, real embedded/external LLGo Wasm, and fallback

Known upstream/final-artifact caveat: the current LLGo Asyncify output still produces llvm-dwarfdump range verification diagnostics; this PR does not hide them or claim the umbrella issue is complete.

@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@github-actions

github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown

LLGo baseline benchmarks

0c046904739e | workflow run | long-term charts

Program measurements

Platform Workload File size vs main Build vs main Run vs main
Linux cprintf 19344 B +4.3% (worse) 358.064 ms -13.2% (better) 1.272 ms -18.0% (better)
Linux fmtprintf 2218832 B +0.2% (worse) 3.204 s -16.9% (better) 2.394 ms -27.2% (better)
Linux println 73832 B +1.6% (worse) 357.620 ms -10.6% (better) 1.562 ms -6.7% (better)
macOS cprintf 84672 B +0.0% 350.694 ms -15.4% (better) 2.883 ms -19.7% (better)
macOS fmtprintf 2361696 B +0.7% (worse) 3.549 s -9.9% (better) 26.342 ms +12.7% (worse)
macOS println 125888 B -0.9% (better) 355.164 ms -14.3% (better) 4.257 ms -41.4% (better)
Core language and compiler benchmarks
Platform Benchmark ns/op vs main
Linux BenchmarkLookupPCRandom 13.430 ns/op -0.4% (better)
Linux BenchmarkMergeCompilerFlags 149.800 ns/op -3.0% (better)
Linux BenchmarkMergeLinkerFlags 94.910 ns/op -6.3% (better)
Linux BenchmarkChannelBuffered 35.790 ns/op +3.0% (worse)
Linux BenchmarkChannelHandoff 25307 ns/op -21.0% (better)
Linux BenchmarkDefer 45.460 ns/op -19.3% (better)
Linux BenchmarkDirectCall 1.556 ns/op -0.4% (better)
Linux BenchmarkGlobalRead 1.556 ns/op -0.3% (better)
Linux BenchmarkGlobalWrite 2.479 ns/op -0.6% (better)
Linux BenchmarkGoroutine 41323 ns/op -45.3% (better)
Linux BenchmarkInterfaceCall 8.090 ns/op +3.8% (worse)
Linux BenchmarkRuntimeGetG 2.178 ns/op -59.0% (better)
macOS BenchmarkLookupPCRandom 13.680 ns/op +10.0% (worse)
macOS BenchmarkMergeCompilerFlags 129.100 ns/op +3.7% (worse)
macOS BenchmarkMergeLinkerFlags 72.450 ns/op +4.5% (worse)
macOS BenchmarkChannelBuffered 22.920 ns/op -17.3% (better)
macOS BenchmarkChannelHandoff 8329 ns/op +18.8% (worse)
macOS BenchmarkDefer 30.600 ns/op -18.2% (better)
macOS BenchmarkDirectCall 1.160 ns/op -20.2% (better)
macOS BenchmarkGlobalRead 1.029 ns/op -15.0% (better)
macOS BenchmarkGlobalWrite 1.070 ns/op -28.0% (better)
macOS BenchmarkGoroutine 37312 ns/op +17.9% (worse)
macOS BenchmarkInterfaceCall 4.650 ns/op -13.9% (better)
macOS BenchmarkRuntimeGetG 2.443 ns/op -5.2% (better)

Compared only with the latest matching platform in the main series.

Warning

  • Persistent publishing is unavailable because no data token is configured.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant