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

26657 Коммитов

Автор SHA1 Сообщение Дата
akr 3bf92fb10d * process.c (redirect_open): Removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-09 13:19:47 +00:00
akr f6b1dd28c9 * internal.h (rb_execarg_parent_end): Declared.
* process.c: "spawn" opens files in the parent process.
  (check_exec_redirect): Add an placeholder for fd in parameters
  for fd_open.
  (check_exec_fds_1): Delete fd_open condition.
  (check_exec_fds): Don't call check_exec_fds_1 with fd_open.
  (rb_execarg_parent_start): Open files specified as "spawn" options
  and add "dup2" options.
  (rb_execarg_parent_end): New function to close opened fds.
  (run_exec_open): Removed.
  (rb_execarg_run_options): Don't call run_exec_open.
  (rb_spawn_internal): Call rb_execarg_parent_end.

* io.c (pipe_open): Call rb_execarg_parent_end.

* ext/pty/pty.c (establishShell): Call rb_execarg_parent_end.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-09 12:44:35 +00:00
akr 9960558337 * internal.h (rb_execarg_parent_start): Renamed from rb_execarg_fixup.
* process.c: Follows the above change.

* io.c: Ditto.

* ext/pty/pty.c: Ditto.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-09 11:53:49 +00:00
akr 00478a98ac * process.c (fd_clear_cloexec): Extracted from run_exec_dup2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-09 11:35:52 +00:00
normal 9177eca302 ccan/list/list.h: sync with ccan upstream
This includes the following 5 commits from ccan upstream:

    list: list_add_after and list_add_before functions
    list: list_swap to exchange elements
    list: new list_for_each{, _safe}_off_dir_ macros
    list: add list_for_each_rev_off macro
    list: add list_for_each_rev_safe{,_off} macros

This syncs us with commit c2fbfe5282ba264f3485586e7efa8a5967f2d386
in git://git.ozlabs.org/~ccan/ccan

These ccan commits should allow us to implement compile.c and
st.c using ccan/list to reduce duplicated linked-list logic.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-09 00:30:26 +00:00
nobu 816504c29c raddrinfo.c: fix memory leak
* ext/socket/raddrinfo.c (addrinfo_mload): fix memory leak of
  addrinfo.  [ruby-dev:48923] [Bug #11051]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-08 23:24:10 +00:00
nobu 119960dc56 version.c: support RUBY_ENGINE_VERSION
* version.c (Init_version): the version of the engine or
  interpreter.  [Fix GH-858]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-08 08:45:05 +00:00
mrkn 8b9db31f94 * bigdecimal: conform to ruby's license. [ruby-core:68466] [Bug #10952]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-08 07:18:46 +00:00
usa d7abb533e2 * win32/win32.c (rb_w32_wreadlink): should treat junctions like as
symlinks.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-08 05:58:34 +00:00
ko1 0d382f4878 * test/ruby/test_symbol.rb: fix syntax error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-08 05:04:17 +00:00
nobu 622193d32a hash.c: compare symbols by identities
* hash.c (rb_any_hash): Symbols are compared by the identities
  always.  [ruby-core:68767] [Bug #11035]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-08 04:01:06 +00:00
hsbt 1fa4cdf2d6 * internal.h: fix typo. Patch by @sferik [fix GH-865]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-07 01:22:57 +00:00
akr 774f682952 * enum.c: Enumerable#chunk and Enumerable#slice_before no longer takes
the initial_state argument.  [Feature #10958]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-06 13:53:24 +00:00
ko1 633574eee5 * vm_args.c: protect value stack from calling other methods
during complex parameter setting process (splat, kw, and so on).
  [Bug #11027]
* vm_core.h: remove rb_thead_t::mark_stack_len.
  With this modification, we don't need to use th->mark_stack_len.
* test/ruby/test_keyword.rb: add a test.
* cont.c (cont_capture): catch up this fix.
* vm.c (rb_thread_mark): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-06 07:14:28 +00:00
naruse 886d8e3f40 * tool/downloader.rb (http_options): prevent content auto decoding
because this is a downloader.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-06 02:28:44 +00:00
usa 06d95893b0 * doc/contributing.rdoc: update Maintainers list.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-05 00:55:31 +00:00
hsbt 09bcf7b51b * tool/rbinstall.rb: fix bin script permission of bundled gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-05 00:11:05 +00:00
hsbt 75f9f244d6 * tool/rbinstall.rb: support --program-suffix option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-04 23:46:45 +00:00
hsbt c4ee0df8ba * lib/rake/*: Gemify rake [fix GH-862][Feature #11025]
* test/rake/*: ditto.
* tool/rbinstall.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-04 12:31:31 +00:00
nobu 8c0b2a2860 string.c: check before modify
* string.c (rb_str_setbyte): check the argument first not to
  discard shared string and code range unnecessarily until
  actually changing the contents.  pointed out by headius.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-04 02:30:26 +00:00
naruse 58835a94ef * lib/net/http.rb (edit_path): use path which is absolute ftp url
on using ftp_proxy.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-03 23:18:20 +00:00
nobu c0bf2c5efe vm_core.h: update for OPT_CALL_CFUNC_WITHOUT_FRAME
* vm_eval.c (vm_call0_cfunc): update invoker arguments.
* vm_insnhelper.c (vm_call_cfunc_latter): ditto.
* vm_insnhelper.c (rb_vm_call_cfunc_push_frame): ditto, and prefix
  with rb_.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-03 02:43:20 +00:00
nobu 337fafc641 ChangeLog: remove garbage
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-02 07:28:29 +00:00
nobu 51bcbca236 rbconfig.rb: use program version
* common.mk, tool/mkconfig.rb: check the running ruby version in
  rbconfig.rb with the program version, as RUBY_VERSION has never
  been affected by --with-ruby-version option.
  [ruby-core:68639] [Bug #11002]
* configure.in (LIBRUBY_DLDFLAGS): compatibility_version must be
  valid version numbers, not an arbitrary string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-02 07:27:12 +00:00
nobu 7363ffbfca * 2015-04-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-02 07:27:01 +00:00
nobu 93f6b2a36e dir.c: reduce indirect arguments
* dir.c (push_glob): remove indirect links of arguments for
  trampoline.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-01 02:09:18 +00:00
nobu 676fe089bd fileutils.rb: fix error message
* lib/fileutils.rb (FileUtils#mv): show the exact target path in
  the error message instead of the destination parent directory
  name.  patched by João Britto <jabcalves AT gmail.com> at
  [ruby-core:68706].  [Bug #11021]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-01 00:59:14 +00:00
hsbt dd659dc3b0 * doc/ChangeLog-0.06_to_0.52: added archived Changelog.
[ruby-list:50105]
* doc/ChangeLog-0.50_to_0.60: ditto.
* doc/ChangeLog-0.60_to_1.1: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-31 06:25:14 +00:00
kazu a118730e7b README.EXT.ja: add redirect [ruby-core:68631]
see r50090 for detail

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-30 13:08:16 +00:00
naruse c8e2ccec86 Revert r50122 "* configure.in: ac_cv_func_vfork=no on sparc-solaris."
fork(2) is also deprecated...

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-30 09:27:15 +00:00
naruse dcf8ddfb01 * configure.in: ac_cv_func_vfork=no on sparc-solaris.
sparc-solaris deprecates vfork though i386-solaris doesn't.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-30 07:36:54 +00:00
nobu 921bca8969 win32.c: symlink than directory
* win32/win32.c (fileattr_to_unixmode, winnt_lstat): deal with
  symbolic link than directory, and set executable bits.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-30 05:42:44 +00:00
nobu efbfd90272 io.c: use read/write methods if possible
* io.c (copy_stream_body): use the arguments without conversion if
  having read, readpartial, and write methods, than conversion by
  to_path method.  [ruby-core:68676] [Bug #11015]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-30 02:28:02 +00:00
hsbt 2e9f4bfd51 * gc.c (objspace_allrefs_destruct_i): fix a typo.
[Bug #11013]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-29 12:08:43 +00:00
kazu 101d566ce8 fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-29 10:03:24 +00:00
nobu 509089e9b1 proc.c: replicate method env
* proc.c (proc_binding): replicate env from method object, and
  allocate the local variable area for the iseq local table.
  [ruby-core:68673] [Bug #11012]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-29 02:51:34 +00:00
naruse 4651b848e1 * ext/date/extconf.rb: try_cflags("-std=iso9899:1999") [Bug #10906]
ruby itself (including numeric.c) is built with strict compile
  options including -std=iso9899:1999, but ext/date is not.
  By the way -std=iso9899:1999 is not only a warning option but also
  changes behavior like MACRO definitions for example INFINITY.
  gcc on Solaris affect this.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-28 00:23:58 +00:00
nobu 62d8e6d1b1 common.mk: revert to MINIRUBY
* common.mk: revert using BOOTSTRAPRUBY for enc.mk, as
  enc/depend uses CONFIG.  [ruby-core:68647] [Bug #11004]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-27 07:34:18 +00:00
hsbt 4d6aeebbab * test/test_observer.rb: add tests for Observable module.
[fix GH-859] Patch by @brightbits

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-26 01:05:18 +00:00
normal 06dc719614 README.EXT: add redirect [ruby-core:68631]
There are too many 3rd-party documentation sources which refer
to README.EXT, so we should ensure readers can find the file at
the new location.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-25 21:43:58 +00:00
naruse 4e8fbe1778 * ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state,
but it is a dummy.

* ext/socket/option.c: Solaris 11 doesn't have u_intN_t.

* ext/socket/option.c: Solaris 11 needs inspect_tcpi_msec.

* ext/socket/raddrinfo.c: Solaris 11 has AF_PACKET but doesn't have
  related macros.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-25 08:10:14 +00:00
nobu 526b12964f fs.c: fix f_type
* ext/-test-/file/fs.c (get_fsname): try magic number only if
  f_type is included.  [ruby-dev:48913] [Bug #11000]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-25 08:03:11 +00:00
nobu 69a2df4eb6 bm_hash_aref_flo.rb: fix data
* benchmark/bm_hash_aref_flo.rb: make more realistic data.
  [ruby-core:68632] [[Bug #10999]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-25 02:20:43 +00:00
hsbt 18178a9331 * .document: removed needless entries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-25 01:39:11 +00:00
normal 34870967c0 doc/extension*: Fix spelling of filenames
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 23:15:04 +00:00
gogotanaka cf204a8943 * complex.c (k_exact_one_p): remove unused macro k_exact_one_p.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 21:59:55 +00:00
gogotanaka c959238445 * complex.c (k_inexact_p, k_exact_zero_p): use k_exact_zero_p macro
to remove k_inexact_p macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 21:59:36 +00:00
hsbt 6d86d0773c * doc/extention.rdoc: move from toplevel document and added extname.
* doc/extention.ja.rdoc: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 13:23:38 +00:00
hsbt cd101b50ea * doc/standard_library.rdoc: strip.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 13:07:19 +00:00
hsbt 035bdf3788 * doc/standard_library.rdoc: move Thread to Extentions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 13:07:03 +00:00
hsbt cd834d45a2 * doc/contributing.rdoc: update Maintainers list.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 12:59:36 +00:00
ko1 fce98c9e88 * gc.c (gc_writebarrier_generational): fix messages for rb_bug().
Remove `rb_' prefix.
* gc.c (gc_writebarrier_incremental): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 10:12:24 +00:00
shugo e0ca50790f * README.ja.md: should be chunibyo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 08:47:08 +00:00
nobu acae106c7c fs.c: use statfs/statvfs
* ext/-test-/file/fs.c (get_fsname): return filesystem name by
  statfs/statvfs.  [ruby-core:68624] [Bug #10998]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 08:30:15 +00:00
usa 8ea6b7a137 * tool/redmine-backporter.rb: now doesn't required spaces just after
`!`.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-24 07:49:02 +00:00
nobu d289a78549 [Feature #10950] fixed by r50064
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-23 22:03:09 +00:00
nagachika a968dd7dcc ChangeLog: remove duplicated entry at r50057. [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-23 18:37:13 +00:00
nobu 78a73a538d dir.c: don't raise after close
* dir.c (dir_close): don't raise on dobule close for consistent to
  IO#close.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-23 14:18:30 +00:00
nobu 2ffb87995a file.c: move rb_readlink on Windows
* win32/file.c (rb_readlink): move from file.c for better buffer
  allocation and the result encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-23 12:22:10 +00:00
nobu c57932f782 win32.c: readlink
* win32/win32.c (wreadlink, rb_w32_ureadlink): implement readlink().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-23 08:36:04 +00:00
nobu f5b96e594c win32.c: w32_lstati64
* win32/win32.c (winnt_stat): stat with following symbolic links.
* win32/win32.c (winnt_lstat): rename old winnt_stat, which does
  not follow symbolic links.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-23 05:40:48 +00:00
nobu ffcb7abe0b marshal.c: register symbol strings first
* marshal.c (r_symreal): register symbol names as strings first so
  that r_symlink always returns valid names.
  [ruby-core:68587] [Bug #10991]
* marshal.c (r_ivar, r_object0): now need to intern symbol names.
* marshal.c (r_object0): compare with symbol names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-22 17:03:31 +00:00
kou d54bedb7f8 * doc/etc.rd.ja: Fix wrong coding for Emacs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-22 13:08:47 +00:00
nobu 1e528da90c make-snapshot: CONFIGURE
* tool/make-snapshot (package): add default CONFIGURE name to
  follow r50039.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-22 00:53:17 +00:00
nobu ddc3997c58 make-snapshot: substitute configuration variables
* tool/make-snapshot (package): substitute configuration variables
  in Makefile.in instead of passing by the command line, and make
  temporary Makefile instead of a pipe.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-22 00:51:31 +00:00
nobu c721174ff0 common.mk: strip autogenerated dependencies
* common.mk (ext/ripper/ripper.c, ext/rbconfig/sizeof/sizes.c):
  strip autogenerated dependencies which have invalid syntax in
  other than nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-21 23:09:49 +00:00
kazu e458cf5233 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-21 07:41:13 +00:00
nobu add8e1f5bb console.c: winsize on Windows
* ext/io/console/console.c (console_set_winsize): use handle for
  writing.  GetConsoleScreenBufferInfo seems failing on a handle
  for reading.
* io.c: [DOC] update the example of IO#winsize to use $stdout
  instead of $stdin, which does not work on Windows.  a patch by
  Jan Lelis <mail AT janlelis.de> at [ruby-core:68574].
  [Bug #10986]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-21 06:01:29 +00:00
nobu c8a28a5a1b proc.c: respond_to_missing? at Method
* proc.c (respond_to_missing_p): check if the receiver responds to
  the given method by respond_to_missing?.
* proc.c (mnew_missing): create Method object for method_missing.
  [ruby-core:68564] [Bug #10985]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-20 09:41:06 +00:00
hsbt 0e18d13594 * .travis.yml: enabled email notification.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-20 08:43:23 +00:00
hsbt 9a2ed2068e * .travis.yml: removed Ruby 1.9.3 build on Travis CI
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-20 08:39:57 +00:00
ko1 30da8b833c * gc.c (obj_info): obj_info() can receive internal objects.
* gc.c (check_rvalue_consistency): obj_info() returns const char *.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-20 04:28:41 +00:00
ko1 1ab760bb51 revert r50031 because it includes unexpected patch
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-20 04:27:45 +00:00
ko1 a38a1fbcc2 * gc.c (obj_info): obj_info() can receive internal objects.
* gc.c (check_rvalue_consistency): obj_info() returns const char *.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-20 03:41:10 +00:00
ko1 77205540e0 * gc.c (obj_info): show class name and T_DATA type_name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-20 03:17:06 +00:00
ko1 8ed4c1a420 * gc.c (rb_copy_wb_protected_attribute): `dest' can be WB unprotected.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-19 13:13:46 +00:00
ko1 531f775fd4 * gc.c (rb_copy_wb_protected_attribute): demote `dest' object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-19 12:26:49 +00:00
ko1 1643234fe3 * gc.c, internal.h: export rb_gc_verify_internal_consistency().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-19 07:19:52 +00:00
ko1 9546ba4605 * gc.c (obj_info): show allocation site if GC_DEBUG is not 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-19 07:16:27 +00:00
ko1 f537854ff3 * gc.c (newobj_of): fix RGENGC_OLD_NEWOBJ_CHECK logics.
* skip on incremental marking because not sure what happen :p
  * rb_gc_writebarrier_remember() is enough to mark children.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-19 07:14:12 +00:00
ko1 38cfec906d * gc.c (rb_copy_wb_protected_attribute): need demote for old objects.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-19 07:10:58 +00:00
nobu 5e132260c4 random.c: fix handle to release
* random.c (fill_random_bytes): release the handle in the static
  variable, not a local variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-19 01:31:03 +00:00
ko1 6964df9a21 * object.c (rb_obj_clone): do not touch age (FL_PROMOTED[01]) because
rb_obj_alloc() can return old object in debug.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 21:31:55 +00:00
ko1 5f879f76d7 * test/objspace/test_objspace.rb: flag name was changed
(long_lived -> uncollectible).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 21:30:23 +00:00
ko1 4690e62284 * iseq.c (iseq_mark): skip some marking if iseq->orig is available.
* iseq.c (rb_iseq_clone): need WB for iseq1->klass = iseq0->klass
  (done in MEMCPY).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 20:31:50 +00:00
ko1 05704f51fb * internal.h (IMEMO_DEBUG): added.
* internal.h: remove unused FL_IMEMO_MARK_V[0-3].
* gc.c (rb_imemo_new_debug): added.
* gc.c (obj_info): show imemo type name.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 19:57:53 +00:00
ko1 33aaa89a79 * gc.c (RGENGC_OLD_NEWOBJ_CHECK): add check mechanism.
If RGENGC_OLD_NEWOBJ_CHECK > 0, then create old objects
  (not new objects) periodically.
  Create one old objects per RGENGC_OLD_NEWOBJ_CHECK objects are
  created.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 19:54:14 +00:00
ko1 9c64155f30 * enum.c (enum_sort_by): add WBs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 19:47:36 +00:00
ko1 92fa998ce7 * gc.c (check_rvalue_consistency): refactoring.
* not inline on RGENGC_CHECK_MODE > 0.
  * check SPECIAL_CONST_P(obj) first.
  * add a check that remembered_bit is only TRUE when old (age == 3).
* gc.c (RVALUE_DEMOTE): should clear RVALUE_REMEMBERED bit.
  remembered_bit should be TRUE only for old (age == 3) objects.
  Actually there are no effect because demoted objects will be
  uncollectible WB unprotected objects (marked at the begginig of
  every minor GC).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 18:46:10 +00:00
ko1 975c417957 * gc.c: rename terminologies.
* long_lived -> uncollectible:
    because this bitmap does not mean "long lived objects in past",
    but means "prohibit collection thse objects until next major GC".
    Uncollectible objects consist of two types objects, one is old
    objects (WB protected objects which age == 3) and another is
    uncollectible WB unprotected objects which are referred from old
    objects
  * remembered_wb_unprotected_objects ->
    uncollectible_wb_unprotected_objects:
    because uncollectible objects does not mean remembered objects.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 18:02:13 +00:00
kazu 6a505da959 fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 10:04:34 +00:00
svn d2bfccd22d * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 09:02:46 +00:00
ko1 ec4624b0f4 * gc.c (gc_writebarrier_generational): add an alternative write
barrier (WB) implementation.
  When finding reference from [Old obj] to [New obj] by WB, current
  implementation marks [Old obj] as remembered old objects and marks
  chilldren of [Old obj] at the beggining of marking.
  Added (but disabled) code changes current behaviour. This fix promote
  [New obj] to old and marks as a remembered old object. We can assume
  "new objects referred from old objects are maybe long-lived old
  objects".
  Disadvantage of added algorithm is we may promote unwilling
  short-lived objects. For example, consider many new objects push and
  pop to an old stack object. All of new objects (short-lived objects)
  promote to old objects unexpectedly.
  To compare these behaviour, I add this new code (but disabled it).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 09:02:10 +00:00
ko1 3b1e28036e * gc.c (RVALUE_PROMOTE_RAW): rename to RVALUE_OLD_LONG_LIVED_SET()
to make clear.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 08:15:23 +00:00
ko1 3857777781 * gc.c (check_rvalue_consistency): do not need to check is_sweeping().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 08:12:44 +00:00
ko1 683e823669 * benchmark/bm_vm1_gc_wb_ary.rb: run GC to finish "marking" phase.
* benchmark/bm_vm1_gc_wb_obj.rb: ditto.
* benchmark/bm_vm1_gc_wb_ary_promoted.rb: add parameter
  full_mark: false to invoke only minor GC.
* benchmark/bm_vm1_gc_wb_obj_promoted.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 05:15:08 +00:00
ko1 89a603d2e6 * string.c: add a comment about RSTRING_FSTR.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 03:08:09 +00:00
nobu 3bcf9fb53e hash.c: same hash values with Float#hash
* hash.c (rb_any_hash): use same hash values with Float#hash so
  that -0.0 and +0.0 will be identical.
  [ruby-core:68541] [Bug #10979]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-18 03:01:58 +00:00
ko1 1e98a25e9f * string.c: introduce STR_FAKESTR to show string is FAKESTR or not.
* string.c (STR_SET_SHARED): ignore FAKESTR because only Ruby objects
  can use write barrier.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-17 20:38:02 +00:00
kazu ce8eeb84c3 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-17 15:30:33 +00:00