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

KarpelesLab / goro / 25772374705
13%

Build:
DEFAULT BRANCH: master
Ran 13 May 2026 01:26AM 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

13 May 2026 01:25AM UTC coverage: 12.074% (+0.06%) from 12.014%
25772374705

push

github

MagicalTux
vm: by-ref user-function calls run VM body; ref propagation via hashtable

The compiler used to skip VM-compile entirely for any function with
by-ref parameters or by-ref \`use\` captures. Now those bodies VM-
compile too; the AST callBody binds refs into the FuncContext
hashtable before vm.Run starts, and writes through the ref propagate
via ctx.OffsetSet during OpStoreLocal / OpOpAssignLocal.

Three pieces wire this together:

* TryBuildVMClosureBody now takes \`hasByRef\` so the emitter can
  force SlotOnly=false on those bodies — the OffsetSet propagation
  depends on the hashtable mirror.
* IsSlotSafe now takes a GlobalContext so call-site analysis can
  peek at the lazy-function table via LookupLazyByRef and flag
  callers of by-ref user functions as slot-unsafe.
* The vmcompiler.Compile call site threads ctx.Global() through.

Adds TestByRefParam exercising swap, value+ref return, and
\`\$arr[] = …\` writes through a by-ref array param.

The integration-test fallback sentinel now uses return-by-reference
(\`function &foo()\`), which still forces AST fallback.

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

18 of 23 new or added lines in 4 files covered. (78.26%)

2 existing lines in 1 file now uncovered.

13930 of 115372 relevant lines covered (12.07%)

2045.19 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
65.22
-7.28% core/vm/vmcompiler/register.go

Coverage Regressions

Lines Coverage ∆ File
2
23.5
0.0% core/phpctx/global.go
Jobs
ID Job ID Ran Files Coverage
1 25772374705.1 13 May 2026 01:26AM UTC 398
12.07
GitHub Action Run
Source Files on build 25772374705
  • Tree
  • List 398
  • Changed 12
  • Source Changed 5
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25772374705
  • 6491cf53 on github
  • Prev Build on master (#25772047510)
  • Next Build on master (#25772409490)
  • 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