aboutsummaryrefslogtreecommitdiffstats
path: root/vm_insnhelper.c
diff options
context:
space:
mode:
authorJeremy Evans <code@jeremyevans.net>2020-09-22 09:40:45 -0700
committerJeremy Evans <code@jeremyevans.net>2020-09-22 12:04:48 -0700
commit179384a66862d5ef7413b6f4850b97d0becf4ec9 (patch)
tree32d0c29f05e3166b47d9f1b0741192c26635c584 /vm_insnhelper.c
parentf3dddd77a925f576acb6abab9b37e8839f028412 (diff)
downloadruby-179384a66862d5ef7413b6f4850b97d0becf4ec9.tar.gz
Revert "Prevent SystemStackError when calling super in module with activated refinement"
This reverts commit eeef16e190cdabc2ba474622720f8e3df7bac43b. This also reverts the spec change. Preventing the SystemStackError would be nice, but there is valid code that the fix breaks, and it is probably more common than cases that cause the SystemStackError. Fixes [Bug #17182]
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r--vm_insnhelper.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index 6f725a2f02..ec1b143633 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -3043,9 +3043,6 @@ search_refined_method(rb_execution_context_t *ec, rb_control_frame_t *cfp, struc
if (ref_me) {
if (vm_cc_call(cc) == vm_call_super_method) {
const rb_control_frame_t *top_cfp = current_method_entry(ec, cfp);
- if (refinement == find_refinement(CREF_REFINEMENTS(vm_get_cref(top_cfp->ep)), vm_cc_cme(cc)->owner)) {
- continue;
- }
const rb_callable_method_entry_t *top_me = rb_vm_frame_method_entry(top_cfp);
if (top_me && rb_method_definition_eq(ref_me->def, top_me->def)) {
continue;