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:
parent
ee43611393
commit
d3f73f45d8
6 changed files with 94 additions and 90 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue