aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use ident hash for top-level recursion checkJohn Hawthorn2019-11-042-26/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We track recursion in order to not infinite loop in ==, inspect, and similar methods by keeping a thread-local 1 or 2 level hash. This allows us to track when we have seen the same object (ex. using inspect) or same pair of objects (ex. using ==) in this stack before and to treat that differently. Previously both levels of this Hash used the object's memory_id as a key (using object_id would be slow and wasteful). Unfortunately, prettyprint (pp.rb) uses this thread local variable to "pretend" to be inspect and inherit its same recursion behaviour. This commit changes the top-level hash to be an identity hash and to use objects as keys instead of their object_ids. I'd like to have also converted the 2nd level hash to an ident hash, but it would have prevented an optimization which avoids allocating a 2nd level hash for only a single element, which we want to keep because it's by far the most common case. So the new format of this hash is: { object => true } (not paired) { lhs_object => rhs_object_memory_id } (paired, single object) { lhs_object => { rhs_object_memory_id => true, ... } } (paired, many objects) We must also update pp.rb to match this (using identity hashes).
* Put an empty line [ci skip]Nobuyoshi Nakada2019-11-051-1/+2
|
* More rdoc for ENVBurdette Lamar2019-11-051-0/+28
|
* Updated minitest to 5.13.0Nobuyoshi Nakada2019-11-051-1/+1
|
* Simplify test tasksNobuyoshi Nakada2019-11-052-14/+6
| | | | | Removed `if` conditions separating `test-bundled-gems`, and pass `TESTOPTS` and `TEST_BUNDLED_GEMS_ALLOW_FAILURES` via `env`.
* Adjust a fucntion signatureNobuyoshi Nakada2019-11-051-2/+8
|
* Fix zero free objects assertionAaron Patterson2019-11-041-13/+30
| | | | | | | | | | | | | | | | | This commit is to attempt fixing this error: http://ci.rvm.jp/results/trunk-gc-asserts@ruby-sky1/2353281 Each non-full heap_page struct contains a reference to the next page that contains free slots. Compaction could fill any page, including pages that happen to be linked to as "pages which contain free slots". To fix this, we'll iterate each page, and rebuild the "free page list" depending on the number of actual free slots on that page. If there are no free slots on the page, we'll set the free_next pointer to NULL. Finally we'll pop one page off the "free page list" and set it as the "using page" for the next allocation.
* Fixed conditional expressions with only one void sideNobuyoshi Nakada2019-11-051-1/+1
|
* * 2019-11-05 [ci skip]git2019-11-051-1/+1
|
* Share test-bundled-gems-run in common.mkNobuyoshi Nakada2019-11-053-13/+5
|
* Keep `lex.pcur` after `looking_at_eol_p`Nobuyoshi Nakada2019-11-041-3/+3
|
* Warn `if` and `elsif` at EOL [EXPERIMENTAL]Nobuyoshi Nakada2019-11-041-0/+22
| | | | It is unnatural and probably a typo.
* Revert "Warn `if` and `elsif` at EOL [EXPERIMENTAL]"Yusuke Endoh2019-11-041-22/+0
| | | | | This reverts commit ba35c14325ebbf1da8f200df83c45ee9937ff8a1. This is because ripper fails symbol lookup error.
* Warn `if` and `elsif` at EOL [EXPERIMENTAL]Nobuyoshi Nakada2019-11-041-0/+22
| | | | It is unnatural and probably a typo.
* Fix a typo [ci skip]Kazuhiro NISHIYAMA2019-11-041-1/+1
|
* Fixed a typoNobuyoshi Nakada2019-11-041-1/+1
|
* sync_default_gems.rb: Show the progress at fetchingNobuyoshi Nakada2019-11-041-1/+1
| | | | It looks like hanging up when fetching from a remote first time.
* [ruby/racc] Strip trailing whitespaces at the last line of actionsNobuyoshi Nakada2019-11-0428-2513/+2514
| | | | https://github.com/ruby/racc/commit/a887ebe529
* * 2019-11-04 [ci skip]git2019-11-041-1/+1
|
* Use the dedicated function `rb_io_check_io`Nobuyoshi Nakada2019-11-041-1/+1
|
* Added assertions for linebreakNobuyoshi Nakada2019-11-031-0/+5
|
* [DOC] mentioned `\R` [ci skip]Nobuyoshi Nakada2019-11-031-0/+3
|
* [DOC] \s in regexp is not same as in string [ci skip]Nobuyoshi Nakada2019-11-031-1/+2
|
* Fix warnings in Regexp#{match,match?} specsBenoit Daloze2019-11-031-6/+10
|
* Update NEWS entry for Feature #13083Benoit Daloze2019-11-031-1/+2
|
* Remove incorrect NEWS entry, only Regexp#match and #match? changedBenoit Daloze2019-11-031-4/+0
|
* * 2019-11-03 [ci skip]git2019-11-031-1/+1
|
* Improve warning messageKenichi Kamiya2019-11-032-4/+4
| | | | https://github.com/ruby/ruby/pull/2637#discussion_r341812475
* Revert nil error and adding deprecation messageKenichi Kamiya2019-11-033-7/+25
|
* Correct documented return values for certain ENV methods (#2620)Burdette Lamar2019-11-021-8/+8
|
* * 2019-11-02 [ci skip]git2019-11-021-1/+1
|
* Use prompt_list to calculate height by linesaycabta2019-11-021-12/+14
|
* Clean up implementation of SOCKSSocket, its confusing and undocumentedJustin McNally2019-11-011-4/+10
|
* Prefer libsocksd over libsocksJustin McNally2019-11-011-1/+1
|
* Support libsocksd socks library for SOCKSSocketJustin McNally2019-11-011-1/+1
|
* Mention correct class name in uninitialized errorAlan Wu2019-11-011-1/+1
| | | | I think this meant to mention `MatchData`? This is a breaking change, but should be a minor one.
* Fix a typo [ci skip]Kazuhiro NISHIYAMA2019-11-011-1/+1
|
* [ruby/date] Added update-zonetab targetNobuyoshi Nakada2019-11-012-2/+7
| | | | https://github.com/ruby/date/commit/9bc6e30a82
* [ruby/date] Remove unneeded line in update-abbrJeremy Evans2019-11-011-1/+0
| | | | https://github.com/ruby/date/commit/ae14e5f293
* [ruby/date] Add more timezone abbreviationsJeremy Evans2019-11-014-689/+1496
| | | | | | | | | | | | | | | | This gets the time zone abbreviations from https://www.timeanddate.com/time/zones/, and adds unambiguous time zones not already present in zonetab.list. See bin/update-abbr for the program used. This regenerates zonetab.h using prereq.mk (requires gperf). Only one test line is added, just to make sure a new time zone abbreviation is picked up. Fixes Ruby Bug 16286 https://github.com/ruby/date/commit/702e8b3033
* * 2019-11-01 [ci skip]git2019-11-011-2/+2
|
* mark functions that do not return NULL as such.卜部昌平2019-11-012-12/+21
| | | | Apply __attribute__((__returns_nonnull__)) when available.
* ruby_mimmalloc can return NULL卜部昌平2019-11-013-1/+8
| | | | malloc can fail. Should treat such situations.
* rb_aligned_malloc can return NULL卜部昌平2019-11-011-0/+3
| | | | | | Looking at gc.c, rb_aligned_malloc contains `return NULL;` so it has to be taken care of. Note however that posix_memalign(3posix) does _not_ set errno.
* RUBY_ATTR_ALOC_SIZE for clang卜部昌平2019-11-011-1/+6
| | | | | clang also supports __attribute__((__alloc_size__)) so why not use it when the compiler says it does.
* [ruby/zlib] Removed no longer used variablesNobuyoshi Nakada2019-10-311-2/+1
| | | | https://github.com/ruby/zlib/commit/3e98e4cac3
* [ruby/zlib] Fix setting mtime to zero in GzipWriterAlan Wu2019-10-312-1/+14
| | | | | | | | | | | Before this change, it was not possible to write out zero for the timestamp part of a Gzip file's header, as calling GzipWriter#mtime with zero was ignored. Judging from the docs for `GzipWriter#mtime=`, it should be possible to indicate that no timestamp is available by calling the method with zero. https://github.com/ruby/zlib/commit/310be39cac
* Fix verbose warning being emittedJeremy Evans2019-10-311-1/+1
| | | | Fixes Ruby Bug 16281.
* spec: Fix syntax errorsYusuke Endoh2019-10-313-4/+4
| | | | Follow up of 473882e01f7e55753733e2607ace633b5041f11f
* Skip tainted examples for stringioHiroshi SHIBATA2019-10-313-14/+22
|