• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

KarpelesLab / goro / 25354974735
13%

Build:
DEFAULT BRANCH: master
Ran 05 May 2026 02:43AM UTC
Jobs 1
Files 398
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 May 2026 02:41AM UTC coverage: 9.229% (+0.07%) from 9.158%
25354974735

push

github

MagicalTux
vm: native try/finally via AST delegation + slot refresh

try/finally is delegated to the AST runner via a new
OP_TRY_FINALLY opcode. The AST already orchestrates the
intricate dance of running finally on every exit path
(normal completion, caught exception, uncaught exception,
return/break/continue inside the try body) — replicating
that natively would be a large amount of bytecode for a
niche feature.

The delegation introduces a slot-cache coherence problem:
the AST writes locals through ctx.OffsetSet, which goes to
the FuncContext hashtable and bypasses Frame.locals[]. To
keep subsequent VM reads correct, OP_TRY_FINALLY ends with
Frame.refreshSlots(ctx), which re-reads every local from
the hashtable into the slot cache.

IsSlotSafe also rejects functions whose body contains a
runnableTry with finally — the delegation reads/writes
locals through the hashtable, so the surrounding scope
needs the hashtable mirror live (SlotOnly off).

phpt under GORO_VM=1: 14 regressions (unchanged).
Tests cover: finally after normal completion, finally
after caught exception, finally after return.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

27 of 31 new or added lines in 4 files covered. (87.1%)

10604 of 114895 relevant lines covered (9.23%)

1125.91 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
75.61
-0.86% core/vm/frame.go
2
62.27
0.05% core/vm/vm.go
Jobs
ID Job ID Ran Files Coverage
1 25354974735.1 05 May 2026 02:43AM UTC 398
9.23
GitHub Action Run
Source Files on build 25354974735
  • Tree
  • List 398
  • Changed 11
  • Source Changed 5
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25354974735
  • 4881d43f on github
  • Prev Build on master (#25354859519)
  • Next Build on master (#25355013759)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc