summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-01Fix Rubyspec (ruby-2.7) failuresKazuki Tsujimoto
https://github.com/ruby/ruby/runs/1337845174
2020-11-01Change NODE layout for pattern matchingKazuki Tsujimoto
I prefer pconst to be the first element of NODE. Before: | ARYPTN | FNDPTN | HSHPTN ---+--------+--------+----------- u1 | imemo | imemo | pkwargs u2 | pconst | pconst | pconst u3 | apinfo | fpinfo | pkwrestarg After: | ARYPTN | FNDPTN | HSHPTN ---+--------+--------+----------- u1 | pconst | pconst | pconst u2 | imemo | imemo | pkwargs u3 | apinfo | fpinfo | pkwrestarg
2020-11-01ext/socket/rubysocket.h: avoid the conflict of T_DATA definition in AIXRei Odaira
2020-11-01use one-line pattern matching for warning testsKoichi Sasada
2020-11-01* 2020-11-01 [ci skip]git
2020-11-01Pattern matching is no longer experimentalKazuki Tsujimoto
2020-10-31Revert "Use adjusted sp on `iseq_set_sequence()`" and "Delay ↵wanabe
`remove_unreachable_chunk()` after `iseq_set_sequence()`" This reverts commit 3685ed7303fc08bf68cd3cc8d11e22a8ce63a067 and 5dc107b03f5cf32656a5308574b90458486c633c. Because of some CI failures https://github.com/ruby/ruby/pull/3404#issuecomment-719868313.
2020-10-31[DOC] standard_library.rdoc: tweaked to make style consistentNobuyoshi Nakada
[ci skip]
2020-10-31Removed unused variableNobuyoshi Nakada
2020-10-31Use adjusted sp on `iseq_set_sequence()`wanabe
Notes: Merged: https://github.com/ruby/ruby/pull/3404
2020-10-31Delay `remove_unreachable_chunk()` after `iseq_set_sequence()`wanabe
Notes: Merged: https://github.com/ruby/ruby/pull/3404
2020-10-30Add warning for str_new_static functionsAlan Wu
Many functions in string.c assume that capa + termlen to be readable memory. Add comment in header to communicate this to extension authors. See also: comment in str_fill_term() Notes: Merged: https://github.com/ruby/ruby/pull/3698
2020-10-30Move variable closer to usageAlan Wu
2020-10-30Tweak return of `Ractor#close`, add docMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3696
2020-10-31* 2020-10-31 [ci skip]git
2020-10-31Ractor's "will" doesn't need copying.Koichi Sasada
`r = Ractor.new{ expr }` generates the block return value from `expr` and we can get this value by `r.take`. Ractor.yield and Ractor#take passing values by copying on default. However, the block return value (we named it "will" in the code) is not referred from the Ractor because the Ractor is already dead. So we can pass the reference of "will" to another ractor without copying. We can apply same story for the propagated exception. Notes: Merged: https://github.com/ruby/ruby/pull/3724
2020-10-30Promote debug.rb to default gems.Hiroshi SHIBATA
It have no upstream repo yet. This change is experimental for 3.0.0-preview2.
2020-10-30add a test of define_method with shareable Proc.Koichi Sasada
a method defined by define_method with normal Proc can not cross ractors because the normal Proc is not shareable. However, shareable Proc can be crossed between ractors, so the method with shareable Proc should be called correctly.
2020-10-30sync vm->waiting_fds correctly.Koichi Sasada
vm->waiting_fds is global resource so we need to lock it correctly. (forgot to sync one place)
2020-10-30Promote win32ole to default gems.Hiroshi SHIBATA
But win32ole gem is still experimental for 3.0.0-preview2. I'm working to extract this library on https://github.com/ruby/win32ole.
2020-10-30Fix a typo [ci skip]Kazuhiro NISHIYAMA
2020-10-30strip trailing spaces [ci skip]Nobuyoshi Nakada
2020-10-30Ractor.make_shareable(a_proc)Koichi Sasada
Ractor.make_shareable() supports Proc object if (1) a Proc only read outer local variables (no assignments) (2) read outer local variables are shareable. Read local variables are stored in a snapshot, so after making shareable Proc, any assignments are not affeect like that: ```ruby a = 1 pr = Ractor.make_shareable(Proc.new{p a}) pr.call #=> 1 a = 2 pr.call #=> 1 # `a = 2` doesn't affect ``` [Feature #17284] Notes: Merged: https://github.com/ruby/ruby/pull/3722
2020-10-30* 2020-10-30 [ci skip]git
2020-10-29Make ENV.replace handle multiple environ entries with the same keyJeremy Evans
While it is expected that all environment keys are unique, that is not enforced. It is possible by manipulating environ directly you can call a process with an environment with duplicate keys. If ENV.replace was passed a hash with a key where environ had a duplicate for that key, ENV.replace would end up deleting the key from environ. The fix in this case is to not assume that the environment key list has unique keys, and continue processing the entire key list in keylist_delete. Fixes [Bug #17254] Notes: Merged: https://github.com/ruby/ruby/pull/3716
2020-10-29check isolated Proc more strictlyKoichi Sasada
Isolated Proc prohibit to access outer local variables, but it was violated by binding and so on, so they should be error. Notes: Merged: https://github.com/ruby/ruby/pull/3721
2020-10-29An ellipsis (...) can only be placed at the beginningNobuyoshi Nakada
2020-10-28Use public allocators for creating new T_OBJECT objectsAaron Patterson
This way the header flags and object internals are set correctly Notes: Merged: https://github.com/ruby/ruby/pull/3719
2020-10-28Objects are born embedded, so we don't need to check ivprAaron Patterson
It's not necessary to check ivpt because objects are allocated as "embedded" by default
2020-10-28Fix error in update-deps due to tab/space differenceJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/3715
2020-10-28Add Thread.ignore_deadlock accessorJeremy Evans
Setting this to true disables the deadlock detector. It should only be used in cases where the deadlock could be broken via some external means, such as via a signal. Now that $SAFE is no longer used, replace the safe_level_ VM flag with ignore_deadlock for storing the setting. Fixes [Bug #13768] Notes: Merged: https://github.com/ruby/ruby/pull/3710 Merged-By: jeremyevans <code@jeremyevans.net>
2020-10-28Remove another unnecessary testAaron Patterson
Same as 5be42c1ef4f7ed0a8004cad750a9ce61869bd768
2020-10-28Remove unnecessary conditionalAaron Patterson
As of 0b81a484f3453082d28a48968a063fd907daa5b5, `ROBJECT_IVPTR` will always return a value, so we don't need to test whether or not we got one. T_OBJECTs always come to life as embedded objects, so they will return an ivptr, and when they become "unembedded" they will have an ivptr at that point too
2020-10-28If an object isn't embedded it will have an ivptrAaron Patterson
We don't need to check the existence if an ivptr because non-embedded objects will always have one
2020-10-29* 2020-10-29 [ci skip]git
2020-10-28`dest` is always embedded so we can remove this checkAaron Patterson
Notes: Merged: https://github.com/ruby/ruby/pull/3713
2020-10-28compile.c: separate compile_builtin_function_call (#3711)Kenta Murata
Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-10-28Added benchmark of vm_send by variable [ci skip]Nobuyoshi Nakada
2020-10-28* 2020-10-28 [ci skip]git
2020-10-28test/ruby/test_rational.rb: Prevent "assigned but unused variable"Yusuke Endoh
2020-10-27Revert "Fixed typo"Nobuyoshi Nakada
This reverts commit 379a5ca539af0e954b1cdf63b9365ad208b9c7f3. This "typo" is intentional to test the transposition detection by did_you_mean.
2020-10-27Fixed typoHiroshi SHIBATA
2020-10-27Separate `send` into `public_send` and `__send__`Nobuyoshi Nakada
2020-10-27Removed unused environment variableNobuyoshi Nakada
2020-10-27[DOC] more precise description of "**" in Dir.glob pattern [ci skip]Nobuyoshi Nakada
2020-10-26Revert assert for debugging on CIAlan Wu
This reverts commit ac69849e49982ea83036c04c5d5f7245e3956a49. The bug seems to have been fixed.
2020-10-27freeze dynamic regexp literalsKoichi Sasada
Regexp literals are frozen, and also dynamically comppiled Regexp literals (/#{expr}/) are frozen. Notes: Merged: https://github.com/ruby/ruby/pull/3676
2020-10-27* 2020-10-27 [ci skip]git
2020-10-27freeze Process::StatusKoichi Sasada
It seems immutable information. Notes: Merged: https://github.com/ruby/ruby/pull/3671
2020-10-26Allow non-argument endless-def with a space instead of parenthesesNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3704