summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-05[rubygems/rubygems] Unify win_platform? to Gem.win_platform?Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/b18a4ef076
2023-04-05[rubygems/rubygems] Unify java_platform? to Gem.java_platform?Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/7f27ab32b8
2023-04-05[rubygems/rubygems] Removed self.mingw_windows?, It's not used rubygemsHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/ba3c985701
2023-04-05[rubygems/rubygems] add some test suites under the Gem namespace, so as not ↵lukeg
to collide To avoid collisions especially in ruby/ruby https://github.com/rubygems/rubygems/commit/e6b2359975
2023-04-04RJIT: Propagate argument types on method callsTakashi Kokubun
2023-04-04RJIT: Fix mapping offsets in stack_swapTakashi Kokubun
2023-04-05Bump ruby/setup-ruby from 1.144.2 to 1.146.0dependabot[bot]
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.144.2 to 1.146.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/ec02537da5712d66d4d50a0f33b7eb52773b5ed1...55283cc23133118229fd3f97f9336ee23a179fcf) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Notes: Merged: https://github.com/ruby/ruby/pull/7660
2023-04-05Use `em_delete` in `key_delete` (#504)Étienne Barrié
* Test existing behavior Typing Ctrl-D ends editing but typing <Del> does not. Also renamed a test that is not testing ed_delete_next_char but key_delete. * Check if line empty first in em_delete By distributivity of AND over OR, we can factor out this condition. This will make the next commit simpler. * Use em_delete in key_delete When the editing mode is emacs, use `em_delete` in `key_delete`. We need to add a condition though to `em_delete`, because it implements both `delete-char` and `end-of-file`. We only want the `end-of-file` behavior is the key is really Ctrl-D. This matches the behavior of the <Del> key with readline, i.e. deleting the next character if there is one, but not moving the cursor, while not finishing the editing if there are no characters.
2023-04-04[ruby/optparse] Document requires needed for ↵Jeremy Evans
Date/DateTime/Time/URI/Shellwords support Fixes [Bug #19566] https://github.com/ruby/optparse/commit/fb91d97c10
2023-04-04[Feature #19579] Remove !USE_RVARGC code (#7655)Peter Zhu
Remove !USE_RVARGC code [Feature #19579] The Variable Width Allocation feature was turned on by default in Ruby 3.2. Since then, we haven't received bug reports or backports to the non-Variable Width Allocation code paths, so we assume that nobody is using it. We also don't plan on maintaining the non-Variable Width Allocation code, so we are going to remove it. Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2023-04-04Use a longer timeout for syntax_suggestTakashi Kokubun
for CI stability
2023-04-04YJIT: add stats for ratio of versions per block (#7653)Maxime Chevalier-Boisvert
Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2023-04-04Revert "Fix transient heap mode"Aaron Patterson
This reverts commit 87253d047ce35e7836b6f97edbb4f819879a3b25. Revert "Implement `Process.warmup`" This reverts commit ba6ccd871442f55080bffd53e33678c0726787d2.
2023-04-04Remove an unused counterTakashi Kokubun
I ended up not using it.
2023-04-04Resurrect yjit-smoke-test before #7651Takashi Kokubun
2023-04-04YJIT: Stack temp register allocation (#7651)Takashi Kokubun
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-04-04Fix transient heap modeAaron Patterson
Make sure the transient heap is in the right mode when we finish warming the heap. Also ensure the GC isn't allowed to run while we iterate and mutate the heap. Notes: Merged: https://github.com/ruby/ruby/pull/7346
2023-04-04Implement `Process.warmup`Jean Boussier
[Feature #18885] For now, the optimizations performed are: - Run a major GC - Compact the heap - Promote all surviving objects to oldgen Other optimizations may follow. Notes: Merged: https://github.com/ruby/ruby/pull/7346
2023-04-04Fix crash in Time on 32-bit systemsPeter Zhu
[Bug #19575] struct vtm is packed causing it to have a size that is not aligned on 32-bit systems. When allocating it on the stack, it will have unaligned addresses which means that the fields won't be marked by the GC when scanning the stack (since the GC only marks aligned addresses). This can cause crashes when the fields are heap allocated objects like Bignums. This commit moves the flags in struct time_object into struct vtm for space efficiency and removes the need for packing. This is an example of a crash: ruby(rb_print_backtrace+0xd) [0x56848945] ../src/vm_dump.c:785 ruby(rb_vm_bugreport) ../src/vm_dump.c:1101 ruby(rb_assert_failure+0x7a) [0x56671857] ../src/error.c:878 ruby(vm_search_cc+0x0) [0x56666e47] ../src/vm_method.c:1366 ruby(rb_vm_search_method_slowpath) ../src/vm_insnhelper.c:2090 ruby(callable_method_entry+0x5) [0x568232d3] ../src/vm_method.c:1406 ruby(rb_callable_method_entry) ../src/vm_method.c:1413 ruby(gccct_method_search_slowpath) ../src/vm_eval.c:427 ruby(gccct_method_search+0x20f) [0x568237ef] ../src/vm_eval.c:476 ruby(opt_equality_by_mid_slowpath+0x2c) [0x5682388c] ../src/vm_insnhelper.c:2338 ruby(rb_equal+0x37) [0x566fe577] ../src/object.c:133 ruby(rb_big_eq+0x34) [0x56876ee4] ../src/bignum.c:5554 ruby(rb_int_equal+0x14) [0x566f3ed4] ../src/numeric.c:4640 ruby(rb_int_equal) ../src/numeric.c:4634 ruby(vm_call0_cfunc_with_frame+0x6d) [0x568303c2] ../src/vm_eval.c:148 ruby(vm_call0_cfunc) ../src/vm_eval.c:162 ruby(vm_call0_body) ../src/vm_eval.c:208 ruby(rb_funcallv_scope+0xd1) [0x56833971] ../src/vm_eval.c:85 ruby(RB_TEST+0x0) [0x567e8488] ../src/time.c:78 ruby(eq) ../src/time.c:78 ruby(small_vtm_sub) ../src/time.c:1523 ruby(timelocalw+0x23b) [0x567f3e9b] ../src/time.c:1593 ruby(time_s_alloc+0x0) [0x567f536b] ../src/time.c:3698 ruby(time_new_timew) ../src/time.c:2694 ruby(time_s_mktime) ../src/time.c:3698 Notes: Merged: https://github.com/ruby/ruby/pull/7650
2023-04-04[rubygems/rubygems] util/rubocop -AHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/8c9ea5d180
2023-04-04[rubygems/rubygems] util/rubocop -A --only Performance/RegexpMatchHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/52ae4452c2
2023-04-04[rubygems/rubygems] Don't copy and paste methods in helper methodsHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/b87ac64343
2023-04-04RJIT: Fix the argument of shift_stackTakashi Kokubun
2023-04-04RJIT: Fix the argument for definedTakashi Kokubun
2023-04-04RJIT: Add --rjit-verify-ctx optionTakashi Kokubun
2023-04-04RJIT: Fix arguments to SPECIAL_CONST_PTakashi Kokubun
2023-04-04`rb_th_serial(th)` allows `th == NULL`Koichi Sasada
2023-04-04[rubygems/rubygems] Disabled to test rustc with msys2 platform.Hiroshi SHIBATA
https://github.com/rubygems/rubygems/actions/runs/4598776839/jobs/8123290246 https://github.com/rubygems/rubygems/commit/5c3b0a112e
2023-04-03RJIT: Update type information on setlocalTakashi Kokubun
2023-04-03RJIT: Fix arguments for shift_stackTakashi Kokubun
2023-04-04PID cache is never cleared where `fork` is not usedNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7649
2023-04-04Suppress `-Wdiscarded-qualifiers` warning where `fchdir` is unusableNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7649
2023-04-04fix deadlock on `Thread#join`Koichi Sasada
because of 9720f5ac894566ade2aabcf9adea0a3235de1353 http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20230403T130011Z.fail.html.gz ``` 1) Failure: TestThread#test_signal_at_join [/export/home/chkbuild/chkbuild-sunc/tmp/build/20230403T130011Z/ruby/test/ruby/test_thread.rb:1488]: Exception raised: <#<fatal:"No live threads left. Deadlock?\n1 threads, 1 sleeps current:0x00891288 main thread:0x00891288\n* #<Thread:0xfef89a18 sleep_forever>\n rb_thread_t:0x00891288 native:0x00000001 int:0\n \n">> Backtrace: -:30:in `join' -:30:in `block (3 levels) in <main>' -:21:in `times' -:21:in `block (2 levels) in <main>'. ``` The mechanism: * Main thread (M) calls `Thread#join` * M: calls `sleep_forever()` * M: set `th->status = THREAD_STOPPED_FOREVER` * M: do `checkints` * M: handle a trap handler with `th->status = THREAD_RUNNABLE` * M: thread switch at the end of the trap handler * Another thread (T) will process `Thread#kill` by M. * T: `rb_threadptr_join_list_wakeup()` at the end of T tris to wakeup M, but M's state is runnable because M is handling trap handler and just ignore the waking up and terminate T$a * T: switch to M. * M: after the trap handler, reset `th->status = THREAD_STOPPED_FOREVER` and check deadlock -> Deadlock because only M is living. To avoid such situation, add new sleep flags `SLEEP_ALLOW_SPURIOUS` and `SLEEP_NO_CHECKINTS` to skip any check ints. BTW this is instentional to leave second `vm_check_ints_blocking()` without checking `SLEEP_NO_CHECKINTS` because `SLEEP_ALLOW_SPURIOUS` should be specified with `SLEEP_NO_CHECKINTS` and skipping this checkints can skip any interrupts. Notes: Merged: https://github.com/ruby/ruby/pull/7647
2023-04-03YJIT: Add codegen for Array#<< (#7645)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-04-03Avoid failing test_enable on warningsTakashi Kokubun
This fails on RubyCI due to RJIT warnings too often. It should be enough to test RJIT feature in test_rjit_version. We only want warnings instead of test failures when there are warnings, at least for this case.
2023-04-03Fix a test_rubyoptions failureTakashi Kokubun
2023-04-03RJIT: Propagate self's type informationTakashi Kokubun
2023-04-03RJIT: Upgrade type on jit_guard_known_classTakashi Kokubun
2023-04-03RJIT: Upgrade type to Fixnum after guardTakashi Kokubun
2023-04-02RJIT: Upgrade type to String after guardTakashi Kokubun
2023-04-02RJIT: Upgrade type to Array after guardTakashi Kokubun
2023-04-02RJIT: Limit the number of versions per blockTakashi Kokubun
2023-04-02RJIT: Find a best matching block versionTakashi Kokubun
2023-04-02RJIT: Upgrade type to UnknownHeap after guardTakashi Kokubun
2023-04-02RJIT: Update type information on setn insnTakashi Kokubun
2023-04-02RJIT: Swap type information on swap insnTakashi Kokubun
2023-04-03* remove trailing spaces. [ci skip]git
2023-04-02RJIT: Store type information in ContextTakashi Kokubun
2023-04-03Update default gems list at 6fb6d85aeed3ed12cf92ae2af00908 [ci skip]git
2023-04-03[ruby/fileutils] Bump up v1.7.1Hiroshi SHIBATA
https://github.com/ruby/fileutils/commit/7138d85156