summaryrefslogtreecommitdiff
path: root/insns.def
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-02-24 17:06:15 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-02-24 17:06:15 +0000
commitd3f73f45d8342e37a814eeb8c98e1d04f451a3b4 (patch)
treed871b6a106c9320604d208b3c3d49616496dffbb /insns.def
parentee43611393834f0e10aa982831698a11c3c9ced4 (diff)
* insns.def: Change the operand type of setinlinecache
(OFFSET to IC). This IC must be same as corresponding getinlinecache instruction's IC operand. This change is for a little performance improvement (getting IC directly) and is for the AOT compilation development. * compile.c, iseq.c, insns.def: Change the approach to handling inline cahce (IC) type operand to enable the above change. This change also affects ISeq#to_a method. The inline cache operand will be dumped by fixnum, the index of inline cache, in other words, inline cache identity. * template/insns_info.inc.tmpl, tool/instruction.rb: No need to count inline cache size (insn_iclen()). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'insns.def')
-rw-r--r--insns.def4
1 files changed, 1 insertions, 3 deletions
diff --git a/insns.def b/insns.def
index 5f789bd441..4da49e2425 100644
--- a/insns.def
+++ b/insns.def
@@ -1217,12 +1217,10 @@ onceinlinecache
*/
DEFINE_INSN
setinlinecache
-(OFFSET dst)
+(IC ic)
(VALUE val)
(VALUE val)
{
- IC ic = GET_CONST_INLINE_CACHE(dst);
-
if (ic->ic_value.value == Qundef) {
rb_ary_push(GET_ISEQ()->mark_ary, val);
}