diff options
author | Eileen M. Uchitelle <eileencodes@users.noreply.github.com> | 2021-11-23 14:09:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-23 14:09:24 -0500 |
commit | 459f9e3df8e8080d8c44aed3636a337e6ee64132 (patch) | |
tree | 497fdb2d8a6751b2dbbaf7be979bce6444b01b9f /vm_insnhelper.c | |
parent | fb9d67742b77e5b38cfe46b448b64e6965aa3e70 (diff) |
Add setclassvariable to yjit (#5127)
Implements setclassvariable in yjit. Note that this version is not
faster than the standard version because we aren't handling the inline
cache in assembly. This is still important to implement because it will
prevent yjit from exiting in methods that call both a cvar setter and
other code that yjit can compile.
Co-authored-by: Aaron Patterson tenderlove@ruby-lang.org
Notes
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index d1930d146c..348bfea5aa 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -1367,6 +1367,12 @@ vm_setclassvariable(const rb_iseq_t *iseq, const rb_control_frame_t *reg_cfp, ID update_classvariable_cache(iseq, klass, id, ic); } +void +rb_vm_setclassvariable(const rb_iseq_t *iseq, const rb_control_frame_t *cfp, ID id, VALUE val, ICVARC ic) +{ + vm_setclassvariable(iseq, cfp, id, val, ic); +} + static inline VALUE vm_getinstancevariable(const rb_iseq_t *iseq, VALUE obj, ID id, IVC ic) { |