summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-07Random::BaseNobuyoshi Nakada
* random.c (InitVM_Random): introduce abstract super class Random::Base. Notes: Merged: https://github.com/ruby/ruby/pull/3024
2020-09-07.github: try GitHub Container Registry卜部昌平
It is natural for a CI running on GitHub to use GitHub's facility. See also https://github.blog/2020-09-01-introducing-github-container-registry/ Notes: Merged: https://github.com/ruby/ruby/pull/3524
2020-09-07* 2020-09-07 [ci skip]git
2020-09-07[Feature #17157] removed -T command line optionNobuyoshi Nakada
2020-09-06Increase timeout for GitHub Actions.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3523
2020-09-06Add `*.md` to doc/.document [ci skip]Kazuhiro NISHIYAMA
2020-09-06Make it possible to dump and load an exception objectYusuke Endoh
A backtrace object in an exception had never supported marshalling correctly: `Marshal.load(Marshal.dump(exc)).backtrace_locations` dumped core. An Exception object has two hidden instance varibles for backtrace data: one is "bt", which has an Array of Strings, and the other is "bt_locations", which has an Array of Thread::Backtrace::Locations. However, Exception's dump outputs data so that the two variables are the same Array of Strings. Thus, "bt_locations" had a wrong-type object. For the compatibility, it is difficult to change the dump format. This changeset fixes the issue by ignoring data for "bt_locations" at the loading phase if "bt_locations" refers to the same object as "bt". Future work: Exception's dump should output "bt_locations" appropriately. https://bugs.ruby-lang.org/issues/17150 Notes: Merged: https://github.com/ruby/ruby/pull/3521
2020-09-06Add `RB_` prefix for size_t to number conversion.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3519
2020-09-05Fixed some typos in ractor.md (#3522)Ashwin Elangovan
Notes: Merged-By: marcandre <github@marc-andre.ca>
2020-09-06* 2020-09-06 [ci skip]git
2020-09-06Fix typos [ci skip]Kazuhiro NISHIYAMA
2020-09-05common.mk: UNALIGNED_MEMBER_ACCESS needs internal/warnings.h on some platformsNobuyoshi Nakada
2020-09-05update-deps: ruby-runner is not a targetNobuyoshi Nakada
2020-09-05Removed useless castsNobuyoshi Nakada
2020-09-05Fix typo in ractor.mdandrewmelis
Notes: Merged: https://github.com/ruby/ruby/pull/3520
2020-09-04Fix typos in Ractor README.Tom Schady
Notes: Merged: https://github.com/ruby/ruby/pull/3516
2020-09-05* 2020-09-05 [ci skip]git
2020-09-05break around function definition [ci skip]Nobuyoshi Nakada
2020-09-04Sort links in NEWS.md by URI [ci skip]Nobuyoshi Nakada
2020-09-04Added Symbol#nameNobuyoshi Nakada
https://bugs.ruby-lang.org/issues/16150#change-87446 Notes: Merged: https://github.com/ruby/ruby/pull/3514 Merged-By: nobu <nobu@ruby-lang.org>
2020-09-04Updated dependencyNobuyoshi Nakada
2020-09-04Fixed heap-use-after-free on racterNobuyoshi Nakada
2020-09-04lib/ostruct.rb: Revert "To use RuntimeError instead of FrozenError for old ↵Marc-Andre Lafortune
ruby versions." This reverts commit 4cd1fc8b3559353069860eee90b1b5bade013917.
2020-09-04check multi_ractor mode at main_pKoichi Sasada
rb_ractor_main_p() need to access to the ractor pointer in TLS. However it is slow operation so that we need to skip this check if it is not multi-ractor mode (!ruby_multi_ractor). This performance regression is pointed at https://bugs.ruby-lang.org/issues/17100#note-27 Notes: Merged: https://github.com/ruby/ruby/pull/3513
2020-09-04Initialize loop variables of list_for_each for MS VCNobuyoshi Nakada
2020-09-03Avoid potential for rb_raise() while crashingAlan Wu
rb_obj_raw_info is called while printing out crash messages and sometimes called during garbage collection. Calling rb_raise() in these situations is undesirable because it can start executing ensure blocks. Notes: Merged: https://github.com/ruby/ruby/pull/3512
2020-09-04* 2020-09-04 [ci skip]git
2020-09-04don't use toplevel returnKoichi Sasada
Toplevel return is supported after Ruby 2.4, so don't use it for older BASERUBY.
2020-09-03skip Ractor tests on Compiler testsKoichi Sasada
This implementation has memory corruption errors so and it causes BUG on rare occasions. This commit skips suspect tests on Github actions Compiler tests. Notes: Merged: https://github.com/ruby/ruby/pull/3365
2020-09-03Introduce Ractor mechanism for parallel executionKoichi Sasada
This commit introduces Ractor mechanism to run Ruby program in parallel. See doc/ractor.md for more details about Ractor. See ticket [Feature #17100] to see the implementation details and discussions. [Feature #17100] This commit does not complete the implementation. You can find many bugs on using Ractor. Also the specification will be changed so that this feature is experimental. You will see a warning when you make the first Ractor with `Ractor.new`. I hope this feature can help programmers from thread-safety issues. Notes: Merged: https://github.com/ruby/ruby/pull/3365
2020-09-03Hoisted out warn_deprecatedNobuyoshi Nakada
2020-09-03Fix a typo [ci skip]Kazuhiro NISHIYAMA
2020-09-03Don't call to_s in const_setAlan Wu
Follow up for 5e16857315bf55307c5fc887ca6f03bfa0630a93. Calling a method in the middle of const_set adds a way that it would fail. It also makes it inconsistent with declaring a constant using `::`, which doesn't call `to_s`. Notes: Merged: https://github.com/ruby/ruby/pull/3509
2020-09-03configure: detect that there is no g++卜部昌平
AC_PROG_CXX checks for several C++ compilers INCLUDING g++. When none of them were found it sets the CXX variable to be g++. This doesn't make any sense. Absense of g++ has already been made sure. Because we don't want insanity (that's the whole reason we test the environment using autoconf), we need to swipe such insane variable out.
2020-09-02add lldb functions for getting the heap page / heap page bodyAaron Patterson
2020-09-02support T_MATCH in lldbAaron Patterson
2020-09-02Initialize new T_OBJECT as ROBJECT_EMBEDJohn Hawthorn
Previously, when an object is first initialized, ROBJECT_EMBED isn't set. This means that for brand new objects, ROBJECT_NUMIV(obj) is 0 and ROBJECT_IV_INDEX_TBL(obj) is NULL. Previously, this combination meant that the inline cache would never be initialized when setting an ivar on an object for the first time since iv_index_tbl was NULL, and if it were it would never be used because ROBJECT_NUMIV was 0. Both cases always fell through to the generic rb_ivar_set which would then set the ROBJECT_EMBED flag and initialize the ivar array. This commit changes rb_class_allocate_instance to set the ROBJECT_EMBED flag on the object initially and to initialize all members of the embedded array to Qundef. This allows the inline cache to be set correctly on first use and to be used on future uses. This moves rb_class_allocate_instance to gc.c, so that it has access to newobj_of. This seems appropriate given that there are other allocating methods in this file (ex. rb_data_object_wrap, rb_imemo_new). Notes: Merged: https://github.com/ruby/ruby/pull/3486
2020-09-02Add category to `rb_warn_deprecated`eileencodes
PR https://github.com/ruby/ruby/pull/3418 added a category to `rb_warn_deprecated_to_remove` but not to `rb_warn_deprecated`. This adds the same code to `rb_warn_deprecated` so that those warnings also get a category. This change also adds tests for `rb_warn_deprecated` and updates the tests for `rb_warn_deprecated_to_remove` to have clearer names. I've fixed the call to `rb_method_entry` as we need to be using the instance method, not singleton. Feature: https://bugs.ruby-lang.org/issues/17122 Notes: Merged: https://github.com/ruby/ruby/pull/3505
2020-09-02Comply with guide for method doc: array.c (#3506)Burdette Lamar
Methods: any? all? one? none? sum shuffle! shuffle sample Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2020-09-02Document that StringScanner#matched_size returns size in bytes [ci skip]Jeremy Evans
Fixes [Bug #17139]
2020-09-03* 2020-09-03 [ci skip]git
2020-09-02Document limitation of Pathname#relative_path_from [ci skip]Jeremy Evans
This method is explicitly documented to not access the filesystem, and the only way to get the correct behavior for a case where the filesystem's case sensitivity differs from the operating system default would be to access the filesystem. Fixes [Bug #15417]
2020-09-02new_dstr: hoisted out from literal_concat and evstr2dstrNobuyoshi Nakada
2020-09-02Removed trailing spaces [ci skip]Nobuyoshi Nakada
2020-09-02Fix constant names set using const_set on a singleton classMarc-Andre Lafortune
Fixes [Bug #14895] Notes: Merged: https://github.com/ruby/ruby/pull/3502
2020-09-01Fix error message for wb unprotected objects countPeter Zhu
This error is about wb unprotected objects, not old objects. Notes: Merged: https://github.com/ruby/ruby/pull/3463
2020-09-01Remove the pc argument of vm_trace()Alan Wu
This makes the binary 272 bytes smaller on -O3 GCC 10.2.0. Notes: Merged: https://github.com/ruby/ruby/pull/3494
2020-09-01Reapply "Special case Range#max for integer beginning and Float::Infinity ↵Marc-Andre Lafortune
end" (tests) Reverted in e080a4cdee Notes: Merged: https://github.com/ruby/ruby/pull/3501
2020-09-01Support passing a category to `Warning.warn`eileencodes
This change adds a `category` kwarg to make it easier to monkey patch `Warning.warn`. Warnings already have a category, but that warning isn't exposed. This implements a way to get the category so that warnings with a specific category, like deprecated, can be treated differently than other warnings in an application. The change here does an arity check on the method to support backwards compatibility for applications that may already have a warning monkey patch. For our usecase we want to `raise` for deprecation warnings in order to get the behavior for the next Ruby version. For example, now that we fixed all our warnings and deployed Ruby 2.7 to production, we want to be able to have deprecation warnings behave like they would in 3.0: raise an error. For other warnings, like uninialized constants, that behavior won't be removed from Ruby in the next version, so we don't need to raise errors. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/3418
2020-09-01Update documentation for Range#maxJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/3500