summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-03-01deduplicate strings sooner at load and compilenormal
We can use rb_fstring_cstr in some places to prevent an intermediate object from being created before deduplication via rb_fstring. * compile.c (iseq_compile_each): use rb_fstring_cstr (rb_insns_name_array): ditto * load.c (rb_load_internal0): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-28lib/mathn.rb: [DOC] nodoc internal Math.rsqrtstomar
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-28clean gemsnobu
* Makefile.in (clean-ext): clean gem directories too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-28Added initial gemspec for SDBM module.hsbt
[Feature #13261] * doc/*.rdoc: Move SDBM entry to default gem section. * ext/sdbm/sdbm.gemspec: first gemspec. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-28disable critical-error-handlernobu
* win32/win32.c (rb_w32_sysinit): disable critical-error-handler message box even on mswin, regardless of runtime DLL version. [ruby-dev:49988] [Bug #13254] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-28Makefile.sub: ULL_TO_DOUBLEnobu
* win32/Makefile.sub (config.h): define ULL_TO_DOUBLE for conversion from unsigned __int64 to double, which is not implemented in till Visual Studio.NET 2003, aka VC7.1. * bignum.c (estimate_initial_sqrt): use ULL_TO_DOUBLE if defined. * numeric.c (BDIGIT_DBL_TO_DOUBLE): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-28numeric.c: suppress warningnobu
* numeric.c (DEFINE_INT_SQRT): suppress a type-limits warning where int is always smaller than double. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-28Makefile.in: CHDIR to srcdirnobu
* Makefile.in (update-mspec, update-rubyspec): use CHDIR, which may use -P, to resolve symbolic links. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27date_core.c: expand docs for Date shiftingstomar
* ext/date/date_core.c: [DOC] expand docs for Date shifting * add examples for Date#>> and Date#<< that clarify some edge cases * add examples for Date#next_year and Date#prev_year * add cross references to Date#>> and Date#<< [ruby-core:79584] [Bug #13225] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27* 2017-02-28svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27Fix doc for Hash#dig and Struct#digstomar
* hash.c (rb_hash_dig): [DOC] correct argument name in method description; fix formatting in examples. * struct.c (rb_struct_dig): ditto. [ruby-core:79221] [Bug #13148] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27fix nd_ainfo->kw_rest_argnobu
[Fix GH-5129] Author: fate0 <fate0@users.noreply.github.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27kwrest arg namenobu
* compile.c (iseq_set_arguments_keywords): make keyword rest argument name nd_vid consistently, regardless of whether other keyword arguments are present. [Fix GH-1529] * parse.y (new_args_tail_gen): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27add NEWS for Random.urandom [ci skip]shyouhei
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27common.mk (distclean): clean docs toonobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27Added initial gemspec for Etc module.hsbt
[Feature #13256] * doc/*.rdoc: move Etc module to default gem section. * ext/etc/etc.gemspec: first gemspec. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27Makefile.in: by exts.mknobu
* Makefile.in (clean-ext): recurse by exts.mk in parallel first. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27common.mk: clean-rubyspecnobu
* common.mk (clean-rubyspec): remove OBJDIR for rubyspec C-API tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27mkmf.rb: get rid of error messagesnobu
* lib/mkmf.rb (create_makefile): add TARGET_SO to CLEANLIBS only when the extension library will be build, to get rid of trying to remove $(TARGET_SO_DIR). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27clean morenobu
* Makefile.in (clean-local): remove debug symbol directories on Mac OS. * common.mk (clean-ext): remove parent directories of timestamp directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27Makefile.in: clean exts.mk filesnobu
* Makefile.in (clean-ext): remove exts.mk files in subdirectories underneath ext. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27ext/socket/extconf.rb: fix a typonobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27mkmf.rb: clean generated filesnobu
* lib/mkmf.rb (try_link0): remove generated files other than the executable file. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27Makefile.in: verify-static-librarynobu
* Makefile.in (verify-static-library): separate from LIBRUBY_A. no check every times by default. * lib/mkmf.rb (try_link): remove debugging symbol directory after linking, instead of try_do. * lib/mkmf.rb (try_link): bccwin32 support has been removed long ago. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27* 2017-02-27svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27NEWS: Integer.sqrt [Feature #13219]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-26Add rdoc for Integer.sqrtstomar
* numeric.c (rb_int_s_isqrt): [DOC] add rdoc for Integer.sqrt. [ruby-core:79762] [Bug #13251] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-26node.c: fix NODE_OP_ASGN1nobu
* node.c (dump_node): fix a typo, index and rvalue. fix NODE_OP_ASGN1 operator to nd_mid. [Fix GH-1528] Author: fate0 <fate0@users.noreply.github.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-26parse.y: indent at invalid identifiernobu
* parse.y (parser_heredoc_identifier): set indent only when valid identifier, not to dedent non-existent contents later. [ruby-core:79772] [Bug #13253] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-25* 2017-02-26svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-25ext/win32ole/win32ole.c(ole_initialize): avoid to fail in Windows nano server. suke
This is experimental. Thanks to mwrock, Ethan Brown. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-25bignum.c: use predefined IDsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-25bignum.c: improve estimatenobu
* bignum.c (estimate_initial_sqrt, rb_big_isqrt): improve initial estimate by sqrt(). [ruby-core:79754] [Feature #13250] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-25bignum.c (bary_zero_p): constifynobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-25.gdbinit: rp_bignumnobu
* .gdbinit (rp_bignum): print bignum from higher digits. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-25NEWS: document String#-@ changenormal
* test/ruby/test_string.rb (test_uplus_minus): test deduplication [ruby-core:79747] [Feature #13077] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24* 2017-02-25svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24extract initial sqrt estimation [Feature #13219]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24securerandom: fix up r57384rhe
SecureRandom.gen_random_openssl still refers to Random.raw_seed, which is renamed to Random.urandom by r57384. [Bug #9569] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24Integer.sqrt argument checknobu
* numeric.c (rb_int_s_isqrt): check if the argument is an integer. [Feature #13219] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24Integer.sqrt [Feature #13219]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24Update maintainers and standard library docs for GDBM.hsbt
[Feature #13248][ruby-core:79742] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24Update rdoc-5.1.0hsbt
* Details of changes are following url. https://github.com/rdoc/rdoc/blob/master/History.rdoc#510--2017-02-24 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24gem name should be the downcase.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24Added initial gemspec for GDBM module.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24Update psych-2.2.3hsbt
* It's only typo fix for CRuby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24* 2017-02-24svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24string.c (str_uminus): deduplicate stringsnormal
This exposes the rb_fstring internal function to return a deduped and frozen string when a non-frozen string is given. This is useful for writing all sorts of record processing key values maybe stored, but certain keys and values are often duplicated at a high frequency, so memory savings can noticeable. Use cases are many: * email/NNTP header processing There are some standard header keys everybody uses (From/To/Cc/Date/Subject/Received/Message-ID/References/In-Reply-To), as well as common ones specific to a certain lists: (ruby-core has X-Redmine-* headers) It is also useful to dedupe values, as most inboxes have multiple messages from the same sender, or MUA. * package management systems - things like RubyGems stores identical strings for licenses, dependency names, author names/emails, etc * HTTP headers/trailers - standard headers (Host/Accept/Accept-Encoding/User-Agent/...) are common, but there are also uncommon ones. Values may be deduped, as well, as it is likely a user agent will make multiple/parallel requests to the same server. * version control systems - this can be useful for deduplicating names of frequent committers (like "nobu" :) In linux.git and git.git, there are also common trailers such as Signed-Off-By/Acked-by/Reviewed-by/Fixes/... as well as less common ones. * audio metadata - There are commonly used tags (Artist/Album/Title/Tracknumber), but Vorbis comments allows arbitrary key values to be stored. Music collections contain songs by the same artist or mutiple songs from the same album, so deduplicating values will be helpful there, too. * JSON, YAML, XML, HTML processing Certain fields, tags and attributes are commonly used across the same and multiple documents There is no security concern in this being a DoS vector by causing immortal strings. The fstring table is not a GC-root and not walked during the mark phase. GC-able dynamic symbols since Ruby 2.2 are handled in the same manner, and that implementation also relies on the non-immortality of fstrings. [Feature #13077] [ruby-core:79663] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-23appveyor.yaml: matrixnobu
* appveyor.yaml: use build matrix for platforms and compilers. resolve hard coded paths from these variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-23bignum.c: NAIVE_MUL_DIGITSnobu
* bignum.c (NAIVE_MUL_DIGITS): share threshold for bary_sq_fast between bary_mul and bigsq. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e