summaryrefslogtreecommitdiff
path: root/defs/opt_operand.def
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-10-18 22:30:13 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-10-18 22:30:13 +0000
commitc2091e37ec2fd62e82f5aa69e8d147e0c329cdff (patch)
treeec3599801897bc1eff805ce1c07137b32e5e4019 /defs/opt_operand.def
parentb7be78d774daf5b9a9fdd63e6d20e30309b9efa0 (diff)
* keywords, lex.c.src, opt_insn_unif.def, opt_operand.def: moved rarely changed
input files for code generators into defs/ directory. * Makefile.in (lex.c): followed keywords and lex.c.src. * common.mk (parser.o): followed keywords. (INSNS): followed opt_*.def * tools/instruction.rb: followed opt_*.def. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'defs/opt_operand.def')
-rw-r--r--defs/opt_operand.def59
1 files changed, 59 insertions, 0 deletions
diff --git a/defs/opt_operand.def b/defs/opt_operand.def
new file mode 100644
index 0000000000..5ca1d74028
--- /dev/null
+++ b/defs/opt_operand.def
@@ -0,0 +1,59 @@
+#
+# configration file for operand union optimization
+#
+# format:
+# [insn name] op1, op2 ...
+#
+# 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
+
+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__
+
+
+
+