From: "simeonwillbanks (Simeon Willbanks)" Date: 2013-12-07T12:34:44+09:00 Subject: [ruby-core:58932] [ruby-trunk - Feature #9190] Expose serial helper macros Issue #9190 has been updated by simeonwillbanks (Simeon Willbanks). I'm cool with RubyVM.stat; copying the GC.stat implementation is a good idea. >> RubyVM.stat => { :method_serial => 200, :constant_serial => 210, } ---------------------------------------- Feature #9190: Expose serial helper macros https://bugs.ruby-lang.org/issues/9190#change-43482 Author: simeonwillbanks (Simeon Willbanks) Status: Feedback Priority: Normal Assignee: Category: core Target version: I've defined RubyVM::InstructionHelper with singleton methods #method_serial and #constant_serial. They delegate to helper macros GET_METHOD_SERIAL() and GET_CONSTANT_SERIAL(). With these methods, users have visibility into the method and constant caches. If it makes sense, I hope this patch is included in Ruby 2.1.0. def constants_busted?(&blk) starting = RubyVM::InstructionHelper.constant_serial yield ending = RubyVM::InstructionHelper.constant_serial ending > starting end busted = constants_busted? do class Foo; end end puts busted.inspect # true https://github.com/ruby/ruby/pull/462.patch Thanks for considering; any input is appreciated! -- http://bugs.ruby-lang.org/