summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* RJIT: Fix invokesuperTakashi Kokubun2023-03-212-7/+5
|
* Bump ruby/setup-ruby from 1.144.1 to 1.144.2dependabot[bot]2023-03-214-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" objectsAaron Patterson2023-03-209-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 Kokubun2023-03-202-3/+5
|
* Update yjit.mdMaxime Chevalier-Boisvert2023-03-201-1/+2
| | | Document `make yjit-smoke-test`
* YJIT: tag output type as UnknownHeap in `toregexp` (#7562)Maxime Chevalier-Boisvert2023-03-201-1/+1
|
* Mark cached pid if necessaryNobuyoshi Nakada2023-03-201-2/+7
|
* Fix the macro for conditionNobuyoshi Nakada2023-03-201-1/+1
|
* Cache `Process.pid`Jean Boussier2023-03-202-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 reasonsTakashi Kokubun2023-03-194-7/+122
|
* RJIT: Implement ifunc invokeblockTakashi Kokubun2023-03-195-4/+51
|
* RJIT: Support invokeblock arity mismatchesTakashi Kokubun2023-03-191-11/+28
|
* RJIT: Fix ISeq invokeblockTakashi Kokubun2023-03-193-24/+41
|
* RJIT: Disable ISeq invokeblock for nowTakashi Kokubun2023-03-191-0/+6
| | | | since basictest is broken
* Remove a warning in bootstraptest/runner.rbTakashi Kokubun2023-03-191-1/+1
| | | | ../bootstraptest/runner.rb:121: warning: assigned but unused variable - e
* RJIT: Implement invokeblock with ISeqTakashi Kokubun2023-03-193-10/+68
|
* Disable `-w` on bundler and bundled gems testsNobuyoshi Nakada2023-03-201-2/+4
|
* RJIT: Remove an unneeded variableTakashi Kokubun2023-03-191-1/+1
|
* Enable `-w` option at testNobuyoshi Nakada2023-03-201-1/+1
|
* Add explanation to rbs_skip_tests (#7525)Soutaro Matsumoto2023-03-202-2/+20
|
* RJIT: Optimize Kernel#block_given?Takashi Kokubun2023-03-193-1/+46
|
* RJIT: Optimize Kernel#respond_to?Takashi Kokubun2023-03-195-1/+128
|
* RJIT: Optimize Array#empty?Takashi Kokubun2023-03-191-1/+20
|
* RJIT: Optimize String#+@Takashi Kokubun2023-03-193-1/+43
|
* RJIT: Optimize String#<<Takashi Kokubun2023-03-196-1/+121
|
* Fix -Wclobbered warning from gcc 12Nobuyoshi Nakada2023-03-191-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 identifierNobuyoshi Nakada2023-03-191-0/+6
| | | | Co-Authored-By: sawa (Tsuyoshi Sawada) <sawadatsuyoshi@gmail.com>
* RJIT: Drop duplicated obj_is_kind_ofTakashi Kokubun2023-03-191-4/+0
|
* RJIT: Workaround USE_RVARGC=0 CITakashi Kokubun2023-03-183-6/+3
|
* RJIT: Optimize String#bytesizeTakashi Kokubun2023-03-186-9/+24
|
* RJIT: Optimize String#empty?Takashi Kokubun2023-03-183-1/+50
|
* RJIT: Optimize Kernel#instance_of?Takashi Kokubun2023-03-183-1/+60
|
* RJIT: Optimize Kernel#is_a?Takashi Kokubun2023-03-184-4/+59
|
* RJIT: Reorder opt_case_dispatch branchesTakashi Kokubun2023-03-183-6/+66
|
* RJIT: Upgrade Ubuntu on CITakashi Kokubun2023-03-181-1/+1
| | | | to upgrade libcapstone on CI
* RJIT: Implement setclassvariableTakashi Kokubun2023-03-184-3/+27
|
* RJIT: Implement internTakashi Kokubun2023-03-183-3/+24
|
* RJIT: Fix toregexpTakashi Kokubun2023-03-181-2/+2
|
* RJIT: Implement toregexpTakashi Kokubun2023-03-184-2/+60
|
* RJIT: Prefix rjit_options with rb_Takashi Kokubun2023-03-186-23/+23
|
* RJIT: Install libcapstone-dev on CITakashi Kokubun2023-03-182-1/+1
| | | | for test_assembler.rb to work
* RJIT: Implement newrangeTakashi Kokubun2023-03-183-3/+28
|
* RJIT: Implement getglobalTakashi Kokubun2023-03-183-3/+26
|
* RJIT: Implement checkkeywordTakashi Kokubun2023-03-183-10/+67
|
* [Bug #19539] Match heredoc identifier from end of lineNobuyoshi Nakada2023-03-192-10/+20
| | | | Not to ignore leading spaces in indented heredoc identifier.
* [ruby/reline] Fix: line longer than terminal width breaks renderingtomoya ishida2023-03-182-0/+18
| | | | | | (https://github.com/ruby/reline/pull/516) https://github.com/ruby/reline/commit/ae5f9b87ab
* Fix frozen status loss when moving objectsPeter Zhu2023-03-182-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 insnTakashi Kokubun2023-03-183-3/+98
|
* RJIT: Implement putspecialobject insnTakashi Kokubun2023-03-173-12/+36
|
* Fix handling of 6-byte codepoints in left_adjust_char_head in CESU-8 encodingJosef Haider2023-03-182-4/+23
|