aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* pack.c: fix buffer overrunnobu2014-07-113-3/+18
| | | | | | | * pack.c (encodes): fix buffer overrun by tail_lf. Thanks to Mamoru Tasaka and Tomas Hoger. [ruby-core:63604] [Bug #10019] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-07-11svn2014-07-101-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (ruby_setenv): Fix TestEnv#test_aset failure on Solaris 9.ngoto2014-07-102-5/+28
| | | | | | | | | When name contains '=', ruby_setenv raises Errno::EINVAL. That is the same behavior as Solaris 10. NULL check for malloc return value is also added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: fix implicit splat keyword argumentnobu2014-07-103-3/+28
| | | | | | | | * vm_insnhelper.c (vm_callee_setup_keyword_arg): adjust VM stack pointer to get rid of overwriting splat arguments by arguments for `to_hash` conversion. [ruby-core:63593] [Bug #10016] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos [ci skip]kazu2014-07-101-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: fix typonobu2014-07-101-8/+8
| | | | | | * gc.c (global_list): fix typo, capital 'L'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * symbol.c: remove rb_gc_mark_symbols().ko12014-07-094-22/+33
| | | | | | | | | | | | | | | | | | fstrings refered by static symbols and pinned dynamic symbols are registerd by rb_gc_register_mark_object(). frstring refered by dynamic symbols (not pinned symbols) are refered from global_symbols.dsymbol_fstr_hash (Hash object). Note that fstrings refered from dynamic symbols must live loger than symbol objects themselves because rb_gc_free_dsymbol() uses fstring to remove from symbol tables. This is why we can not mark fstrings from dynamic symbols. This technique reduces root objects for GC marking. * gc.c (gc_mark_roots): ditto. * internal.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-07-10svn2014-07-091-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk (DTRACE_DEPENDENT_OBJS): fix build failure on Solarisngoto2014-07-092-0/+7
| | | | | | | | introduced in r46768. Object files containing dtrace probes should be listed in DTRACE_DEPENDENT_OBJS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* random.c: fix castsnobu2014-07-091-4/+4
| | | | | | | * random.c (fill_random_seed): fix type to cast. this may or may not suppress warnings by icc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* symbol.c, symbol.h: split from parse.ynobu2014-07-095-1149/+1198
| | | | | | | * symbol.c, symbol.h: Symbol class implementation and internals, split from parse.y. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: adjust argument typesnobu2014-07-091-2/+3
| | | | | | | * parse.y (symbols_i): adjust argument types for st_foreach() using st_data_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: refine error messagenobu2014-07-091-1/+13
| | | | | | * io.c (do_io_advise): more precise error message, with arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_io.rb: fix assertionnobu2014-07-091-1/+1
| | | | | | | * test/ruby/test_io.rb (test_advise): fix inverted arguments order by assert_nil. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: change Symbol <-> ID relationship to avoidko12014-07-0911-136/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exposing IDs from collectable symbols. [Bug #10014] Now, rb_check_id() returns 0 if corresponding symbol is pinned dynamic symbol. There is remaining intern_cstr_without_pindown(), it can return IDs from collectable symbols. We must be careful to use it (only used in parse.y). I think it should be removed if it does not have impact for performance. * parse.y: add: * STATIC_SYM2ID() * STATIC_ID2SYM() rename: * rb_pin_dynamic_symbol() -> dsymbol_pindown() * internal.h: remove: * rb_check_id_without_pindown() * rb_sym2id_without_pindown() add: * rb_check_symbol() * rb_check_symbol_cstr() * load.c: use rb_check_id() or rb_check_id_cstr(). * object.c: ditto. * struct.c: ditto. * thread.c: ditto. * vm_method.c: ditto. * string.c (sym_find): use only rb_check_symbol(). * sprintf.c (rb_str_format): use rb_check_symbol_cstr(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (symbols_i): delete garbage symbols for Symbol.all_symbols.ko12014-07-092-5/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* require "rbconfig" to use RbConfignaruse2014-07-091-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.h: do not expose pthread type for locknormal2014-07-082-1/+6
| | | | | | | * thread_pthread.h (struct rb_global_vm_lock_struct): do not expose pthread type for lock git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.h: remove unneeded semaphore.h includenormal2014-07-082-2/+4
| | | | | | | * thread_pthread.h: remove unneeded semaphore.h include We currently do not use POSIX semaphores. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-07-09svn2014-07-081-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/irb/ruby-lex.rb: fix counting indent in identify_string_dvar.keiju2014-07-082-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2014-07-081-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* sprintf.c: skip non-interned namenobu2014-07-081-7/+8
| | | | | | | * sprintf.c (rb_str_format): get rid of accessing by symbol of invalid ID, when the name is not interned. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* memory_status.rb: find proper psnobu2014-07-082-1/+10
| | | | | | | * test/ruby/memory_status.rb (Memory::PSCMD): use ps command which outputs expected result. [ruby-dev:48370] [Bug #10010] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: expand is_asgn_or_idnobu2014-07-081-7/+7
| | | | | | | * parse.y (new_op_assign_gen): expand is_asgn_or_id(), which call id_type() function multiple times now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-07-08svn2014-07-081-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (dsymbol_alloc): set global_symbols.minor_marked to 0.ko12014-07-082-8/+31
| | | | | | | | | | | * parse.y (dsymbol_check): set RSYMBOL(sym)->fstr to 0 because we should not touch fstr after that. * parse.y (rb_gc_free_dsymbol): skip deleting str and sym from tables if fstr == 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/find_executable.rbnobu2014-07-073-4/+29
| | | | | | | | | | * test/ruby/test_rubyoptions.rb (test_program_name): use expected ps command from PATH. * test/ruby/find_executable.rb (EnvUtil#find_executable): find expected executable path with argument and output pattern. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: integrate clean targetsnobu2014-07-074-28/+14
| | | | | | | | | | | | * common.mk (clean-rdoc, clean-capi, clean-platform): integrate from Makefile.in and win32/Makefile.sub. * win32/Makefile.sub (RMALL): now use rm.bat instead of rmall.bat which does not handle any options and convert slashes. * win32/rmall.bat: no longer used. use rm.bat with -r instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: remove global_symbols::pinned_dsymko12014-07-072-16/+22
| | | | | | | | | | | (and ::pinned_dsym_minor_marked). Mark pinned dsymbols by rb_gc_register_mark_object() because they are immortal. * prase.y (rb_gc_free_dsymbol): rename parameter name `ptr' to `sym'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: revert miss-commit.ko12014-07-072-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: need to use updated (re-created) symbols.ko12014-07-074-5/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/mkconfig.rb: remove not to require rbconfig/obsolete.rb.naruse2014-07-073-39/+6
| | | | | | * lib/rbconfig/obsolete.rb: removed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: do not use rb_gc_resurrect(), but create a new dynamicko12014-07-073-26/+50
| | | | | | | | | symbol for garbage dynamic symbol. * common.mk: use gc.h by parse.y. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: do not use garbage objectnobu2014-07-061-3/+3
| | | | | | | * string.c (fstr_update_callback): should not access garbage object contents, copy from the argument instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (fstr_update_callback): do not use rb_gc_resurrect()ko12014-07-063-13/+29
| | | | | | | | | | any more. Make new frozen string and replace with garbage frozen string. * common.mk: use gc.h from string.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: rename is_dying_object() to is_garbage_object().ko12014-07-063-4/+12
| | | | | | | | * gc.h: rb_objspace_garbage_object_p() as an exported function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c: fix uninitialized variablenobu2014-07-061-3/+3
| | | | | | | * st.c (st_update): old_key is uninitialized by jump to the label unpacked. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-07-07svn2014-07-061-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c: remove equality checksnobu2014-07-062-12/+3
| | | | | | | * st.c (st_update): remove equality checks, callers should ensure the equality, otherwise the behavior is undefined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c: re-calc hash_val before addingnobu2014-07-061-0/+2
| | | | | | | | * st.c (st_update): re-calculate hash_val before adding if key was changed, otherwise cannot access the newly added element if it has different hash value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c: update the key too if changednobu2014-07-061-0/+18
| | | | | | | * st.c (st_update): fix a bug that the key was not updated even if it was changed by the callback function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * file.c, ext/pathname/pathname.c: [DOC] correct position of method rdoc.ktsj2014-07-062-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (is_dying_object): fix missed condition.ko12014-07-062-4/+10
| | | | | | | | * gc.c (is_live_object): move frequent path first. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: rename is_dead_object() to is_dying_object().ko12014-07-062-7/+38
| | | | | | | | | | | | This function is not opposite against is_live_object() because is_dying_object() does *not* check object type. * gc.c (is_dying_object): change condition. * gc.c (is_live_object): use T_NONE instead of 0. * gc.c (rb_objspace_dying_object_p): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* split tool/fake.rbnobu2014-07-062-32/+38
| | | | | | * tool/fake.rb: split from template/fake.rb.in. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (rb_gc_register_mark_object): change data structure.ko12014-07-063-2/+21
| | | | | | | | | | From single array, to array of arrays. Each array only has 1024 entries. * vm.c (Init_vm_objects): change default capa from 1 to 128. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fake.rb.in: override File::ALT_SEPARATORnobu2014-07-061-3/+4
| | | | | | | * template/fake.rb.in (File::ALT_SEPARATOR): override ALT_SEPARATOR if different, not only a backslash. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconstants.rb: remove empty commentsnobu2014-07-061-3/+5
| | | | | | | | * ext/etc/mkconstants.rb: remove empty comments, defaut_proc isn't called by accessing nil-assigned elements, and the same content is useless. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc/stats/normal.rb: fix last_widthnobu2014-07-061-1/+1
| | | | | | | * lib/rdoc/stats/normal.rb (print_file): reset @last_width to the last line size. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e