aboutsummaryrefslogtreecommitdiffstats
path: root/defs
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-04 04:57:50 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-04 04:57:50 +0000
commitd3842de5c9baa2962e01d02b2499eac49d9065a6 (patch)
tree9c077a93d188457f2fc83c092b880482854c72cf /defs
parent51ee08fd7128639ecb82997612b028ba94ba8c3d (diff)
downloadruby-d3842de5c9baa2962e01d02b2499eac49d9065a6.tar.gz
* vm_opts.h: enable optimization - operand unifications.
Operand unification technique enable to combine an instruction and specific operands and make new instruction. * defs/opt_operand.def: add several configuration of operand unifications. * insns.def: use `int' instead to suppress warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'defs')
-rw-r--r--defs/opt_operand.def49
1 files changed, 6 insertions, 43 deletions
diff --git a/defs/opt_operand.def b/defs/opt_operand.def
index 5ca1d74028..ab7103a421 100644
--- a/defs/opt_operand.def
+++ b/defs/opt_operand.def
@@ -7,53 +7,16 @@
# wildcard: *
#
-__END__
-
-getlocal 2
-getlocal 3
-getlocal 4
-
-setlocal 2
-setlocal 3
-setlocal 4
-
-getdynamic *, 0
-getdynamic 1, 0
-getdynamic 2, 0
-getdynamic 3, 0
-getdynamic 4, 0
-
-setdynamic *, 0
-setdynamic 1, 0
-setdynamic 2, 0
-setdynamic 3, 0
-setdynamic 4, 0
+getlocal *, 0
+getlocal *, 1
+setlocal *, 0
+setlocal *, 1
putobject INT2FIX(0)
putobject INT2FIX(1)
-putobject Qtrue
-putobject Qfalse
-
-# CALL
-send *, *, Qfalse, 0, *
-send *, 0, Qfalse, 0, *
-send *, 1, Qfalse, 0, *
-send *, 2, Qfalse, 0, *
-send *, 3, Qfalse, 0, *
-
-# FCALL
-send *, *, Qfalse, 0x04, *
-send *, 0, Qfalse, 0x04, *
-send *, 1, Qfalse, 0x04, *
-send *, 2, Qfalse, 0x04, *
-send *, 3, Qfalse, 0x04, *
-
-# VCALL
-send *, 0, Qfalse, 0x0c, *
-
__END__
-
-
+putobject Qtrue
+putobject Qfalse