diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-12-04 04:57:50 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-12-04 04:57:50 +0000 |
commit | d3842de5c9baa2962e01d02b2499eac49d9065a6 (patch) | |
tree | 9c077a93d188457f2fc83c092b880482854c72cf /defs | |
parent | 51ee08fd7128639ecb82997612b028ba94ba8c3d (diff) |
* 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.def | 49 |
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 |