From: "tmm1 (Aman Gupta)" Date: 2013-12-02T13:59:06+09:00 Subject: [ruby-core:58778] [ruby-trunk - Feature #9190] Expose serial helper macros Issue #9190 has been updated by tmm1 (Aman Gupta). I would like to see these exposed as well. They provide visibility into VM behavior, and are very useful for measuring how many constant or method table invalidations are happening in large applications. ---------------------------------------- Feature #9190: Expose serial helper macros https://bugs.ruby-lang.org/issues/9190#change-43347 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/