Feature #18776 ยป object-shapes.patch
| common.mk | ||
|---|---|---|
| 
     		regsyntax.$(OBJEXT) \ 
   | 
||
| 
     		ruby.$(OBJEXT) \ 
   | 
||
| 
     		scheduler.$(OBJEXT) \ 
   | 
||
| 
     		shape.$(OBJEXT) \ 
   | 
||
| 
     		signal.$(OBJEXT) \ 
   | 
||
| 
     		sprintf.$(OBJEXT) \ 
   | 
||
| 
     		st.$(OBJEXT) \ 
   | 
||
| ... | ... | |
| 
     array.$(OBJEXT): $(top_srcdir)/internal/rational.h 
   | 
||
| 
     array.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     array.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     array.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     array.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     array.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     array.$(OBJEXT): {$(VPATH)}array.c 
   | 
||
| ... | ... | |
| 
     array.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     array.$(OBJEXT): {$(VPATH)}builtin.h 
   | 
||
| 
     array.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     array.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     array.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     array.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     array.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| ... | ... | |
| 
     ast.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     ast.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     ast.$(OBJEXT): $(top_srcdir)/internal/symbol.h 
   | 
||
| 
     ast.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     ast.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     ast.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     ast.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}builtin.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}intern.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}internal.h 
   | 
||
| 
     ast.$(OBJEXT): {$(VPATH)}internal/abi.h 
   | 
||
| ... | ... | |
| 
     builtin.$(OBJEXT): $(top_srcdir)/internal/imemo.h 
   | 
||
| 
     builtin.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     builtin.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     builtin.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     builtin.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     builtin.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     builtin.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     builtin.$(OBJEXT): {$(VPATH)}builtin.h 
   | 
||
| 
     builtin.$(OBJEXT): {$(VPATH)}builtin_binary.inc 
   | 
||
| 
     builtin.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     builtin.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     builtin.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     builtin.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     builtin.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| 
     builtin.$(OBJEXT): {$(VPATH)}intern.h 
   | 
||
| 
     builtin.$(OBJEXT): {$(VPATH)}internal.h 
   | 
||
| 
     builtin.$(OBJEXT): {$(VPATH)}internal/abi.h 
   | 
||
| ... | ... | |
| 
     compile.$(OBJEXT): {$(VPATH)}regex.h 
   | 
||
| 
     compile.$(OBJEXT): {$(VPATH)}ruby_assert.h 
   | 
||
| 
     compile.$(OBJEXT): {$(VPATH)}ruby_atomic.h 
   | 
||
| 
     compile.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     compile.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     compile.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     compile.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h 
   | 
||
| ... | ... | |
| 
     complex.$(OBJEXT): $(top_srcdir)/internal/rational.h 
   | 
||
| 
     complex.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     complex.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     complex.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     complex.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     complex.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     complex.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     complex.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     complex.$(OBJEXT): {$(VPATH)}complex.c 
   | 
||
| 
     complex.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     complex.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     complex.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     complex.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     complex.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| ... | ... | |
| 
     cont.$(OBJEXT): $(top_srcdir)/internal/proc.h 
   | 
||
| 
     cont.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     cont.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     cont.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     cont.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     cont.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     cont.$(OBJEXT): {$(VPATH)}$(COROUTINE_H) 
   | 
||
| ... | ... | |
| 
     cont.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     cont.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     cont.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     cont.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     cont.$(OBJEXT): {$(VPATH)}cont.c 
   | 
||
| 
     cont.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     cont.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| ... | ... | |
| 
     debug.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     debug.$(OBJEXT): $(top_srcdir)/internal/signal.h 
   | 
||
| 
     debug.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     debug.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     debug.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     debug.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     debug.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}debug.c 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| ... | ... | |
| 
     debug.$(OBJEXT): {$(VPATH)}ractor_core.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}ruby_assert.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}ruby_atomic.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     debug.$(OBJEXT): {$(VPATH)}symbol.h 
   | 
||
| ... | ... | |
| 
     dir.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     dir.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     dir.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     dir.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     dir.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     dir.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     dir.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     dir.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     dir.$(OBJEXT): {$(VPATH)}builtin.h 
   | 
||
| 
     dir.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     dir.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     dir.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     dir.$(OBJEXT): {$(VPATH)}dir.c 
   | 
||
| 
     dir.$(OBJEXT): {$(VPATH)}dir.rbinc 
   | 
||
| ... | ... | |
| 
     encoding.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     encoding.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     encoding.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     encoding.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     encoding.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     encoding.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     encoding.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     encoding.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     encoding.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     encoding.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     encoding.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     encoding.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     encoding.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     encoding.$(OBJEXT): {$(VPATH)}encindex.h 
   | 
||
| ... | ... | |
| 
     enum.$(OBJEXT): $(top_srcdir)/internal/re.h 
   | 
||
| 
     enum.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     enum.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     enum.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     enum.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     enum.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     enum.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     enum.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     enum.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     enum.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     enum.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     enum.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     enum.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     enum.$(OBJEXT): {$(VPATH)}enum.c 
   | 
||
| ... | ... | |
| 
     file.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     file.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     file.$(OBJEXT): $(top_srcdir)/internal/thread.h 
   | 
||
| 
     file.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     file.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     file.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     file.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     file.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     file.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     file.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     file.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     file.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     file.$(OBJEXT): {$(VPATH)}dln.h 
   | 
||
| 
     file.$(OBJEXT): {$(VPATH)}encindex.h 
   | 
||
| ... | ... | |
| 
     gc.$(OBJEXT): {$(VPATH)}regint.h 
   | 
||
| 
     gc.$(OBJEXT): {$(VPATH)}ruby_assert.h 
   | 
||
| 
     gc.$(OBJEXT): {$(VPATH)}ruby_atomic.h 
   | 
||
| 
     gc.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     gc.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     gc.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     gc.$(OBJEXT): {$(VPATH)}symbol.h 
   | 
||
| ... | ... | |
| 
     goruby.$(OBJEXT): $(top_srcdir)/internal/imemo.h 
   | 
||
| 
     goruby.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     goruby.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     goruby.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     goruby.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     goruby.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     goruby.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}golf_prelude.c 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}golf_prelude.rb 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}goruby.c 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}intern.h 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}internal.h 
   | 
||
| 
     goruby.$(OBJEXT): {$(VPATH)}internal/abi.h 
   | 
||
| ... | ... | |
| 
     hash.$(OBJEXT): $(top_srcdir)/internal/symbol.h 
   | 
||
| 
     hash.$(OBJEXT): $(top_srcdir)/internal/thread.h 
   | 
||
| 
     hash.$(OBJEXT): $(top_srcdir)/internal/time.h 
   | 
||
| 
     hash.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     hash.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     hash.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     hash.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     hash.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     hash.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     hash.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     hash.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     hash.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     hash.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     hash.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| ... | ... | |
| 
     iseq.$(OBJEXT): {$(VPATH)}ractor.h 
   | 
||
| 
     iseq.$(OBJEXT): {$(VPATH)}ruby_assert.h 
   | 
||
| 
     iseq.$(OBJEXT): {$(VPATH)}ruby_atomic.h 
   | 
||
| 
     iseq.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     iseq.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     iseq.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     iseq.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h 
   | 
||
| ... | ... | |
| 
     marshal.$(OBJEXT): $(top_srcdir)/internal/struct.h 
   | 
||
| 
     marshal.$(OBJEXT): $(top_srcdir)/internal/symbol.h 
   | 
||
| 
     marshal.$(OBJEXT): $(top_srcdir)/internal/util.h 
   | 
||
| 
     marshal.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     marshal.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     marshal.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     marshal.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}builtin.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}encindex.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| ... | ... | |
| 
     marshal.$(OBJEXT): {$(VPATH)}missing.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}onigmo.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}oniguruma.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     marshal.$(OBJEXT): {$(VPATH)}util.h 
   | 
||
| ... | ... | |
| 
     math.$(OBJEXT): $(top_srcdir)/internal/object.h 
   | 
||
| 
     math.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     math.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     math.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     math.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     math.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     math.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     math.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     math.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     math.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     math.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     math.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     math.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| 
     math.$(OBJEXT): {$(VPATH)}intern.h 
   | 
||
| ... | ... | |
| 
     miniinit.$(OBJEXT): $(top_srcdir)/internal/imemo.h 
   | 
||
| 
     miniinit.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     miniinit.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     miniinit.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     miniinit.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     miniinit.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}array.rb 
   | 
||
| ... | ... | |
| 
     miniinit.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}builtin.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}dir.rb 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}gc.rb 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}gem_prelude.rb 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}intern.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}internal.h 
   | 
||
| 
     miniinit.$(OBJEXT): {$(VPATH)}internal/abi.h 
   | 
||
| ... | ... | |
| 
     mjit.$(OBJEXT): $(top_srcdir)/internal/imemo.h 
   | 
||
| 
     mjit.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     mjit.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     mjit.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     mjit.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     mjit.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     mjit.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     mjit.$(OBJEXT): {$(VPATH)}ractor_core.h 
   | 
||
| 
     mjit.$(OBJEXT): {$(VPATH)}ruby_assert.h 
   | 
||
| 
     mjit.$(OBJEXT): {$(VPATH)}ruby_atomic.h 
   | 
||
| 
     mjit.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     mjit.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     mjit.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     mjit.$(OBJEXT): {$(VPATH)}thread.h 
   | 
||
| ... | ... | |
| 
     mjit_compile.$(OBJEXT): {$(VPATH)}node.h 
   | 
||
| 
     mjit_compile.$(OBJEXT): {$(VPATH)}ruby_assert.h 
   | 
||
| 
     mjit_compile.$(OBJEXT): {$(VPATH)}ruby_atomic.h 
   | 
||
| 
     mjit_compile.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     mjit_compile.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     mjit_compile.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     mjit_compile.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h 
   | 
||
| ... | ... | |
| 
     object.$(OBJEXT): {$(VPATH)}oniguruma.h 
   | 
||
| 
     object.$(OBJEXT): {$(VPATH)}probes.dmyh 
   | 
||
| 
     object.$(OBJEXT): {$(VPATH)}probes.h 
   | 
||
| 
     object.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     object.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     object.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     object.$(OBJEXT): {$(VPATH)}util.h 
   | 
||
| ... | ... | |
| 
     proc.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     proc.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     proc.$(OBJEXT): $(top_srcdir)/internal/symbol.h 
   | 
||
| 
     proc.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     proc.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     proc.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     proc.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     proc.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     proc.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     proc.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     proc.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     proc.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     proc.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     proc.$(OBJEXT): {$(VPATH)}eval_intern.h 
   | 
||
| ... | ... | |
| 
     ractor.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     ractor.$(OBJEXT): $(top_srcdir)/internal/struct.h 
   | 
||
| 
     ractor.$(OBJEXT): $(top_srcdir)/internal/thread.h 
   | 
||
| 
     ractor.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     ractor.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     ractor.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     ractor.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     ractor.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     ractor.$(OBJEXT): {$(VPATH)}builtin.h 
   | 
||
| 
     ractor.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     ractor.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     ractor.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     ractor.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     ractor.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| ... | ... | |
| 
     rational.$(OBJEXT): $(top_srcdir)/internal/rational.h 
   | 
||
| 
     rational.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     rational.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     rational.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     rational.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     rational.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     rational.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     rational.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     rational.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     rational.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     rational.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     rational.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     rational.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     rational.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| ... | ... | |
| 
     scheduler.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     scheduler.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     scheduler.$(OBJEXT): $(top_srcdir)/internal/thread.h 
   | 
||
| 
     scheduler.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     scheduler.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     scheduler.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     scheduler.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}fiber/scheduler.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}intern.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}internal.h 
   | 
||
| 
     scheduler.$(OBJEXT): {$(VPATH)}internal/abi.h 
   | 
||
| ... | ... | |
| 
     setproctitle.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     setproctitle.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     setproctitle.$(OBJEXT): {$(VPATH)}util.h 
   | 
||
| 
     shape.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h 
   | 
||
| 
     shape.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h 
   | 
||
| 
     shape.$(OBJEXT): $(CCAN_DIR)/list/list.h 
   | 
||
| 
     shape.$(OBJEXT): $(CCAN_DIR)/str/str.h 
   | 
||
| 
     shape.$(OBJEXT): $(hdrdir)/ruby/ruby.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/array.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/class.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/compilers.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/gc.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/imemo.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/symbol.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     shape.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}atomic.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}backward/2/assume.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}backward/2/attributes.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}backward/2/bool.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}backward/2/limits.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}backward/2/long_long.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}intern.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/abi.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/anyargs.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/assume.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/cold.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/const.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/error.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/format.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/pure.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/warning.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/cast.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/compiler_is.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/compiler_since.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/config.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/constant_p.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rarray.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rclass.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rdata.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rfile.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rhash.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/robject.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rstring.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/ctype.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/dllexport.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/dosish.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/encoding/coderange.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/encoding/ctype.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/encoding/encoding.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/encoding/pathname.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/encoding/re.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/encoding/sprintf.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/encoding/string.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/encoding/symbol.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/encoding/transcode.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/error.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/eval.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/event.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/fl_type.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/gc.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/glob.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/globals.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/has/attribute.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/has/builtin.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/has/extension.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/has/feature.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/has/warning.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/array.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/class.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/compar.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/complex.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/cont.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/dir.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/enum.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/error.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/eval.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/file.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/gc.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/hash.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/io.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/load.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/object.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/parse.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/proc.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/process.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/random.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/range.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/rational.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/re.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/select.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/signal.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/string.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/struct.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/thread.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/time.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/variable.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/intern/vm.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/interpreter.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/iterator.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/memory.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/method.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/module.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/newobj.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/rgengc.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/scan_args.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/special_consts.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/static_assert.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/stdalign.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/stdbool.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/symbol.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/value.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/value_type.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/variable.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/warning_push.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}internal/xmalloc.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}method.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}missing.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}node.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}onigmo.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}oniguruma.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}ruby_assert.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}ruby_atomic.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}shape.c 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}thread_native.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}vm_core.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}vm_debug.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}vm_opts.h 
   | 
||
| 
     shape.$(OBJEXT): {$(VPATH)}vm_sync.h 
   | 
||
| 
     signal.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h 
   | 
||
| 
     signal.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h 
   | 
||
| 
     signal.$(OBJEXT): $(CCAN_DIR)/list/list.h 
   | 
||
| ... | ... | |
| 
     signal.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     signal.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     signal.$(OBJEXT): $(top_srcdir)/internal/thread.h 
   | 
||
| 
     signal.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     signal.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     signal.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     signal.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     signal.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     signal.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     signal.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     signal.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     signal.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     signal.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     signal.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| ... | ... | |
| 
     sprintf.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     sprintf.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     sprintf.$(OBJEXT): $(top_srcdir)/internal/symbol.h 
   | 
||
| 
     sprintf.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     sprintf.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     sprintf.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     sprintf.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     sprintf.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     sprintf.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     sprintf.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     sprintf.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     sprintf.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     sprintf.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     sprintf.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| ... | ... | |
| 
     string.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     string.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     string.$(OBJEXT): $(top_srcdir)/internal/transcode.h 
   | 
||
| 
     string.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     string.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     string.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     string.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     string.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     string.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     string.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     string.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     string.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     string.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     string.$(OBJEXT): {$(VPATH)}encindex.h 
   | 
||
| ... | ... | |
| 
     struct.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     struct.$(OBJEXT): $(top_srcdir)/internal/struct.h 
   | 
||
| 
     struct.$(OBJEXT): $(top_srcdir)/internal/symbol.h 
   | 
||
| 
     struct.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     struct.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     struct.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     struct.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     struct.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     struct.$(OBJEXT): {$(VPATH)}builtin.h 
   | 
||
| 
     struct.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     struct.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     struct.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     struct.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     struct.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| ... | ... | |
| 
     symbol.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     symbol.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     symbol.$(OBJEXT): $(top_srcdir)/internal/symbol.h 
   | 
||
| 
     symbol.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     symbol.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     symbol.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     symbol.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     symbol.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     symbol.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     symbol.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     symbol.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     symbol.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     symbol.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     symbol.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| ... | ... | |
| 
     thread.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     thread.$(OBJEXT): $(top_srcdir)/internal/thread.h 
   | 
||
| 
     thread.$(OBJEXT): $(top_srcdir)/internal/time.h 
   | 
||
| 
     thread.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     thread.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     thread.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     thread.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     thread.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     thread.$(OBJEXT): {$(VPATH)}builtin.h 
   | 
||
| 
     thread.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     thread.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     thread.$(OBJEXT): {$(VPATH)}debug.h 
   | 
||
| 
     thread.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     thread.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| ... | ... | |
| 
     transcode.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     transcode.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     transcode.$(OBJEXT): $(top_srcdir)/internal/transcode.h 
   | 
||
| 
     transcode.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     transcode.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     transcode.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| 
     transcode.$(OBJEXT): {$(VPATH)}backward/2/assume.h 
   | 
||
| ... | ... | |
| 
     transcode.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     transcode.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     transcode.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     transcode.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     transcode.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     transcode.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     transcode.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| ... | ... | |
| 
     variable.$(OBJEXT): {$(VPATH)}ractor_core.h 
   | 
||
| 
     variable.$(OBJEXT): {$(VPATH)}ruby_assert.h 
   | 
||
| 
     variable.$(OBJEXT): {$(VPATH)}ruby_atomic.h 
   | 
||
| 
     variable.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     variable.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     variable.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     variable.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h 
   | 
||
| ... | ... | |
| 
     version.$(OBJEXT): $(top_srcdir)/internal/imemo.h 
   | 
||
| 
     version.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     version.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     version.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     version.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     version.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     version.$(OBJEXT): $(top_srcdir)/revision.h 
   | 
||
| ... | ... | |
| 
     version.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     version.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     version.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     version.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     version.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     version.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     version.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     version.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| 
     version.$(OBJEXT): {$(VPATH)}intern.h 
   | 
||
| 
     version.$(OBJEXT): {$(VPATH)}internal.h 
   | 
||
| 
     version.$(OBJEXT): {$(VPATH)}internal/abi.h 
   | 
||
| ... | ... | |
| 
     vm.$(OBJEXT): {$(VPATH)}ractor_core.h 
   | 
||
| 
     vm.$(OBJEXT): {$(VPATH)}ruby_assert.h 
   | 
||
| 
     vm.$(OBJEXT): {$(VPATH)}ruby_atomic.h 
   | 
||
| 
     vm.$(OBJEXT): {$(VPATH)}shape.h 
   | 
||
| 
     vm.$(OBJEXT): {$(VPATH)}st.h 
   | 
||
| 
     vm.$(OBJEXT): {$(VPATH)}subst.h 
   | 
||
| 
     vm.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h 
   | 
||
| ... | ... | |
| 
     vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/string.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}debug.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}eval_intern.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}intern.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}internal.h 
   | 
||
| 
     vm_backtrace.$(OBJEXT): {$(VPATH)}internal/abi.h 
   | 
||
| ... | ... | |
| 
     vm_sync.$(OBJEXT): $(top_srcdir)/internal/imemo.h 
   | 
||
| 
     vm_sync.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     vm_sync.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     vm_sync.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     vm_sync.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     vm_sync.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     vm_sync.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     vm_sync.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h 
   | 
||
| 
     vm_sync.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     vm_sync.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     vm_sync.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     vm_sync.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     vm_sync.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     vm_sync.$(OBJEXT): {$(VPATH)}gc.h 
   | 
||
| ... | ... | |
| 
     vm_trace.$(OBJEXT): $(top_srcdir)/internal/serial.h 
   | 
||
| 
     vm_trace.$(OBJEXT): $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     vm_trace.$(OBJEXT): $(top_srcdir)/internal/symbol.h 
   | 
||
| 
     vm_trace.$(OBJEXT): $(top_srcdir)/internal/variable.h 
   | 
||
| 
     vm_trace.$(OBJEXT): $(top_srcdir)/internal/vm.h 
   | 
||
| 
     vm_trace.$(OBJEXT): $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}assert.h 
   | 
||
| ... | ... | |
| 
     vm_trace.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}builtin.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}config.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}constant.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}debug.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}debug_counter.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}defines.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}encoding.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}eval_intern.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}id.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}id_table.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}intern.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}internal.h 
   | 
||
| 
     vm_trace.$(OBJEXT): {$(VPATH)}internal/abi.h 
   | 
||
| compile.c | ||
|---|---|---|
| 
     static inline VALUE 
   | 
||
| 
     get_ivar_ic_value(rb_iseq_t *iseq,ID id) 
   | 
||
| 
     { 
   | 
||
| 
         VALUE val; 
   | 
||
| 
         struct rb_id_table *tbl = ISEQ_COMPILE_DATA(iseq)->ivar_cache_table; 
   | 
||
| 
         if (tbl) { 
   | 
||
| 
             if (rb_id_table_lookup(tbl,id,&val)) { 
   | 
||
| 
                 return val; 
   | 
||
| 
             } 
   | 
||
| 
         } 
   | 
||
| 
         else { 
   | 
||
| 
             tbl = rb_id_table_create(1); 
   | 
||
| 
             ISEQ_COMPILE_DATA(iseq)->ivar_cache_table = tbl; 
   | 
||
| 
         } 
   | 
||
| 
         val = INT2FIX(ISEQ_BODY(iseq)->ivc_size++); 
   | 
||
| 
         rb_id_table_insert(tbl,id,val); 
   | 
||
| 
         return val; 
   | 
||
| 
         return INT2FIX(ISEQ_BODY(iseq)->ivc_size++); 
   | 
||
| 
     } 
   | 
||
| 
     static inline VALUE 
   | 
||
| ... | ... | |
| 
                                 break; 
   | 
||
| 
                             } 
   | 
||
| 
                           /* [ TS_IVC | TS_ICVARC | TS_ISE | TS_IC ] */ 
   | 
||
| 
     		      case TS_IVC: /* inline ivar cache */ 
   | 
||
| 
                             { 
   | 
||
| 
                                 unsigned int ic_index = FIX2UINT(operands[j]); 
   | 
||
| 
                                 vm_ic_attr_index_initialize(((IVC)&body->is_entries[ic_index]), INVALID_SHAPE_ID); 
   | 
||
| 
                             } 
   | 
||
| 
                           case TS_IC: /* inline cache: constants */ 
   | 
||
| 
                           case TS_ISE: /* inline storage entry: `once` insn */ 
   | 
||
| 
                           case TS_ICVARC: /* inline cvar cache */ 
   | 
||
| 
                           case TS_IVC: /* inline ivar cache */ 
   | 
||
| 
                             { 
   | 
||
| 
                                 unsigned int ic_index = FIX2UINT(operands[j]); 
   | 
||
| 
                                 IC ic = &ISEQ_IS_ENTRY_START(body, type)[ic_index].ic_cache; 
   | 
||
| ... | ... | |
| 
                         ISE ic = ISEQ_IS_ENTRY_START(load_body, operand_type) + op; 
   | 
||
| 
                         code[code_index] = (VALUE)ic; 
   | 
||
| 
                         if (operand_type == TS_IVC) { 
   | 
||
| 
                             vm_ic_attr_index_initialize(((IVC)code[code_index]), INVALID_SHAPE_ID); 
   | 
||
| 
                         } 
   | 
||
| 
                         if (insn == BIN(opt_getinlinecache) && operand_type == TS_IC) { 
   | 
||
| 
                             // Store the instruction index for opt_getinlinecache on the IC for 
   | 
||
| 
                             // YJIT to invalidate code when opt_setinlinecache runs. 
   | 
||
| debug_counter.h | ||
|---|---|---|
| 
     /* instance variable counts 
   | 
||
| 
      * 
   | 
||
| 
      * * ivar_get_ic_hit/miss: ivar_get inline cache (ic) hit/miss counts (VM insn) 
   | 
||
| 
      * * ivar_get_ic_miss_serial: ivar_get ic miss reason by serial (VM insn) 
   | 
||
| 
      * * ivar_get_ic_miss_unset:                      ... by unset (VM insn) 
   | 
||
| 
      * * ivar_get_ic_miss_noobject:                   ... by "not T_OBJECT" (VM insn) 
   | 
||
| 
      * * ivar_set_...: same counts with ivar_set (VM insn) 
   | 
||
| ... | ... | |
| 
      */ 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_get_ic_hit) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_get_ic_miss) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_get_ic_miss_serial) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_get_ic_miss_unset) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_get_ic_miss_noobject) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_set_ic_hit) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_set_ic_miss) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_set_ic_miss_serial) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_set_ic_miss_unset) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_set_ic_miss_iv_hit) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_set_ic_miss_noobject) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_get_base) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_set_base) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_get_ic_miss_set) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_get_cc_miss_set) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_get_ic_miss_unset) 
   | 
||
| 
     RB_DEBUG_COUNTER(ivar_get_cc_miss_unset) 
   | 
||
| 
     /* local variable counts 
   | 
||
| 
      * 
   | 
||
| ... | ... | |
| 
     RB_DEBUG_COUNTER(obj_imemo_callinfo) 
   | 
||
| 
     RB_DEBUG_COUNTER(obj_imemo_callcache) 
   | 
||
| 
     RB_DEBUG_COUNTER(obj_imemo_constcache) 
   | 
||
| 
     RB_DEBUG_COUNTER(obj_imemo_shape) 
   | 
||
| 
     /* ar_table */ 
   | 
||
| 
     RB_DEBUG_COUNTER(artable_hint_hit) 
   | 
||
| ext/coverage/depend | ||
|---|---|---|
| 
     coverage.o: $(top_srcdir)/ccan/container_of/container_of.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/ccan/list/list.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/ccan/str/str.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/constant.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/gc.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/id_table.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/internal.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/internal/array.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/internal/compilers.h 
   | 
||
| ... | ... | |
| 
     coverage.o: $(top_srcdir)/internal/serial.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/internal/thread.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/internal/variable.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/internal/vm.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     coverage.o: $(top_srcdir)/method.h 
   | 
||
| ext/objspace/depend | ||
|---|---|---|
| 
     objspace_dump.o: $(top_srcdir)/ccan/container_of/container_of.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/ccan/list/list.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/ccan/str/str.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/constant.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/gc.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/id_table.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/internal.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/internal/array.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/internal/compilers.h 
   | 
||
| ... | ... | |
| 
     objspace_dump.o: $(top_srcdir)/internal/serial.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/internal/static_assert.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/internal/string.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/internal/variable.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/internal/vm.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/internal/warnings.h 
   | 
||
| 
     objspace_dump.o: $(top_srcdir)/method.h 
   | 
||
| ext/objspace/objspace.c | ||
|---|---|---|
| 
             INIT_IMEMO_TYPE_ID(imemo_callinfo); 
   | 
||
| 
             INIT_IMEMO_TYPE_ID(imemo_callcache); 
   | 
||
| 
             INIT_IMEMO_TYPE_ID(imemo_constcache); 
   | 
||
| 
             INIT_IMEMO_TYPE_ID(imemo_shape); 
   | 
||
| 
     #undef INIT_IMEMO_TYPE_ID 
   | 
||
| 
         } 
   | 
||
| gc.c | ||
|---|---|---|
| 
         GC_ASSERT((flags & RUBY_T_MASK) == T_OBJECT); 
   | 
||
| 
         GC_ASSERT(flags & ROBJECT_EMBED); 
   | 
||
| 
         st_table *index_tbl = RCLASS_IV_INDEX_TBL(klass); 
   | 
||
| 
         uint32_t index_tbl_num_entries = index_tbl == NULL ? 0 : (uint32_t)index_tbl->num_entries; 
   | 
||
| 
         uint32_t index_tbl_num_entries = RCLASS_EXT(klass)->max_iv_count; 
   | 
||
| 
         size_t size; 
   | 
||
| 
         bool embed = true; 
   | 
||
| ... | ... | |
| 
             IMEMO_NAME(callinfo); 
   | 
||
| 
             IMEMO_NAME(callcache); 
   | 
||
| 
             IMEMO_NAME(constcache); 
   | 
||
| 
             IMEMO_NAME(shape); 
   | 
||
| 
     #undef IMEMO_NAME 
   | 
||
| 
         } 
   | 
||
| 
         return "unknown"; 
   | 
||
| ... | ... | |
| 
           case imemo_iseq: 
   | 
||
| 
             size += rb_iseq_memsize((rb_iseq_t *)obj); 
   | 
||
| 
             break; 
   | 
||
| 
           case imemo_shape: 
   | 
||
| 
             { 
   | 
||
| 
                 struct rb_id_table* edges = ((rb_shape_t *) obj)->edges; 
   | 
||
| 
                 if (edges) { 
   | 
||
| 
                     size += rb_id_table_memsize(edges); 
   | 
||
| 
                 } 
   | 
||
| 
                 break; 
   | 
||
| 
             } 
   | 
||
| 
           case imemo_env: 
   | 
||
| 
             size += RANY(obj)->as.imemo.env.env_size * sizeof(VALUE); 
   | 
||
| 
             break; 
   | 
||
| ... | ... | |
| 
         rb_id_table_free(tbl); 
   | 
||
| 
     } 
   | 
||
| 
     static int 
   | 
||
| 
     free_iv_index_tbl_free_i(st_data_t key, st_data_t value, st_data_t data) 
   | 
||
| 
     { 
   | 
||
| 
         xfree((void *)value); 
   | 
||
| 
         return ST_CONTINUE; 
   | 
||
| 
     } 
   | 
||
| 
     static void 
   | 
||
| 
     iv_index_tbl_free(struct st_table *tbl) 
   | 
||
| 
     { 
   | 
||
| 
         st_foreach(tbl, free_iv_index_tbl_free_i, 0); 
   | 
||
| 
         st_free_table(tbl); 
   | 
||
| 
     } 
   | 
||
| 
     // alive: if false, target pointers can be freed already. 
   | 
||
| 
     //        To check it, we need objspace parameter. 
   | 
||
| 
     static void 
   | 
||
| ... | ... | |
| 
         } 
   | 
||
| 
     } 
   | 
||
| 
     static enum rb_id_table_iterator_result 
   | 
||
| 
     remove_child_shapes_parent(VALUE value, void *ref) 
   | 
||
| 
     { 
   | 
||
| 
         rb_shape_t * shape = (rb_shape_t *) value; 
   | 
||
| 
         GC_ASSERT(IMEMO_TYPE_P(shape, imemo_shape)); 
   | 
||
| 
         // If both objects live on the same page and we're currently 
   | 
||
| 
         // sweeping that page, then we need to assert that neither are marked 
   | 
||
| 
         if (GET_HEAP_PAGE(shape) == GET_HEAP_PAGE(shape->parent)) { 
   | 
||
| 
             GC_ASSERT(!MARKED_IN_BITMAP(GET_HEAP_MARK_BITS(shape), shape)); 
   | 
||
| 
         } 
   | 
||
| 
         shape->parent = NULL; 
   | 
||
| 
         return ID_TABLE_CONTINUE; 
   | 
||
| 
     } 
   | 
||
| 
     static int 
   | 
||
| 
     obj_free(rb_objspace_t *objspace, VALUE obj) 
   | 
||
| 
     { 
   | 
||
| ... | ... | |
| 
                 RB_DEBUG_COUNTER_INC(obj_obj_transient); 
   | 
||
| 
             } 
   | 
||
| 
             else { 
   | 
||
| 
                 // A shape can be collected before an object is collected (if both 
   | 
||
| 
                 // happened to be garbage at the same time), so when we look up the shape, _do not_ 
   | 
||
| 
                 // assert that the shape is an IMEMO because it could be null 
   | 
||
| 
                 rb_shape_t *shape = rb_shape_get_shape_by_id_without_assertion(ROBJECT_SHAPE_ID(obj)); 
   | 
||
| 
                 if (shape) { 
   | 
||
| 
                     VALUE klass = RBASIC_CLASS(obj); 
   | 
||
| 
                     // Increment max_iv_count if applicable, used to determine size pool allocation 
   | 
||
| 
                     uint32_t num_of_ivs = shape->iv_count; 
   | 
||
| 
                     if (RCLASS_EXT(klass)->max_iv_count < num_of_ivs) { 
   | 
||
| 
                         RCLASS_EXT(klass)->max_iv_count = num_of_ivs; 
   | 
||
| 
                     } 
   | 
||
| 
                     // "No cache" objects have a singleton iv_index_tbl that we need to free 
   | 
||
| 
                     if (shape && rb_shape_no_cache_shape_p(shape)) { 
   | 
||
| 
                         rb_id_table_free(ROBJECT(obj)->as.heap.iv_index_tbl); 
   | 
||
| 
                     } 
   | 
||
| 
                 } 
   | 
||
| 
                 xfree(RANY(obj)->as.object.as.heap.ivptr); 
   | 
||
| 
                 RB_DEBUG_COUNTER_INC(obj_obj_ptr); 
   | 
||
| 
             } 
   | 
||
| ... | ... | |
| 
             if (RCLASS_CONST_TBL(obj)) { 
   | 
||
| 
                 rb_free_const_table(RCLASS_CONST_TBL(obj)); 
   | 
||
| 
             } 
   | 
||
| 
             if (RCLASS_IV_INDEX_TBL(obj)) { 
   | 
||
| 
                 iv_index_tbl_free(RCLASS_IV_INDEX_TBL(obj)); 
   | 
||
| 
             } 
   | 
||
| 
             if (RCLASS_CVC_TBL(obj)) { 
   | 
||
| 
                 rb_id_table_foreach_values(RCLASS_CVC_TBL(obj), cvar_table_free_i, NULL); 
   | 
||
| 
                 rb_id_table_free(RCLASS_CVC_TBL(obj)); 
   | 
||
| ... | ... | |
| 
               case imemo_constcache: 
   | 
||
| 
                 RB_DEBUG_COUNTER_INC(obj_imemo_constcache); 
   | 
||
| 
                 break; 
   | 
||
| 
             } 
   | 
||
| 
             return TRUE; 
   | 
||
| 
               case imemo_shape: 
   | 
||
| 
                 { 
   | 
||
| 
                     rb_shape_t *shape = (rb_shape_t *)obj; 
   | 
||
| 
                     rb_shape_t *parent = shape->parent; 
   | 
||
| 
                     if (parent) { 
   | 
||
| 
                         RUBY_ASSERT(IMEMO_TYPE_P(parent, imemo_shape)); 
   | 
||
| 
                         RUBY_ASSERT(parent->edges); 
   | 
||
| 
                         VALUE res; // Only used to temporarily store lookup value 
   | 
||
| 
                         if (rb_id_table_lookup(parent->edges, shape->edge_name, &res)) { 
   | 
||
| 
                             if ((rb_shape_t *)res == shape) { 
   | 
||
| 
                                 rb_id_table_delete(parent->edges, shape->edge_name); 
   | 
||
| 
                             } 
   | 
||
| 
                         } 
   | 
||
| 
                         else { 
   | 
||
| 
                             rb_bug("Edge %s should exist", rb_id2name(shape->edge_name)); 
   | 
||
| 
                         } 
   | 
||
| 
                     } 
   | 
||
| 
                     if (shape->edges) { 
   | 
||
| 
                         rb_id_table_foreach_values(shape->edges, remove_child_shapes_parent, NULL); 
   | 
||
| 
                         rb_id_table_free(shape->edges); 
   | 
||
| 
                         shape->edges = NULL; 
   | 
||
| 
                     } 
   | 
||
| 
                     shape->parent = NULL; 
   | 
||
| 
                     rb_shape_set_shape_by_id(SHAPE_ID(shape), NULL); 
   | 
||
| 
                     RB_DEBUG_COUNTER_INC(obj_imemo_shape); 
   | 
||
| 
                     break; 
   | 
||
| 
                 } 
   | 
||
| 
     	} 
   | 
||
| 
     	return TRUE; 
   | 
||
| 
           default: 
   | 
||
| 
             rb_bug("gc_sweep(): unknown data type 0x%x(%p) 0x%"PRIxVALUE, 
   | 
||
| ... | ... | |
| 
             if (!(RBASIC(obj)->flags & ROBJECT_EMBED)) { 
   | 
||
| 
                 size += ROBJECT_NUMIV(obj) * sizeof(VALUE); 
   | 
||
| 
             } 
   | 
||
| 
             break; 
   | 
||
| 
             else { 
   | 
||
| 
                 // We can't look up the shape here because `obj_memsize_of` is used during 
   | 
||
| 
                 // the sweep phase when RGENGC_CHECK_MODE is enabled.  The shape may have been 
   | 
||
| 
                 // collected, so we just want to check the ID 
   | 
||
| 
                 if (NO_CACHE_SHAPE_ID == rb_shape_get_shape_id(obj)) { 
   | 
||
| 
                     size += rb_id_table_memsize(ROBJECT(obj)->as.heap.iv_index_tbl); 
   | 
||
| 
                 } 
   | 
||
| 
             } 
   | 
||
| 
     	break; 
   | 
||
| 
           case T_MODULE: 
   | 
||
| 
           case T_CLASS: 
   | 
||
| 
             if (RCLASS_EXT(obj)) { 
   | 
||
| ... | ... | |
| 
                 if (RCLASS_CVC_TBL(obj)) { 
   | 
||
| 
                     size += rb_id_table_memsize(RCLASS_CVC_TBL(obj)); 
   | 
||
| 
                 } 
   | 
||
| 
                 if (RCLASS_IV_INDEX_TBL(obj)) { 
   | 
||
| 
                     // TODO: more correct value 
   | 
||
| 
                     size += st_memsize(RCLASS_IV_INDEX_TBL(obj)); 
   | 
||
| 
                 } 
   | 
||
| 
                 if (RCLASS_EXT(obj)->iv_tbl) { 
   | 
||
| 
                     size += st_memsize(RCLASS_EXT(obj)->iv_tbl); 
   | 
||
| 
                 } 
   | 
||
| ... | ... | |
| 
                 const struct rb_callcache *cc = (const struct rb_callcache *)obj; 
   | 
||
| 
                 // should not mark klass here 
   | 
||
| 
                 gc_mark(objspace, (VALUE)vm_cc_cme(cc)); 
   | 
||
| 
                 // Check it's an attr_(reader|writer) 
   | 
||
| 
                 if (cc->cme_ && (cc->cme_->def->type == VM_METHOD_TYPE_ATTRSET || 
   | 
||
| 
                             cc->cme_->def->type == VM_METHOD_TYPE_IVAR)) { 
   | 
||
| 
                     shape_id_t source_shape_id = vm_cc_attr_index_source_shape_id(cc); 
   | 
||
| 
                     shape_id_t dest_shape_id = vm_cc_attr_index_dest_shape_id(cc); 
   | 
||
| 
                     if (source_shape_id != INVALID_SHAPE_ID) { 
   | 
||
| 
                         rb_shape_t *shape = rb_shape_get_shape_by_id(source_shape_id); 
   | 
||
| 
                         rb_gc_mark((VALUE)shape); 
   | 
||
| 
                     } 
   | 
||
| 
                     if (dest_shape_id != INVALID_SHAPE_ID) { 
   | 
||
| 
                         rb_shape_t *shape = rb_shape_get_shape_by_id(dest_shape_id); 
   | 
||
| 
                         rb_gc_mark((VALUE)shape); 
   | 
||
| 
                     } 
   | 
||
| 
                 } 
   | 
||
| 
             } 
   | 
||
| 
             return; 
   | 
||
| 
           case imemo_constcache: 
   | 
||
| ... | ... | |
| 
                 gc_mark(objspace, ice->value); 
   | 
||
| 
             } 
   | 
||
| 
             return; 
   | 
||
| 
           case imemo_shape: 
   | 
||
| 
             { 
   | 
||
| 
                 rb_shape_t *shape = (rb_shape_t *)obj; 
   | 
||
| 
                 if (!rb_shape_root_shape_p(shape)) { 
   | 
||
| 
                     rb_gc_mark((VALUE)shape->parent); 
   | 
||
| 
                 } 
   | 
||
| 
             } 
   | 
||
| 
             return; 
   | 
||
| 
     #if VM_CHECK_MODE > 0 
   | 
||
| 
           default: 
   | 
||
| 
             VM_UNREACHABLE(gc_mark_imemo); 
   | 
||
| ... | ... | |
| 
         } 
   | 
||
| 
         gc_mark(objspace, any->as.basic.klass); 
   | 
||
| 
         rb_gc_mark((VALUE)rb_shape_get_shape(obj)); 
   | 
||
| 
         switch (BUILTIN_TYPE(obj)) { 
   | 
||
| 
           case T_CLASS: 
   | 
||
| ... | ... | |
| 
         GC_ASSERT(!SPECIAL_CONST_P(obj)); 
   | 
||
| 
         switch (BUILTIN_TYPE(obj)) { 
   | 
||
| 
           case T_IMEMO: 
   | 
||
| 
             if (IMEMO_TYPE_P(obj, imemo_shape)) { 
   | 
||
| 
                 return FALSE; 
   | 
||
| 
             } 
   | 
||
| 
           case T_NONE: 
   | 
||
| 
           case T_NIL: 
   | 
||
| 
           case T_MOVED: 
   | 
||
| ... | ... | |
| 
           case T_STRING: 
   | 
||
| 
           case T_OBJECT: 
   | 
||
| 
           case T_FLOAT: 
   | 
||
| 
           case T_IMEMO: 
   | 
||
| 
           case T_ARRAY: 
   | 
||
| 
           case T_BIGNUM: 
   | 
||
| 
           case T_ICLASS: 
   | 
||
| ... | ... | |
| 
         } 
   | 
||
| 
     } 
   | 
||
| 
     static enum rb_id_table_iterator_result 
   | 
||
| 
     check_id_table_move(VALUE value, void *data) 
   | 
||
| 
     { 
   | 
||
| 
         rb_objspace_t *objspace = (rb_objspace_t *)data; 
   | 
||
| 
         if (gc_object_moved_p(objspace, (VALUE)value)) { 
   | 
||
| 
             return ID_TABLE_REPLACE; 
   | 
||
| 
         } 
   | 
||
| 
         return ID_TABLE_CONTINUE; 
   | 
||
| 
     } 
   | 
||
| 
     static enum rb_id_table_iterator_result 
   | 
||
| 
     update_id_table(VALUE *value, void *data, int existing) 
   | 
||
| 
     { 
   | 
||
| 
         rb_objspace_t *objspace = (rb_objspace_t *)data; 
   | 
||
| 
         if (gc_object_moved_p(objspace, (VALUE)*value)) { 
   | 
||
| 
             *value = rb_gc_location((VALUE)*value); 
   | 
||
| 
         } 
   | 
||
| 
         return ID_TABLE_CONTINUE; 
   | 
||
| 
     } 
   | 
||
| 
     static void 
   | 
||
| 
     update_m_tbl(rb_objspace_t *objspace, struct rb_id_table *tbl) 
   | 
||
| 
     { 
   | 
||
| 
         if (tbl) { 
   | 
||
| 
             rb_id_table_foreach_values_with_replace(tbl, check_id_table_move, update_id_table, objspace); 
   | 
||
| 
         } 
   | 
||
| 
     } 
   | 
||
| 
     static void 
   | 
||
| 
     gc_ref_update_imemo(rb_objspace_t *objspace, VALUE obj) 
   | 
||
| 
     { 
   | 
||
| ... | ... | |
| 
           case imemo_tmpbuf: 
   | 
||
| 
           case imemo_callinfo: 
   | 
||
| 
             break; 
   | 
||
| 
           case imemo_shape: 
   | 
||
| 
             { 
   | 
||
| 
                 rb_shape_t * shape = (rb_shape_t *)obj; 
   | 
||
| 
                 if(shape->edges) { 
   | 
||
| 
                     update_m_tbl(objspace, shape->edges); 
   | 
||
| 
                 } 
   | 
||
| 
                 if (shape->parent) { 
   | 
||
| 
                     shape->parent = (rb_shape_t *)rb_gc_location((VALUE)shape->parent); 
   | 
||
| 
                 } 
   | 
||
| 
             } 
   | 
||
| 
             break; 
   | 
||
| 
           default: 
   | 
||
| 
             rb_bug("not reachable %d", imemo_type(obj)); 
   | 
||
| 
             break; 
   | 
||
| 
         } 
   | 
||
| 
     } 
   | 
||
| 
     static enum rb_id_table_iterator_result 
   | 
||
| 
     check_id_table_move(VALUE value, void *data) 
   | 
||
| 
     { 
   | 
||
| 
         rb_objspace_t *objspace = (rb_objspace_t *)data; 
   | 
||
| 
         if (gc_object_moved_p(objspace, (VALUE)value)) { 
   | 
||
| 
             return ID_TABLE_REPLACE; 
   | 
||
| 
         } 
   | 
||
| 
         return ID_TABLE_CONTINUE; 
   | 
||
| 
     } 
   | 
||
| 
     /* Returns the new location of an object, if it moved.  Otherwise returns 
   | 
||
| 
      * the existing location. */ 
   | 
||
| 
     VALUE 
   | 
||
| ... | ... | |
| 
         return destination; 
   | 
||
| 
     } 
   | 
||
| 
     static enum rb_id_table_iterator_result 
   | 
||
| 
     update_id_table(VALUE *value, void *data, int existing) 
   | 
||
| 
     { 
   | 
||
| 
         rb_objspace_t *objspace = (rb_objspace_t *)data; 
   | 
||
| 
         if (gc_object_moved_p(objspace, (VALUE)*value)) { 
   | 
||
| 
             *value = rb_gc_location((VALUE)*value); 
   | 
||
| 
         } 
   | 
||
| 
         return ID_TABLE_CONTINUE; 
   | 
||
| 
     } 
   | 
||
| 
     static void 
   | 
||
| 
     update_m_tbl(rb_objspace_t *objspace, struct rb_id_table *tbl) 
   | 
||
| 
     { 
   | 
||
| 
         if (tbl) { 
   | 
||
| 
             rb_id_table_foreach_values_with_replace(tbl, check_id_table_move, update_id_table, objspace); 
   | 
||
| 
         } 
   | 
||
| 
     } 
   | 
||
| 
     static enum rb_id_table_iterator_result 
   | 
||
| 
     update_cc_tbl_i(VALUE ccs_ptr, void *data) 
   | 
||
| 
     { 
   | 
||
| ... | ... | |
| 
         } 
   | 
||
| 
     } 
   | 
||
| 
     static int 
   | 
||
| 
     update_iv_index_tbl_i(st_data_t key, st_data_t value, st_data_t arg) 
   | 
||
| 
     { 
   | 
||
| 
         rb_objspace_t *objspace = (rb_objspace_t *)arg; 
   | 
||
| 
         struct rb_iv_index_tbl_entry *ent = (struct rb_iv_index_tbl_entry *)value; 
   | 
||
| 
         UPDATE_IF_MOVED(objspace, ent->class_value); 
   | 
||
| 
         return ST_CONTINUE; 
   | 
||
| 
     } 
   | 
||
| 
     static void 
   | 
||
| 
     update_class_ext(rb_objspace_t *objspace, rb_classext_t *ext) 
   | 
||
| 
     { 
   | 
||
| ... | ... | |
| 
         UPDATE_IF_MOVED(objspace, ext->includer); 
   | 
||
| 
         UPDATE_IF_MOVED(objspace, ext->refined_class); 
   | 
||
| 
         update_subclass_entries(objspace, ext->subclasses); 
   | 
||
| 
         // ext->iv_index_tbl 
   | 
||
| 
         if (ext->iv_index_tbl) { 
   | 
||
| 
             st_foreach(ext->iv_index_tbl, update_iv_index_tbl_i, (st_data_t)objspace); 
   | 
||
| 
         } 
   | 
||
| 
     } 
   | 
||
| 
     static void 
   | 
||
| ... | ... | |
| 
         struct heap_page *page = NULL; 
   | 
||
| 
         rb_vm_update_references(vm); 
   | 
||
| 
         for (int i = 0; i < SIZE_POOL_COUNT; i++) { 
   | 
||
| 
             bool should_set_mark_bits = TRUE; 
   | 
||
| 
             rb_size_pool_t *size_pool = &size_pools[i]; 
   | 
||
| ... | ... | |
| 
                 } 
   | 
||
| 
             } 
   | 
||
| 
         } 
   | 
||
| 
         rb_vm_update_references(vm); 
   | 
||
| 
         rb_transient_heap_update_references(); 
   | 
||
| 
         rb_gc_update_global_tbl(); 
   | 
||
| 
         global_symbols.ids = rb_gc_location(global_symbols.ids); 
   | 
||
| id_table.c | ||
|---|---|---|
| 
         MEMZERO(tbl->items, item_t, tbl->capa); 
   | 
||
| 
     } 
   | 
||
| 
     size_t 
   | 
||
| 
     MJIT_FUNC_EXPORTED size_t 
   | 
||
| 
     rb_id_table_size(const struct rb_id_table *tbl) 
   | 
||
| 
     { 
   | 
||
| 
         return (size_t)tbl->num; 
   | 
||
| id_table.h | ||
|---|---|---|
| 
     #include <stddef.h> 
   | 
||
| 
     #include "ruby/ruby.h" 
   | 
||
| 
     struct rb_id_table; 
   | 
||
| 
     /* compatible with ST_* */ 
   | 
||
| 
     enum rb_id_table_iterator_result { 
   | 
||
| 
         ID_TABLE_CONTINUE = ST_CONTINUE, 
   | 
||
| include/ruby/internal/core/robject.h | ||
|---|---|---|
| 
     #define ROBJECT_EMBED         ROBJECT_EMBED 
   | 
||
| 
     #define ROBJECT_NUMIV         ROBJECT_NUMIV 
   | 
||
| 
     #define ROBJECT_IVPTR         ROBJECT_IVPTR 
   | 
||
| 
     #define ROBJECT_IV_INDEX_TBL  ROBJECT_IV_INDEX_TBL 
   | 
||
| 
     /** @endcond */ 
   | 
||
| 
     /** 
   | 
||
| ... | ... | |
| 
                  * 
   | 
||
| 
                  * This is a shortcut for `RCLASS_IV_INDEX_TBL(rb_obj_class(obj))`. 
   | 
||
| 
                  */ 
   | 
||
| 
                 struct st_table *iv_index_tbl; 
   | 
||
| 
                 struct rb_id_table *iv_index_tbl; 
   | 
||
| 
             } heap; 
   | 
||
| 
     #if USE_RVARGC 
   | 
||
| ... | ... | |
| 
         } 
   | 
||
| 
     } 
   | 
||
| 
     #ifndef shape_id_t 
   | 
||
| 
     typedef uint16_t shape_id_t; 
   | 
||
| 
     #define shape_id_t shape_id_t 
   | 
||
| 
     #endif 
   | 
||
| 
     static inline shape_id_t 
   | 
||
| 
     ROBJECT_SHAPE_ID(VALUE obj) 
   | 
||
| 
     { 
   | 
||
| 
         RBIMPL_ASSERT_TYPE(obj, RUBY_T_OBJECT); 
   | 
||
| 
         return (shape_id_t)(0xffff & (RBASIC(obj)->flags >> 16)); 
   | 
||
| 
     } 
   | 
||
| 
     static inline void 
   | 
||
| 
     ROBJECT_SET_SHAPE_ID(VALUE obj, shape_id_t shape_id) 
   | 
||
| 
     { 
   | 
||
| 
         // Ractors are occupying the upper 32 bits of flags 
   | 
||
| 
         // Object shapes are occupying the next 16 bits 
   | 
||