summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-12* 2021-06-12 [ci skip]git
2021-06-12cont.c: Replace "iff" with "if and only if"nagachika
2021-06-11* 2021-06-11 [ci skip]git
2021-06-10Crash more nicely when the VM isn't fully set upAaron Patterson
If we crash but the VM isn't fully alive, we can get an infinite loop.
2021-06-10Finish GC before calling gc_set_initial_pagesPeter Zhu
If we are during incremental sweeping when calling gc_set_initial_pages there is an assertion error. The following patch will artificially produce the bug: ``` diff --git a/gc.c b/gc.c index c3157dbe2c..d7282cf8f0 100644 --- a/gc.c +++ b/gc.c @@ -404,7 +404,7 @@ int ruby_rgengc_debug; * 5: show all references */ #ifndef RGENGC_CHECK_MODE -#define RGENGC_CHECK_MODE 0 +#define RGENGC_CHECK_MODE 1 #endif // Note: using RUBY_ASSERT_WHEN() extend a macro in expr (info by nobu). @@ -10821,6 +10821,10 @@ gc_set_initial_pages(void) void ruby_gc_set_params(void) { + for (int i = 0; i < 10000; i++) { + rb_ary_new(); + } + /* RUBY_GC_HEAP_FREE_SLOTS */ if (get_envparam_size("RUBY_GC_HEAP_FREE_SLOTS", &gc_params.heap_free_slots, 0)) { /* ok */ ``` The crash looks like: ``` Assertion Failed: ../gc.c:2038:heap_add_page:!(heap == heap_eden && heap->sweeping_page) ``` Notes: Merged: https://github.com/ruby/ruby/pull/4562
2021-06-10Add missing dependenciesTakashi Kokubun
https://github.com/ruby/ruby/runs/2791163586?check_suite_focus=true
2021-06-10Cast jit_func for WindowsTakashi Kokubun
https://ci.appveyor.com/project/ruby/ruby/builds/39542385/job/8b7aq951f9t01x4x
2021-06-10Avoid enqueueing the same ISeq twiceTakashi Kokubun
by a race condition by multiple Ractors. Atmically incrementing body->total_calls may have its own cost, so for now we intentionally leave the unreliable total_calls. So we allow an ISeq to be never pushed when you use multiple Ractors. However, if you enqueue a single ccan node twice, get_from_list loops infinitely. Thus this patch takes care of such a situation.
2021-06-10Freeze command line scriptNobuyoshi Nakada
2021-06-09Refactor gc_marks_start_heap to only configure heapPeter Zhu
Move the non-heap related configurations to gc_marks_start. Notes: Merged: https://github.com/ruby/ruby/pull/4560
2021-06-10* 2021-06-10 [ci skip]git
2021-06-09Enable Travis on the specific branches or forked repositories.Jun Aruga
Align the Travis enabling timing with GitHub Actions. For the syntax, see <https://docs.travis-ci.com/user/conditions-v1>. We use `repo` syntax rather than `fork = true/false` syntax to show a general usage in any repositories on GitHub. The non-forked repo is not always a primary repo in any GitHub repositories. [Bug #17936] Notes: Merged: https://github.com/ruby/ruby/pull/4556
2021-06-09Pack iseq_inline_constant_cache_entryNobuyoshi Nakada
Reordered iseq_inline_constant_cache_entry members not to exceed the size of RValue.
2021-06-09[Win32] fixed PACKED_STRUCT_UNALIGNED on x86Nobuyoshi Nakada
Use MACHINE for x86 CPU family, ARCH is CPU model name (i386) and cannot be x86.
2021-06-09POSIX timer cannot be shared in forked process [Bug #17941]Nobuyoshi Nakada
2021-06-08Add multi-heap support to gc_marks_wb_unprotected_objectsPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/4559
2021-06-09* 2021-06-09 [ci skip]git
2021-06-08Make ENV.clone warn and ENV.dup raiseJeremy Evans
ENV.dup returned a plain Object, since all of ENV's behavior is defined in ENV's singleton class. So using dup makes no sense. ENV.clone works and is used in some gems, but it doesn't do what the user expects, since modifying ENV.clone also modifies ENV. Add a deprecation warning pointing the user to use ENV.to_h instead. This also undefines some private initialize* methods in ENV, since they are not needed. Fixes [Bug #17767] Notes: Merged: https://github.com/ruby/ruby/pull/4557 Merged-By: jeremyevans <code@jeremyevans.net>
2021-06-08[ruby/psych] Fix the test that does not work with libyaml-0.1.7Yusuke Endoh
https://github.com/ruby/psych/commit/542cf9754f
2021-06-08* 2021-06-08 [ci skip]git
2021-06-07Don't create objects during GCAaron Patterson
If we crash during GC, allocating new objects in the segv handler can cause an infinite loop. This commit is to avoid creating new objects in the crash handler
2021-06-07[DOC] fix metacharacter markups [ci skip]Nobuyoshi Nakada
2021-06-07timev.rb: moved class rdoc from time.cNobuyoshi Nakada
2021-06-07dir.rb: moved class rdoc from dir.cNobuyoshi Nakada
2021-06-07Do not use YAML module in tests of PsychHiroshi SHIBATA
2021-06-07Use assert_raise instead of assert_raisesHiroshi SHIBATA
2021-06-07[ruby/psych] Bump version to 4.0.1Hiroshi SHIBATA
https://github.com/ruby/psych/commit/4049939006
2021-06-07[ruby/psych] Implement YAML.safe_dump to make safe_load more usable.Jean Boussier
In case where Psych is used as a two way serializers, e.g. to serialize some cache or config, it is preferable to have the same restrictions on both load and dump. Otherwise you might dump and persist some objects payloads that you later won't be able to read. https://github.com/ruby/psych/commit/441958396f
2021-06-07[ruby/psych] Make YAML.load_file use YAML.load instead of safe_loadYusuke Endoh
YAML.load and YAML.safe_load are different a little; the former allows Symbol by default but the latter doesn't. So YAML.load_file and YAML.safe_load_file should reflect the difference. Fixes #490 https://github.com/ruby/psych/commit/f8a5e512a1
2021-06-07Get rid of updating Unicode filesNobuyoshi Nakada
Some certificates on Unicode.org have expired.
2021-06-07Skip make update-unicode for BASERUBY CIYusuke Endoh
Unfortunately it often fails depending on the status of www.unicode.org. https://github.com/mame/ruby/runs/2761346164?check_suite_focus=true ``` ./tool/downloader.rb:248:in `rescue in download': failed to download 12.1.0/ucd/UnicodeData.txt (RuntimeError) OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed: https://www.unicode.org/Public/12.1.0/ucd/UnicodeData.txt ```
2021-06-07* 2021-06-07 [ci skip]git
2021-06-07Fix TypoUtkarsh Mathur
Notes: Merged: https://github.com/ruby/ruby/pull/4553
2021-06-06ast.rb: reduce nestingNobuyoshi Nakada
2021-06-06* 2021-06-06 [ci skip]git
2021-06-06prelude.c.tmpl: strip comment-only or empty lines at the beginningNobuyoshi Nakada
2021-06-04Improve perfomance for Integer#size method [Feature #17135] (#3476)S.H
* Improve perfomance for Integer#size method [Feature #17135] * re-run ci * Let MJIT frame skip work for Integer#size Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2021-06-05* 2021-06-05 [ci skip]git
2021-06-05Update bundled_gemsKazuhiro NISHIYAMA
2021-06-04lldb_cruby.py: push non-flonum float to history [ci skip]Nobuyoshi Nakada
2021-06-04lldb_cruby.py: fix non-flonum float inspection [ci skip]Nobuyoshi Nakada
2021-06-04* 2021-06-04 [ci skip]git
2021-06-03Support an arbitrary number of header bits (< BITS_BITLENGTH)Aaron Patterson
NUM_IN_PAGE(page->start) will sometimes return a 0 or a 1 depending on how the alignment of the 40 byte slots work out. This commit uses the NUM_IN_PAGE function to shift the bitmap down on the first bitmap plane. Iterating on the first bitmap plane is "special", but this commit allows us to align object addresses on something besides 40 bytes, and also eliminates the need to fill guard bits.
2021-06-03Suppress clobbered warnings on Travis-CI ppc64le-linuxNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4550 Merged-By: nobu <nobu@ruby-lang.org>
2021-06-03Expose `rb_fiber_transfer` and `rb_fiber_transfer_kw`.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/4549
2021-06-02Do not doubly hold an MJIT lockTakashi Kokubun
This is a follow-up of 86c262541ad07528842d76dab4b9b34bd888d5f4. CRITICAL_SECTION_START/FINISH are not needed when it's called from an MJIT worker. Also, ZALLOC needs to be calloc because ZALLOC may trigger GC, which an MJIT worker must not do.
2021-06-03Warn more duplicate literal hash keysNobuyoshi Nakada
Following non-special_const literals: * T_REGEXP Notes: Merged: https://github.com/ruby/ruby/pull/4548
2021-06-03Warn more duplicate literal hash keysNobuyoshi Nakada
Following non-special_const literals: * T_BIGNUM * T_FLOAT (non-flonum) * T_RATIONAL * T_COMPLEX Notes: Merged: https://github.com/ruby/ruby/pull/4548
2021-06-03Assertions for duplicate literal hash key warningsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4548
2021-06-02Note about 07c05b6fe931337e928a89ac5ebf654862dc0ecaTakashi Kokubun