diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2020-04-14 23:49:28 -0700 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2020-04-14 23:49:29 -0700 |
commit | 79f3403be0cdbec814be29308c0583599ca5824f (patch) | |
tree | 3143b34566e4d5e07b153d892bdb03648c2c7459 /vm_insnhelper.c | |
parent | 8355a998839f17ff214a89062821a0a4287f6a54 (diff) | |
download | ruby-79f3403be0cdbec814be29308c0583599ca5824f.tar.gz |
Invalidate fastpath when calling attr_reader by super
The same bug as 8355a99883 existed in attr_reader too.
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index c4a8dfaf61..70c957cd9a 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -3235,9 +3235,9 @@ vm_search_super_method(const rb_control_frame_t *reg_cfp, struct rb_call_data *c switch (cached_cme->def->type) { // vm_call_refined (search_refined_method) assumes cc->call is vm_call_super_method on invokesuper case VM_METHOD_TYPE_REFINED: - // cc->klass is superclass of a class of receiver. Checking cc->klass is not enough to invalidate IVC for the receiver class. + // cc->klass is superclass of receiver class. Checking cc->klass is not enough to invalidate IVC for the receiver class. case VM_METHOD_TYPE_ATTRSET: - // TODO: case VM_METHOD_TYPE_IVAR: + case VM_METHOD_TYPE_IVAR: vm_cc_call_set(cd->cc, vm_call_super_method); // invalidate fastpath break; default: |