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

KarpelesLab / goro / 25322184655
13%

Build:
DEFAULT BRANCH: master
Ran 04 May 2026 01:38PM UTC
Jobs 1
Files 388
Run time 2min
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

04 May 2026 01:36PM UTC coverage: 5.579% (+0.7%) from 4.842%
25322184655

push

github

MagicalTux
vm: add OP_CALL_USER for user/builtin function calls

The emitter now lowers *runnableFunctionCall (positional-args
form) to OP_CALL_USER. The dispatch handler pops argc args
off the VM stack, looks up the callable by name, and invokes
it via ctx.CallZVal — same path the AST already uses. Result
goes back on the VM stack.

VM and AST functions can call each other freely:
- VM-compiled bytecode → AST function: works via CallZVal
- AST function → VM-compiled wrapper: works via the Runnable
  contract (already in place from Commit 2)

Out of scope (returns ErrUnsupported, falls back to AST):
named arguments (f(name: 1)), spread (f(...$arr)), variable
function calls ($f()). By-ref param wiring is also out of
scope: the VM passes pre-evaluated ZVals, so a callee with
&$x param won't see caller mutations. We'll harden that in a
later commit (or just accept it once arrays/objects land).

Tests cover positional calls, a 10-iteration for-loop calling
a user-defined function each iteration, builtin strlen(), and
recursive Fibonacci fib(10) — all asserting AST and VM
return identical results.

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

41 of 70 new or added lines in 5 files covered. (58.57%)

61 existing lines in 3 files now uncovered.

6323 of 113335 relevant lines covered (5.58%)

617.88 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
54.05
core/vm/vmcompiler/emit_call.go
6
66.67
core/vm/ops_call.go
4
56.31
-0.02% core/vm/vm.go
2
77.14
-3.5% core/compiler/vmaccess.go

Coverage Regressions

Lines Coverage ∆ File
38
78.64
0.15% core/vm/vmcompiler/emit_expr.go
16
56.31
-0.02% core/vm/vm.go
7
77.14
-3.5% core/compiler/vmaccess.go
Jobs
ID Job ID Ran Files Coverage
1 25322184655.1 04 May 2026 01:38PM UTC 388
5.58
GitHub Action Run
Source Files on build 25322184655
  • Tree
  • List 388
  • Changed 22
  • Source Changed 3
  • Coverage Changed 22
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25322184655
  • af23f642 on github
  • Prev Build on master (#25321981980)
  • Next Build on master (#25322649549)
  • 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