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

KarpelesLab / goro / 25755510794
13%

Build:
DEFAULT BRANCH: master
Ran 12 May 2026 06:56PM 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

12 May 2026 06:53PM UTC coverage: 9.305% (+0.08%) from 9.229%
25755510794

push

github

MagicalTux
vm: property write via AST delegation + OP_REFRESH_SLOTS

Adds an OP_REFRESH_SLOTS opcode that re-reads every local
from the FuncContext hashtable into the slot cache.
emitAssign now delegates \$obj->prop = v (and compound forms
like \$obj->prop += v that route through emitOperator's
write path) to the AST runner via the existing OpClassConst
/ OpTryFinally embeddings, then issues OP_REFRESH_SLOTS so
subsequent slot reads see locals modified through
ctx.OffsetSet during the delegation.

IsSlotSafe now rejects runOperator nodes that write to a
runObjectVar LHS — the AST delegation reads locals through
the hashtable, which has to be authoritative.

The 200+ lines of property-write semantics (typed
properties, hooks, asymmetric visibility, indirect-
modification notices, __set magic, readonly checks, …)
live in runObjectVar.WriteValue and we don't reimplement
them.

Tests cover: direct assign, method that writes \$this->p,
compound \$this->p += v, chained \$a = \$b = v, write-then-
read in the same expression. All pass.

phpt under GORO_VM=1: still 14 regressions, no new ones.
Now functions whose bodies contain property writes get
VM-compiled (other parts of the body run natively even if
the property-write statement delegates).

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

19 of 24 new or added lines in 3 files covered. (79.17%)

10693 of 114917 relevant lines covered (9.3%)

1181.45 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
81.91
0.05% core/vm/vmcompiler/emit_expr.go
Jobs
ID Job ID Ran Files Coverage
1 25755510794.1 12 May 2026 06:56PM UTC 398
9.3
GitHub Action Run
Source Files on build 25755510794
  • Tree
  • List 398
  • Changed 12
  • Source Changed 4
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25755510794
  • f7e8e0d0 on github
  • Prev Build on master (#25355013759)
  • Next Build on master (#25756263169)
  • 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