aboutsummaryrefslogtreecommitdiffstats
path: root/bootstraptest
Commit message (Collapse)AuthorAgeFilesLines
* * vm_insnhelper.c (vm_throw): check a class frame.ko12011-07-101-0/+27
| | | | | | | | | | Fixes Bug #4648. The patch is contributed by Kazuki Tsujimoto. * bootstraptest/test_proc.rb: add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h (typedef struct rb_vm_struct): create a newkosaki2011-07-101-0/+6
| | | | | | | | | | | | | | 'inhibit_thread_createion' field. * thread.c (rb_thread_terminate_all): set inhibit_thread_creation. * thread.c (thread_s_new): don't permit to create new thread if the VM is under destruction. Otherwise evil finalizer code can make SEGV. [Bug #4992][ruby-core:37858] * bootstraptest/test_objectspace.rb: new test for this fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * load.c (rb_f_autoload): prevent to autoload for singletonmrkn2011-07-101-0/+32
| | | | | | | classes. fixes [Bug #4886] [ruby-dev:43816] * bootstraptest/test_autoload.rb: add tests for the above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add test for [ruby-dev:44049].kosaki2011-07-081-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_threadptr_check_signal): only wake up main thread.ko12011-06-301-0/+20
| | | | | | | | | | | | | | | | | * thread.c (rb_threadptr_execute_interrupts_common): check signal deliverly if it is main thread. fixes [ruby-dev:44005] [Ruby 1.9 - Bug #4950] * bootstraptest/test_fork.rb: add a test for above. * signal.c (rb_get_next_signal): skip if signal_buff is empty. (check signal_buff.size first) * vm_core.h: remove unused variable rb_thread_t::exec_signal. * thread.c (rb_thread_check_trap_pending): check rb_signal_buff_size() because rb_thread_t::exec_signal is no longer available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_compile_each): fix return value of obj[a,*b]=c.naruse2011-06-171-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/runner.rb (show_progress): refine verbose mode.akr2011-06-141-1/+7
| | | | | | | (exec_test): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/runner.rb (show_progress): extracted from assert_check.akr2011-06-141-88/+76
| | | | | | | | | | | (assert_check): use show_progress. (assert_normal_exit): ditto. (assert_finish): ditto. (flunk): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/runner.rb: should initilize $stress to avoid warnings.eban2011-06-111-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.nobu2011-05-157-52/+52
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_get_ev_const): search root cref properly.shugo2011-03-311-1/+1
| | | | | | [ruby-dev:43365] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_method.rb: fix last commit.ko12010-09-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest/test_method.rb: add a test for [ruby-core:30534].ko12010-09-211-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_class.rb: add a test for [ruby-core:30843].mame2010-06-271-0/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * iseq_compile_each (NODE_DEFINED): put nil first to fix stackmame2010-05-191-0/+10
| | | | | | | | consistency. [ruby-core:30293] Now, lfinish[0] of defined_expr seems not to be used. Refactoring may be needed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_eval.c (eval_string_with_cref): propagative filename and line_nomame2010-05-091-1/+1
| | | | | | | | | of binding. [ruby-dev:38767] [ruby-core:28307] * vm_core.h (rb_binding_t), proc.c: add filename and line_no fields to preserve them. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_compile_each), vm_insnhelper.c (vm_invoke_block,mame2010-05-091-0/+24
| | | | | | | | | | | | | | | | | vm_throw): allow "return" and "yield" even in singleton class definition. based on a patch from wanabe <s.wanabe AT gmail.com> for "return". [ruby-core:21379] [ruby-dev:40975] * insns.def (defineclass): ditto (straightforwardly push block ptr, instead of dfp ptr with special flag). * vm_core.h (RUBY_VM_CLASS_SPECIAL_P): ditto (no longer needed). * proc.c (proc_new): ditto (remove handling for special flag). * bootstraptest/test_jump.rb: add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_method.c (rb_unlink_method_entry, rb_sweep_method_entry):ko12010-05-051-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | added. Unlinked method entries are collected to vm->unlinked_method_entry_list. On the GC timing, mark all method entries which are on all living threads. Only non-marked method entries are collected. This hack prevents releasing living method entry. [Performance Consideration] Since this Method Entry GC (MEGC) doesn't occuer frequently, MEGC will not be a performance bottleneck. However, to traverse living method entries, every control frame push needs to clear cfp->me field. This will be a performance issue (because pushing control frame is occurred frequently). Bug #2777 [ruby-dev:40457] * cont.c (fiber_init): init cfp->me. * gc.c (garbage_collect): kick rb_sweep_method_entry(). * method.h (rb_method_entry_t): add a mark field. * vm.c (invoke_block_from_c): set passed me. * vm.c (rb_thread_mark): mark cfp->me. * vm_core.h (rb_thread_t): add a field passed_me. * vm_core.h (rb_vm_t): add a field unlinked_method_entry_list. * vm_insnhelper.c (vm_push_frame): clear cfp->me at all times. * vm_insnhelper.c (vm_call_bmethod): pass me. * bootstraptest/test_method.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_io.rb (megacontent-copy_stream): get rid ofnobu2010-05-051-5/+7
| | | | | | deadlock. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def (onceinlinecache): add exclusion control for a regionmame2010-04-271-0/+9
| | | | | | between onceinlinecache and setinlinecache. [ruby-dev:39768] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_thread.rb: fix test. [Bug #2342]mame2010-04-221-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (parser_yylex): reverted r27388 due to backwardnobu2010-04-211-3/+0
| | | | | | compatibility. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (NODE_NEXT, NODE_REDO): add dummy putnil instruction tomame2010-04-201-0/+11
| | | | | | | | fix stack consistency error. [ruby-core:28172] * bootstraptest/test_jump.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_fork.rb: add a test for [ruby-core:28924].mame2010-04-191-0/+21
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (parser_yylex): seems like a symbol-literal when spacesnobu2010-04-181-0/+3
| | | | | | are unbalanced. [ruby-core:29578] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (string_content): preserve cond_stack and cmdarg_stack.nobu2010-04-181-0/+6
| | | | | | [ruby-core:29579] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_io.rb: reduced megacontent test.nobu2010-04-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/runner.rb (assert_normal_exit): add :timeout option.akr2010-02-171-5/+24
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (vm_exec): reset thread state before starting vm loop.nobu2010-02-091-0/+21
| | | | | | | [ruby-core:28129] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/runner.rb: sort test files.akr2010-02-071-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_throw): fixed infinite loop. [ruby-core:27969]mame2010-01-311-0/+12
| | | | | | (re-commit of r26522 since forgot to add a change, sorry) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_thread.rb: please please please remember that there areusa2009-12-111-1/+5
| | | | | | | platforms that do not support fork. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_pthread.c (native_mutex_reinitialize_atfork): release andnobu2009-12-101-1/+5
| | | | | | | re-acquire the lock at re-initialization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (dyna_pop_gen): pop dvars. [ruby-dev:39861]nobu2009-12-091-0/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fixed tests.shugo2009-12-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (dyna_push_gen, dyna_pop_gen): adjust local vtable levelnobu2009-11-301-0/+41
| | | | | | | | for the case of syntax errors in method name or argument inside do block. [ruby-core:26961] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootsraptest/test_io.rb: skip the test of io/nonblock on Windows.usa2009-11-251-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_thread.rb: propagate the exception within a thread tousa2009-11-241-1/+6
| | | | | | | outer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test_thread.rb: DO NOT USE FORK WITHOUT RESCUE.usa2009-11-191-5/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_atfork_internal): reinitialize global locknobu2009-11-181-0/+19
| | | | | | | | at fork to get rid of deadlock. based on the patch from Hongli Lai in [ruby-core:26783]. [ruby-core:26361] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (thread_cleanup_func): delete locking_mutex when threadmame2009-11-151-0/+23
| | | | | | | | | object become dummy because of fork. [ruby-core:26744] [ruby-core:26745] * bootstraptest/test_thread.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_gc.rb: added tests based on [ruby-dev:39484]nobu2009-10-161-0/+34
| | | | | | | from wanabe <s.wanabe AT gmail.com>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/instruction.rb (make_header_prepare_stack): check stacknobu2009-09-231-0/+11
| | | | | | | | | | 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
* * bootstraptest/test_thread.rb: just check for normal exit.nobu2009-09-111-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (literal_concat_gen): concat body from dstr instead ofnobu2009-09-031-0/+8
| | | | | | | nd_next. [ruby-core:25284] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (collect_local_variables_in_env): skips internal variables.nobu2009-08-261-1/+10
| | | | | | | [ruby-core:25125] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/runner.rb (main): "usage" description updated.akr2009-08-231-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/runner.rb (Dir.mktmpdir): updated to latest.akr2009-08-231-2/+16
| | | | | | | | (in_temporary_working_directory): temporary directory name changed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_exception.rb: test for [ruby-core:24767].nobu2009-08-051-1/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/runner.rb: forgot shebang line.nobu2009-08-031-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e