36923 Commits

Author SHA1 Message Date
normal
57da36ebcf iseq.c (rb_iseq_line_trace_each): explicit cast
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
2014-10-01 23:03:35 +00:00
normal
11f3526734 ruby.h: set rb_event_flag_t to uint32_t
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
2014-10-01 21:13:30 +00:00
normal
3aab1f8467 io.c (fptr_finalize): free memory before GC sweep
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
2014-10-01 20:36:28 +00:00
svn
cfc565796a * 2014-10-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 20:29:57 +00:00
normal
a17ffebfa0 marshal.c: lazy compat_tbl allocation
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
2014-10-01 20:29:46 +00:00
svn
3b841719c9 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 12:16:48 +00:00
suke
8d00b43b30 ext/win32ole/win32ole_type.c: use typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 12:16:35 +00:00
hsbt
2b0cc32c1a * compile.c: remove commented out code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 09:15:49 +00:00
odaira
f17b95f21c test/fileutils/test_fileutils.rb: AIX does not allow a sticky bit on a regular file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 08:48:17 +00:00
drbrain
1c916105fd Fix typo in ChangeLog header
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 08:33:08 +00:00
drbrain
b9ef91efe2 * NEWS: Add RubyGems update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 08:32:41 +00:00
svn
69368346f7 * 2014-10-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 08:30:40 +00:00
drbrain
cec4f5a9e0 * lib/rubygems: Update to RubyGems 2.4.2.
* test/rubygems:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 08:30:21 +00:00
nobu
ffe920d674 parse.y: separate ripper data type
* 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
2014-09-30 13:25:28 +00:00
suke
d7b32ffd64 * ext/win32ole/win32ole_typelib.c: use typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 09:47:38 +00:00
nobu
b208e060f2 ext/digest: hide metadata objects for internal use
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 08:29:02 +00:00
nobu
28b9f11d5a protoize no-arguments functions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 05:25:32 +00:00
nobu
cf5450bb7c common.mk: mark PHONY targets
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 01:17:05 +00:00
nobu
d2be02974c common.mk: update only non-existing files
* common.mk (update-config_files): update only non-existing files,
  and get rid of trying to download existing files every time.
  gitweb does not send Last-Modified header.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 01:17:01 +00:00
svn
f2673b8ca0 * 2014-09-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 00:51:57 +00:00
hsbt
d3a405b973 * common.mk: fixed broken reference of update-config_files task
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 00:51:47 +00:00
nobu
ef9d134951 racc/cparse: private class
* ext/racc/cparse/cparse.c (Init_cparse): Racc::CparseParams is a
  private class, undefine allocate and initialize methods.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 14:13:50 +00:00
nobu
edae1c7200 win32/file.c: fix no user exception
* 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
2014-09-29 13:54:50 +00:00
nobu
ef08f00541 string.c: fix NOFREE
* 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
2014-09-29 13:54:37 +00:00
nobu
2f2f92b73e digest: no check for hidden objects
* ext/digest/digest.c (get_digest_base_metadata): metadata objects
  are hidden from ruby level.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 12:17:47 +00:00
nobu
b5de461a49 date_core.c: revert const
* ext/date/date_core.c (SimpleDateData, ComplexDateData): revert
  const for aggregation assignments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 02:20:56 +00:00
nobu
cedc0d1f6e date_core.c: more write-barriers
* ext/date/date_core.c (SimpleDateData, ComplexDateData): constify
  VALUE members to find out missing write-barriers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 01:45:11 +00:00
nobu
036acdab02 date_core.c: write-barrier
* ext/date/date_core.c (d_lite_type): add write-barrier.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 00:49:18 +00:00
nobu
e912c167d2 date_core.c: typed data
* ext/date/date_core.c (d_lite_type): turn into typed data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 00:49:12 +00:00
nobu
a05330f4b9 tool/downloader.rb: fix for old ruby on old CentOS
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 21:47:59 +00:00
nobu
c47b523246 ruby.h: warn untyped Data
* include/ruby/ruby.h (rb_data_object_alloc_warning): warn
  Data_Wrap_Struct and Data_Make_Struct only if
  RUBY_UNTYPED_DATA_WARNING is set to 1.

* include/ruby/ruby.h (rb_data_object_get_warning): ditto for
  Data_Get_Struct.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 15:27:24 +00:00
nobu
ae7eb5fe83 downloader.rb: compatibility with old BASERUBY
* tool/downloader.rb (Downloader.download): get rid of post
  arguments for compatibility with old BASERUBY.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 15:26:21 +00:00
svn
f49404212c * 2014-09-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 15:09:59 +00:00
ktsj
90e99bea86 * gc.c (rb_gcdebug_print_obj_condition): use RVALUE_REMEMBERED
because GET_HEAP_REMEMBERSET_BITS is obsoleted.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 15:09:40 +00:00
nobu
1c01280d17 downloader.rb
* configure.in: use tool/downloader.rb directly.

* tool/get-config_files: no longer used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 11:27:22 +00:00
nobu
3bbea8ed37 tool/downloader.rb: split particular sites
* tool/downloader.rb (Downloader): split particular sites from the
  main class.

* tool/downloader.rb (Downloader.download): show messages if
  verbose mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 02:54:59 +00:00
svn
ceb32c67a0 * 2014-09-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 02:14:26 +00:00
duerst
69cbd810fa common.mk: Created new target update-unicode to download
some Unicode data files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 02:14:16 +00:00
nobu
4d2aef1e45 rbinstall.rb: header targets
* tool/rbinstall.rb: separate header targets, comm-hdr for
  architecture independent headers, arch-hdr for architecture
  dependent headers, and hdr for both.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-27 08:17:43 +00:00
glass
a4645e5612 * lib/uri/rfc3986_parser.rb: raise URI::InvalidURIError when
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
2014-09-27 03:13:22 +00:00
ktsj
dd798a68a2 * gems/bundled_gems: upgraded to power_assert 0.1.4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-27 01:34:32 +00:00
nobu
15ae462d8b digest.c: typed data
* ext/digest/digest.c (rb_digest_base_alloc): use typed data.

* ext/digest/digest.c (rb_digest_base_copy): fail unless original
  object has same algorithm.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-27 01:30:16 +00:00
svn
851c2f2dab * 2014-09-27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-27 01:28:58 +00:00
nobu
bb10a21346 ruby.h: deprecate plain Data
* include/ruby/ruby.h (rb_data_object_alloc_deprecated): deprecate
  Data_Make_Struct and Data_Wrap_Struct.  [EXPERIMENTAL]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-27 01:28:47 +00:00
nobu
2a8989d71c stringio.c: ASCII-8BIT StringIO rejects no encodings
* 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
2014-09-26 03:52:37 +00:00
normal
0ef94bd2af object.c (rb_class_real): do not dereference 0 VALUE
* 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
2014-09-25 20:29:15 +00:00
svn
e0f02160bc * 2014-09-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-25 20:18:36 +00:00
normal
446a54178c man/ruby.1: document stack size env variables
[Feature #10197]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-25 20:18:22 +00:00
normal
405c4abb9f io.c: common function to free IO buffers
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
2014-09-25 10:40:37 +00:00
svn
39bb54d89c * 2014-09-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-24 22:54:21 +00:00