summaryrefslogtreecommitdiffstats
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
...
* * id.h, id.c: remove idFuncall.ko12007-08-241-0/+6
| | | | | | | | * compile.c (iseq_specialized_instruction): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/compile_prelude.rb: fix to include "vm_core.h".ko12007-08-241-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/sentence.rb (Sentence): include Enumerable.akr2007-08-241-0/+7
| | | | | | | | | (Sentence#each): defined. * test/ruby/test_assignment.rb: use Sentence#expand. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * prelude.rb: fix Mutex#synchronize definition.ko12007-08-241-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_s_try_convert): a new class method to convertmatz2007-08-241-0/+14
| | | | | | | | | | | | | | | object or nil if it's not target-type. this mechanism is used to convert types in the C implemented methods. * hash.c (rb_hash_s_try_convert): ditto. * io.c (rb_io_s_try_convert): ditto. * re.c (rb_reg_s_try_convert): ditto. * string.c (rb_str_s_try_convert): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_loop_generator.rb: added.ko12007-08-241-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * prelude.rb: added. run this script on startup.ko12007-08-241-0/+14
| | | | | | | | | | | | | * tool/compile_prelude.rb: compile prelude.rb to C string. (prelude.rb -> prelude.c) * common.mk: fix to build with prelude.c. * inits.c (rb_call_inits): ditto. * thread.c (Init_Thread): move definition of Mutex#synchronize to prelude.rb. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (compile_massign_opt): fix to skip massign optimizationko12007-08-241-0/+7
| | | | | | | | | with global variables. * bootstraptest/test_massign.rb: add some tests for above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c (enumerator_next): stop pre-fetching.matz2007-08-241-0/+10
| | | | | | | | * enumerator.c (Init_Enumerator): remove next? method. * eval.c (rb_f_loop): now handles StopIteration exception. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_dir.rb (TestDir::setup): ?c now makes a string.matz2007-08-241-0/+12
| | | | | | | | | | * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::initialize): initialize @workdir to stop warning. * lib/drb/drb.rb (DRb::DRbServer::InvokeMethod::perform_without_block): replace funcall by send!. other files in the distribution as well. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_f_send_bang): abandon the name funcall for privatematz2007-08-241-0/+5
| | | | | | aware method call. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c: optimize simple massign.ko12007-08-231-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (reg_get_value): use RegQueryValueEx insteadsuke2007-08-231-0/+10
| | | | | | | | | | | | | of RegQueryValueEx. * ext/win32ole/win32ole.c (typelib_file_from_clsid): fix the bug that the function always returns Qnil. * test/win32ole/test_win32ole_type.rb (test_initialize): add some test. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in (group_member): check if presents.nobu2007-08-231-0/+10
| | | | | | | | | | | * configure.in (XCFLAGS): add _GNU_SOURCE on linux. * file.c (group_member): use system routine if available. * process.c: moved _GNU_SOURCE macro to Makefile. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (compile_massign), insnhelper.ci (vm_throw): not use C99nobu2007-08-231-1/+4
| | | | | | | comment. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c (sym_call): initialize first.nobu2007-08-231-1/+7
| | | | | | | | | * enumerator.c (enum_iter): typedefed. * enumerator.c (next_i): suppress a warning. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cont.c (rb_cont_call, fiber_switch, rb_fiber_resume, rb_fiber_yield):nobu2007-08-231-0/+8
| | | | | | | | | | suppress warnings. * cont.c (rb_fiber_start): change on non-volatile variable between setjmp and longjmp may not has an effect. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c, insns.def, parse.y: fix massign order. This changeko12007-08-231-0/+12
| | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@13236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (f_norm_arg): ripper has no shadowing check.nobu2007-08-231-0/+6
| | | | | | | * parse.y (f_block_arg): dispatch blkarg_mark. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (make_masgn_lhs, iseq_compile_each): fixed indent.nobu2007-08-231-0/+12
| | | | | | | | | | | | | * compile.c (iseq_translate_threaded_code), vm_evalbody.ci (get_insns_address_table), template/vmtc.inc.tmpl (insns_address_table): constified. * vm_evalbody.ci (vm_eval), template/insns_info.inc.tmpl (insn_stack_increase, insn_ret_num): suppress warnings. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (f_norm_arg): check also nested arguments. [ruby-dev:31502]nobu2007-08-231-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * util.c: updated for ANSI C only. applied a patch frommatz2007-08-221-0/+5
| | | | | | <snakagawa AT infoteria.co.jp>. [ruby-dev:31591] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * missing/strtod.c: removed. [ruby-dev:31588]matz2007-08-221-0/+6
| | | | | | * LEGAL: updated. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_knownbug.rb:ko12007-08-221-0/+5
| | | | | | | | fix typo of filename (test_knwonbug.rb). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_knwonbug.rb: added. This file will containko12007-08-221-1/+10
| | | | | | | | | | | test cases which point out known bug. If bug is fixed, tests should move to the suitable place. * bootstraptest/test_massign.rb: move a test which show known bug to test_knownbug.rb. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/runner.rb (in_temporary_working_directory):akr2007-08-221-0/+5
| | | | | | | don't remove the directory specified by --dir. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * util.c (ruby_strtod): replaced by the implementation by Davidmatz2007-08-211-0/+11
| | | | | | | | | | | | M. Gay inspired by William D. Clinger's paper "How to Read Floating Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101]. a patch from Satoshi Nakagawa <snakagawa AT infoteria.co.jp>. [ruby-dev:31582] * test/ruby/test_float.rb (TestFloat::test_float): add test for precision. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cont.c: add Fiber#resume and Fiber.yield.ko12007-08-211-0/+11
| | | | | | | | | | | and Fiber::Core class to realize Coroutine. * include/ruby/intern.h: declare rb_fiber_yield(), rb_fiber_resume(), * enumerator.c: use above api. * test/ruby/test_fiber.rb: fix and add tests for above changes. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/tmpdir.rb (Dir.mktmpdir): make directory suffix specifiable.akr2007-08-211-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * st.c (st_clear): reset num_entries too.nobu2007-08-211-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (st_foreach_func, rb_foreach_func): typedefed.nobu2007-08-211-1/+3
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (rb_hash_clear): use st_clear() unless iterating.nobu2007-08-211-1/+3
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * st.c (struct st_table_entry): add new members, fore and back, tonobu2007-08-211-0/+7
| | | | | | | | | iterate in inserted order. * include/ruby/st.h (struct st_table): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_vm2_case.rb: add a new benchmark.ko12007-08-201-0/+7
| | | | | | | | | | YARV optimize case/when syntax. If every conditions are literal (such as Symbol, Fixnum, String), dispatch calc order will be O(1). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_enumerator.rb: fix last commit.ko12007-08-201-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test_enumerator.rb (enum_test): fix to return sortedko12007-08-201-0/+5
| | | | | | | | array (for Hash test). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c (next_i): fix to return with Fiber#yield atko12007-08-201-0/+10
| | | | | | | | | | | the end of each block. [ruby-dev:31470] * enumerator.c (enumerator_next_p): call init_next if not initialized. [ruby-dev:31514] * test/ruby/test_enumerator.rb: add tests for Enumerator. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_s_foreach): argument count check before makingmatz2007-08-201-0/+3
| | | | | | Enumerator. [ruby-dev:31525] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (dir_foreach): return Enumerator if no block given.matz2007-08-201-0/+3
| | | | | | [ruby-dev:31525] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (Init_String): remove Symbol.intern and Symbol#dump.matz2007-08-201-0/+5
| | | | | | [ruby-dev:31525] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h (struct rb_thread_struct): removed first_func_arg andnobu2007-08-201-0/+5
| | | | | | | reuse first_args instead. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: use VALGRIND_MAKE_MEM_UNDEFINED to detect use of collectedakr2007-08-191-0/+6
| | | | | | | | objects if valgrind is available. It cannot detect first 2 words because they are used as the free list. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_compile_each/NODE_RESBODY): fix to addko12007-08-191-0/+7
| | | | | | | | | additional nop to prevent tailcall optimization. * vm_opts.h: clean up comments. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_call_bmethod): fix to propagate informationko12007-08-191-0/+11
| | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@13111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/sentence.rb: new method Sentence().akr2007-08-191-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_callee_setup_arg): fix to mark enough VM stack.ko12007-08-191-0/+5
| | | | | | | | [ruby-dev:31492] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_yield.rb (TestYieldGen): relax array size checkakr2007-08-181-0/+6
| | | | | | | | in nested parameters. [ruby-dev:31485] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/tk/tcltklib.c (Init_tcltklib): use rb_set_end_proc().nobu2007-08-181-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (is_ruby_native_thread): check properly. [ruby-dev:31166]nobu2007-08-181-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_call_bmethod),ko12007-08-181-0/+8
| | | | | | | | | | vm.c (vm_invoke_proc_core): fix to do not restore $SAFE when proc invoked by bmethod. * vm_core.h: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e