Project

General

Profile

« Previous | Next » 

Revision 26451ab3

Added by ko1 (Koichi Sasada) over 7 years ago

introduce `trace_events' info for iseq.

  • vm_core.h (rb_iseq_t::aux): add trace_events which represents
    which events are enabled on this iseq. With this information,
    we can skip useless trace-on changes for ISeqs.

  • vm_trace.c (RUBY_EVENTS_TRACE_BY_ISEQ): moved to iseq.h and rename it
    with ISEQ_TRACE_EVENTS.

  • iseq.h: introduce ISEQ_USE_COMPILE_DATA iseq (imemo) flag to represent
    COMPILE_DATA is available. In other words, iseq->aux.trace_events is not
    available when this flag is set.

    • ISEQ_COMPILE_DATA() is changed from a macro.
    • ISEQ_COMPILE_DATA_ALLOC() is added.
    • ISEQ_COMPILE_DATA_CLEAR() is added.
  • iseq.c: use them.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e