nobu
a97e80ba74
* tool/instruction.rb (make_header_prepare_stack): check stack
...
overflow. [ruby-core:25714]
* tool/instruction.rb (make_footer_stack_val): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-23 02:28:08 +00:00
nobu
fe1ce93f52
* compile.c, cont.c, gc.c, insns.def, iseq.c, iseq.h, process.c,
...
thread.c, vm.c, vm_core.h, vm_dump.c, vm_eval.c,
vm_insnhelper.c, vm_method.c, template/insns_info.inc.tmpl,
tool/instruction.rb: fixed types.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-21 20:58:26 +00:00
nobu
c3cd2816ae
* tool/instruction.rb (make_insn_operand_optimized): fixed typo.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-21 19:42:26 +00:00
ko1
b82db5251c
* insns.def (opt_*): add IC operands.
...
* vm_insnhelper.h (CALL_SIMPLE_METHOD): add a version which
use an inline cache. USE_IC_FOR_SPECIALIZED_METHOD macro
switchs the behaviour. This change also removes
CALL_SIMPLE_METHOD_IC() macro.
* tool/instruction.rb: fix elimination process to ignore
variable "ic".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-06 20:42:50 +00:00
nobu
cb3c0b4a10
* tool/instruction.rb: executable.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-02 00:30:29 +00:00
nobu
61d983df58
* tool/instruction.rb (RubyVM::InstructionsLoader#make_stackcaching_insns):
...
simplified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-01 22:48:51 +00:00
ko1
20d9aefccb
* vm_core.h, compile.c: declare struct iseq_inline_cache_entry.
...
Inline cache (IC) entries are no longer GC managed object.
IC entries are freed when ISeq is freed.
* iseq.c: fix mark, free, memsize functions for above change.
* insns.def: remove rb_gc_write_barrier().
* vm_insnhelper.c (vm_method_search): ditto.
* tool/instruction.rb, template/insns_info.inc.tmpl (insn_iclen):
added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13 09:30:23 +00:00
nobu
d06f74d736
* insns.def, tool/instruction.rb: fixed types.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 07:46:44 +00:00
yugui
c2091e37ec
* 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
2008-10-18 22:30:13 +00:00
ko1
a056546f0d
* tool/instruction.rb: RubyVM is not module.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-01 11:46:48 +00:00
nobu
59432db7f7
* vm_core.h (rb_num_t): moved form vm.h.
...
* tool/instruction.rb (RubyVM::Instruction#sp_increase_c_expr),
tool/instruction.rb (RubyVM::VmBodyGenerator#make_header_operands):
omit unused variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-23 03:23:08 +00:00
nobu
5c1926ac82
* compile.c (iseq_set_sequence, iseq_insns_unification,
...
insn_data_to_s_detail): constified.
* iseq.c (insn_operand_intern, ruby_iseq_disasm_insn): ditto.
* template/{insns_info,opt_sc,optunifs}.inc.tmpl: ditto.
* tool/instruction.rb (OptUnifsIncGenerator): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-03 00:00:48 +00:00
ko1
c375b2f420
* tool/insns2vm.rb: moved from lib/vm/instruction.rb.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 01:34:09 +00:00