* ruby.c (struct cmdline_options): moved setids and req_list, and the
latter is now an array, to prevent memory leak.
* ruby.c (cmdline_options_init): added.
* ruby.c (add_modules, require_libraries, init_ids, forbid_setid): use
struct cmdline_options.
* vm.c (vm_init2): initialize src_encoding_index.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
block that both is written in C. [ruby-dev:34273] [ruby-core:15551]
* proc.c (curry): use proc_call instead of rb_proc_call.
[ruby-dev:34273] [ruby-core:15551]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
by "vm.c".
* vm_eval.c: added. Some codes are moved from "eval.c"
* common.mk: fix for above changes.
* compile.c: make a vm_eval(0)
* eval.c, eval_error.c, eval_intern.h, eval_jump.c, proc.c, vm.c,
id.c, id.h, vm_core.h, vm_dump.c, vm_evalbody.c, vm_insnhelper.c,
blockinlining.c: fix for above changes. and do some refactoring.
this changes improve rb_yield() performance.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
special handling that decrements sp in CATCH_TYPE_NEXT for NODE_WHILE.
* vm.c (vm_eval_body), vm_insnhelper.c (vm_throw): remove unused code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
which causes: x=1;proc{local_variables}.call #=> []
* test/ruby/test_variable.rb: add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
in prepare_iseq_build with gcc version 3.4.6 [FreeBSD] 20060305 on
FreeBSD/amd64.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(Init_BareVM): per-VM object space support, which is disabled now.
* gc.c (rb_objspace_alloc), vm.c (Init_BareVM): should not use ruby
malloc here.
* gc.c (garbage_collect, etc): performance improvement by passing the
reference instead of refering the global variable in each functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[ruby-core:14395]
* bootstraptest/test_block.rb: add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
a patch from Yusuke ENDOH <mame AT tsg.ne.jp>
* vm.c: clear VM stack.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[ruby-core:14310]
* test/ruby/test_symbol.rb (test_to_proc): a test from Frederick
Cheung <frederick.cheung AT gmail.com>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
machine_register_stack_maxsize.
* gc.c (rb_gc_stack_maxsize): new global variable for the thread size
of the main thread.
(STACK_LEVEL_MAX): use machine_stack_maxsize of current thread.
(ruby_stack_check): check IA64 register stack.
(ruby_set_stack_size): set rb_gc_stack_maxsize.
(Init_stack): set rb_gc_stack_maxsize.
* thread_pthread.ci (native_thread_create): initialize
th->machine_stack_maxsize and th->machine_register_stack_maxsize.
* vm.c (Init_BareVM): initialize th->machine_stack_maxsize and
th->machine_register_stack_maxsize.
* thread_win32.ci (native_thread_create): initialize
th->machine_stack_maxsize. not tested. just a guess at all.
[ruby-dev:32604]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
VM stack specified by mark_stack_len.
* insnhelper.ci: clear vm stack extended by opt value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c (rb_proc_location): return file name and line number where
the proc is defined.
* thread.c (thread_s_new): call initialize. [ruby-core:13835]
* thread.c (thread_initialize): split initialize method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[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