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

nikic / PHP-Parser / 40575238339
93%

Build:
DEFAULT BRANCH: master
Ran 27 Oct 2026 08:08PM UTC
Jobs 1
Files 271
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

27 Oct 2026 08:07PM UTC coverage: 92.931% (+0.02%) from 92.913%
40575238339

push

github

web-flow
perf: Use local variables for parser tables in ParserAbstract::doParse() (#1182)

`ParserAbstract::doParse()` reads the action and goto tables on every
iteration of its loop, and each of those reads is a property fetch
(`$this->actionBase[...]`, `$this->actionCheck[...]`,
`$this->action[...]`, ...). In the opcode dump that is 57 `FETCH_OBJ_R`
in `doParse()`.

This PR copies the tables into local variables before the loop, the same
way `$stackPos` became a local in 3bbf8d8. The tables are written only
in the constructor and `$this->tokens` only in `parse()`, so the copies
cannot go stale. State the reduce callbacks use (`tokenPos`, `semStack`,
the token start and end stacks, `errorState`) stays on the object.

53 of 53 new or added lines in 1 file covered. (100.0%)

7809 of 8403 relevant lines covered (92.93%)

236.72 hits per line

Jobs
ID Job ID Ran Files Coverage
1 40575238339.1 27 Oct 2026 08:08PM UTC 271
92.93
GitHub Action Run
Source Files on build 40575238339
  • Tree
  • List 271
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 1ee86c89 on github
  • Prev Build on master (#37275967941)
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