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

28809 Коммитов

Автор SHA1 Сообщение Дата
kazu 9708a62c84 fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-26 15:14:18 +00:00
usa 95f3abf34a * tool/redmine-backporter.rb (rel): should not raise exceptions even if
the user input is wrong.  only reports the error and continue process.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-26 14:43:50 +00:00
nobu 6ef87aa633 Fix -e script encoding
* ruby.c (process_options): convert -e script to the encoding
  given by a command line option on Windows.  assume it is the
  expected encoding.  [ruby-dev:49461] [Bug #11900]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-26 14:35:24 +00:00
akr 06ca50338b {Fixnum,Bignum}#<< is unified into Integer.
* numeric.c (rb_int_lshift): {Fixnum,Bignum}#<< is unified into
  Integer.

* bignum.c (rb_big_lshift): Don't define Bignum#<<.

* internal.h (rb_big_lshift): Declared.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-26 12:23:05 +00:00
akr 69fbb21c12 {Fixnum,Bignum}#>> is unified into Integer.
* numeric.c (rb_int_rshift): {Fixnum,Bignum}#>> is unified into
  Integer.

* bignum.c (rb_big_rshift): Don't define Bignum#>>.

* internal.h (rb_big_rshift): Declared.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-26 12:09:40 +00:00
akr 8f045eddb2 {Fixnum,Bignum}#size is unified into Integer.
* numeric.c (int_size): {Fixnum,Bignum}#size is unified into Integer.

* bignum.c (rb_big_size_m): Don't define Bignum#size.

* internal.h (rb_big_size_m): Declared.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-26 11:47:14 +00:00
akr bcc1796983 {Fixnum,Bignum}#bit_length is unified into Integer.
* numeric.c (rb_int_bit_length): {Fixnum,Bignum}#bit_length is
  unified into Integer.

* bignum.c (rb_big_bit_length): Don't define Bignum#bit_length.

* internal.h (rb_big_bit_length): Declared.

--This iine, and those below, will be ignored--

M    ChangeLog
M    bignum.c
M    internal.h
M    numeric.c


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-26 11:17:37 +00:00
akr 9368d7515b * numeric.c (int_abs): Integer#{abs,magnitude} moved from Fixnum and Bignum.
* internal.h (rb_big_abs): Declared.

* bignum.c (rb_big_abs): Don't define Bignum#{abs,magnitude}.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-26 10:59:27 +00:00
nobu a7dd094791 rbconfig/sizeof: calculate at compilation time
* ext/rbconfig/sizeof/extconf.rb: just check the existence of each
  types, to reduce configuration time, especially cross-compiling.
* template/sizes.c.tmpl: calculate sizes of checked types at
  compilation time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-25 05:39:12 +00:00
hsbt ba692a488e * doc/extension.rdoc: Improvements to english grammers.
[Bug #12246][ruby-core:74792][ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-25 02:27:34 +00:00
hsbt 0e382a3dd8 * encoding.c: Fix return value of `Encoding::ISO8859_1.name`
[Bug #12313][ruby-core:75147][ci skip]
* ext/bigdecimal/bigdecimal.c: Fix code sample of `BigDecimal.new`

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-25 02:17:54 +00:00
odaira 8ea194024a * configure.in: add missing -lm for AIX.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-24 14:32:31 +00:00
kazu 8b8c1862bc fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-24 13:41:38 +00:00
ktsj 322ec84772 * vm_insnhelper.c (INLINE): disbale r54738 if __NO_INLINE__ is defined.
It caused "undefined reference to `vm_getivar'".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-24 09:37:04 +00:00
yui-knk 7e5b1b65f5 * test/ruby/test_array.rb: Add test cases for Array#sum with
non-numeric objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-24 00:32:21 +00:00
naruse 65a1cdafc8 * vm_insnhelper.c (INLINE): define as `inline` when it is optimized.
define as `static inline` when it is not optimized to keep
  the symbol generated.

* vm_insnhelper.c (vm_getivar): use `INLINE` to force inline
  so that a compiler inlines it into vm_getinstancevariable
  and optimizes out is_attr and related branches.

* vm_insnhelper.c (vm_getivar): use `inline` to recommend inline.
  Without this vm1_ivar_set is degraded.

  benchmark results:
  minimum results in each 5 measurements.
  Execution time (sec)
  name    ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux]   ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux]       built-ruby
  loop_whileloop 0.641                                                   0.642 0.646
  vm1_ivar* 1.002                                                   0.999 0.831
  vm1_ivar_set* 0.369                                                   1.106 0.362

  Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23
  trunk 54727) [x86_64-linux]' (greater is better)
  name    ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux]
  built-ruby
  loop_whileloop
  0.998        0.991
  vm1_ivar*
  1.003        1.205
  vm1_ivar_set*
  0.334        1.018

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 22:30:42 +00:00
nobu ea1cff3b25 vm_insnhelper.c: missing static to inline
* vm_insnhelper.c (vm_getivar): add missing static to inline,
  otherwise external symbol is referred and link fails when
  optimization is disabled.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 11:26:59 +00:00
naruse 3de227bdcb * vm_insnhelper.c (vm_getivar): specify inline instead of static inline.
vm_getivar is called by vm_call_ivar and vm_getinstancevariable.
  At least with GCC 4.8 and 5.3 on Linux, they are inlining it into
  vm_call_ivar but not vm_getinstancevariable.
  By `inline`, they correctly inline it and gains performance.

  Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23
  trunk 54727) [x86_64-linux]' (greater is better)
  name    built-ruby
  loop_whileloop       1.001
  vm1_ivar*            1.189
  vm1_ivar_set*        1.024

  Note tha `inline`'s meaning is different between old GCC
  and C99. Old GCC's inline means C99's extern inline.
  https://gcc.gnu.org/onlinedocs/gcc/Inline.html
  Since Ruby specify -std=iso9899:1999, it works like C99.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 09:16:51 +00:00
naruse 973ba3e8e2 * include/ruby/ruby.h (rb_mul_size_overflow): use UNLIKELY
by user side to improve generallity.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 07:15:26 +00:00
naruse 5587badf24 * include/ruby/ruby.h (RB_LIKELY): use prefix in ruby.h.
* intern.h (LIKELY): define with RB_LIKELY.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 07:15:25 +00:00
yui-knk 3f7cce9f18 * NEWS: Add descriptions for Time#to_time updates.
[Bug #12271] [ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 04:27:12 +00:00
yui-knk e9db63d9f4 * NEWS: Add descriptions for DateTime#to_time updates.
[Bug #12189] [ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 04:23:29 +00:00
nobu f56a2c7293 date_core.c: [DOC] markdown to rdoc [ci skip]
* ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime
  documentation to RDoc from Markdown.
  [ruby-core:75136] [Bug #12311]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 02:21:29 +00:00
nobu 88783116e0 ruby.c: fix command line encoding on cygwin
* ruby.c: cygwin does not use w32_cmdvector, command line can be
  other than UTF-8.  [ruby-dev:49519] [Bug #12184]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 00:03:37 +00:00
odaira 35464cab16 * configure.in: don't use the system-provided round(3) on AIX.
In AIX, round(0.49999999999999994) returns 1.0.
  Use round() in numeric.c instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 16:02:25 +00:00
akr c5c60ded6d * test/ruby/test_time_tz.rb: Tests depends on Europe/Moscow removed
to avoid test failures due to the tzdata change.
  8ee11a301c
  Found by naruse.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 12:20:06 +00:00
naruse fac42e6c76 * include/ruby/ruby.h (rb_mul_size_overflow): added to handle
mul overflow efficiently.

* include/ruby/ruby.h (rb_alloc_tmp_buffer2): use rb_mul_size_overflow
  and avoid division where it can define DSIZE_T.

* gc.c (xmalloc2_size): moved from ruby.h and use rb_mul_size_overflow.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 11:42:31 +00:00
nobu 5fd589287d time.c: add example [ci skip]
* time.c (time_asctime): [DOC] add ctime example, not only
  asctime.  [ruby-core:75126] [Bug #12310]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 11:34:05 +00:00
naruse 3738fe3333 * variable.c: use uint32_t instead of long to avoid confusion about
the type of ivtbl->numiv.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 09:47:34 +00:00
nobu 70038431e7 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 09:45:24 +00:00
nobu 1fbe0943cc eval_jump.c: restore previous error info
* eval_jump.c (exec_end_procs_chain): restore previous error info
  for each end procs.  [ruby-core:75038] [Bug #12302]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 06:09:29 +00:00
usa 219f68abfe * tool/redmine-backporter.rb: the fullpath of merger.rb is too long to
copy&paste on Windows.  show shorter name instead on the platform.
  I'm sure that the user of this command on Windows is only me.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 06:07:19 +00:00
usa 696adbccd3 * tool/merger.rb: remove temporary file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 05:52:30 +00:00
hsbt 44dc0f32d3 * lib/net/http.rb: Improve documentation for SSL requests via GET method.
[fix GH-1325][ci skip] Patch by @jsyeo

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 02:27:10 +00:00
hsbt 8a77a41fc3 * lib/webrick/ssl.rb: Support to add SSLCiphers option.
[fix GH-1321] Patch by @rhadoo

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 01:51:18 +00:00
hsbt 48d22f8360 * file.c, win32/file.c: Removed obsoleted safe level checks.
[fix GH-1327] Patch by @cremno

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 01:43:31 +00:00
hsbt 6f6e35f4ca * benchmark/bm_so_meteor_contest.rb: fix a typo.
[fix GH-1330][ci skip] Patch by @sachin21

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 01:02:01 +00:00
naruse feaa82a42b * gc.c (rb_alloc_tmp_buffer_with_count): added like xmalloc2 to
avoid duplicated check of size.

* gc.c (ruby_xmalloc2): added to keep separate layers.

* include/ruby/ruby.h (rb_alloc_tmp_buffer2): added to check
  the size more statically.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-21 20:59:40 +00:00
naruse 54c1f47930 * include/ruby/ruby.h (LIKELY): moved from internal.h.
* include/ruby/ruby.h (UNLIKELY): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-21 20:59:39 +00:00
naruse fe120ac1f1 * gc.c (objspace_malloc_prepare): remove size check because it is
used by objspace_xmalloc and objspace_xcalloc.
  objspace_xmalloc introduces its own check in this commit.
  objspace_xcalloc checks with xmalloc2_size (ruby_xmalloc2_size).

* gc.c (objspace_xmalloc0): common xmalloc function.

* gc.c (objspace_xmalloc): introduce its own size check.

* gc.c (objspace_xmalloc2): separated from ruby_xmalloc2 to clarify
  the layer who has the responsibility to check the size.

* gc.c (objspace_xrealloc): remove duplicated size check.

* gc.c (ruby_xmalloc2): use objspace_xmalloc2.

* include/ruby/ruby.h (ruby_xmalloc2_size): follow the size limit
  as SSIZE_MAX. Note that ISO C says size_t is unsigned integer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-21 20:59:39 +00:00
kazu 616c41592b fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-21 12:16:13 +00:00
nobu 6e8a14dce1 ifchange: ignore unmatch TEST_COLORS
* configure.in: check if succeeded in creating config.h.
* tool/ifchange: ignore failures when TEST_COLORS unmatched. just
  use the default value if expected name is not contained in it.
  [ruby-core:75046] [Bug #12303]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-21 03:14:05 +00:00
nobu 20cd25c86f cgi/util.rb: remove CGI::Util#_unescape
* ext/cgi/escape/escape.c (cgiesc_unescape): define unescape
  method instead of _unescape, and should pass the optional
  argument to the super method.
* lib/cgi/util.rb (CGI::Util#_unescape): remove intermediate
  method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-20 08:33:33 +00:00
nobu 86b1179a03 error.c: SyntaxError#initialize
* error.c (syntax_error_initialize): move the default message,
  "compile error", from parse.y.  the default parameter should
  belong to the class definition.
* parse.y (yycompile0): use the default parameter.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-20 06:52:30 +00:00
nobu 97177a2d99 refactor syntax error
* compile.c (append_compile_error): use rb_syntax_error_append.
* error.c (rb_syntax_error_append): append messages into a
  SyntaxError exception instance.
* parse.y (yycompile0): make new SyntaxError instance in main
  mode, otherwize error_buffer should be a SyntaxError if error
  has occurred.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-20 01:25:55 +00:00
nobu 51c195948f refactor parser error
* error.c (err_vcatf): rename, and separate appending message from
  creating a string buffer.
* error.c (rb_syntax_error_append): merge rb_error_vsprintf and
  rb_compile_err_append.
* parse.y (parser_compile_error): use rb_syntax_error_append.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-19 08:42:50 +00:00
nobu 51612505f7 appending compile error without rb_errinfo
* compile.c (append_compile_error, compile_bug): pass iseq and get
  error info and file from it, not by the thread error info.
* error.c (rb_report_bug_valist): take va_list instead of variadic
  arguments, and just report the bug but not abort.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-19 04:46:20 +00:00
sonots 64231b49ca * lib/time.rb: revert r54167 because it would break
backward compatibilities, and it is documented that
  Time.parse does not take into account time zone
  abbreations other than ones described in RFC 822

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-19 04:20:48 +00:00
sonots eb20a74399 * ChangeLog: Fix dates of previous commits
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-19 04:13:19 +00:00
sonots 7bb039973c * ChangeLog: Add descriptions for logger updates
* NEWS: Add descriptions for logger updates

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-19 03:55:13 +00:00