Let's do the same as https://github.com/ruby/ruby/pull/10532, it seems a useful way to diagnose problematic redefinitions (which e.g. cause Inlined*Node to not be used, which is a big footprint + interpreter & tier1 overhead).
CRuby will have it for Ruby 3.4 but I think there is no harm to do it earlier in TruffleRuby.
FWIW, the list is in CoreMethodAssumptions.
Let's warn from org.truffleruby.core.module.ModuleFields#changedMethod and org.truffleruby.core.module.ModuleFields#invalidateBuiltinsAssumptions
Let's do the same as https://github.com/ruby/ruby/pull/10532, it seems a useful way to diagnose problematic redefinitions (which e.g. cause Inlined*Node to not be used, which is a big footprint + interpreter & tier1 overhead).
Also see https://bugs.ruby-lang.org/issues/20429 (as noted there, we already have
--engine.TraceAssumptions
but that's less user-friendly).CRuby will have it for Ruby 3.4 but I think there is no harm to do it earlier in TruffleRuby.
FWIW, the list is in CoreMethodAssumptions. Let's warn from
org.truffleruby.core.module.ModuleFields#changedMethod
andorg.truffleruby.core.module.ModuleFields#invalidateBuiltinsAssumptions