Age | Commit message (Collapse) | Author |
|
Accepted by matz at RubyKaigi 2014.
[ruby-core:65142] [Feature #10267]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fix https://travis-ci.org/ruby/ruby/jobs/36814282
Tested with -Wconversion since my gcc lacks -Wshorten-64-to-32
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This ensures a consistent implementation between 32 and 64-bit
platforms, as vm_trace.c limits events to 32-bits. This can
also open up struct packing opportunities.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This releases memory on explict calls to rb_io_close,
reducing pressure on the GC.
Final massif snapshot shows reduced heap usage after RubyGems load
(valgrind --tool=massif ./ruby -e exit)
before:
mem_heap_B=4821992
mem_heap_extra_B=1302952
after:
mem_heap_B=4791056
mem_heap_extra_B=1192440
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
In some common cases, compat_tbl is unused in dump_arg/load_arg,
so avoid malloc/free costs for the unused table.
ruby -e 'h = {a: :b}; 600000.times { Marshal.load(Marshal.dump(h)) }'
before:
real 0m2.458s
user 0m2.450s
sys 0m0.006s
after:
real 0m2.122s
user 0m2.110s
sys 0m0.011s
* marshal.c (w_class): check dump_arg->compat_tbl before lookup
(w_object): lazy init ->compat_tbl before insert
(obj_alloc_by_class): ditto
(clear_dump_arg): free only non-NULL ->compat_tbl
(clear_load_arg): ditto for ->compat_tbl
(marshal_dump): ->compat_tbl defaults to zero
(marshal_load): ditto for ->compat_tbl
(r_entry0): check l->compat_tbl before lookup
(r_fixup_compat): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
regular file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (parser_data_type): separate ripper data type for from
parser.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* win32/file.c (append_wstr): set expanded length, not length of
appended string. fix "probable buffer overflow" bug.
[ruby-core:65317] [Bug #10304]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* string.c (str_make_independent_expand): drop NOFREE flag after
reallocation, static buffer is not pointed anymore.
[ruby-core:65317] [Bug #10304]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
because GET_HEAP_REMEMBERSET_BITS is obsoleted.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
some Unicode data files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
uri doesn't respond to #to_str. [ruby-core:64453] [Bug #10150]
* test/uri/test_parser.rb: test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/stringio/stringio.c (strio_write): ASCII-8BIT StringIO
should be writable any encoding strings, without conversion.
[ruby-core:65240] [Bug #10285]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_module.rb (test_inspect_segfault):
Test case and bug report by Thomas Stratmann.
[ruby-core:65214] [Bug #10282]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[Feature #10197]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This also allows easier tracking of freed memory for systems
without malloc_usable_size, and also makes future changes
to freeing buffer memory easier-to-implement.
* io.c (free_io_buffer): new function for a common pattern
(clear_readconv): use free_io_buffer
(rb_io_fptr_finalize): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Downloader.download to implementation changes in r47693.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Downloader.download_if_modified_since.
(if ever used, just replace with Downloader.download)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
via :unicode Symbol.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (parse_ident): just after a label, new expression should
start, cannot be a modifier. [ruby-core:65211] [Bug #10279]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
to reduce downloads of large files that change only rarely.
[ruby-core:65164] [CommonRuby - Feature #10084]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(test_conversion_time2date_with_msec): test by using only
assert_in_delta to avoid to fail when converting Time object with
999999999 nanoseconds into VT_DATE Variant.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[Fixes GH-662] https://github.com/ruby/ruby/pull/662
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
and test results of major linux is covered by rubyci.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-core:65058] [Bug #10245] Reported by Vit Ondruch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/socket/ancdata.c ({send,recv}msg_args_struct): 24 => 16 bytes
* ext/socket/init.c (connect_arg): ditto
* ext/socket/raddrinfo.c (getnameinfo_arg): 56 => 48 bytes
Other big stack reductions are less trivial.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(DRbTCPSocket#initialize): Create a pipe for shutdown notification.
(DRbTCPSocket#close): Invoke close_shutdown_pipe.
(DRbTCPSocket#close_shutdown_pipe): New private method.
(DRbTCPSocket#accept): Use accept_or_shutdown.
(DRbTCPSocket#accept_or_shutdown): New private method which returns
nil on shutdown.
(DRbServer#stop_service): Use shutdown instead of Thread#kill.
(DRbServer#run): Break infinite loop when main_loop returns nil.
(DRbServer#main_loop): @protocol.accept may return nil.
* lib/drb/ssl.rb: Follow above change.
* lib/drb/unix.rb: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
patch is from Kenichi Kamiya.
[ruby-dev:47539] [Bug #8679]
* test/ruby/test_time.rb: test for above.
patch is from Kenichi Kamiya.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
merged (r11439).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* node.c (F_CUSTOM2): unused.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
set thread name visible with ps command on GNU/Linux.
Ex. ps -o %c -L
* thread.c (thread_start_func_2): Call native_set_thread_name at
beginning.
(rb_thread_inspect_msg): Extract from rb_thread_inspect.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Reduces GC malloc pressure (MAXPATHLEN is 4096 on my system),
rb_find_file_safe hits this path at least twice every time
ruby starts.
* file.c (rb_find_file_ext_safe): clear tmp buffer on failure
(rb_find_file_safe): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|