aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* improve r53741naruse2016-02-051-16/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove branching by a==0 case Before r53741: % perf stat ./miniruby -e'a=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end' Performance counter stats for './miniruby -vea=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end': 16412.994492 task-clock (msec) # 0.999 CPUs utilized 195 context-switches # 0.012 K/sec 2 cpu-migrations # 0.000 K/sec 876 page-faults # 0.053 K/sec 48488588328 cycles # 2.954 GHz 18464835712 stalled-cycles-frontend # 38.08% frontend cycles idle <not supported> stalled-cycles-backend 85665428518 instructions # 1.77 insns per cycle # 0.22 stalled cycles # per insn 10207419707 branches # 621.911 M/sec 6334713 branch-misses # 0.06% of all branches 16.426858699 seconds time elapsed After this: % perf stat ./miniruby -ve'a=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end' Performance counter stats for './miniruby -vea=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end': 13363.540634 task-clock (msec) # 0.999 CPUs utilized 137 context-switches # 0.010 K/sec 2 cpu-migrations # 0.000 K/sec 874 page-faults # 0.065 K/sec 39477429278 cycles # 2.954 GHz 14615402375 stalled-cycles-frontend # 37.02% frontend cycles idle <not supported> stalled-cycles-backend 83514678452 instructions # 2.12 insns per cycle # 0.18 stalled cycles per insn 9401528135 branches # 703.521 M/sec 432567 branch-misses # 0.00% of all branches 13.371484310 seconds time elapsed git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* incompatible encoding workaroundnobu2016-02-052-2/+2
| | | | | | | | | * test/lib/minitest/unit.rb (puke): workaround incompatible encoding error messages. * test/lib/test/unit/assertions.rb (AllFailures.message): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-02-05svn2016-02-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def (opt_mult): Use int128_t for overflow detection.naruse2016-02-054-8/+72
| | | | | | | | | | | * bignum.c (rb_uint128t2big): added for opt_mult. * bignum.c (rb_uint128t2big): added for rb_uint128t2big.. * configure.in: define int128_t, uint128_t and related MACROs. Initially introduced by r41379 but reverted by r50749. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enc/unicode.c: Activated :ascii flag for ASCII-only case conversionduerst2016-02-042-1/+6
| | | | | | | (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fstring without copynobu2016-02-042-33/+43
| | | | | | | | | * re.c (reg_set_source): make source string frozen without copying. * re.c (rb_reg_initialize_m): refactor initialization with encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert re.c in r53736nobu2016-02-042-3/+1
| | | | | | | * re.c (rb_reg_initialize): must copy the source string content, it is not a static literal. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* return shared stringnobu2016-02-041-1/+1
| | | | | | * re.c (rb_reg_source): return shared string without copying. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fstring_enc_newnobu2016-02-044-1/+36
| | | | | | | | * string.c (rb_fstring_enc_new, rb_fstring_enc_cstr): functions to make fstring with encoding. * re.c (rb_reg_initialize): make fstring without copying. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* end of UNICODE_FILESnobu2016-02-041-1/+2
| | | | | | | * common.mk (UNICODE_FILES): append empty END-OF-LIST to put backslashes uniformly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk: Added Unicode data file SpecialCasing.txt to be additionallyduerst2016-02-042-1/+7
| | | | | | | downloaded (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mask upper nibblenobu2016-02-041-5/+5
| | | | | | | | * ext/cgi/escape/escape.c (optimized_escape): move c and use it instead of cstr[i]. mask upper nibble for the platforms where CHAR_BIT > 8. [Fix GH-1238] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* initialize dest to 0nobu2016-02-041-10/+8
| | | | | | | | | | * ext/cgi/escape/escape.c (optimized_escape_html): initialize dest to 0 and tell the result to be modified, instead of a separate flag. * ext/cgi/escape/escape.c (optimized_escape): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* cgi/escape: Optimize CGI.escapenobu2016-02-042-0/+92
| | | | | | | * cgi/escape/escape.c: Optimize CGI.escape performance by C ext for ASCII-compatible encodings. [Fix GH-1238] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* encoding.h: rb_enc_asciicompat_inlinenobu2016-02-041-1/+6
| | | | | | | * include/ruby/encoding.h (rb_enc_asciicompat): turn into an inline function to get rid of evalucating the argument twice. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-02-04svn2016-02-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk: Introduce two variables (UNICODE_DATA_DIR andduerst2016-02-042-7/+14
| | | | | | | UNICODE_SRC_DATA_DIR) to eliminate repetitions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove debug print introduced in r52386naruse2016-02-031-7/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_exception.rb: NameError at FCALLnobu2016-02-031-0/+6
| | | | | | | * test/ruby/test_exception.rb (test_name_error_info): add assertions for FCALL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_eval.c: argument namesnobu2016-02-031-1/+7
| | | | | | | * vm_eval.c (make_no_method_exception): enumerate argument meanings instead of a magic number. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_new_frozen): if the given string is embeddedablenaruse2016-02-034-2/+60
| | | | | | but not embedded, embed a new copied string. [Bug #11946] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix typo on OpenSSL::PKey doc [ci skip]nobu2016-02-022-1/+6
| | | | | | | * ext/openssl/ossl_pkey.c (Init_ossl_pkey): [DOC] Fix typo "encrypted" to "decrypted". [Fix GH-1235] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix Ripper.lex error in dedenting squiggly heredocnobu2016-02-023-1/+13
| | | | | | | | * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): Fix Ripper.lex error in dedenting squiggly heredoc. heredoc tree is also an array of Elem in the outer tree. [Fix GH-1234] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-02-03svn2016-02-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_prepare_enc): use already compiled US-ASCII regexpnaruse2016-02-022-3/+15
| | | | | | | if given string is ASCII only. 121.2s to 113.9s on my x86_64-freebsd10.2 Intel Core i5 661 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* follow r53691kazu2016-02-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Skip SHA from test_digest_constants for LibreSSL 2.3naruse2016-02-021-1/+12
| | | | | | | The first one of ruby/openssl#40 https://github.com/ruby/openssl/issues/40#issuecomment-159839338 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* downloader.rb: https setternobu2016-02-021-1/+5
| | | | | | | * tool/downloader.rb (Downloader.https): define class variable setter for 1.8, class_variable_set was private. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: reuse fullpath buffernobu2016-02-021-18/+13
| | | | | | | * win32/win32.c (open_dir_handle): reuse the fullpath buffer instead of allocating another buffer for copy. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c: Introduce RREGEXP_PTR.naruse2016-02-027-35/+52
| | | | | | | | | | | | | | | | | patch by dbussink. partially merge https://github.com/ruby/ruby/pull/497 * include/ruby/ruby.h: ditto. * gc.c: ditto. * ext/strscan/strscan.c: ditto. * parse.y: ditto. * string.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enc: workdir timestampsnobu2016-02-022-9/+25
| | | | | | | * enc/depend: make timestamps for each work directory, instead of making for each compilation and link. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: rewordnobu2016-02-021-2/+3
| | | | | | * ChangeLog: reword "affect" as it is a verb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rubygems/specification.rb: `coding` is affect only first line excepthsbt2016-02-027-8/+12
| | | | | | | shebang. * lib/rubygems/package.rb, lib/rubygems/package/*: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-02-02svn2016-02-011-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: w32_wopendirnobu2016-02-011-5/+5
| | | | | | | | * win32/win32.c (w32_wopendir): remove filename parameter, and check the drive letter in wpath instead. rename from opendir_internal. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2016-02-010-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2016-02-011-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.5.2.hsbt2016-02-01304-619/+961
| | | | | | | | | It supports to enable frozen string literal and add `--norc` option for disable to `.gemrc` configuration. See 2.5.2 release notes for other fixes and enhancements. https://github.com/rubygems/rubygems/blob/a8aa3bac723f045c52471c7b9328310a048561e0/History.txt#L3 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: volume_prefix_lennobu2016-02-011-3/+3
| | | | | | | * win32/win32.c (rb_w32_read_reparse_point): name the prefix length to be dropped. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: suffix should be alnumnobu2016-02-011-0/+1
| | | | | | | | * win32/win32.c (fileattr_to_unixmode): built-in executable suffixes are alpha-numeric only, no needs to scan whole path, especially path separators. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-02-01svn2016-02-011-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: move counting lengthnobu2016-02-011-1/+1
| | | | | | | * win32/win32.c (opendir_internal): defer counting the length just before the loop where it is used. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* r53688 testnobu2016-01-311-0/+9
| | | | | | | * test/ruby/test_file_exhaustive.rb (test_realpath_mount_point): test for r53688. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* additional math operationsnobu2016-01-313-4/+69
| | | | | | | * test/drb/ut_large.rb (multiply, avg, median): add additional math operations to DRbLarge. [Fix GH-1086] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test for File#lstat.nobu2016-01-312-0/+15
| | | | | | | * test/ruby/test_file_exhaustive.rb (test_lstat): Add lacking test for File#lstat. [Fix GH-1231] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* standard_library.rdoc: fix typo [ci skip]nobu2016-01-312-2/+9
| | | | | | | | | * doc/standard_library.rdoc: fix typo [Fix GH-1230] Spelling mistakes - outputing > outputting publich > publish git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: rb_io_open_genericnobu2016-01-311-4/+21
| | | | | | | | | | * io.c (rb_io_open_generic): split from rb_io_open without argument conversions. * io.c (rb_io_s_binread): get rid of unnecessary object creation and conversion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-01-31svn2016-01-311-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: constifynobu2016-01-311-3/+6
| | | | | | | * io.c (rb_file_open_generic, pipe_open, pipe_open_s): constify convconfig parameter. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_eval.c: fix hook callnobu2016-01-303-1/+18
| | | | | | | | * vm_eval.c (rb_check_funcall_with_hook): also should call the given hook before returning Qundef when overridden respond_to? method returned false. [ruby-core:73556] [Bug #12030] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e