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

64526 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA 034c19ce28
Merge json-2.5.1 2020-12-22 21:51:15 +09:00
Hiroshi SHIBATA 9b9cbbbc17
Update library versions of the default gems.
They are followed up with
  8fb02b7a97
2020-12-22 21:45:28 +09:00
Akinori MUSHA 96b8816793 Import set 1.0.1
- Eliminate warnings
- Convert rdoc to markdown
2020-12-22 21:41:44 +09:00
Hiroshi SHIBATA f08cbdbf7d
Move the library to extensions for some of default gems 2020-12-22 20:55:41 +09:00
Samuel Williams 93a56a5e98 Update fiber scheduler documentation. 2020-12-22 23:51:02 +13:00
Hiroshi SHIBATA edb76e8765 Prepare to release json-2.5.0 2020-12-22 19:44:27 +09:00
Marc-Andre Lafortune f2f00e24fa [ruby/date] Make Ractor-compatible 2020-12-22 03:12:51 -05:00
Marc-Andre Lafortune ee102de6d7 [ruby/date] Deep-freeze internal constants.
Probably not strictly necessary, but good principle anyways.
2020-12-22 03:12:51 -05:00
卜部昌平 7fbad92241 rb_cData: no longer exists
Commit 8918a9cf6c introduced macro
`#define rb_cData rb_cData()`.  This deleting `VALUE rb_cData;`
declaration was then macro-expanded into `VALUE rb_cData();`.  This
worked by accident because the expanded expression happen to be a K&R
style function declaration.

This is rather complicated and I guess unintended.  Just delete the line
to keep things simple straight forward.
2020-12-22 16:18:17 +09:00
卜部昌平 7898bc9225 rb_cCont: no longer exists
Deleted well over a decade ago in commit 977d66ec99.
2020-12-22 15:25:03 +09:00
Takashi Kokubun 15b81edd86
MJIT is enabled whenever an MJIT header is used
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-22T05:16:39Z master 692af8e8f8) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-22T06:05:59Z master d2ca23fdbc) +JIT [x86_64-linux]
last_commit=MJIT is enabled whenever an MJIT header is used
Calculating -------------------------------------
                             before --jit           after --jit
Optcarrot 180 frames    86.61115328062763     91.49245232931852 fps
                        90.18653732453176     92.31139517827663
                        91.29817884736318     93.84437713805814
                        92.76118222412521     93.91929147901106
```
2020-12-21 22:07:40 -08:00
Yuki Nishijima 95acd3c030 Sync did_you_mean 2020-12-22 14:42:32 +09:00
Takashi Kokubun 692af8e8f8
Prefer stdbool in vm_exec
Make the code a bit modern and consistent with some other places.
2020-12-21 21:16:39 -08:00
Yusuke Endoh 03f2b09320 NEWS.md: fix the format 2020-12-22 14:05:55 +09:00
卜部昌平 fee2913d0a Struct::Tms: delete
Has been deprecated since 44c53ee473.
2020-12-22 13:52:18 +09:00
卜部昌平 fa356a798a Enumerator.new: raise unless block given
Has been deprecated since c73b6bd7eb.
[Feature #17116] [ruby-dev:50945]
2020-12-22 13:52:03 +09:00
Koichi Sasada 7204b81bcb fix to use rb_ractor_id()
Catch up recent changes on USE_RUBY_DEBUG_LOG=1.
2020-12-22 12:59:47 +09:00
Koichi Sasada 2e1cdf36ba add a NEWS entry about ractor C API 2020-12-22 12:46:15 +09:00
Akinori MUSHA be9b5553a3 Add entries for set 1.0.0 2020-12-22 12:26:45 +09:00
Akinori MUSHA 3fa4bd8292 Import set 1.0.0
- SortedSet has been removed for dependency and performance reasons.
- Set#join is added as a shorthand for `.to_a.join`.
- Set#<=> is added.

https://github.com/ruby/set/blob/v1.0.0/CHANGELOG.md
2020-12-22 12:20:21 +09:00
Akinori MUSHA 63b872c409 Prepare for importing the set gem 2020-12-22 12:17:47 +09:00
Marc-Andre Lafortune d0050edb84 Update Fiber#backtrace doc [See bug #17408] 2020-12-21 21:07:13 -05:00
zverok 843fd1e8cf Document Fiber#backtrace and #backtrace_locations 2020-12-21 19:22:38 -05:00
zverok 816bbfdc87 Document Proc#== 2020-12-21 19:22:38 -05:00
zverok 861dbd9506 Random instance methods 2020-12-21 19:22:38 -05:00
zverok 4728c0d900 Add Symbol#name and freezing explanation to #to_s 2020-12-21 19:22:38 -05:00
Yusuke Endoh 4a18cc7f60 NEWS.md: mention the behavior change of Binding#eval
[Bug #17419]
2020-12-22 09:04:54 +09:00
Marc-Andre Lafortune 91773ddd26 Remove debugging code 2020-12-21 18:56:46 -05:00
nagachika 831f785068 [DOC] Fix typo in Ractor.make_shareable documentation. 2020-12-22 08:08:27 +09:00
Nobuyoshi Nakada a29b9e5efe
Remvoed no longer needed version guards 2020-12-22 07:52:14 +09:00
Koichi Sasada c34c6a89cb fix ractor's doc. [ci skip] 2020-12-22 06:09:42 +09:00
Koichi Sasada 520dcbd600 reset cache before iterating
cee02d754d resets pCMC and `me`
will be a invalidated and continuing the invalidated `me`,
it will break the data structure. This patch tris to clear
all methods of specified class before manipulating the `me`s.
[Issue #17417]
2020-12-22 06:09:30 +09:00
Koichi Sasada d0e4ccbefc add Ractor.main
It returns main Ractor, like Thread.main.
[Feature #17418]
2020-12-22 05:54:14 +09:00
Koichi Sasada 35471a9487 add Ractor#[]/#[]= for ractor local storage
This API is similar to plain old Thread#[]/Fiber#[] interface
with symbol key.
2020-12-22 05:26:32 +09:00
Marc-Andre Lafortune 8f2031a067 Ractor#to_s as #inspect 2020-12-21 13:31:00 -05:00
Nobuyoshi Nakada 8918a9cf6c Removed rb_cData entity
* Use the wrapper of rb_cObject instead of data access
* Replaced rest of extentions
* Updated the version guard for Data
* Added the version guard of rb_cData
2020-12-22 02:51:49 +09:00
卜部昌平 c30f03d328 Data: delete
Has been deprecated since 684bdf6171.

Matz says in [ruby-core:83954] that Data should be an alias of Object.
Because rb_cData has not been deprecated, let us deprecate the constant
to make it a C-level synonym of rb_cObject.
2020-12-22 02:51:49 +09:00
Kazuki Tsujimoto 5c0abe2d94
Update documentation for pattern matching 2020-12-22 02:08:57 +09:00
git 208f7d7c80 * 2020-12-22 [ci skip] 2020-12-22 00:03:21 +09:00
Koichi Sasada 02d9524cda separate rb_ractor_pub from rb_ractor_t
separate some fields from rb_ractor_t to rb_ractor_pub and put it
at the beggining of rb_ractor_t and declare it in vm_core.h so
vm_core.h can access rb_ractor_pub fields.

Now rb_ec_ractor_hooks() is a complete inline function and no
MJIT related issue.
2020-12-22 00:03:00 +09:00
Koichi Sasada a2950369bd TracePoint.new(&block) should be ractor-local
TracePoint should be ractor-local because the Proc can violate the
Ractor-safe.
2020-12-22 00:03:00 +09:00
Nobuyoshi Nakada c7a5cc2c30
Replaced magic numbers tr table 2020-12-21 23:45:38 +09:00
Naohisa Goto 84eebb3c9e On Solaris, _XOPEN_SOURCE should be undefined for C++ sources. 2020-12-21 23:42:34 +09:00
Koichi Sasada 91e2f08a6a export rb_eRactorIsolationError for MJIT
https://ci.appveyor.com/project/ruby/ruby/builds/36942168/job/7ugrpk0pndoly9wp
```
_ruby_mjit_p11920u0.c
C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.c(14) : warning C4005: 'GET_SELF' : macro redefinition
        c:\projects\ruby\vm_insnhelper.h(111) : see previous definition of 'GET_SELF'
   Creating library C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.lib and object C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.exp
_ruby_mjit_p11920u0.obj : error LNK2001: unresolved external symbol rb_eRactorIsolationError
C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.so : fatal error LNK1120: 1 unresolved externals
```
2020-12-21 23:28:05 +09:00
Kenta Murata 0b6a80c0be
[json] Avoid method redefinition 2020-12-21 22:41:24 +09:00
Koichi Sasada dca6752fec Introduce Ractor::IsolationError
Ractor has several restrictions to keep each ractor being isolated
and some operation such as `CONST="foo"` in non-main ractor raises
an exception. This kind of operation raises an error but there is
confusion (some code raises RuntimeError and some code raises
NameError).

To make clear we introduce Ractor::IsolationError which is raised
when the isolation between ractors is violated.
2020-12-21 22:29:05 +09:00
Kenta Murata 8c0c61728f
NEWS: JSON is Ractor compatible [ci skip] 2020-12-21 22:16:02 +09:00
Kenta Murata 14d7d1df25
[json] Make json Ractor safe 2020-12-21 22:10:43 +09:00
Kenta Murata 4c2e7f26bd
[json] JSON_parse_float: Fix how to convert number
Stop BigDecimal-specific optimization.  Instead, it tries the conversion
methods in the following order:

1. `try_convert`,
2. `new`, and
3. class-named function, e.g. `Foo::Bar.Baz` function for `Foo::Bar::Baz` class

If all the above candidates are unavailable, it fallbacks to Float.
2020-12-21 22:10:43 +09:00
Kenta Murata 596da98b3f
[json] Make JSON.create_id thread-safe 2020-12-21 22:10:42 +09:00