aboutsummaryrefslogtreecommitdiffstats
path: root/insnhelper.ci
Commit message (Collapse)AuthorAgeFilesLines
* * insnhelper.ci (vm_call_method): pass mn->nd_clss toshugo2007-11-111-1/+1
| | | | | | | | | vm_call_cfunc() instead of klass. * vm.c (rb_thread_method_id_and_klass): traverse parent_iseq. * thread.c (call_trace_proc): use rb_thread_method_id_and_klass(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.h (FRAME_MAGIC_MASK_BITS): bits of FRAME_MAGIC_MASK.nobu2007-11-091-2/+2
| | | | | | | * insnhelper.ci (vm_call_cfunc, vm_cfunc_flags): use shift operations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (send_internal): use self in the previous frame to check fornobu2007-11-091-1/+1
| | | | | | | | | protected methods. [ruby-core:13254] * insnhelper.ci (vm_call_method): send! method has gone. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_invoke_method): check if invoked in function style.nobu2007-11-091-5/+14
| | | | | | | | | | | | | [ruby-core:13245] * insnhelper.ci (vm_call_cfunc, vm_cfunc_flags): stores and returns VM calling flags. * vm.c (rb_vm_cfunc_funcall_p): returns if the current method is invoked in function style. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_f_send): allow send/__send__ to call methods of allmatz2007-11-041-5/+1
| | | | | | | | | | visibility again. we no longer provide __send, __send!. * eval.c (rb_invoke_method): new method to honor private visibility. if it's invoked in a function call style, it calls private methods as well (previous 1.9 send behavior). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_call_method): allow send! to call protectedmatz2007-09-281-1/+2
| | | | | | methods as well. [ruby-core:12280] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h: export rb_ivar_foreach.akr2007-09-281-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/ruby/ruby.h: modify struct RObject and RClass for optimizing T_OBJECT space. [ruby-dev:31853] (ROBJECT_LEN, ROBJECT_PTR) (RCLASS_IV_TBL, RCLASS_M_TBL, RCLASS_SUPER, RCLASS_IV_INDEX_TBL) (RMODULE_IV_TBL, RMODULE_M_TBL, RMODULE_SUPER): abstract accessor defined. * variable.c: support the modified RObject and RClass. * object.c: ditto. * class.c: ditto. * gc.c: ditto. * marshal.c: ditto. * eval_method.ci: use the abstract accessor. * insns.def: ditto. * proc.c: ditto. * struct.c: ditto. * eval.c: ditto. * error.c: ditto. * vm.c: ditto. * insnhelper.ci: ditto. * ext/digest/digest.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_throw): fix to move increment point.ko12007-09-261-1/+1
| | | | | | | | [ruby-dev:31840] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_expandarray): assignment should be placedko12007-09-141-1/+3
| | | | | | | | after creating new array. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_expandarray): should be volatile value for GC.ko12007-09-141-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_setup_method): reorder code for branch prediction.ko12007-08-251-15/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_call_method): fix to relaxant safe level checkko12007-08-251-81/+88
| | | | | | | | | ($SAFE > 2). [ruby-core:11998] * bootstraptest/test_method.rb: add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_f_send_bang): abandon the name funcall for privatematz2007-08-241-3/+3
| | | | | | aware method call. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (compile_massign), insnhelper.ci (vm_throw): not use C99nobu2007-08-231-1/+1
| | | | | | | comment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c, insns.def, parse.y: fix massign order. This changeko12007-08-231-0/+58
| | | | | | | | | | | | | causes performance problem. Try vm1_swap benchmark. [ruby-dev:31522] * insns.def, insnhelper.ci: move process body of expandarray insn to vm_expandarray(). * bootstraptest/test_knownbug.rb, bootstraptest/test_massign.rb: move a solved test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_call_bmethod): fix to propagate informationko12007-08-191-1/+1
| | | | | | | | | | | that this proc is "from Method". [ruby-dev:31490] * proc.c (method_proc, rb_mod_define_method): ditto. * vm.c (vm_invoke_proc_core): removed. * vm_core.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_callee_setup_arg): fix to mark enough VM stack.ko12007-08-191-3/+2
| | | | | | | | [ruby-dev:31492] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_call_bmethod),ko12007-08-181-1/+1
| | | | | | | | | | vm.c (vm_invoke_proc_core): fix to do not restore $SAFE when proc invoked by bmethod. * vm_core.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_send_optimize): use MEMMOVE to shift values insidenobu2007-08-181-1/+1
| | | | | | | an array. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_yield_setup_args): rsize and psize should not benobu2007-08-181-2/+1
| | | | | | | negative. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_callee_setup_arg, vm_send_optimize,nobu2007-08-181-18/+10
| | | | | | | vm_yield_setup_args): bulk copy for arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci, string.c: fixed indent.nobu2007-08-181-39/+39
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_callee_setup_arg): fix to check argumentsko12007-08-181-2/+8
| | | | | | | | correctly. [ruby-dev:31472] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_set_arguments), insnhelper.ciko12007-08-181-3/+6
| | | | | | | | | (vm_callee_setup_arg, vm_yield_setup_args): * bootstraptest/test_block.rb: add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_call), eval_method.ci (rb_add_method, rb_alias),ko12007-08-171-14/+22
| | | | | | | | | | | insnhelper.ci (vm_call_method): fix to save safelevel for method node. * include/ruby/node.h: ditto. * bootstraptest/test_method.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_set_arguments), insnhelper.ciko12007-08-161-2/+2
| | | | | | | | | | (vm_callee_setup_arg, vm_yield_setup_args): fix block parameter problems. [ruby-dev:31437], [ruby-dev:31440] * bootstraptest/test_block.rb: add a test of [ruby-dev:31440]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insnhelper.ci: missed at last commit.ko12007-08-121-0/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci, insns.def: move some statements to functions.ko12007-08-061-2/+305
| | | | | | | | * vm.c, vm.h, vm_evalbody.ci: fix include/typedef places. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * blockinlining.c: remove "yarv" prefix.ko12007-07-121-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * array.c, numeric.c: ditto. * insnhelper.ci, insns.def, vm_evalbody.ci: ditto. * yarvcore.c: removed. * yarvcore.h: renamed to core.h. * cont.c, debug.c, error.c, process.c, signal.c : ditto. * ext/probeprofiler/probeprofiler.c: ditto. * id.c, id.h: added. * inits.c: ditto. * compile.c: rename internal functions. * compile.h: fix debug flag. * eval.c, object.c, vm.c: remove ruby_top_self. use rb_vm_top_self() instead. * eval_intern.h, eval_load: ditto. * gc.c: rename yarv_machine_stack_mark() to rb_gc_mark_machine_stack(). * insnhelper.h: remove unused macros. * iseq.c: add iseq_compile() to create iseq object from source string. * proc.c: rename a internal function. * template/insns.inc.tmpl: remove YARV prefix. * thread.c: * vm.c (rb_iseq_eval): added. * vm.c: move some functions from yarvcore.c. * vm_dump.c: fix to remove compiler warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (rb_hash_lookup): added. this function is similar toko12007-07-101-1/+1
| | | | | | | | | | | rb_hash_aref(), but doesn't call Hash#default when no entry exists. * include/ruby/intern.h: ditto. * insnhelper.ci (lfp_svar_get): use rb_hash_lookup(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c, insnhelper.ci, vm.c: change cref index (-1 -> 2).ko12007-07-101-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c, insnhelper.ci: fix svar interface.ko12007-07-101-26/+59
| | | | | | | | | | | | * compile.c (iseq_compile_each), yarvcore.h: fix to use new svar interface for flip flop. * eval.c: ditto. * insns.def: ditto. * include/ruby/intern.h: remove "rb_svar()" declaration. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: fix node construction (around f_margs).ko12007-07-071-2/+2
| | | | | | | | | | [ruby-dev:31143] * bootstraptest/test_block.rb: add a test for above. * insnhelper.ci: fix indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_yield_setup_args), vm.c, insns.def:ko12007-07-071-17/+5
| | | | | | | | | | fix to pass nil as block parameter to yielded block. [ruby-dev:31147] * bootstraptest/test_block.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * yarvcore.h: rename rb_control_frame_t#magic to flag.ko12007-07-051-2/+2
| | | | | | | | | | * vm.h: add VM_FRAME_TYPE() and VM_FRAME_FLAG(). * cont.c, insnhelper.ci, insns.def, vm.c, vm_dump.c, vm_evalbody.ci, yarvcore.c: apply above changes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (caller_setup_args): fix to show correct classko12007-07-031-2/+3
| | | | | | | | on an error message (ex: m(&1)). [ruby-dev:31101] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c: rename iseq_translate_direct_threaded_code()ko12007-07-021-8/+0
| | | | | | | | | | | | | to iseq_translate_threaded_code(). * eval_intern.h, yarvcore.h: mv EXEC_EVENT_HOOK() and exec_event_hooks() to yarvcore.h. * insnhelper.ci, vm.c: mv yarv_finish_insn_seq to vm.c. * insns.def (opt_call_c_function): fix to use RESTORE_REGS(). * iseq.c (rb_iseq_build_for_ruby2cext): fix to allocate iseq. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * yarvcore.h, compile.c, insnhelper.ci, iseq.c, vm.c:ko12007-07-011-2/+2
| | | | | | | | | | | | rename structure names and field names. * insnhelper.h, insns.def: add GET_CONST_INLINE_CACHE(). * iseq.c: add rb_iseq_build_for_ruby2cext(). * yarvcore.h, vm.h: move declaration of rb_insn_func_t to yarvcore.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_yield_with_cfunc), proc.c: fix Method#to_procko12007-06-251-19/+25
| | | | | | | | to return lamba Proc ([ruby-dev:31021], [ruby-dev:31037]). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci, vm.c: complete block parameter support.ko12007-06-251-60/+104
| | | | | | | | | | | post arguments, optional arguments, block argument. * compile.c, parse.y: fix {|a|} parameter. * insnshelper.ci, insns.def: revert caller_setup_args() option (need_block_check) parameter. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.h: add RUBY_ prefix to debug macros.ko12007-06-251-38/+137
| | | | | | | | | | | | * cont.c, proc.c, yarvcore.c, * gc.c: define ruby_gc_debug_indent variable to debug mark/free. * vm.c, insnhelper.ci: rename some functions to vm_* or rb_vm_*. move some functions, definitions, declarations to suitable files. * eval.c, yarvcore.h, eval_error.ci, insnhelper.ci: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (caller_setup_args): add need_block_check option.ko12007-06-241-20/+23
| | | | | | | | | * insns.def: ditto. * yarvcore.h: add GetCoreDataFromValue(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * call_cfunc.ci: removed.ko12007-06-241-0/+845
* insnhelper.ci: added. this function includes all functions that vm insns need. * common.mk: ditto. * insnhelper.h, vm.h, vm.c: move some declaration. * gc.h: remove GC_CHECK() macro because GC.stress is more useful. * compile.c, iseq.c, vm_dump: ditto. * gc.h, thread.c: move a prototype decalaration. * debug.c, debug.h: rename some functions. * compile.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e