Граф коммитов

307 Коммитов

Автор SHA1 Сообщение Дата
akr 21675bb6a7 reduce test time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 08:08:52 +00:00
nobu 132d0624ec * variable.c (rb_const_get_0), vm_insnhelper.c (vm_get_ev_const):
avoids infinite self recursion autoload.  [ruby-core:21696]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-31 20:19:44 +00:00
ko1 a3a45fafa3 * vm.c (rb_vm_inc_const_missing_count, ruby_vm_const_missing_count):
added.
* vm_insnhelper.h: ditto.
* variable.c (rb_const_get_0), insns.def: Constants should not be
  cached if const_missing is called.  [ruby-core:21059] [Bug #967]
* bootstraptest/test_class.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 15:31:43 +00:00
mame f35f46a9f1 * bootstraptest/test_proc.rb: suppress error message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 13:20:46 +00:00
ko1 bd96f1fe70 * eval.c (get_errinfo): return th->errinfo value
if normal errinfo place (dynamic local viriable) is not found.
  fixes Bug #732 [ruby-dev:37046].
* bootstraptest/test_proc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 04:45:28 +00:00
ko1 597220ef0c * vm.c (Init_VM): create and define TOPLEVEL_BINDING at first.
* vm.c (vm_set_main_stack, rb_iseq_eval_main): added.
* parse.y (rb_parser_compile_file): fix to check parse_in_eval flag.
* eval.c (ruby_exec_node): use rb_iseq_eval_main()
  instead of rb_iseq_eval().
* iseq.c (rb_iseq_new_main), vm_core.h: added.
  main script (specified by -e or script name) should be run
  under TOPLEVEL_BINDING using Kernel#eval.  Above changes
  simulate Kernel#eval behaviour.  [ruby-dev:37240]
* compile.c (make_name_for_block): skip iseq except block type.
  this fix is needed for [ruby-dev:37240], and also fixes
  [ruby-dev:35392].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 01:15:56 +00:00
ko1 a71fb38d47 * vm_insnhelper.c (vm_method_search): return rb_cObject if there is no
super class.  [ruby-dev:37587]
* bootstraptest/test_method.rb: add tests for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 04:19:33 +00:00
ko1 7c982059ea * proc.c (proc_new): should use proc_dup() if block has Proc.
* vm.c (vm_make_proc_from_block): should use rb_cProc for block.
* vm.c (vm_make_proc): add an assertion.
* bootstraptest/test_proc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 03:51:35 +00:00
ko1 f0da2e1657 * vm_insnhelper.c (vm_call_method): use class of method defined
instead of receiver's class on bmethod.  fixes [ruby-core:20786]
* bootstraptest/test_method.rb: add a test for above.
* vm_insnhelper.c (vm_setup_method): remove unused parameter klass.
* vm_insnhelper.h (CALL_METHOD): ditto.
* insns.def, vm_eval.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 11:47:00 +00:00
nobu 8c8d666467 * vm_insnhelper.c (vm_callee_setup_arg_complex): uses cfp from
blockptr instead of the current cfp.  [ruby-core:20544]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-15 07:26:48 +00:00
nobu 8e864d1e86 * load.c (rb_get_load_path): returns the load path without
touching.

* load.c (rb_feature_provided): new function to return the loading
  path in addition to rb_provided().

* load.c (search_required): sets path if loading.

* variable.c (autoload_provided): load paths are expanded to check
  if loading.

* variable.c (autoload_node): keeps autoload mark while loading.
  [ruby-core:20235]

* variable.c (rb_const_get_0): loops while autoload mark is set.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 18:29:20 +00:00
usa e8d91f1213 * bootstraptest/test_thread.rb: ignore some exceptions.
[ruby-dev:36951]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 00:52:32 +00:00
ko1 3337185ed6 * parse.y (arg_concat_gen): concat target node should be NODE_ARRAY.
[ruby-core:19413]
* bootstraptest/test_method.rb: add tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 20:45:35 +00:00
ko1 03b2fc9adf * bootstraptest/test_thread.rb: add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 07:39:45 +00:00
ko1 100d0a568e * vm_insnhelper.c (vm_call_method): copy arguments to allocated
memory from machine stack.  [ruby-dev:36028]
* KNOWNBUGS.rb, bootstraptest/test_method.rb: move fixed test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-29 08:24:51 +00:00
usa a7fa5122d7 * bootstraptest/test_io.rb: no need to create real file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 10:05:35 +00:00
nobu faf2541c2b * gc.c (rb_gc_call_finalizer_at_exit): self-referencing finalizers
cannot be invoked.  [ruby-dev:35681]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-06 11:48:30 +00:00
naruse 99c3a01dc7 * bootstraptests/method.rb: increase RLIMIT_STACK size to 4M+8Kbytes
because FreeBSD fails this less than that.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-27 13:24:18 +00:00
nobu f3fcd2e4a0 * io.c (rb_io_wait_readable, rb_io_wait_writable): check if the file
descriptor is closed.

* thread.c (rb_thread_wait_fd_rw): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-11 11:51:39 +00:00
akr 5c91367675 add ML ref.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-10 14:52:24 +00:00
nobu 1a5f1a8c69 * vm_core.h (rb_thread_t), vm.c (rb_thread_mark), process.c
(rb_last_status_get, rb_last_status_set, rb_last_status_clear):
  moved last_status from rb_vm_t.  [ruby-dev:35414]

* vm.c (th_init2): initialize last_status with nil.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-10 03:10:00 +00:00
matz 5336cbdfd3 * string.c (str_gsub): should preserve last successful match
data.  [ruby-dev:35182]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19 17:11:55 +00:00
ko1 e929f49e56 * KNOWNBUGS.rb, bootstraptest/pending.rb: move a bug (?) to pending.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19 16:08:16 +00:00
ko1 e7dac48a91 * proc.c (proc_new): fix to return Proc object if block is already
in heap.  [ruby-core:15711]
* bootstraptest/test_proc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19 15:43:25 +00:00
ko1 c3e619c83d * vm_insnhelper.c (vm_throw): fix "return" process from "lambda".
* bootstraptest/test_proc.rb: add a test.
* bootstraptest/pending.rb: add a pending bug.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19 02:46:02 +00:00
ko1 f98e6b91de * KNOWNBUGS.rb, bootstraptest/pending.rb: move pending bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-17 19:29:38 +00:00
ko1 00e4fd42f3 * vm.c, vm_insnhelper.c: fix escape process with "braek" and "return"
syntax in "lambda".  [ ruby-Bugs-19304 ], [ruby-core:17164]
* KNOWNBUGS.rb, bootstraptest/test_proc.rb: add/move solved test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-17 19:27:24 +00:00
ko1 faa93e847d * eval.c (rb_f_block_given_p): fix to skip class frame.
[ruby-core:14813]
* KNOWNBUGS.rb, bootstraptest/test_method.rb: move solved test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-15 16:50:37 +00:00
mame 6f5aaff73b * thread.c, vm_core.h, vm.c, thread_pthread.c, thread_win32.c: add
deadlock detection.  [ruby-dev:35044]

* bootstraptest/test_thread.rb: add tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-12 13:01:38 +00:00
akr 2dc5f35a3a * bootstraptest/runner.rb (assert_normal_exit): hide stderr output
when success.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-11 03:16:28 +00:00
ko1 9e324fdd3e * vm.c, eval_intern.h (PASS_PASSED_BLOCK):
set a VM_FRAME_FLAG_PASSED flag to skip this frame when
  searching ruby-level-cfp.
* eval.c, eval_intern.h, proc.c: fix to check cfp.  if there is
  no valid ruby-level-cfp, cause RuntimeError exception.
  [ruby-dev:34128]
* vm_core.h, vm_evalbody.c, vm.c, vm_dump.c, vm_insnhelper.c,
  insns.def: rename FRAME_MAGIC_* to VM_FRAME_MAGIC_*.
* KNOWNBUGS.rb, bootstraptest/test*.rb: move solved bugs.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-10 21:46:43 +00:00
ko1 fe54190f68 * bootstraptest/test_knownbug.rb -> ./test_knownbug.rb: moved.
* common.mk: add a rule "test-knownbug".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-09 12:10:43 +00:00
ko1 7e6c9db4e2 * bootstraptest/pending.rb: move/remove solved issues.
* bootstraptest/test_class.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-08 18:13:09 +00:00
akr f52d9a169b add a test for [ruby-dev:34679].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-24 01:57:02 +00:00
mame 846ea1727f * compile.c (get_destination_insn, get_next_insn, get_prev_insn):
peephole optimization should not ignore ISEQ_ELEMENT_ADJUST.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22 14:45:54 +00:00
akr da5e82f5a3 add a test for Array#compact!.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22 08:13:19 +00:00
ko1 a16e394bbf * bootstraptest/test_eval.rb: fix syntax.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-21 14:22:24 +00:00
ko1 d457fdad2d * eval.c, vm_insnhelper.c: fix cref in instance_eval
and cvar_base search protocol.
* bootstraptest/test_knownbug.rb, test_eval.rb: move soleved test
  and add new tests.
* test/ruby/test_eval.rb: fix tests for spec.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 18:47:56 +00:00
ko1 e07663ec1f * bootstraptest/test_knownbug.rb: fix a test.
"block_given?" returns true if "yield" can be used.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 16:47:42 +00:00
akr 48a42a0387 add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 07:30:41 +00:00
ko1 39fcd1cdf2 * bootstraptest/test_knownbug.rb: move solved tests.
* bootstraptest/test_eval.rb, test_literal.rb, test_syntax.rb,
  test_thread.rb: ditto.
* test/ruby/test_m17n.rb, test_proc.rb, test_sprintf.rb,
  test_string.rb, test/ruby/test_struct.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 05:20:21 +00:00
ko1 385f0e8af6 * vm.c, insns.def, eval.c, vm_insnhelper.c: fix CREF handling.
VM value stack frame of block contains cref information.
  (dfp[-1] points CREF)
* compile.c, eval_intern.h, eval_method.c, load.c, proc.c,
  vm_dump.h, vm_core.h: ditto.
* include/ruby/ruby.h, gc.c: remove T_VALUES because of above
  changes.
* bootstraptest/test_eval.rb, test_knownbug.rb: move solved test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 03:08:50 +00:00
akr e17c10a391 add a test for [ruby-dev:34579].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:47:12 +00:00
akr 21140756e1 add a test for [ruby-dev:34646].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:41:48 +00:00
nobu 589a164abc * bootstraptest/runner.rb (main): leave -I options for purelib.rb
untouched.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 13:54:04 +00:00
nobu b7a1480540 * bootstraptest/runner.rb (main): handle relative path -r options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 13:39:35 +00:00
akr 611e287498 * thread.c (rb_gc_save_machine_context): call FLUSH_REGISTER_WINDOWS
to mark the register stack from GC on another thread.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 06:59:03 +00:00
akr b998a6dbe8 add a test for IA64 Debian GNU/Linux Etch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-05 06:48:34 +00:00
akr c415a5d66b add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-04 07:49:32 +00:00
akr 47dcf6702a add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-03 13:29:11 +00:00