Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Bump ruby/setup-ruby from 1.144.1 to 1.144.2 | dependabot[bot] | 2023-03-21 | 4 | -4/+4 |
| | | | | | | | | | | | | | | Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.144.1 to 1.144.2. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/e6689b4deb1cb2062ea45315001f687c0b52111b...ec02537da5712d66d4d50a0f33b7eb52773b5ed1) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> | ||||
* | Use an st table for "too complex" objects | Aaron Patterson | 2023-03-20 | 9 | -46/+74 |
| | | | | | | | | | | st tables will maintain insertion order so we can marshal dump / load objects with instance variables in the same order they were set on that particular instance [ruby-core:112926] [Bug #19535] Co-Authored-By: Jemma Issroff <jemmaissroff@gmail.com> | ||||
* | YJIT: Make dev_nodebug closer to dev (#7570) | Takashi Kokubun | 2023-03-20 | 2 | -3/+5 |
| | |||||
* | Update yjit.md | Maxime Chevalier-Boisvert | 2023-03-20 | 1 | -1/+2 |
| | | | Document `make yjit-smoke-test` | ||||
* | YJIT: tag output type as UnknownHeap in `toregexp` (#7562) | Maxime Chevalier-Boisvert | 2023-03-20 | 1 | -1/+1 |
| | |||||
* | Mark cached pid if necessary | Nobuyoshi Nakada | 2023-03-20 | 1 | -2/+7 |
| | |||||
* | Fix the macro for condition | Nobuyoshi Nakada | 2023-03-20 | 1 | -1/+1 |
| | |||||
* | Cache `Process.pid` | Jean Boussier | 2023-03-20 | 2 | -3/+41 |
| | | | | | | | | | | | | | | | | | | | | [Feature #19443] It's not uncommon for database client and similar network libraries to protect themselves from Process.fork by regularly checking Process.pid Until recently most libc would cache `getpid()` so this was a cheap check to make. However as of glibc version 2.25 the PID cache is removed and calls to `getpid()` always invoke the actual system call which significantly degrades the performance of existing applications. The reason glibc removed the cache is that some libraries were bypassing `fork(2)` by issuing system calls themselves, causing stale cache issues. That isn't a concern for Ruby as bypassing MRI's primitive for forking would render the VM unusable, so we can safely cache the PID. | ||||
* | RJIT: Break up RJIT send_iseq_complex exit reasons | Takashi Kokubun | 2023-03-19 | 4 | -7/+122 |
| | |||||
* | RJIT: Implement ifunc invokeblock | Takashi Kokubun | 2023-03-19 | 5 | -4/+51 |
| | |||||
* | RJIT: Support invokeblock arity mismatches | Takashi Kokubun | 2023-03-19 | 1 | -11/+28 |
| | |||||
* | RJIT: Fix ISeq invokeblock | Takashi Kokubun | 2023-03-19 | 3 | -24/+41 |
| | |||||
* | RJIT: Disable ISeq invokeblock for now | Takashi Kokubun | 2023-03-19 | 1 | -0/+6 |
| | | | | since basictest is broken | ||||
* | Remove a warning in bootstraptest/runner.rb | Takashi Kokubun | 2023-03-19 | 1 | -1/+1 |
| | | | | ../bootstraptest/runner.rb:121: warning: assigned but unused variable - e | ||||
* | RJIT: Implement invokeblock with ISeq | Takashi Kokubun | 2023-03-19 | 3 | -10/+68 |
| | |||||
* | Disable `-w` on bundler and bundled gems tests | Nobuyoshi Nakada | 2023-03-20 | 1 | -2/+4 |
| | |||||
* | RJIT: Remove an unneeded variable | Takashi Kokubun | 2023-03-19 | 1 | -1/+1 |
| | |||||
* | Enable `-w` option at test | Nobuyoshi Nakada | 2023-03-20 | 1 | -1/+1 |
| | |||||
* | Add explanation to rbs_skip_tests (#7525) | Soutaro Matsumoto | 2023-03-20 | 2 | -2/+20 |
| | |||||
* | RJIT: Optimize Kernel#block_given? | Takashi Kokubun | 2023-03-19 | 3 | -1/+46 |
| | |||||
* | RJIT: Optimize Kernel#respond_to? | Takashi Kokubun | 2023-03-19 | 5 | -1/+128 |
| | |||||
* | RJIT: Optimize Array#empty? | Takashi Kokubun | 2023-03-19 | 1 | -1/+20 |
| | |||||
* | RJIT: Optimize String#+@ | Takashi Kokubun | 2023-03-19 | 3 | -1/+43 |
| | |||||
* | RJIT: Optimize String#<< | Takashi Kokubun | 2023-03-19 | 6 | -1/+121 |
| | |||||
* | Fix -Wclobbered warning from gcc 12 | Nobuyoshi Nakada | 2023-03-19 | 1 | -2/+2 |
| | | | | | | | | | | | A variable modified in `EXEC_TAG` block should be `volatile`. ``` ractor.c: In function 'ractor_try_yield': ractor.c:1251:97: warning: argument 'obj' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered] 1251 | ractor_try_yield(rb_execution_context_t *ec, rb_ractor_t *cr, struct rb_ractor_queue *ts, VALUE obj, VALUE move, bool exc, bool is_will) | ~~~~~~^~~ ``` | ||||
* | [Bug #19485] [DOC] Mention tabs in indentation of heredoc identifier | Nobuyoshi Nakada | 2023-03-19 | 1 | -0/+6 |
| | | | | Co-Authored-By: sawa (Tsuyoshi Sawada) <sawadatsuyoshi@gmail.com> | ||||
* | RJIT: Drop duplicated obj_is_kind_of | Takashi Kokubun | 2023-03-19 | 1 | -4/+0 |
| | |||||
* | RJIT: Workaround USE_RVARGC=0 CI | Takashi Kokubun | 2023-03-18 | 3 | -6/+3 |
| | |||||
* | RJIT: Optimize String#bytesize | Takashi Kokubun | 2023-03-18 | 6 | -9/+24 |
| | |||||
* | RJIT: Optimize String#empty? | Takashi Kokubun | 2023-03-18 | 3 | -1/+50 |
| | |||||
* | RJIT: Optimize Kernel#instance_of? | Takashi Kokubun | 2023-03-18 | 3 | -1/+60 |
| | |||||
* | RJIT: Optimize Kernel#is_a? | Takashi Kokubun | 2023-03-18 | 4 | -4/+59 |
| | |||||
* | RJIT: Reorder opt_case_dispatch branches | Takashi Kokubun | 2023-03-18 | 3 | -6/+66 |
| | |||||
* | RJIT: Upgrade Ubuntu on CI | Takashi Kokubun | 2023-03-18 | 1 | -1/+1 |
| | | | | to upgrade libcapstone on CI | ||||
* | RJIT: Implement setclassvariable | Takashi Kokubun | 2023-03-18 | 4 | -3/+27 |
| | |||||
* | RJIT: Implement intern | Takashi Kokubun | 2023-03-18 | 3 | -3/+24 |
| | |||||
* | RJIT: Fix toregexp | Takashi Kokubun | 2023-03-18 | 1 | -2/+2 |
| | |||||
* | RJIT: Implement toregexp | Takashi Kokubun | 2023-03-18 | 4 | -2/+60 |
| | |||||
* | RJIT: Prefix rjit_options with rb_ | Takashi Kokubun | 2023-03-18 | 6 | -23/+23 |
| | |||||
* | RJIT: Install libcapstone-dev on CI | Takashi Kokubun | 2023-03-18 | 2 | -1/+1 |
| | | | | for test_assembler.rb to work | ||||
* | RJIT: Implement newrange | Takashi Kokubun | 2023-03-18 | 3 | -3/+28 |
| | |||||
* | RJIT: Implement getglobal | Takashi Kokubun | 2023-03-18 | 3 | -3/+26 |
| | |||||
* | RJIT: Implement checkkeyword | Takashi Kokubun | 2023-03-18 | 3 | -10/+67 |
| | |||||
* | [Bug #19539] Match heredoc identifier from end of line | Nobuyoshi Nakada | 2023-03-19 | 2 | -10/+20 |
| | | | | Not to ignore leading spaces in indented heredoc identifier. | ||||
* | [ruby/reline] Fix: line longer than terminal width breaks rendering | tomoya ishida | 2023-03-18 | 2 | -0/+18 |
| | | | | | | (https://github.com/ruby/reline/pull/516) https://github.com/ruby/reline/commit/ae5f9b87ab | ||||
* | Fix frozen status loss when moving objects | Peter Zhu | 2023-03-18 | 2 | -1/+29 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Bug #19536] When objects are moved between size pools, their frozen status is lost in the shape. This will cause the frozen check to be bypassed when there is an inline cache. For example, the following script should raise a FrozenError, but doesn't on Ruby 3.2 and master. class A def add_ivars @a = @b = @c = @d = 1 end def set_a @a = 10 end end a = A.new a.add_ivars a.freeze b = A.new b.add_ivars b.set_a # Set the inline cache in set_a GC.verify_compaction_references(expand_heap: true, toward: :empty) a.set_a | ||||
* | RJIT: Implement getspecial insn | Takashi Kokubun | 2023-03-18 | 3 | -3/+98 |
| | |||||
* | RJIT: Implement putspecialobject insn | Takashi Kokubun | 2023-03-17 | 3 | -12/+36 |
| | |||||
* | Fix handling of 6-byte codepoints in left_adjust_char_head in CESU-8 encoding | Josef Haider | 2023-03-18 | 2 | -4/+23 |
| | |||||
* | RJIT: Implement throw insn | Takashi Kokubun | 2023-03-17 | 4 | -7/+42 |
| |