1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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
This commit is contained in:
ko1 2010-02-24 17:06:15 +00:00
parent ee43611393
commit d3f73f45d8
6 changed files with 94 additions and 90 deletions

View file

@ -984,7 +984,6 @@ class RubyVM
# operands info
operands_info = ''
operands_num_info = ''
icoperands_num_info = ''
@insns.each{|insn|
opes = insn.opes
@ -996,12 +995,6 @@ class RubyVM
num = opes.size + 1
operands_num_info << " #{num},\n"
icnum = 0
opes.each{|e|
icnum += 1 if e[0] == 'IC'
}
icoperands_num_info << " #{icnum},\n"
}
# stack num