diff --git a/common.mk b/common.mk index 8b2805d3dd..8187f9e572 100644 --- a/common.mk +++ b/common.mk @@ -115,7 +115,7 @@ COMMONOBJS = array.$(OBJEXT) \ math.$(OBJEXT) \ memory_view.$(OBJEXT) \ mjit.$(OBJEXT) \ - mjit_compiler.$(OBJEXT) \ + mjit_c.$(OBJEXT) \ node.$(OBJEXT) \ numeric.$(OBJEXT) \ object.$(OBJEXT) \ @@ -9831,213 +9831,213 @@ mjit.$(OBJEXT): {$(VPATH)}vm_debug.h mjit.$(OBJEXT): {$(VPATH)}vm_opts.h mjit.$(OBJEXT): {$(VPATH)}vm_sync.h mjit.$(OBJEXT): {$(VPATH)}yjit.h -mjit_compiler.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h -mjit_compiler.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h -mjit_compiler.$(OBJEXT): $(CCAN_DIR)/list/list.h -mjit_compiler.$(OBJEXT): $(CCAN_DIR)/str/str.h -mjit_compiler.$(OBJEXT): $(hdrdir)/ruby.h -mjit_compiler.$(OBJEXT): $(hdrdir)/ruby/ruby.h -mjit_compiler.$(OBJEXT): $(srcdir)/mjit_c.rb -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/array.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/class.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/compile.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/compilers.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/gc.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/hash.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/imemo.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/object.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/serial.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/static_assert.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/variable.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/vm.h -mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/warnings.h -mjit_compiler.$(OBJEXT): {$(VPATH)}assert.h -mjit_compiler.$(OBJEXT): {$(VPATH)}atomic.h -mjit_compiler.$(OBJEXT): {$(VPATH)}backward/2/assume.h -mjit_compiler.$(OBJEXT): {$(VPATH)}backward/2/attributes.h -mjit_compiler.$(OBJEXT): {$(VPATH)}backward/2/bool.h -mjit_compiler.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h -mjit_compiler.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h -mjit_compiler.$(OBJEXT): {$(VPATH)}backward/2/limits.h -mjit_compiler.$(OBJEXT): {$(VPATH)}backward/2/long_long.h -mjit_compiler.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h -mjit_compiler.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h -mjit_compiler.$(OBJEXT): {$(VPATH)}builtin.h -mjit_compiler.$(OBJEXT): {$(VPATH)}config.h -mjit_compiler.$(OBJEXT): {$(VPATH)}constant.h -mjit_compiler.$(OBJEXT): {$(VPATH)}debug_counter.h -mjit_compiler.$(OBJEXT): {$(VPATH)}defines.h -mjit_compiler.$(OBJEXT): {$(VPATH)}id.h -mjit_compiler.$(OBJEXT): {$(VPATH)}id_table.h -mjit_compiler.$(OBJEXT): {$(VPATH)}insns.def -mjit_compiler.$(OBJEXT): {$(VPATH)}insns.inc -mjit_compiler.$(OBJEXT): {$(VPATH)}insns_info.inc -mjit_compiler.$(OBJEXT): {$(VPATH)}intern.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/abi.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/anyargs.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/assume.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/cold.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/const.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/error.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/format.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/pure.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/warning.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/cast.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/compiler_is.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/compiler_since.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/config.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/constant_p.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rarray.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rclass.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rdata.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rfile.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rhash.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/robject.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rstring.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/ctype.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/dllexport.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/dosish.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/error.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/eval.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/event.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/fl_type.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/gc.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/glob.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/globals.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/has/attribute.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/has/builtin.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/has/extension.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/has/feature.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/has/warning.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/array.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/class.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/compar.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/complex.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/cont.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/dir.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/enum.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/error.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/eval.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/file.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/gc.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/hash.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/io.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/load.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/object.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/parse.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/proc.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/process.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/random.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/range.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/rational.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/re.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/select.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/signal.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/string.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/struct.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/thread.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/time.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/variable.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/intern/vm.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/interpreter.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/iterator.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/memory.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/method.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/module.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/newobj.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/rgengc.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/scan_args.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/special_consts.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/static_assert.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/stdalign.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/stdbool.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/symbol.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/value.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/value_type.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/variable.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/warning_push.h -mjit_compiler.$(OBJEXT): {$(VPATH)}internal/xmalloc.h -mjit_compiler.$(OBJEXT): {$(VPATH)}iseq.h -mjit_compiler.$(OBJEXT): {$(VPATH)}method.h -mjit_compiler.$(OBJEXT): {$(VPATH)}missing.h -mjit_compiler.$(OBJEXT): {$(VPATH)}mjit.h -mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_c.h -mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_c.rb -mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_c.rbinc -mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_compile_attr.inc -mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_compiler.c -mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_unit.h -mjit_compiler.$(OBJEXT): {$(VPATH)}node.h -mjit_compiler.$(OBJEXT): {$(VPATH)}ruby_assert.h -mjit_compiler.$(OBJEXT): {$(VPATH)}ruby_atomic.h -mjit_compiler.$(OBJEXT): {$(VPATH)}shape.h -mjit_compiler.$(OBJEXT): {$(VPATH)}st.h -mjit_compiler.$(OBJEXT): {$(VPATH)}subst.h -mjit_compiler.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h -mjit_compiler.$(OBJEXT): {$(VPATH)}thread_native.h -mjit_compiler.$(OBJEXT): {$(VPATH)}vm_callinfo.h -mjit_compiler.$(OBJEXT): {$(VPATH)}vm_core.h -mjit_compiler.$(OBJEXT): {$(VPATH)}vm_exec.h -mjit_compiler.$(OBJEXT): {$(VPATH)}vm_insnhelper.h -mjit_compiler.$(OBJEXT): {$(VPATH)}vm_opts.h -mjit_compiler.$(OBJEXT): {$(VPATH)}yjit.h +mjit_c.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h +mjit_c.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h +mjit_c.$(OBJEXT): $(CCAN_DIR)/list/list.h +mjit_c.$(OBJEXT): $(CCAN_DIR)/str/str.h +mjit_c.$(OBJEXT): $(hdrdir)/ruby.h +mjit_c.$(OBJEXT): $(hdrdir)/ruby/ruby.h +mjit_c.$(OBJEXT): $(srcdir)/mjit_c.rb +mjit_c.$(OBJEXT): $(top_srcdir)/internal/array.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/class.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/compile.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/compilers.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/gc.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/hash.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/imemo.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/object.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/serial.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/static_assert.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/variable.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/vm.h +mjit_c.$(OBJEXT): $(top_srcdir)/internal/warnings.h +mjit_c.$(OBJEXT): {$(VPATH)}assert.h +mjit_c.$(OBJEXT): {$(VPATH)}atomic.h +mjit_c.$(OBJEXT): {$(VPATH)}backward/2/assume.h +mjit_c.$(OBJEXT): {$(VPATH)}backward/2/attributes.h +mjit_c.$(OBJEXT): {$(VPATH)}backward/2/bool.h +mjit_c.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h +mjit_c.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h +mjit_c.$(OBJEXT): {$(VPATH)}backward/2/limits.h +mjit_c.$(OBJEXT): {$(VPATH)}backward/2/long_long.h +mjit_c.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h +mjit_c.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h +mjit_c.$(OBJEXT): {$(VPATH)}builtin.h +mjit_c.$(OBJEXT): {$(VPATH)}config.h +mjit_c.$(OBJEXT): {$(VPATH)}constant.h +mjit_c.$(OBJEXT): {$(VPATH)}debug_counter.h +mjit_c.$(OBJEXT): {$(VPATH)}defines.h +mjit_c.$(OBJEXT): {$(VPATH)}id.h +mjit_c.$(OBJEXT): {$(VPATH)}id_table.h +mjit_c.$(OBJEXT): {$(VPATH)}insns.def +mjit_c.$(OBJEXT): {$(VPATH)}insns.inc +mjit_c.$(OBJEXT): {$(VPATH)}insns_info.inc +mjit_c.$(OBJEXT): {$(VPATH)}intern.h +mjit_c.$(OBJEXT): {$(VPATH)}internal.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/abi.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/anyargs.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/assume.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/cold.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/const.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/error.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/format.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/pure.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/warning.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/cast.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/compiler_is.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/compiler_since.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/config.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/constant_p.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rarray.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rclass.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rdata.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rfile.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rhash.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/robject.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rstring.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/ctype.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/dllexport.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/dosish.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/error.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/eval.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/event.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/fl_type.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/gc.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/glob.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/globals.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/has/attribute.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/has/builtin.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/has/extension.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/has/feature.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/has/warning.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/array.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/class.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/compar.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/complex.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/cont.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/dir.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/enum.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/error.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/eval.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/file.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/gc.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/hash.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/io.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/load.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/object.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/parse.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/proc.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/process.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/random.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/range.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/rational.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/re.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/select.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/signal.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/string.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/struct.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/thread.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/time.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/variable.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/intern/vm.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/interpreter.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/iterator.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/memory.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/method.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/module.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/newobj.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/rgengc.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/scan_args.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/special_consts.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/static_assert.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/stdalign.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/stdbool.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/symbol.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/value.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/value_type.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/variable.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/warning_push.h +mjit_c.$(OBJEXT): {$(VPATH)}internal/xmalloc.h +mjit_c.$(OBJEXT): {$(VPATH)}iseq.h +mjit_c.$(OBJEXT): {$(VPATH)}method.h +mjit_c.$(OBJEXT): {$(VPATH)}missing.h +mjit_c.$(OBJEXT): {$(VPATH)}mjit.h +mjit_c.$(OBJEXT): {$(VPATH)}mjit_c.c +mjit_c.$(OBJEXT): {$(VPATH)}mjit_c.h +mjit_c.$(OBJEXT): {$(VPATH)}mjit_c.rb +mjit_c.$(OBJEXT): {$(VPATH)}mjit_c.rbinc +mjit_c.$(OBJEXT): {$(VPATH)}mjit_compile_attr.inc +mjit_c.$(OBJEXT): {$(VPATH)}mjit_unit.h +mjit_c.$(OBJEXT): {$(VPATH)}node.h +mjit_c.$(OBJEXT): {$(VPATH)}ruby_assert.h +mjit_c.$(OBJEXT): {$(VPATH)}ruby_atomic.h +mjit_c.$(OBJEXT): {$(VPATH)}shape.h +mjit_c.$(OBJEXT): {$(VPATH)}st.h +mjit_c.$(OBJEXT): {$(VPATH)}subst.h +mjit_c.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h +mjit_c.$(OBJEXT): {$(VPATH)}thread_native.h +mjit_c.$(OBJEXT): {$(VPATH)}vm_callinfo.h +mjit_c.$(OBJEXT): {$(VPATH)}vm_core.h +mjit_c.$(OBJEXT): {$(VPATH)}vm_exec.h +mjit_c.$(OBJEXT): {$(VPATH)}vm_insnhelper.h +mjit_c.$(OBJEXT): {$(VPATH)}vm_opts.h +mjit_c.$(OBJEXT): {$(VPATH)}yjit.h node.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h node.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h node.$(OBJEXT): $(CCAN_DIR)/list/list.h diff --git a/mjit.c b/mjit.c index 99ffa33c5b..d06ec7ef6a 100644 --- a/mjit.c +++ b/mjit.c @@ -1324,9 +1324,9 @@ static VALUE rb_mMJIT = 0; // RubyVM::MJIT::C static VALUE rb_mMJITC = 0; // RubyVM::MJIT::Compiler -VALUE rb_cMJITCompiler = 0; +static VALUE rb_cMJITCompiler = 0; // RubyVM::MJIT::CPointer::Struct_rb_iseq_t -VALUE rb_cMJITIseqPtr = 0; +static VALUE rb_cMJITIseqPtr = 0; // [experimental] Call custom RubyVM::MJIT.compile if defined static void @@ -2017,6 +2017,24 @@ mjit_mark_cc_entries(const struct rb_iseq_constant_body *const body) } } +// Compile ISeq to C code in `f`. It returns true if it succeeds to compile. +bool +mjit_compile(FILE *f, const rb_iseq_t *iseq, const char *funcname, int id) +{ + bool original_call_p = mjit_call_p; + mjit_call_p = false; // Avoid impacting JIT metrics by itself + + VALUE iseq_ptr = rb_funcall(rb_cMJITIseqPtr, rb_intern("new"), 1, ULONG2NUM((size_t)iseq)); + VALUE src = rb_funcall(rb_cMJITCompiler, rb_intern("compile"), 3, + iseq_ptr, rb_str_new_cstr(funcname), INT2NUM(id)); + if (!NIL_P(src)) { + fprintf(f, "%s", RSTRING_PTR(src)); + } + + mjit_call_p = original_call_p; + return !NIL_P(src); +} + #include "mjit.rbinc" #endif // USE_MJIT diff --git a/mjit_compiler.c b/mjit_c.c similarity index 54% rename from mjit_compiler.c rename to mjit_c.c index a13b1c6f64..ebb10b92e2 100644 --- a/mjit_compiler.c +++ b/mjit_c.c @@ -1,6 +1,6 @@ /********************************************************************** - mjit_compiler.c - MRI method JIT compiler + mjit_c.c - C helpers for MJIT Copyright (C) 2017 Takashi Kokubun . @@ -10,20 +10,14 @@ #if USE_MJIT +#include "mjit.h" #include "mjit_c.h" #include "internal.h" #include "internal/compile.h" #include "internal/hash.h" -#include "internal/object.h" -#include "internal/variable.h" -#include "mjit.h" -#include "mjit_unit.h" #include "yjit.h" -#include "vm_callinfo.h" -#include "vm_exec.h" #include "vm_insnhelper.h" -#include "builtin.h" #include "insns.inc" #include "insns_info.inc" @@ -37,26 +31,6 @@ #define PTR2NUM(x) ULL2NUM(x) #endif -// Compile ISeq to C code in `f`. It returns true if it succeeds to compile. -bool -mjit_compile(FILE *f, const rb_iseq_t *iseq, const char *funcname, int id) -{ - bool original_call_p = mjit_call_p; - mjit_call_p = false; // Avoid impacting JIT metrics by itself - - extern VALUE rb_cMJITCompiler; - extern VALUE rb_cMJITIseqPtr; - VALUE iseq_ptr = rb_funcall(rb_cMJITIseqPtr, rb_intern("new"), 1, ULONG2NUM((size_t)iseq)); - VALUE src = rb_funcall(rb_cMJITCompiler, rb_intern("compile"), 3, - iseq_ptr, rb_str_new_cstr(funcname), INT2NUM(id)); - if (!NIL_P(src)) { - fprintf(f, "%s", RSTRING_PTR(src)); - } - - mjit_call_p = original_call_p; - return !NIL_P(src); -} - // An offsetof implementation that works for unnamed struct and union. // Multiplying 8 for compatibility with libclang's offsetof. #define OFFSETOF(ptr, member) RB_SIZE2NUM(((char *)&ptr.member - (char*)&ptr) * 8)