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

61534 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 6dcd10ce56
compile.c: Mark cursor in debug list 2020-05-31 03:07:30 +09:00
Nobuyoshi Nakada 2c711273bb
compile.c: Removed wrong conversion 2020-05-31 03:05:10 +09:00
Nobuyoshi Nakada e10798b3a3
[DOC] refined `Kernel#.require` and `Kernel#.load` [ci skip] 2020-05-30 22:04:49 +09:00
Nobuyoshi Nakada 57fd44d374
Adjusted an indent 2020-05-30 21:20:50 +09:00
Aaron Patterson 9b8825b6f9
Update NEWS / documentation with GC.start(compact:true) 2020-05-29 15:59:42 -07:00
Jeremy Evans 04b5203a03 Convert ip addresses to canonical form in Resolv::DNS::Requester::UnconnectedUDP#sender
Otherwise, if the IP address given is not in canonical form, it
won't match, and Resolv will ignore it.

Fixes [Bug #16439]
2020-05-29 15:59:27 -07:00
Aaron Patterson 02b216e5a7
Combine sweeping and moving
This commit combines the sweep step with moving objects.  With this
commit, we can do:

```ruby
GC.start(compact: true)
```

This code will do the following 3 steps:

1. Fully mark the heap
2. Sweep + Move objects
3. Update references

By default, this will compact in order that heap pages are allocated.
In other words, objects will be packed towards older heap pages (as
opposed to heap pages with more pinned objects like `GC.compact` does).
2020-05-29 15:24:32 -07:00
Burdette Lamar c1f6552b58
[ci skip] Enhanced Rdoc for Hash (#3155)
* Enhanced Rdoc for Hash

* Respond to review
2020-05-29 13:53:11 -05:00
Yusuke Endoh e73e504e2f spec: add wsl guard
WSL 2 is officially released.  It uses Linux kernel, so almost all specs
for Linux work on WSL, except one: gethostbyaddr.  I guess network
resolution in WSL is based on Windows, so the behavior seems a bit
different from normal Linux.

This change adds `platform_is_not :wsl` guard, and guards out the test
in question.
2020-05-30 01:52:38 +09:00
Nobuyoshi Nakada 0d1f0cd9cc
runnable.rb: ignore broken symlink error on Windows [ci skip] 2020-05-30 01:15:23 +09:00
Nobuyoshi Nakada 0d30f42813
[DOC] mentioned "explicit relative path" [ci skip]
`Kernel#.require` and `Kernel#.load` do not search also "explicit
relative path" files, not only absolute paths, in the load path.
2020-05-30 01:09:16 +09:00
git 2c8821c0d2 * 2020-05-30 [ci skip] 2020-05-30 00:17:02 +09:00
Yusuke Endoh 58bc97628c test/ruby/test_process.rb: GID.from_name may raise Errno:ESRCH
getgrnam(3) says:
```
ERRORS
       0 or ENOENT or ESRCH or EBADF or EPERM or ...
              The given name or gid was not found.
```

Process::GID.from_name raises an ArgumentError for 0, but Errno::ESRCH
for ESRCH.  Actually, WSL 2 raises Errno::ESRCH.  This change accepts
all exceptions above.
2020-05-30 00:16:44 +09:00
Nobuyoshi Nakada 3ed79a97b0
doc/contributing.rdoc: Removed obsolete platforms [ci skip] 2020-05-29 23:49:15 +09:00
Jeremy Evans 2ecfb88ee5 Correctly remove temporary directory if path yielded is mutated
Another approach would be to freeze the string, but that could
cause backwards compatibility issues.

Fixes [Bug #16918]
2020-05-29 07:06:46 -07:00
Takashi Kokubun 0bd025ad69
Add a debug_counter for JIT cancel on leave 2020-05-28 22:45:35 -07:00
Koichi Sasada d300a73441 RUBY_ASSERT_NOASSUME
If __builtin_assume() is enables and RUBY_DEBUG=0, RUBY_ASSERT(expr)
will be compiled to __builtin_assume(expr) and compiler can assume
expr is true and apply aggressive optimizations. However we observed
doubtful behavior because of compiler optimizations, we introduce
new macro RUBY_ASSERT_NOASSUME to disable __builtin_assume().
With this macro, we can try without __builtin_assume().
2020-05-29 13:50:58 +09:00
Koichi Sasada 03d7f3cdb2 add indent for debug disasm output 2020-05-29 11:25:45 +09:00
Koichi Sasada 6ba2d3e4c6 export debug utility functions 2020-05-29 11:25:45 +09:00
Nobuyoshi Nakada d32e2bb02d
Allow references to $$ in Ripper DSL 2020-05-29 09:41:27 +09:00
Aaron Patterson c7ceaa6d3c
Extract "free moved list" function
Extract a function to free the moved list.  We'll use this function
later on to compact at the same time as sweep.
2020-05-28 15:01:10 -07:00
git fd7849cedb * 2020-05-29 [ci skip] 2020-05-29 02:45:11 +09:00
Nobuyoshi Nakada b8fadf3a6b
Respect BIGNUM_DEBUG defined by command line option
And fixed typo in compilers.yml.
2020-05-29 02:43:30 +09:00
Jeremy Evans 07b2102a88 Remove Ruby <2.2 support from tool/lib/vcs.rb
BASERUBY now requires at least Ruby 2.2, so there is no point
trying to support older ruby versions here.
2020-05-28 07:57:29 -07:00
Jeremy Evans 9a3371be8f Check that BASERUBY is at least Ruby 2.2 in configure
BASERUBY needs to be at least Ruby 2.2 since
46acd0075d.

I think it's better to explicitly fail early as soon as BASERUBY
is used in this case, versus trying to debug later failures.

This modifies things to check both implicitly use of ruby in the
PATH as BASERUBY, and explicitly specified older versions of ruby
when using --with-baseruby.

Fixes [Bug #16668]
2020-05-28 07:57:29 -07:00
Burdette Lamar 28ce75821d
Enhanced Rdoc for Hash (#3151) 2020-05-28 06:21:48 -05:00
Hiroshi SHIBATA 7473b4c106
Explicitly loading with envutil.rb 2020-05-28 14:41:08 +09:00
Yusuke Endoh f186f2d01d Use Module#name instead of #inspect
Coverage measurement had failed since 7d5da30c9e
https://github.com/ruby/actions/runs/708557030?check_suite_focus=true
2020-05-28 14:39:53 +09:00
Jeremy Evans fa380208fe Improve documentation for Net::HTTPHeader#set_form [ci skip]
Fixes [Misc #16916]
2020-05-27 13:13:46 -07:00
git 9cfef5b494 * 2020-05-28 [ci skip] 2020-05-28 00:15:33 +09:00
Nobuyoshi Nakada 93ccb8e8a2
Remove platform directory when distclean or more [ci skip]
At the time of clean-platform, platform directory may not be empty
because of parallel build.
2020-05-28 00:13:11 +09:00
Nobuyoshi Nakada 6dbc3a2871
autoconf may not be available 2020-05-27 23:46:55 +09:00
Burdette Lamar 139839b805
[ci skip] Enhanced Rdoc for Hash (#3143)
* Enhanced Rdoc for Hash

* Respond to review

* Nudge CI testing.
Respond to review
2020-05-27 09:31:22 -05:00
Takashi Kokubun 083a17a82a
Carve out mjit_exec_slowpath
and mark it as COLDFUN on JIT, assuming enqueue usually happens on VM.
2020-05-27 01:41:04 -07:00
Masataka Pocke Kuwabara a3f498e44c
Fix max, min, minmax documentation (#3131)
They only need that all objects implement <=>,
but the documentation said it needs Comparable.
2020-05-26 23:48:46 -07:00
Masataka Pocke Kuwabara 752041ca11
Update Enumerable::Yielder#to_proc document (#3142) 2020-05-26 23:46:42 -07:00
Masataka Pocke Kuwabara 64c5bf5721
Fix non-existent method reference in Enumerator.produce document (#3141) 2020-05-26 23:37:05 -07:00
Takashi Kokubun 9d71373c23
Mark vm_stackoverflow as NOINLINE COLDFUNC on JIT
to reduce code size and improve locality of hot code.
2020-05-26 23:24:58 -07:00
Takashi Kokubun 61b14bb32b
Eliminate a call instruction on JIT cancel path
by calling combined functions specialized for each cancel type.

I'm hoping to improve locality of hot code, but this patch's impact should
be insignificant.
2020-05-26 23:01:52 -07:00
Nobuyoshi Nakada 4cabd77e33
Removed a trailing space [ci skip] 2020-05-27 14:30:45 +09:00
Nobuyoshi Nakada 0f8b5819b3
Merged recipes for the same target 2020-05-27 13:13:12 +09:00
Nobuyoshi Nakada 51fa4c9f49
Removed obsolete forwarding DLL recipe
It has never been created by default, and no reason to keep binary
compatibility against extension libraries for ruby 1.8.

1. `LIBRUBY_SO` on Cygwin was named originally.

   - 94089e82a12:: `$(RUBY_INSTALL_NAME)-cygwin.dll`
   - f0ba57341ac:: `$(RUBY_INSTALL_NAME).cygwin.dll`
   - c74a3b21f59:: `cygwin-$(RUBY_INSTALL_NAME)-$(MAJOR).$(MINOR).dll`

2. And then renamed to be net distribution compliant.

   - 6f059f33ef1:: `cyg$(RUBY_SO_NAME)$(MAJOR)$(MINOR).dll`

3. Next at 430eabfe13, forwarding DLL was added for binary
   compatibility against extension libraries.
2020-05-27 12:40:18 +09:00
S-H-GAMELINKS 0fcb2dd51d
add static modifier for rb_str_ord func 2020-05-27 11:26:44 +09:00
Jeremy Evans e0b40ef5d8 Don't convert bundler man pages from mdoc to man
These man pages are already in man format and assuming they are
mdoc format breaks things.

Fixes [Bug #16823]
2020-05-27 07:47:50 +09:00
Yusuke Endoh 962c302a1a test/drb/test_drbssl.rb: skip LeakChecker as openssl keeps /dev/random
and /dev/urandom intentionally.  OpenSSL::PKey::RSA.new opens the two
random generators and keeps the file descriptors.

93f99b681a/crypto/rand/rand_unix.c (L674)

They are detected by the LeakChecker as fd leak, but it is intentional.

http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20200526T160005Z.log.html.gz
```
[  597/20199] DRbTests::TestDRbSSLAry#test_01 = 0.29 s
Leaked file descriptor: DRbTests::TestDRbSSLAry#test_01: 8 #<File::Stat dev=0x6, ino=11, mode=020666, nlink=1, uid=0, gid=0, rdev=0x109, size=0, blksize=4096, blocks=0, atime=2020-05-23 14:45:13.751999995 +0000, mtime=2020-05-23 14:45:13.751999995 +0000, ctime=2020-05-23 14:45:13.751999995 +0000>
Leaked file descriptor: DRbTests::TestDRbSSLAry#test_01: 9 #<File::Stat dev=0x6, ino=10, mode=020666, nlink=1, uid=0, gid=0, rdev=0x108, size=0, blksize=4096, blocks=0, atime=2020-05-23 14:45:13.755999995 +0000, mtime=2020-05-23 14:45:13.755999995 +0000, ctime=2020-05-23 14:45:13.755999995 +0000>
```
2020-05-27 02:07:38 +09:00
Nobuyoshi Nakada 135c6a4b99
fiddle: need to update configure after updating config tools 2020-05-27 00:30:59 +09:00
git f8e703e2b0 * 2020-05-27 [ci skip] 2020-05-27 00:28:32 +09:00
Yusuke Endoh 5429deb075 lib/open3.rb: make sure that pipes are closed
Attempting to invoke a non-existent command led to the leak of fds.

http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20200526T140004Z.log.html.gz
```
[ 9101/20195] TestGemExtCmakeBuilder#test_self_build = 0.01 sLeaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 7 : #<IO:fd 7>
Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 10 : #<IO:fd 10>
Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 11 : #<IO:fd 11>
Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 12 : #<IO:fd 12>
```
2020-05-27 00:20:14 +09:00
Koichi Sasada eb20d2f449 include debug option in slack notification 2020-05-26 23:20:36 +09:00
Koichi Sasada a809caa4b3 remove duplication. 2020-05-26 23:10:35 +09:00