diff options
| author | Stan Lo <stan.lo@shopify.com> | 2025-10-02 17:03:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-02 09:03:25 -0700 |
| commit | 2ed5a02fcca4da4acf4c8c3d7ee4c392fc18d948 (patch) | |
| tree | 834a2702d97afc92dcd2c905cace45cff46be5e2 /include | |
| parent | 81f253577a77a934bfa02a33d80ca2a7c6af9a04 (diff) | |
ZJIT: Add `NoSingletonClass` patch point (#14680)
* ZJIT: Add NoSingletonClass patch point
This patch point makes sure that when the object has a singleton class,
the JIT code is invalidated. As of now, this is only needed for C call
optimization.
In YJIT, the singleton class guard only applies to Array, Hash, and String.
But in ZJIT, we may optimize C calls from gems (e.g. `sqlite3`). So the
patch point needs to be applied to a broader range of classes.
* ZJIT: Only generate NoSingletonClass guard when the type can have singleton class
* ZJIT: Update or forget NoSingletonClass patch point when needed
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
