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
|