summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-06 02:06:07 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-06 02:06:07 +0000
commit46cceb5a741148766eadf60f57139123d396f6d6 (patch)
tree09a24d210e7f053c5b959f5d9f51b219c5fc9851
parent4102b12e1f763e6aae6a9eaa421ac84aa355a76c (diff)
* 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
-rw-r--r--ChangeLog6
-rw-r--r--common.mk52
-rw-r--r--vm_opts.h47
3 files changed, 76 insertions, 29 deletions
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 <nobu@ruby-lang.org>
+Tue Feb 6 11:03:27 2007 Koichi Sasada <ko1@atdot.net>
+
+ * 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 <nobu@ruby-lang.org>
+
* tool/insns2vm.rb: use vm_opts.h in VPATH.
Tue Feb 6 03:47:58 2007 Koichi Sasada <ko1@atdot.net>
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 */
+