File tree Expand file tree Collapse file tree 1 file changed +10
-4
lines changed
src/main/java/org/truffleruby/core/module Expand file tree Collapse file tree 1 file changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -737,10 +737,16 @@ public void newHierarchyVersion() {
737
737
738
738
public void newMethodsVersion (List <String > methodsToInvalidate ) {
739
739
for (String entryToInvalidate : methodsToInvalidate ) {
740
- MethodEntry methodEntry = methods .get (entryToInvalidate );
741
- if (methodEntry != null ) {
742
- methodEntry .invalidate (SharedMethodInfo .moduleAndMethodName (rubyModule , entryToInvalidate ));
743
- methods .put (entryToInvalidate , methodEntry .withNewAssumption ());
740
+ while (true ) {
741
+ final MethodEntry methodEntry = methods .get (entryToInvalidate );
742
+ if (methodEntry == null ) {
743
+ break ;
744
+ } else {
745
+ methodEntry .invalidate (SharedMethodInfo .moduleAndMethodName (rubyModule , entryToInvalidate ));
746
+ if (methods .replace (entryToInvalidate , methodEntry , methodEntry .withNewAssumption ())) {
747
+ break ;
748
+ }
749
+ }
744
750
}
745
751
}
746
752
}
You can’t perform that action at this time.
0 commit comments