Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add a specialized instruction for .nil? calls #112

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 452 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
452 commits
Select commit Hold shift + click to select a range
47500f2
[ruby/logger] Add support for changing severity using bang methods.
ioquatix Mar 14, 2019
1361967
[ruby/logger] Fix to use logger and test-unit in this repo with
sonots Mar 18, 2019
bbe157f
[ruby/logger] split logger classes/modules into separate files
Dec 12, 2018
7f10da9
[ruby/logger] require 'logger/errors' just for compat
sonots Mar 18, 2019
7ef0856
[ruby/logger] Update logger.gemspec
sonots Mar 18, 2019
3fdb963
[ruby/logger] Prefer require_relative, it's a little bit faster.
ioquatix Mar 20, 2019
2c22051
[ruby/logger] Enable `frozen_string_literal: true` in `logger.rb`.
ioquatix Mar 21, 2019
f4064a0
[ruby/logger] Set filename when initializing logger with a File object
jeremyevans May 17, 2019
58065b8
[ruby/logger] Add option to set the binary mode of the log device
rafaelfranca Jun 4, 2019
1b59ed9
Move helper file of logger to under the test/logger.
hsbt Jul 15, 2019
0eafa1d
Fixed inconsitency locations of default gems.
hsbt Jul 15, 2019
4b345f9
compile.c: ignore the result of COMPILE by marking with NO_CHECK
mame Jul 15, 2019
f103ed8
* expand tabs.
matzbot Jul 15, 2019
036039c
Fixed LoadError of version file.
hsbt Jul 15, 2019
5349aa2
Also fixed up with 036039c8a29d3d8045207c111f9bbc481c904998
hsbt Jul 15, 2019
f73ea33
Fixed ruby/spec for Logger::LogDevice changes.
hsbt Jul 15, 2019
3a1d355
Fix a typo of Markdown of NEWS
aycabta Jul 15, 2019
574e8a6
Add Reline section to NEWS
aycabta Jul 15, 2019
de0f192
Add features of IRB to NEWS
aycabta Jul 15, 2019
5e0d27a
Removed dead code
nobu Jul 15, 2019
5a42dca
* expand tabs.
matzbot Jul 15, 2019
c781b1b
update-deps for dependencies
nobu Jul 15, 2019
c20445a
Require Ruby 2.4 or later because needs lex_state from Ripper
aycabta Jul 15, 2019
b452c03
Always evaluate the expression RUBY_ASSERT_MESG_WHEN just once
nobu Jul 15, 2019
0c6c937
Removed duplicate highlighting
nobu Jul 15, 2019
6aab77a
Add a /* fall through */ comment
mame Jul 15, 2019
c184a1c
compile.c: add NO_CHECK for the calls to COMPILE whose result is unused
mame Jul 15, 2019
a8e4b7b
* expand tabs.
matzbot Jul 15, 2019
325d546
* 2019-07-16
matzbot Jul 15, 2019
34019a2
Expanded f_denominator
nobu Jul 15, 2019
ca524bc
Expanded f_numerator
nobu Jul 15, 2019
71d5b4c
Fixed the library path for tools
nobu Jul 15, 2019
8e37ef7
Fixed the library path for tools
nobu Jul 15, 2019
00dc0da
Removed intermediate local variables
nobu Jul 15, 2019
e2f987e
* expand tabs.
matzbot Jul 16, 2019
75fb0a9
Allow mday in Date.iso8601 to be omitted
nobu Jul 16, 2019
76c6cf2
Print debugging information when updating failed
nobu Jul 16, 2019
19d592d
Somehow `if` didn't work
nobu Jul 16, 2019
8deabcd
Constified afamily functions
nobu Jul 16, 2019
e988048
Moved the check for `exception` to rb_execarg_addopt
nobu Jul 16, 2019
d8e23a6
nil as the default of optional parameters
nobu Jul 16, 2019
d45d448
nil as the default of optional parameters
nobu Jul 16, 2019
6ab95fb
Removed twisted tests
nobu Jul 16, 2019
ed2f2b4
Named the backward compatible dump size
nobu Jul 16, 2019
f487e5b
Expanded buf to copy at once
nobu Jul 16, 2019
0965bb6
* 2019-07-17
matzbot Jul 17, 2019
af07e07
Separate pull-github from merge-github [ci skip]
nobu Jul 17, 2019
cd372f8
Get rid of LoadError with $DEBUG
nobu Jul 17, 2019
0e23e0c
Adjust indent [ci skip]
nobu Jul 17, 2019
416ead4
compile.c: add NO_CHECK for the calls to COMPILE whose result is unused
mame Jul 16, 2019
bdec1ad
* expand tabs.
matzbot Jul 17, 2019
9b28eef
Add benchmark to help diagnose performance regression.
ioquatix Jul 17, 2019
97808e2
* 2019-07-18
matzbot Jul 17, 2019
1b82c87
Make FIBER_USE_NATIVE the default and reformat code.
ioquatix Jun 1, 2019
14cf95c
Implement fiber pool for reduced fiber allocation overhead.
ioquatix Jun 2, 2019
8779382
Remove unused vm_stack recycling.
ioquatix Jun 19, 2019
91aae65
Stack copying implementation of coroutines.
ioquatix Jun 27, 2019
7291fef
Improve build process and coroutine implementation selection.
ioquatix Jun 29, 2019
b8242bc
Add `ucontext` and `copy` coroutine implementations to test matrix.
ioquatix Jun 29, 2019
47c0cab
Add details of fiber pool and coroutine selection to NEWS.
ioquatix Jul 1, 2019
77f3319
Enable `madvise` to release stack space back to OS.
ioquatix Jul 11, 2019
8ac9a7b
Limit expansion of fiber pool on 32-bit platforms.
ioquatix Jul 12, 2019
4d60a58
Add FIBER_POOL_ALLOCATION_FREE to control allocation/free strategy.
ioquatix Jul 16, 2019
385ea91
Add `struct fiber_pool {int free_stacks;}` to control usage of madvise.
ioquatix Jul 16, 2019
001f187
Make fiber_pool more conservative on platforms with limited address s…
ioquatix Jul 16, 2019
56fcf98
Add note about setting `vm.max_map_count` for Linux.
ioquatix Jul 16, 2019
311007b
Add experimental `RUBY_SHARED_FIBER_POOL_FREE_STACKS` to control madv…
ioquatix Jul 16, 2019
38e3c65
Improve `fiber_pool_expand` allocation strategy.
ioquatix Jul 18, 2019
78bc6cd
* remove trailing spaces.
matzbot Jul 18, 2019
9790b77
Ensure we don't have dangling cfp.
ioquatix Jul 18, 2019
d40d8b3
check saved_ec.cfp
ko1 Jul 18, 2019
a027c4b
Use Qnull instead of 0 and Qundef
nobu Jul 18, 2019
a036a8a
Adjust styles and indents
nobu Jul 18, 2019
d4c4029
* 2019-07-19
matzbot Jul 18, 2019
18bce99
Fixed build error with RIPPER_DEBUG
nobu Jul 18, 2019
59d6ce4
Moved RIPPER_DEBUG methods to Ripper from Kernel
nobu Jul 18, 2019
0b82641
Update before commit
nobu Jul 18, 2019
fd461de
Ripper#validate_object: check if the object is hidden
nobu Jul 18, 2019
9dda0a0
Remove `rb_vm_push_frame` as it is no longer used.
ioquatix Jul 18, 2019
d7fdf45
Ensure cfp is initialized to NULL.
ioquatix Jul 18, 2019
c8ee44f
Fix showing doc of "nil.to_s", nil doesn't have #name
aycabta Jul 18, 2019
8ca3202
Revert "Ensure cfp is initialized to NULL."
ioquatix Jul 18, 2019
4ec5b39
initialize only Fiber's cfp.
ko1 Jul 18, 2019
e644e2d
Remove doc/etc.rd.ja [ci skip]
znz Jul 19, 2019
63160a8
respect NDEBUG.
ko1 Jul 19, 2019
6eef80d
Improve ec assertions.
ioquatix Jul 19, 2019
cf93f98
Better usage of `rb_ec_clear_vm_stack` to maintain invariants.
ioquatix Jul 19, 2019
dd0e33f
Split assertions to check which one fails.
ioquatix Jul 19, 2019
e14f576
Add assertions to `coroutine_initialize_main`.
ioquatix Jul 19, 2019
547f574
In some situations, `vm_stack` can be NULL, but `cfp` is valid.
ioquatix Jul 19, 2019
182ae14
fix shared array terminology.
ko1 Jul 19, 2019
a44ad9a
* expand tabs.
matzbot Jul 19, 2019
ae75079
Use FL_TEST_RAW() to check flags.
ko1 Jul 19, 2019
fba3e76
fix debug counter for Hash counts.
ko1 Jul 19, 2019
e004afd
Ensure that madvise does not clobber vacancy data.
ioquatix Jul 19, 2019
517f7f9
Fix 32-bit build and typo.
ioquatix Jul 19, 2019
0a7093a
Add documentation to `fiber_pool_allocate_memory`.
ioquatix Jul 19, 2019
3e8d4ff
array.c: factor out `assert(RB_TYPE_P(ary, T_ARRAY))` to a function
mame Jul 19, 2019
0a16ff9
array.c: use assert in macro instead of in a function
mame Jul 19, 2019
de18328
Some keywords, "true", "false", and "nil" should be treated as a vari…
aycabta Jul 19, 2019
57b7bfa
* 2019-07-20
matzbot Jul 19, 2019
71d21f3
Document required keyword argument syntax [ci skip]
jeremyevans Jul 19, 2019
bf2f84b
Document evaluation order of arguments [ci skip]
jeremyevans Jul 19, 2019
7e26776
Remove mention of Proc.new with implicit block [ci skip]
jeremyevans Jul 19, 2019
ceeb153
Remove section on performance advantage of not using a block paramete…
jeremyevans Jul 19, 2019
c945d11
Document use of ensure and else at method level [ci skip]
jeremyevans Jul 19, 2019
d304f77
Only disable GC around reference updating
tenderlove Jul 19, 2019
77bb79b
array.c: factor out a complex condition of assert
mame Jul 20, 2019
8a38eff
Upgrade benchmark-driver.gem version
k0kubun Jul 20, 2019
56b957e
Upgrade benchmark-driver.gem again
k0kubun Jul 20, 2019
1392b82
Explain what's benchmark/lib/load.rb [ci skip]
k0kubun Jul 20, 2019
81fc3be
file.c: add a NORETURN declaration for statx_notimplement
mame Jul 20, 2019
e7b5b91
--debug was not functional either
k0kubun Jul 20, 2019
c584dd8
Move travis coroutine check to cron only.
ioquatix Jul 20, 2019
d285579
Update simplecov and doclie to the latest version.
hsbt Jul 21, 2019
523fec8
* 2019-07-21
matzbot Jul 21, 2019
24712ee
tool/test/runner.rb: support --test-target-dir option
mame Jul 21, 2019
08ea924
common.mk: `make check` now includes `make test-tool`
mame Jul 21, 2019
28ae30b
Run test-tool in the order of the tests
nobu Jul 22, 2019
f6a7b10
* 2019-07-22
matzbot Jul 22, 2019
463092b
Update rake-12.3.3.
hsbt Jul 22, 2019
f6461fa
Only the first argument can be --test-target-dir option
nobu Jul 22, 2019
d1c2b19
Fixed exception message
nobu Jul 22, 2019
f75561b
constify RHash::ifnone.
ko1 Jul 22, 2019
9095ff5
[ruby/date] Describe what is meant by valid in the Date.valid_date? rdoc
jeremyevans Jun 26, 2019
1feda1c
constify again.
ko1 Jul 22, 2019
9f9a6db
Allways fetch the latest commit from default gems repository.
hsbt Jul 22, 2019
2f6cc00
Fix documentation for Array#pack m directive count specifier [ci skip]
jeremyevans Jul 10, 2019
6b62aa7
* 2019-07-23
matzbot Jul 22, 2019
11f3da8
Stop packing rb_method_definition_t
nobu Jul 22, 2019
d2710ba
Split test/ripper/test_files.rb to run in parallel
nobu Jul 22, 2019
c1ad632
Adjust documentation for Kernel#raise [ci skip]
jeremyevans Jul 22, 2019
32ec6dd
Document encoding of string returned by Regexp.quote [ci skip]
jeremyevans Jul 22, 2019
01995df
Document BasicObject does not implement #object_id and #send [ci skip]
jeremyevans Jul 22, 2019
44cfabd
Removed duplicated entry for racc.
hsbt Jul 23, 2019
73d56d6
reline is default gems now.
hsbt Jul 23, 2019
ab087ec
Added the upstream repositories to default gems.
hsbt Jul 23, 2019
90c4bd2
Let memory sizes of the various IMEMO object types be reflected corre…
methodmissing Apr 22, 2019
33f54da
Support memsize of AST
nobu Jul 23, 2019
c25ff7b
check iseq is executable
ko1 Jul 23, 2019
6546aed
Explicitly initialise encodings on init to remove branches on encodin…
methodmissing Apr 13, 2019
009ec37
Let the index boundary check in rb_enc_from_index be flagged as unlikely
methodmissing Apr 13, 2019
0338c44
Retry to update Unicode timestamp
nobu Jul 23, 2019
e8d4f0c
Show seconds and in the modified time order
nobu Jul 23, 2019
03958a0
Relaxed target_os matching
nobu Jul 23, 2019
676df31
Reset mtime of all files on osx
nobu Jul 23, 2019
b6f07f7
Document that non-blocking mode isn't always supported on Windows [ci…
Jesus Jul 19, 2019
325f7b6
Make pkg_config in mkmf include -I cflags in return value
jeremyevans Jul 8, 2019
c9826c2
Show the caller's location
nobu Jul 23, 2019
f295e23
* 2019-07-24
matzbot Jul 23, 2019
afea8db
Test invalid offset warnings
nobu Jul 23, 2019
11662c7
Test missing Content-Type warnings
nobu Jul 23, 2019
9aba971
Make Object#singleton_methods work correctly for singleton classes of…
jeremyevans Jul 8, 2019
a4e5690
transcode.c (rb_econv_open0): remove unused code
mame Jul 23, 2019
df31715
should not free local hook_list here.
ko1 Jul 23, 2019
a39f218
Reduced duplicate commands in test-bundled-gems-run
nobu Jul 24, 2019
5108a5d
test-bundled-gems-run: Respect -k option
nobu Jul 24, 2019
3a227b9
Adjusted test runner
nobu Jul 24, 2019
99680f8
[rubygems/rubygems] Resolve `@@project_dir` from test file paths
nobu Jul 24, 2019
99fb637
[rubygems/rubygems] Make `@@project_dir` constants per files
nobu Jul 24, 2019
dc954cb
@@project_dir in Gem::TestCase is no longer used
nobu Jul 24, 2019
7b1893c
Resurrect timestamp debug log
k0kubun Jul 24, 2019
65a9d4b
Fix typo [ci skip]
k0kubun Jul 24, 2019
96b0d7c
GNU ls -T has different meaning
nobu Jul 24, 2019
538ba98
Split ls line
nobu Jul 24, 2019
1cce430
Suppress deflateParams() warnings
nobu Jul 24, 2019
3556cba
Document that Range#cover? returns false if <=> returns nil
jeremyevans Jul 24, 2019
48b4deb
* 2019-07-25
matzbot Jul 24, 2019
da76c44
Clarify Thread exception handling documentation [ci skip]
jeremyevans Jul 24, 2019
efa380b
Use PRIuSIZE instead of "%zu"
nobu Jul 24, 2019
0a63c4d
Fix errno at seeking socket/pipe on Windows
nobu Jul 24, 2019
938032a
[ruby/psych] Do not use add_development_dependency.
hsbt Jul 21, 2019
5007690
[ruby/psych] Drop to support fat gem support.
hsbt Jul 21, 2019
6ca7dc6
[ruby/psych] Deduplicate hash keys if they're strings
byroot Jul 22, 2019
698dde5
[ruby/psych] Suppress uninitialized instance variable warnings
nobu Jul 24, 2019
414d6cf
[ruby/psych] Get rid of C90 feature
nobu Jul 24, 2019
077c288
[ruby/io-console] Do not use add_development_dependency
nobu Jul 24, 2019
82ae462
Do not fetch remote tags
nobu Jul 24, 2019
a850be6
Moved NoMemoryError hook to Test::Unit::AutoRunner
nobu Jul 24, 2019
d8e90f5
Fix a typo in inspect
znz Jul 25, 2019
f5ea054
Moved NoMemoryError hook
nobu Jul 25, 2019
4c1db84
Added --base-directory option
nobu Jul 25, 2019
46771ab
Use libraries in the base directory if given
nobu Jul 25, 2019
8e53d18
Separated tool/test/runner.rb and test/runner.rb
nobu Jul 24, 2019
0f9ec4a
Check wether multibyte character is split
aycabta Jul 25, 2019
a50c844
Initialize vm_throw_data::throw_state as int
nobu Jul 25, 2019
7e33f32
Get rid of failures about coverage
nobu Jul 25, 2019
957a29f
Bump osx_image on Travis CI to xcode11
nobu Jul 26, 2019
300de6a
* 2019-07-26
matzbot Jul 26, 2019
82b02c1
pass to obj_info().
ko1 Jul 26, 2019
51f22de
Adjust the test direcotry structure of rdoc.
hsbt Jul 26, 2019
348c968
Escape parentheses for syntax hilighting for VScode.
hsbt Jul 26, 2019
071bf88
Improve the commits list for cherry-picking from default gems.
hsbt Jul 26, 2019
95aa60f
Ignore Merge commit and insufficiency commit for ruby core repository.
hsbt Jul 26, 2019
f7cbbc7
[ruby/rdoc] ClassModule#add_comment should receive RDoc::Comment
aycabta Jan 20, 2019
a86d4ee
[ruby/rdoc] Normalization of comment should check language
aycabta Jan 21, 2019
3b0f952
[ruby/rdoc] Support nesting text page URL
aycabta Jan 25, 2019
8bb4892
[ruby/rdoc] Update jQuery to 3.3.1
aycabta Apr 1, 2019
21ce8b3
[ruby/rdoc] Fix image links in rdoc.css
MaxLap May 14, 2019
4b7d7d0
Document and add spec for delegating to constants in Forwardable
jeremyevans Jun 24, 2019
b1a2edd
Document acceptance of negative pid in Process.kill [ci skip]
jeremyevans Jul 26, 2019
4f978a1
* 2019-07-27
matzbot Jul 26, 2019
5fef46a
Test SecureRandom.uuid format
jeremyevans Jul 26, 2019
bd32833
Document behavior when mixing named captures with parentheses [ci skip]
jeremyevans Jul 26, 2019
6279cf8
Restore documentation for Object#hash [ci skip]
jeremyevans Jul 26, 2019
8bccbf3
Add more documentation on #eql?/#hash relationship [ci skip]
jeremyevans Jul 27, 2019
149e414
Initialize DST flag
nobu Apr 23, 2019
012d39c
Added ignore files to sync_default_gems_with_commits and make constan…
hsbt Jul 27, 2019
58bb7f0
Skip the some of commits when sync default gems from upstream.
hsbt Jul 27, 2019
f9f02e8
Use JRuby equivalent of RubyVM.compile.
headius Jul 26, 2019
a06301b
Ignore history file without saving if permissions cannot be changed
jeremyevans Jun 24, 2019
5c276e1
Update to ruby/spec@875a09e
eregon Jul 27, 2019
7b727e3
Update to ruby/spec@0526d8f
eregon Jul 27, 2019
73530a9
tool/merger.rb: execute 'svn update' after 'svn ci' to update revisio…
nagachika Jul 27, 2019
e3b613a
Include travis osx timeout
k0kubun Jul 27, 2019
f1b76ea
Occupy match data
nobu Jul 27, 2019
adf1362
Extend travis_wait to 50min for osx
k0kubun Jul 27, 2019
1d1f98d
Reuse match data
nobu Jul 27, 2019
bce3482
* 2019-07-28
matzbot Jul 27, 2019
a6e3285
[reline] Do not escape and compile regexp for each byte
nobu Jul 28, 2019
b405898
[reline] Do not compile regexp for each line
nobu Jul 28, 2019
61f0f71
Moved osx_image
nobu Jul 29, 2019
f811a5e
* 2019-07-29
matzbot Jul 29, 2019
630eb04
[ruby/rdoc] Removed unused variable
nobu Jul 29, 2019
8c6f171
Removed unused variables and methods
nobu Jul 29, 2019
4b4d8a6
Stop isolating test_gc_compact on CI
k0kubun Jul 29, 2019
5af28fe
Resurrect -v to debug osx problems
k0kubun Jul 29, 2019
e05f397
Give up `brew update` on Travis
k0kubun Jul 29, 2019
f6a6b21
`travis_wait` silences any output
k0kubun Jul 29, 2019
a5ea55f
Actually remove travis_wait
k0kubun Jul 29, 2019
968c7b4
Fix unused variable
znz Jul 29, 2019
bef398e
Chomp html suffix literally
nobu Jul 29, 2019
3ee63cf
Match suffix for content type more precisely
nobu Jul 29, 2019
e62a609
Should match the beginning/end of string
nobu Jul 29, 2019
c2428b8
Erase only on tty
nobu Jul 29, 2019
aa97410
Warn if using return at top-level with an argument
jeremyevans Jul 26, 2019
1a759bf
Do not always taint the result of File#path
jeremyevans Jun 20, 2019
9170646
* 2019-07-30
matzbot Jul 29, 2019
177731a
Document that Timezone argument for Time uses dst? if available [ci s…
jeremyevans Jul 29, 2019
6eab49a
Revert "Do not always taint the result of File#path"
jeremyevans Jul 29, 2019
1da3a31
Use lowercase letters for IPv6 addresses.
akr Jul 30, 2019
3805ef7
Separate test_set_lineno_gets
nobu Jul 30, 2019
2e6f777
`/o` should not use with instance variable
znz Jul 30, 2019
47144f9
Separate VCS::GIT#upstream
nobu Jul 30, 2019
e250884
Hint for the dependency update [Bug #16000]
nobu Jul 30, 2019
f3b0ed3
Try giving up `brew update` in Azure as well
k0kubun Jul 30, 2019
ceb9e27
Shorten dependency hint [ci skip]
nobu Jul 30, 2019
a50bc9f
Do not always taint the result of File#path
jeremyevans Jun 20, 2019
369c36e
* 2019-07-31
matzbot Jul 30, 2019
f5adc78
Add a specialized instruction for `.nil?` calls
tenderlove Jun 4, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ bin/* diff=ruby
tool/update-deps diff=ruby
tool/make-snapshot diff=ruby
tool/format-release diff=ruby
tool/leaked-globals diff=ruby
54 changes: 37 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ language: c

dist: xenial

osx_image: xcode10.1

git:
quiet: true

Expand All @@ -48,7 +46,8 @@ addons:
- valgrind
- zlib1g-dev
homebrew:
update: true
# `update: true` is disabled because `brew update` hangs often
# update: true
packages:
- gdbm
- gmp
Expand Down Expand Up @@ -156,12 +155,19 @@ env:
- GEMS_FOR_TEST=
- cppflags=-DVM_CHECK_MODE=0x0003

- &FIBER_USE_sjlj
name: FIBER_USE_NATIVE=0
- &WITH_COROUTINE_UCONTEXT
name: COROUTINE=ucontext
<<: *linux
<<: *cron-only
env:
- cppflags=-DFIBER_USE_NATIVE=0
- CONFIG_FLAG='--with-coroutine=ucontext'

- &WITH_COROUTINE_COPY
name: COROUTINE=copy
<<: *linux
<<: *cron-only
env:
- CONFIG_FLAG='--with-coroutine=copy'

- &TOKEN_THREADED_CODE
name: TOKEN_THREADED_CODE
Expand Down Expand Up @@ -325,15 +331,18 @@ env:
language: ruby
rvm: 1.9.3

- &x86_64-darwin17
name: x86_64-darwin17
- &x86_64-darwin18
name: x86_64-darwin18
osx_image: xcode11
<<: *osx
env:
- CONFIG_FLAG=--with-opt-dir=/usr/local/opt/[email protected]:/usr/local/opt/zlib
- TEST_ALL_OPTS="--tty=no --excludes=\$(TESTSDIR)/excludes/_travis/osx --exclude test_gc_compact"
- TEST_ALL_ISOLATED_TESTS="../test/ruby/test_gc_compact.rb"
# Adding `-v` because we're not sure which test could hang forever: https://travis-ci.org/ruby/ruby/jobs/564804923
- TEST_ALL_OPTS="-v --timeout-scale=2.0 --tty=no --excludes=\$(TESTSDIR)/excludes/_travis/osx"
# Disabling -j3 because it seems to cause a hang on building Ruby: https://travis-ci.org/ruby/ruby/jobs/471021727
- JOBS=
# Reset timestamps early, before updating Homebrew etc.
- _=$(touch NEWS && find . -type f -exec touch -r NEWS {} +)

- &dependency
name: Check dependencies in makefiles
Expand All @@ -345,6 +354,17 @@ env:
before_install:
install:
before_script:
- |-
ruby -e 'new = []
Dir.glob("ext/**/extconf.rb") {|ex|
unless File.exist?(dep = File.dirname(ex)+"/depend")
puts "Adding "+dep
File.copy_stream("template/depend.tmpl", dep)
new << dep
end
}
exec("git", "add", *new) unless new.empty?'
- git diff --cached
- "> config.status"
- "> .rbconfig.time"
- sed -f tool/prereq.status template/Makefile.in common.mk > Makefile
Expand All @@ -364,7 +384,7 @@ env:
matrix:
include:
# to reduce time for finishing all jobs, run the slowest osx build first.
- <<: *x86_64-darwin17
- <<: *x86_64-darwin18
- <<: *x86_64-linux
- <<: *i686-linux
- <<: *jemalloc
Expand All @@ -374,7 +394,8 @@ matrix:
- <<: *UBSAN
- <<: *assertions
- <<: *VM_CHECK_MODE
- <<: *FIBER_USE_sjlj
- <<: *WITH_COROUTINE_UCONTEXT
- <<: *WITH_COROUTINE_COPY
- <<: *TOKEN_THREADED_CODE
- <<: *CALL_THREADED_CODE
- <<: *NO_THREADED_CODE
Expand Down Expand Up @@ -402,6 +423,9 @@ before_script:
- "> .rbconfig.time"
- sed -f tool/prereq.status template/Makefile.in common.mk > Makefile
- date; make touch-unicode-files
- |-
[ ${TRAVIS_OS_NAME} != osx ] ||
ls -ltT tool/generic_erb.rb template/unicode_norm_gen.tmpl enc/unicode/data/*/ucd/.unicode-tables.time
- date; make -s $JOBS $UPDATE_UNICODE up
- date; make -s $JOBS srcs
- rm -f config.status Makefile rbconfig.rb .rbconfig.time
Expand Down Expand Up @@ -456,11 +480,7 @@ before_script:

script:
- $SETARCH make -s test TESTOPTS="${TESTOPTS=$JOBS -q --tty=no}"
- travis_wait 40 $SETARCH make -s test-all -o exts TESTOPTS="${TEST_ALL_OPTS=$TESTOPTS}" RUBYOPT="-w"
- |-
if [ -n "${TEST_ALL_ISOLATED_TESTS}" ]; then
$SETARCH make -s test-all -o exts TESTS="$TEST_ALL_ISOLATED_TESTS" RUBYOPT="-w"
fi
- $SETARCH make -s test-all -o exts TESTOPTS="${TEST_ALL_OPTS=$TESTOPTS}" RUBYOPT="-w"
- $SETARCH make -s test-spec MSPECOPT=-ff # not using `-j` because sometimes `mspec -j` silently dies
- $SETARCH make -s leaked-globals

Expand Down
1 change: 0 additions & 1 deletion Makefile.in

This file was deleted.

56 changes: 55 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ sufficient information, see the ChangeLog file or Redmine
.bar(1, 2)
.display

* The flip-flop syntax deprecation is reverted. [Feature #5400]

=== Core classes updates (outstanding ones only)

Complex::
Expand All @@ -75,7 +77,7 @@ Encoding::

Enumerable::

New method::
New methods::

* Added Enumerable#filter_map. [Feature #15323]

Expand Down Expand Up @@ -147,12 +149,27 @@ Regexp / String::
* Update Unicode version to 12.1.0, adding support for
U+32FF SQUARE ERA NAME REIWA. [Feature #15195]

RubyVM::

Removed method::

* RubyVM.resolve_feature_path moved to
$LOAD_PATH.resolve_feature_path. [Feature #15903] [Feature #15230]

Time::

New methods::

* Added Time#ceil method. [Feature #15772]

* Added Time#floor method. [Feature #15653]

$LOAD_PATH::

New method::

* Added $LOAD_PATH.resolve_feature_path. [Feature #15903] [Feature #15230]

=== Stdlib updates (outstanding ones only)

Bundler::
Expand Down Expand Up @@ -188,14 +205,38 @@ IRB::
* Introduce syntax highlight inspired by pry.gem to Binding#irb source lines,
REPL input, and inspect output of some core-class objects.

* Introduce multiline mode by Reline.

* Show documents when completion.

* Enable auto indent and save/load history by default.

Net::IMAP::

* Add Server Name Indication (SNI) support. [Feature #15594]

open-uri::

* Warn open-uri's "open" method at Kernel.
Use URI.open instead. [Misc #15893]

* The default charset of text/* media type is UTF-8 instead of ISO-8859-1.
[Bug #15933]

Pathname::

* Delegates 3 arguments from Pathname.glob to Dir.glob to
accept base: keyword.

Racc::

* Merge 1.4.15 from upstream repository and added cli of racc.

Reline::

* New stdlib that is compatible with readline stdlib by pure Ruby and also
has a multiline mode.

RSS::

* Upgrade to RSS 0.2.8.
Expand All @@ -218,6 +259,19 @@ profile.rb, Profiler__::

=== Implementation improvements

Fiber::

* Allow selecting different coroutine implementation by using
`--with-coroutine=`, e.g.

./confgure --with-coroutine=ucontext
./confgure --with-coroutine=copy

* Replace previous stack cache with fiber pool cache. The fiber pool
allocates many stacks in a single memory region. Stack allocation
becomes O(log N) and fiber creation is amortized O(1). Around 10x
performance improvement was measured in micro-benchmarks.

Thread::

* VM stack memory allocation is now combined with native thread stack,
Expand Down
5 changes: 3 additions & 2 deletions addr2line.c
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ struct debug_section_definition {
};

/* Avoid consuming stack as this module may be used from signal handler */
static char binary_filename[PATH_MAX];
static char binary_filename[PATH_MAX + 1];

static unsigned long
uleb128(char **p)
Expand Down Expand Up @@ -432,7 +432,7 @@ parse_debug_line_cu(int num_traces, void **traces, char **debug_line,
/*basic_block = 1; */
break;
case DW_LNS_const_add_pc:
a = ((255 - header.opcode_base) / header.line_range) *
a = ((255UL - header.opcode_base) / header.line_range) *
header.minimum_instruction_length;
addr += a;
break;
Expand Down Expand Up @@ -2050,6 +2050,7 @@ main_exe_path(void)
{
# define PROC_SELF_EXE "/proc/self/exe"
ssize_t len = readlink(PROC_SELF_EXE, binary_filename, PATH_MAX);
if (len < 0) return 0;
binary_filename[len] = 0;
return len;
}
Expand Down
8 changes: 4 additions & 4 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ for:
- set /a JOBS=%NUMBER_OF_PROCESSORS%
- nmake -l "TESTOPTS=-v -q" btest
- nmake -l "TESTOPTS=-v -q" test-basic
- nmake -l "TESTOPTS=-q --timeout-scale=3.0 --excludes=../test/excludes/_appveyor -j%JOBS% --exclude readline --exclude win32ole --exclude test_bignum --exclude test_syntax --exclude test_open-uri --exclude test_bundled_ca --exclude test_gc_compact" test-all
- nmake -l "TESTOPTS=-q --timeout-scale=3.0 --excludes=../test/excludes/_appveyor -j%JOBS% --exclude readline --exclude win32ole --exclude test_bignum --exclude test_syntax --exclude test_open-uri --exclude test_bundled_ca" test-all
# separately execute tests without -j which may crash worker with -j.
- nmake -l "TESTOPTS=-v --timeout-scale=3.0 --excludes=../test/excludes/_appveyor" test-all TESTS="../test/win32ole ../test/ruby/test_bignum.rb ../test/ruby/test_syntax.rb ../test/open-uri/test_open-uri.rb ../test/rubygems/test_bundled_ca.rb ../test/ruby/test_gc_compact.rb"
- nmake -l "TESTOPTS=-v --timeout-scale=3.0 --excludes=../test/excludes/_appveyor" test-all TESTS="../test/win32ole ../test/ruby/test_bignum.rb ../test/ruby/test_syntax.rb ../test/open-uri/test_open-uri.rb ../test/rubygems/test_bundled_ca.rb"
- nmake -l test-spec MSPECOPT=-fs # not using `-j` because sometimes `mspec -j` silently dies on Windows
-
matrix:
Expand Down Expand Up @@ -116,9 +116,9 @@ for:
- if not "%GEMS_FOR_TEST%" == "" ..\install\bin\gem install --no-document %GEMS_FOR_TEST%
test_script:
- mingw32-make test
- mingw32-make test-all TESTOPTS="--retry --job-status=normal --show-skip --timeout-scale=1.5 --excludes=../ruby/test/excludes/_appveyor -j %JOBS% --exclude win32ole --exclude test_open-uri --exclude test_gc_compact"
- mingw32-make test-all TESTOPTS="--retry --job-status=normal --show-skip --timeout-scale=1.5 --excludes=../ruby/test/excludes/_appveyor -j %JOBS% --exclude win32ole --exclude test_open-uri"
# separately execute tests without -j which may crash worker with -j.
- mingw32-make test-all TESTOPTS="--retry --job-status=normal --show-skip --timeout-scale=1.5 --excludes=../ruby/test/excludes/_appveyor" TESTS="../ruby/test/win32ole ../ruby/test/open-uri/test_open-uri.rb ../ruby/test/ruby/test_gc_compact.rb"
- mingw32-make test-all TESTOPTS="--retry --job-status=normal --show-skip --timeout-scale=1.5 --excludes=../ruby/test/excludes/_appveyor" TESTS="../ruby/test/win32ole ../ruby/test/open-uri/test_open-uri.rb"
- mingw32-make test-spec MSPECOPT=-fs # not using `-j` because sometimes `mspec -j` silently dies on Windows
notifications:
# Using "Webhook" with templated body to skip notification on Pull Request
Expand Down
Loading