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

63205 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA ba889100d8
Bundle rbs gem as bundled gems (#3496)
* Added rbs as bundled gems
* Added the missing dependencies for rbs gem
2020-09-23 10:59:49 +09:00
Hiroshi SHIBATA e380f78851 Removed rb_find_file_ext_safe and rb_find_file_safe 2020-09-23 09:09:36 +09:00
Jeremy Evans ed27c2514c Update UnixSocket#recv_io tests to handle receiving a UnixSocket
Receiving UnixSocket works fine if you don't provide a mode, and
I think it is reasonable to expect that you should not provide
a mode if klass.for_fd would not accept a mode.

Fixes [Bug #11778]
2020-09-22 15:44:34 -07:00
Burdette Lamar b904b72960
Enhanced RDoc for String (#3565)
Makes some methods doc compliant with https://github.com/ruby/ruby/blob/master/doc/method_documentation.rdoc. Also, other minor revisions to make more consistent.
Methods:

    try_convert
    +string
    -string
    concat
    <<
    prepend
    hash
2020-09-22 16:32:17 -05:00
Aaron Patterson 3d474e19fd Rudimentary support for disassembling rb_iseq_t
I need to disassemble instruction sequences while debugging, so I wrote
this.

Usage is like this:

```
(lldb) p iseq
(rb_iseq_t *) $147 = 0x0000000101068400
(lldb) rbdisasm iseq
0000 putspecialobject( 3 )
0002 putnil
0003 defineclass( ID: 0x560b, (rb_iseq_t *)0x1010681d0, 2 )
0007 pop
0008 putspecialobject( 3 )
0010 putnil
0011 defineclass( ID: 0x56eb, (rb_iseq_t *)0x101063b58, 2 )
0015 leave
```

Also thanks a ton to @kivikakk helping me figure out how to navigate LLDB's Python 😆
2020-09-22 13:40:57 -07:00
Jeremy Evans 179384a668 Revert "Prevent SystemStackError when calling super in module with activated refinement"
This reverts commit eeef16e190.

This also reverts the spec change.

Preventing the SystemStackError would be nice, but there is valid
code that the fix breaks, and it is probably more common than cases
that cause the SystemStackError.

Fixes [Bug #17182]
2020-09-22 12:04:48 -07:00
Aaron Patterson f3dddd77a9
Add a comment about why we're checking the finalizer table 2020-09-22 09:20:04 -07:00
git 3c80889802 * 2020-09-23 [ci skip] 2020-09-23 01:01:25 +09:00
Aaron Patterson 8b41e9b6e7
Revert "Pin values in the finalizer table"
If an object has a finalizer flag set on it, prevent it from moving.

This partially reverts commit 1a9dd31910.
2020-09-22 08:57:48 -07:00
Jeremy Evans df14c758fc Make hash returned by Hash#transform_values not have a default
This sets an explicit default of nil.  There is probably a better
approach of removing the default.

Fixes [Bug #17181]
2020-09-21 19:35:08 -07:00
git 7ee166ed4e * 2020-09-22 [ci skip] 2020-09-22 01:28:15 +09:00
Burdette Lamar c6c5d4b3fa
Comply with guide for method doc: string.c (#3528)
Methods:

    ::new
    #length
    #bytesize
    #empty?
    #+
    #*
    #%
2020-09-21 11:27:54 -05:00
Benoit Daloze 82998918ef Make Thread#join always convert its argument, as before 70f08f1eed 2020-09-21 16:22:04 +02:00
Benoit Daloze 2b73e6ba71 Simplify the implementation of Scheduler#block
* This shows block() with a timeout is similar to #kernel_sleep and also
  does not need to change `@blocking`.
2020-09-21 16:04:20 +02:00
Benoit Daloze 0fa1c82bfc Make it clear the first field of join_arg is the waiting thread
* And not some list of sort.
2020-09-21 15:58:08 +02:00
Benoit Daloze c19bcf38eb Fix Thread leak in Thread#join specs 2020-09-21 15:54:39 +02:00
Samuel Williams 10d795cfca Add NEWS about `Fiber#backtrace` and `Fiber#backtrace_locations`. 2020-09-21 17:04:49 +12:00
Samuel Williams f7aa51b2b8 Update NEWS & documentation relating to scheduler. 2020-09-21 15:28:03 +12:00
Samuel Williams 70f08f1eed Make `Thread#join` non-blocking. 2020-09-21 11:48:44 +12:00
git 596173155a * 2020-09-21 [ci skip] 2020-09-21 06:51:54 +09:00
Samuel Williams 501fff14c7 When setting current thread scheduler to nil, invoke `#close`. 2020-09-21 09:51:33 +12:00
Peter Zhu b6d599d76e Update heap_pages_himem after freeing pages 2020-09-20 23:13:47 +09:00
Quang-Minh Nguyen be2efb118f Fulfill missing tests and stabilize tests 2020-09-20 23:10:44 +09:00
Quang-Minh Nguyen 398da71175 Validate name during initialization 2020-09-20 23:10:44 +09:00
Quang-Minh Nguyen d5fa66156a Add status to Ractor#inspect 2020-09-20 23:10:44 +09:00
git 84c4c7bec8 * 2020-09-20 [ci skip] 2020-09-20 20:39:25 +09:00
Benoit Daloze 6987c8997e Remove from waiter in Mutex#lock with ensure when calling rb_scheduler_block()
* Previously this could lead to an invalid waiter entry and then trying
  to wake up that waiter would result in various issues in rb_mutex_unlock_th().
2020-09-20 13:35:39 +02:00
Nobuyoshi Nakada 73a626c078
[ruby/io-wait] update required_ruby_version
As d387029f39 made io/wait
unbuildable with older versions, drop older versions tentatively.
Also the change seems to instroduce behavioral incompatibilities,
may address them or bump up the version later.
2020-09-19 17:47:40 +09:00
Nobuyoshi Nakada 702cebf104
strip trailing spaces [ci skip] 2020-09-19 17:40:54 +09:00
Aaron Patterson 6cb6d5abc3
Add assertions when inline caches are copied to MJIT
This is a temporary commit to try to find a GC issue.  It seems like
mjit is pointing at a moved address in the call cache.  I want to assert
that they aren't TMOVED or garbage objects at the time they get copied
2020-09-18 17:07:08 -07:00
aycabta e193dd1e3d [ruby/irb] Version 1.2.7
https://github.com/ruby/irb/commit/0eaa06838b
2020-09-19 05:13:08 +09:00
aycabta 555ea83344 [ruby/irb] Drop OMIT_ON_ASSIGNMENT and add :truncate option for ECHO_ON_ASSIGNMENT
https://github.com/ruby/irb/commit/4c89b0775b
2020-09-19 05:13:08 +09:00
git 7d9b4d3c61 * 2020-09-19 [ci skip] 2020-09-19 04:32:21 +09:00
Aaron Patterson 1a9dd31910 Pin values in the finalizer table
When finalizers run (in `rb_objspace_call_finalizer`) the table is
copied to a linked list that is not managed by the GC.  If compaction
runs, the references in the linked list can go bad.

Finalizer table shouldn't be used frequently, so lets pin references in
the table so that the linked list in `rb_objspace_call_finalizer` is
safe.
2020-09-18 12:31:54 -07:00
Hiroshi SHIBATA 6dd257ed1e
Added sync task for bigdecimal 2020-09-18 18:47:52 +09:00
Hiroshi SHIBATA 3d86f7a37c
The executable file of erb is under the libexec on ruby/erb repo 2020-09-18 18:44:46 +09:00
Benoit Daloze af1926e859 Fix copy/paste error from 5bb5e706f1 2020-09-18 11:11:47 +02:00
Benoit Daloze 5bb5e706f1 Only interrupt when there is no scheduler in sync_wakeup()
* When there is a scheduler, the Fiber that would be blocked has already
  been rescheduled and there is no point to interrupt something else.
  That blocked Fiber will be rescheduled as the next call to the scheduler
  (e.g., IO, sleep, other blocking sync).
* See discussion on https://github.com/ruby/ruby/commit/d01954632d
2020-09-18 10:39:27 +02:00
aycabta 305c430603 [ruby/rdoc] Add man/ri.1 for distribution files
https://github.com/ruby/rdoc/commit/7cb5c3611f
2020-09-18 14:57:58 +09:00
Dorian Marié 0d56aec1dd [ruby/rdoc] Fix spelling error in parser comment
https://github.com/ruby/rdoc/commit/f237c9e223
2020-09-18 14:57:58 +09:00
Nobuyoshi Nakada e23f0f29da [ruby/rdoc] update all files if any file is newer
Cross references need parse all files which define the subject
names.  This commit makes `--force-update` option enforce to parse
all files if any file is newer than the previous parse, not only
updated files.

https://github.com/ruby/rdoc/commit/13e9a44896
2020-09-18 14:57:58 +09:00
aycabta b5db9b8a31 [ruby/rdoc] Support full filename to make a link for a text file
https://github.com/ruby/rdoc/commit/41db49c485
2020-09-18 14:57:57 +09:00
Koichi Sasada 3b159374a2 sync ruby_global_symbols
ruby_global_symbols can be accessed with multiple ractors so that
the accesses should be synchronized.
2020-09-18 14:17:49 +09:00
Koichi Sasada 06e9b94d40 show object info to debug purpose. 2020-09-18 14:17:49 +09:00
Koichi Sasada b416a76402 add debug log on enabling multi-ractor mode 2020-09-18 14:17:49 +09:00
Koichi Sasada b189dc6926 rb_obj_info() shows more info for T_SYMBOL 2020-09-18 14:17:49 +09:00
Koichi Sasada dd5db6f5fe sync fstring_table for deletion
Ractors can access this table simultaneously so we need to sync
accesses.
2020-09-18 14:17:49 +09:00
git 609e6ac0ca * 2020-09-18 [ci skip] 2020-09-18 00:30:47 +09:00
Benoit Daloze d9b943b8e5 Cleanup commented code
* Mutex operations no longer disable the Fiber scheduler.
2020-09-17 17:29:43 +02:00
Benoit Daloze d01954632d Add missing goto found;
* To still remove the lock from the Thread's list of acquired locks.
* Also to not wake up other waiters and preserve blocking behavior.
2020-09-17 17:26:52 +02:00