Issue #9190 has been updated by nobu (Nobuyoshi Nakada).


It sounds better than exposing those values directly.
----------------------------------------
Feature #9190: Expose serial helper macros
https://bugs.ruby-lang.org/issues/9190#change-43490

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/