Skip to content

[Based on #99] debug: add LLDB map and channel views - #101

Open
cpunion wants to merge 2 commits into
codex/lldb-interface-funcvals-20260801from
codex/lldb-map-chan-20260801
Open

[Based on #99] debug: add LLDB map and channel views#101
cpunion wants to merge 2 commits into
codex/lldb-interface-funcvals-20260801from
codex/lldb-map-chan-20260801

Conversation

@cpunion

@cpunion cpunion commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • emit typed DWARF map buckets and channel wait queues from the existing compiler/runtime layouts without changing the runtime ABI
  • show map length and typed key/value children, including overflow, growth, pointer, and indirect large-entry storage
  • show channel length, capacity, closed state, and buffered values in receive order
  • keep map growth and evacuation constants in the versioned debugger schema instead of hardcoding them in the LLDB adapter
  • verify real map lookup and channel send/receive/close results in the LLDB fixture

Advances xgo-dev#2164 and the map/channel scope of xgo-dev#2154. Based on #99.

Tests

  • macOS arm64, Apple LLDB 1703: 273/273
  • Linux amd64, LLVM LLDB 19: 273/273
  • TestStandardDWARF at O0/O1/O2/O3/Os/Oz
  • macOS: go test ./ssa ./cmd/internal/lldb ./cmd/llgo ./internal/build
  • macOS coverage: ssa 93.3%, cmd/internal/lldb 87.5%
  • Linux coverage: internal/debugabi 93.8%, cmd/internal/lldb 87.5%
  • Python syntax check and git diff --check

@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 1, 2026

Copy link
Copy Markdown

LLGo baseline benchmarks

d25ed330d334 | workflow run | long-term charts

Program measurements

Platform Workload File size vs main Build vs main Run vs main
Linux cprintf 18544 B +0.0% 342.103 ms -17.0% (better) 1.370 ms -11.7% (better)
Linux fmtprintf 2217600 B +0.2% (worse) 3.357 s -12.9% (better) 2.449 ms -25.5% (better)
Linux println 71504 B -1.6% (better) 336.012 ms -16.0% (better) 1.583 ms -5.4% (better)
macOS cprintf 84672 B +0.0% 413.027 ms -0.3% (better) 3.718 ms +3.6% (worse)
macOS fmtprintf 2361520 B +0.7% (worse) 4.600 s +16.8% (worse) 20.456 ms -12.5% (better)
macOS println 125712 B -1.0% (better) 395.280 ms -4.7% (better) 5.158 ms -29.0% (better)
Core language and compiler benchmarks
Platform Benchmark ns/op vs main
Linux BenchmarkLookupPCRandom 13.310 ns/op -1.3% (better)
Linux BenchmarkMergeCompilerFlags 151.100 ns/op -2.2% (better)
Linux BenchmarkMergeLinkerFlags 95.070 ns/op -6.2% (better)
Linux BenchmarkChannelBuffered 34.010 ns/op -2.2% (better)
Linux BenchmarkChannelHandoff 26071 ns/op -18.6% (better)
Linux BenchmarkDefer 44.870 ns/op -20.3% (better)
Linux BenchmarkDirectCall 1.557 ns/op -0.4% (better)
Linux BenchmarkGlobalRead 1.875 ns/op +20.2% (worse)
Linux BenchmarkGlobalWrite 2.486 ns/op -0.3% (better)
Linux BenchmarkGoroutine 32902 ns/op -56.5% (better)
Linux BenchmarkInterfaceCall 8.100 ns/op +3.9% (worse)
Linux BenchmarkRuntimeGetG 1.868 ns/op -64.8% (better)
macOS BenchmarkLookupPCRandom 15.260 ns/op +22.7% (worse)
macOS BenchmarkMergeCompilerFlags 133.200 ns/op +7.0% (worse)
macOS BenchmarkMergeLinkerFlags 99.830 ns/op +44.0% (worse)
macOS BenchmarkChannelBuffered 27.520 ns/op -0.8% (better)
macOS BenchmarkChannelHandoff 9913 ns/op +41.4% (worse)
macOS BenchmarkDefer 34.530 ns/op -7.7% (better)
macOS BenchmarkDirectCall 1.329 ns/op -8.5% (better)
macOS BenchmarkGlobalRead 1.119 ns/op -7.6% (better)
macOS BenchmarkGlobalWrite 1.169 ns/op -21.4% (better)
macOS BenchmarkGoroutine 32075 ns/op +1.3% (worse)
macOS BenchmarkInterfaceCall 5.925 ns/op +9.8% (worse)
macOS BenchmarkRuntimeGetG 2.390 ns/op -7.3% (better)

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

Warning

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

@cpunion
cpunion force-pushed the codex/lldb-interface-funcvals-20260801 branch from 6ea6b5b to 50ebac0 Compare August 1, 2026 20:50
@cpunion
cpunion force-pushed the codex/lldb-map-chan-20260801 branch from 46b4987 to d80af74 Compare August 1, 2026 22:29
@cpunion
cpunion force-pushed the codex/lldb-interface-funcvals-20260801 branch from 50ebac0 to 48ce57e Compare August 2, 2026 07:05
@cpunion
cpunion force-pushed the codex/lldb-map-chan-20260801 branch from d80af74 to d25ed33 Compare August 2, 2026 07:05
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