From 46cceb5a741148766eadf60f57139123d396f6d6 Mon Sep 17 00:00:00 2001 From: ko1 Date: Tue, 6 Feb 2007 02:06:07 +0000 Subject: * complement last commit. * common.mk (*.inc): use VPATH. * vm_opts.h: renamed from vm_opts.h.base. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 +++++- common.mk | 52 ++++++++++++++++++++++++---------------------------- vm_opts.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 29 deletions(-) create mode 100644 vm_opts.h diff --git a/ChangeLog b/ChangeLog index e22c849100..f0511f0152 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,13 @@ -Tue Feb 6 10:02:41 2007 Nobuyoshi Nakada +Tue Feb 6 11:03:27 2007 Koichi Sasada + + * complement last commit. * common.mk (*.inc): use VPATH. * vm_opts.h: renamed from vm_opts.h.base. +Tue Feb 6 10:02:41 2007 Nobuyoshi Nakada + * tool/insns2vm.rb: use vm_opts.h in VPATH. Tue Feb 6 03:47:58 2007 Koichi Sasada diff --git a/common.mk b/common.mk index 293f58e946..c0e8c6478e 100644 --- a/common.mk +++ b/common.mk @@ -387,7 +387,7 @@ enumerator.$(OBJEXT): {$(VPATH)}enumerator.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h error.$(OBJEXT): {$(VPATH)}error.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ - {$(VPATH)}st.h vm_opts.h + {$(VPATH)}st.h {$(VPATH)}vm_opts.h euc_jp.$(OBJEXT): {$(VPATH)}euc_jp.c {$(VPATH)}regenc.h \ {$(VPATH)}oniguruma.h @@ -508,70 +508,66 @@ compile.$(OBJEXT): {$(VPATH)}compile.c {$(VPATH)}yarvcore.h \ {$(VPATH)}compile.h {$(VPATH)}debug.h {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}missing.h {$(VPATH)}intern.h \ {$(VPATH)}st.h {$(VPATH)}node.h {$(VPATH)}yarv.h \ - insns.inc insns_info.inc optinsn.inc opt_sc.inc optunifs.inc vm_opts.h + {$(VPATH)}insns.inc {$(VPATH)}insns_info.inc {$(VPATH)}optinsn.inc \ + {$(VPATH)}opt_sc.inc {$(VPATH)}optunifs.inc {$(VPATH)}vm_opts.h iseq.$(OBJEXT): {$(VPATH)}iseq.c {$(VPATH)}yarvcore.h {$(VPATH)}debug.h \ {$(VPATH)}ruby.h {$(VPATH)}defines.h {$(VPATH)}missing.h \ {$(VPATH)}intern.h {$(VPATH)}st.h {$(VPATH)}yarv.h \ - {$(VPATH)}gc.h vm_opts.h insns.inc insns_info.inc + {$(VPATH)}gc.h {$(VPATH)}vm_opts.h \ + {$(VPATH)}insns.inc {$(VPATH)}insns_info.inc vm.$(OBJEXT): {$(VPATH)}vm.c {$(VPATH)}vm.h {$(VPATH)}insnhelper.h \ {$(VPATH)}yarvcore.h {$(VPATH)}debug.h {$(VPATH)}ruby.h config.h\ {$(VPATH)}node.h {$(VPATH)}yarv.h {$(VPATH)}version.h \ {$(VPATH)}util.h {$(VPATH)}rubysig.h {$(VPATH)}dln.h \ {$(VPATH)}vm_evalbody.ci {$(VPATH)}call_cfunc.ci \ - insns.inc vm.inc vmtc.inc vm_macro.inc vm_opts.h {$(VPATH)}eval_intern.h + {$(VPATH)}insns.inc {$(VPATH)}vm.inc {$(VPATH)}vmtc.inc \ + {$(VPATH)}vm_macro.inc {$(VPATH)}vm_opts.h {$(VPATH)}eval_intern.h vm_dump.$(OBJEXT): {$(VPATH)}yarvcore.h {$(VPATH)}vm.h config.h \ {$(VPATH)}ruby.h {$(VPATH)}defines.h {$(VPATH)}missing.h \ {$(VPATH)}intern.h {$(VPATH)}st.h {$(VPATH)}node.h {$(VPATH)}debug.h \ - {$(VPATH)}yarv.h {$(VPATH)}version.h vm_opts.h + {$(VPATH)}yarv.h {$(VPATH)}version.h {$(VPATH)}vm_opts.h yarvcore.$(OBJEXT): {$(VPATH)}yarvcore.c {$(VPATH)}yarvcore.h \ {$(VPATH)}debug.h {$(VPATH)}ruby.h config.h {$(VPATH)}defines.h \ {$(VPATH)}missing.h {$(VPATH)}intern.h {$(VPATH)}st.h \ - {$(VPATH)}node.h {$(VPATH)}yarv.h {$(VPATH)}gc.h vm_opts.h + {$(VPATH)}node.h {$(VPATH)}yarv.h {$(VPATH)}gc.h {$(VPATH)}vm_opts.h debug.$(OBJEXT): {$(VPATH)}debug.h {$(VPATH)}ruby.h {$(VPATH)}defines.h \ {$(VPATH)}missing.h {$(VPATH)}intern.h {$(VPATH)}st.h config.h \ {$(VPATH)}st.h blockinlining.$(OBJEXT): {$(VPATH)}ruby.h {$(VPATH)}defines.h \ {$(VPATH)}missing.h {$(VPATH)}intern.h {$(VPATH)}st.h config.h \ {$(VPATH)}node.h {$(VPATH)}yarv.h {$(VPATH)}yarvcore.h \ - {$(VPATH)}debug.h vm_opts.h + {$(VPATH)}debug.h {$(VPATH)}vm_opts.h MATZRUBY = $(MATZRUBYDIR)ruby -INSNS2VMOPT = $(CPPFLAGS) --srcdir=$(srcdir) +INSNS = opt_sc.inc optinsn.inc optunifs.inc insns.inc \ + vmtc.inc vm.inc vm_macro.inc -minsns.inc: - $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) +INSNS2VMOPT = $(CPPFLAGS) --srcdir="$(srcdir)" -opt_sc.inc: - $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) +minsns.inc: $(srcdir)/template/minsns.inc.tmpl -optinsn.inc: - $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) optinsn.inc +opt_sc.inc: $(srcdir)/template/opt_sc.inc.tmpl -optunifs.inc: - $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) optunifs.inc +optinsn.inc: $(srcdir)/template/optinsn.inc.tmpl -insns.inc: $(srcdir)/insns.def - $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) +optunifs.inc: $(srcdir)/template/optunifs.inc.tmpl -insns_info.inc: $(srcdir)/insns.def - $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) insns_info.inc +insns.inc: $(srcdir)/template/insns.inc.tmpl -vmtc.inc: - $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) vmtc.inc +insns_info.inc: $(srcdir)/template/insns_info.inc.tmpl -vm.inc: $(srcdir)/insns.def - $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) vm.inc +vmtc.inc: $(srcdir)/template/vmtc.inc.tmpl + +vm.inc: $(srcdir)/template/vm.inc.tmpl vm_macro.inc: $(srcdir)/vm_macro.def - $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) vm_macro.inc -vm_opts.h: $(srcdir)/vm_opts.h.base +$(INSNS): $(srcdir)/insns.def vm_opts.h $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) -incs: - $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) +incs: $(INSNS) docs: $(BASERUBY) -I$(srcdir) $(srcdir)/tool/makedocs.rb $(INSNS2VMOPT) diff --git a/vm_opts.h b/vm_opts.h new file mode 100644 index 0000000000..379b10c203 --- /dev/null +++ b/vm_opts.h @@ -0,0 +1,47 @@ +/*-*-c-*-*/ +/********************************************************************** + + vm_opts.h - VM optimize option + + $Author: nobu $ + $Date: 2007-02-03 00:21:41 +0900 (土, 03 2 2007) $ + + Copyright (C) 2004-2006 Koichi Sasada + +**********************************************************************/ + + +#ifndef VM_OPTS_H_INCLUDED +#define VM_OPTS_H_INCLUDED + +/* C compiler depend */ +#define OPT_DIRECT_THREADED_CODE 1 +#define OPT_CALL_THREADED_CODE 0 + +/* architecture independent */ + +/* VM running option */ +#define OPT_CHECKED_RUN 1 + +/* at compile */ +#define OPT_INLINE_CONST_CACHE 1 +#define OPT_PEEPHOLE_OPTIMIZATION 1 +#define OPT_SPECIALISED_INSTRUCTION 1 + +/* at runtime */ +#define OPT_INLINE_METHOD_CACHE 1 +#define OPT_BLOCKINLINING 0 + +/* architecture independent, affects generated code */ +#define OPT_OPERANDS_UNIFICATION 0 +#define OPT_INSTRUCTIONS_UNIFICATION 0 + +/* code generation parameter */ +#define OPT_UNIFY_ALL_COMBINATION 0 +#define OPT_STACK_CACHING 0 + +/* misc */ +#define SUPPORT_JOKE 0 + +#endif /* VM_OPTS_H_INCLUDED */ + -- cgit v1.2.3