| Age | Commit message (Collapse) | Author |
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4549
|
|
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.
|
|
Following non-special_const literals:
* T_REGEXP
Notes:
Merged: https://github.com/ruby/ruby/pull/4548
|
|
Following non-special_const literals:
* T_BIGNUM
* T_FLOAT (non-flonum)
* T_RATIONAL
* T_COMPLEX
Notes:
Merged: https://github.com/ruby/ruby/pull/4548
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4548
|
|
|
|
This fixes SEGVs like https://github.com/ruby/ruby/runs/2715166621?check_suite_focus=true.
When mjit_recompile is called when mjit_compile is compiling the exact
same iseq (and after it called mjit_capture_cc_entries), iseq->body->jit_unit
is re-created and its cc_entries becomes NULL. Then, when it tries to
lookup cc_entries through iseq->body->jit_unit, it fails.
|
|
because a SEGV might happen on an MJIT worker. As you can clearly see
from `if (vm && ec) {`, ec is not guaranteed to exist here.
|
|
"test_" prefix
This changes "test/rubygems/test_case.rb" to "test/rubygems/helper.rb",
and "test/rubygems/test_utilities.rb" to "test/rubygems/utilities.rb".
The two files are a helper for tests, not test files. However, a file
starting with "test_" prefix is handled as a test file directly loaded
by test-unit because Rakefile specifies:
```
t.test_files = FileList['test/**/test_*.rb']
```
Directly loading test/rubygems/test_utilities.rb caused "uninitialized
constant Gem::TestCase". This issue was fixed by
59c682097197fee4052b47e4b4ab86562f3eaa9b, but the fix caused a
"circular require" warning because test_utilities.rb and test_case.rb
are now requiring each other.
Anyway, adding "test_" prefix to a test helper file is confusing, so
this changeset reverts the fix and solve the issue by renaming them.
https://github.com/rubygems/rubygems/commit/6460e018df
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
|
|
We are only iterating over the eden heap so `heap_eden->total_pages`
contains the exact number of pages we need to allocate for.
`heap_allocated_pages` may contain pages in the tomb.
Notes:
Merged: https://github.com/ruby/ruby/pull/4547
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4497
|
|
|
|
|
|
|
|
See <https://bugs.ruby-lang.org/issues/17926>.
Notes:
Merged: https://github.com/ruby/ruby/pull/4546
|
|
It's been a way too much amount of ifdefs.
|
|
and not for third-party libraries.
See: e6484a153038703447b50fcac26349249922ab28
|
|
https://github.com/ruby/ruby/runs/2707566811#step:10:147
```
D:\a\ruby\ruby\src\mjit_worker.c(1212): warning C4090: 'function': different 'const' qualifiers
```
|
|
https://github.com/ruby/rdoc/commit/ebe185c877
|
|
https://github.com/ruby/rdoc/commit/b8d68fdd87
|
|
|
|
Instead of keeping track of the current bit plane, keep track of the
actual slot when compacting. This means we don't need to re-scan
objects inside the same bit plane when we continue with movement
|
|
Raise `NotImplementedError` on unsupported platforms regardless
the argument consistently.
|
|
|
|
* add static modifier for rb_hash_reject_bang func
* add static modifier for rb_hash_reject func
* add static modifier for rb_hash_values_at func
* add static modifier for rb_hash_assoc func
* add static modifier for rb_hash_rassoc func
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
* add static modifier for rb_reg_eqq func
* add static modifier for rb_check_regexp_type func
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
vm_sync.{c,h} don't have tabs
|
|
This reverts commit e9e3b65d836b5796882b5bf28717e4586366ceec.
We were not ready for it
https://github.com/ruby/ruby/runs/2715306375?check_suite_focus=true
|
|
This is useful for large applications like Rails.
https://k0kubun.medium.com/ruby-3-jit-can-make-rails-faster-756310f235a
|
|
I'm investigating SEGVs like https://github.com/ruby/ruby/runs/2715166621?check_suite_focus=true.
Because a lot of things are going on on this line, it's hard to identify
the cause, especially because we can't get the core file of the failures.
Therefore I intentionally increased the number of lines for
investigation.
|
|
|
|
|
|
Compiling everything seems to contributed to improving the final
performance in general. MJIT's compilation is slow anyway, especially
when you need to wait for JIT compaction.
This might make sense for short-time benchmarks like Optcarrot with
default parameters, but it didn't give benefits in my local environment.
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4541
|
|
We won't be using the `extra_rdoc_files` field, because it's very slow
for markdown files.
Notes:
Merged: https://github.com/ruby/ruby/pull/4537
|
|
https://github.com/ruby/net-protocol/commit/97c4b68528
|
|
[Bug #17584]
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
|
|
|
|
The previous behavior depending on exact float values, it seemed
to work OK on amd64 and i386, but other CI platforms are
experiencing non-deterministic test failures with it. Relax test
slightly to hopefully pass on such platforms.
|