summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-10Removed canonicalization for mathnNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3691
2020-11-10Fix linksS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/3738
2020-11-10refactoring.Koichi Sasada
iv_index_tbl_newsize() usually returns iv_index_tbl->num_entries because ivup->iv_extended is usually false.
2020-11-10lib/racc/statetransitiontable.rb: Make the racc output stableYusuke Endoh
Racc calls `Array#sort!` to build a state transition table. As `Array#sort!` is not a stable sort, the output may differ depending upon the environment. This changeset makes the sort stable manually, and updates all expectation files. Notes: Merged: https://github.com/ruby/ruby/pull/3749
2020-11-09Add a benchmark for polymorphic ivar settingAaron Patterson
This benchmark demonstrates the performance of setting an instance variable when the type of object is constantly changing. This benchmark should give us an idea of the performance of ivar setting in a polymorphic environment Notes: Merged: https://github.com/ruby/ruby/pull/3750
2020-11-09Add debug counter for ivar inline cache misses that could hitAaron Patterson
This commit adds a debug counter for the case where the inline cache *missed* but the ivar index table has an entry for that ivar. This is a case where a polymorphic cache could help Notes: Merged: https://github.com/ruby/ruby/pull/3750
2020-11-09Avoid slow path ivar settingAaron Patterson
If the ivar index table exists, we can avoid the slowest path for setting ivars. Notes: Merged: https://github.com/ruby/ruby/pull/3750
2020-11-09Fix excessive GC rootingAlan Wu
rb_vm_add_root_module() is enough to make sure the object become a GC root. Notes: Merged: https://github.com/ruby/ruby/pull/3741
2020-11-09rb_vm_add_root_module(): Remove unused parameterAlan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/3741
2020-11-10* 2020-11-10 [ci skip]git
2020-11-09remove unused debug counterAaron Patterson
Notes: Merged: https://github.com/ruby/ruby/pull/3740
2020-11-09Update vm_insnhelper.cAaron Patterson
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/3740
2020-11-09Remove iv table size checkAaron Patterson
iv tables cannot shrink. If the inline cache was ever set, then there must be an entry for the instance variable in the iv table. Just set the iv list on the object to be equal to the iv index table size, then set the iv. Notes: Merged: https://github.com/ruby/ruby/pull/3740
2020-11-09eagerly initialize ivar table when index is small enoughAaron Patterson
When the inline cache is written, the iv table will contain an entry for the instance variable. If we get an inline cache hit, then we know the iv table must contain a value for the index written to the inline cache. If the index in the inline cache is larger than the list on the object, but *smaller* than the iv index table on the class, then we can just eagerly allocate the iv list to be the same size as the iv index table. This avoids duplicate work of checking frozen as well as looking up the index for the particular instance variable name. Notes: Merged: https://github.com/ruby/ruby/pull/3740
2020-11-09`fe80` should be case insensitive tooKazuhiro NISHIYAMA
2020-11-09Removed needless require for 'enumerator'Hiroshi SHIBATA
2020-11-09* 2020-11-09 [ci skip]git
2020-11-08Fix TestFiberMutex#test_condition_variable assertionBenoit Daloze
* Now that it works correctly.
2020-11-08test/resolv/test_dns.rb: suppress "assigned but unused variable"Yusuke Endoh
2020-11-07Support s390 IPv6 link local addressesJeremy Evans
2020-11-08Urgent notification pipe has same lifetime as scheduler.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3743
2020-11-08Defer `kernel_sleep` to `block` to avoid exiting the event loop when ↵Samuel Williams
duration is nil. Notes: Merged: https://github.com/ruby/ruby/pull/3743
2020-11-08Tidy up book keeping for `thread->keeping_mutexes`.Samuel Williams
When a scheduler is present, it's entirely possible for `th->keeping_mutexes` to be updated while enumerating the waitq. Therefore it must be fetched only during the removal operation. Notes: Merged: https://github.com/ruby/ruby/pull/3743
2020-11-08Don't try to resume blocked fiber on dead thread.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3743
2020-11-08`Fiber.new(blocking: false)` is now the default.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3743
2020-11-07Add support for IPv6 link local addresses to resolvJeremy Evans
Now that it should work correctly, test that every address returned by Socket.ip_address_list is resolvable. Socket works with IPv6 link local addresses, and ipaddr now does as well, so I think resolv should support them. Fixes [Bug #17112] Notes: Merged: https://github.com/ruby/ruby/pull/3452
2020-11-08* 2020-11-08 [ci skip]git
2020-11-07Remove sender/message_id pair after response received in resolvJeremy Evans
Once a response for a given DNS request has been received (which requires a matching message id), the [sender, message_id] pair should be removed from the list of valid senders. This makes it so duplicate responses from the same sender are ignored. Fixes [Bug #12838] Notes: Merged: https://github.com/ruby/ruby/pull/3536
2020-11-07Fix indentationKazuki Tsujimoto
2020-11-07Fix and remove spec testing undefined behaviorKazuki Tsujimoto
2020-11-07Update dependenciesSamuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3742
2020-11-07Rename to `Fiber#set_scheduler`.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3742
2020-11-07* 2020-11-07 [ci skip]git
2020-11-06Add docs for some C extension GC APIsAlan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/3733
2020-11-06Added dependency for net-protocolHiroshi SHIBATA
2020-11-06a part of T_DATA object can Ractor#sendKoichi Sasada
T_DATA objects can refer unshareable objects and they should be copied recursively, however there is no way to replace with copied unshareable objects. However, if a T_DATA object refers only shareable objects, there is no need to replace. So this kind of T_DATA object (such as Time, Dir, File::Status and so on) can be sent by Ractor.send. Notes: Merged: https://github.com/ruby/ruby/pull/3739
2020-11-06Update TypeProf to 0.4.2Yusuke Endoh
2020-11-05gc_rest can change the total pages, so we need to do that firstAaron Patterson
2020-11-05add asserts to find crashAaron Patterson
2020-11-05Refactor verification methodAaron Patterson
Combine everything in to one C function
2020-11-05take VM lock when mutating the heapAaron Patterson
2020-11-06* 2020-11-06 [ci skip]git
2020-11-06Update RBS & TypeProf (#3732)Soutaro Matsumoto
* Bundle rbs 0.16.0 * Bundle typeprof 0.4.1 Notes: Merged-By: soutaro <matsumoto@soutaro.com>
2020-11-05Revert "Prefer #send over #__send__ when it is clear there is no possible ↵NARUSE, Yui
conflict" This reverts commit 4dba0c1a8e3cc08664872e637099c4e7d58d24d3. Matz's comment is "send is not deprecated. __send__ is safer". But "Prefer #send over #__send__" is not reasonable.
2020-11-05Add description __send__ is saferNARUSE, Yui
2020-11-05Promote un.rb to the default gems. It's preparation for 3.0.0-preview2.Hiroshi SHIBATA
2020-11-05Prefer #send over #__send__ when it is clear there is no possible conflictBenoit Daloze
* Reverts part of 3198e7abd70bd2af977f2bb6c967e9df8f91adb0. * If the rule is #send should be deprecated, that should be ruled by matz, there is no such rule currently and gems seem to prefer #send overwhelmingly.
2020-11-04[ruby/ostruct] Update versionMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3736
2020-11-04[ruby/ostruct] Restore `ostruct` docMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3736
2020-11-04Revert "Make `marshal_load` public"Marc-Andre Lafortune
This reverts commit ee7cc6ac35cfb056b3946b1dcd6d4d5a140ccacf. I'm not sure I agree with the spec, but I just tweaked it. Notes: Merged: https://github.com/ruby/ruby/pull/3736