Граф коммитов

63823 Коммитов

Автор SHA1 Сообщение Дата
Takashi Kokubun 8ce1711c25
Revert "Set VM_FRAME_FLAG_FINISH at once on MJIT"
This reverts commit 4d2c8edca6.

Unfortunately this seems to cause several issues:
https://github.com/ruby/ruby/runs/1462188376?check_suite_focus=true
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3272802
2020-11-26 22:41:15 -08:00
Takashi Kokubun 4d2c8edca6
Set VM_FRAME_FLAG_FINISH at once on MJIT
Performance is probably improved?

$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-11-27T04:37:47Z master 69e77e81dc) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-11-27T05:28:19Z master df6b05c6dd) +JIT [x86_64-linux]
last_commit=Set VM_FRAME_FLAG_FINISH at once
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    80.89292998533379     82.19497327502751 fps
                            80.93130641142331     85.13943315260148
                            81.06214830270119     87.43757879797808
                            82.29172808453910     87.89942441487113
                            84.61206450455929     87.91309779491075
                            85.44545883567997     87.98026086648694
                            86.02923132404449     88.03081060383973
                            86.07411817365879     88.14650206137341
                            86.34348799602836     88.32791633649961
                            87.90257338977324     88.57599644892220
                            88.58006509876580     88.67426384743277
                            89.26611118140011     88.81669430874207

This should have no bad impact on VM because this function is ALWAYS_INLINE.
2020-11-26 21:32:14 -08:00
Takashi Kokubun 69e77e81dc
Run rb_print_backtrace first on ruby_on_ci
Unfortunately we couldn't see a C backtrace with the previous commit
http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3272697.
2020-11-26 20:37:47 -08:00
Takashi Kokubun 4dbf6f1e51
Call rb_bug_without_die on CI
when GC.compact's SEGV handler is installed
2020-11-26 20:09:57 -08:00
Nobuyoshi Nakada 82541df081
Separated tests for $KCODE and $= 2020-11-27 13:09:20 +09:00
Nobuyoshi Nakada eca854041f
[DOC] Mersenne Twister isn't cryptographically secure [ci skip] 2020-11-27 12:47:31 +09:00
git ead32e6e64 * 2020-11-27 [ci skip] 2020-11-27 12:25:32 +09:00
Takashi Kokubun 1898e9558a
Always clean up leftovers at ci.rvm.jp
to prevent failures like
http://ci.rvm.jp/logfiles/brlog.trunk-mjit.20201126-182515.

Since fa1250a506, it should be safe to do
this.
2020-11-26 19:23:35 -08:00
Nobuyoshi Nakada f5ca3ff4db
Store all kinds of syntax errors [Bug #17345] 2020-11-26 20:14:34 +09:00
Nobuyoshi Nakada 1df3896382
Removed a duplicate assertion 2020-11-26 20:03:38 +09:00
Yusuke Endoh 6be9d18a4d Update TypeProf to 0.7.0 2020-11-26 15:13:32 +09:00
Nobuyoshi Nakada af80df1820
Keep patched zlib files 2020-11-26 09:37:38 +09:00
Alan Wu e0944bde91 Prefer rb_module_new() over rb_define_module_id()
rb_define_module_id() doesn't do anything with its parameter so
it's a bit confusing.
2020-11-25 17:05:06 -05:00
git 526d0f46f3 * 2020-11-26 [ci skip] 2020-11-26 04:29:50 +09:00
Aaron Patterson c32218de1b
Disable auto compaction on platforms that can't support it
Both explicit compaction routines (gc_compact and the verify references form)
need to clear the heap before executing compaction.  Otherwise some
objects may not be alive, and we'll need the read barrier.  The heap
must only contain *live* objects if we want to disable the read barrier
during explicit compaction.

The previous commit was missing the "clear the heap" phase from the
"verify references" explicit compaction function.

Fixes [Bug #17306]
2020-11-25 11:29:14 -08:00
Koichi Sasada 7aaf6676c4 should stop other ractors on transient_heap_evacuate
transient_heap_evacuate() evacuates all living objects from theap
to malloc mangaed memory. This evacuation can run in any ractors
in parallel with other ractor's execution and it is danger.

To stop such danger parallel execution, use rb_vm_barrier() to
stop all other ractors.
2020-11-25 16:14:01 +09:00
Koichi Sasada d43d4acf26 fix error message 2020-11-25 15:51:31 +09:00
Koichi Sasada a79fe07db6 show the error message before Ractor.yield
Ractor's error will be printed if Thread#report_on_exception
is true (default), and error message is used. Without this patch,
the exception object is sent by Ractor.yield and it can be shared
with another ractor.

http://ci.rvm.jp/results/trunk-random3@phosphorus-docker/3269368

To prevent such sharing, show errors befor Ractor.yield().
2020-11-25 15:08:10 +09:00
Aaron Patterson fed67fe6b2
Revert "Disable auto compaction on platforms that can't support it"
This reverts commit 63ad55cd88.

Revert "Disable read barrier on explicit compaction request"

This reverts commit 490b57783d.
2020-11-24 21:30:13 -08:00
Takashi Kokubun 00f046ef57
Report a full_message on a worker crash
A worker crash happens very often, but we're not sure why.
I'd like to know a backtrace if it's available.
2020-11-24 20:36:39 -08:00
Takashi Kokubun eaa87be5f6
Skip test_ractor.rb:137 for --jit-min-calls=5
It's failing like
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3270373 but I
have no bandwidth to fix it for now.

We're still checking --jit-wait (without --jit-min-calls=5) on GitHub
Actions.
2020-11-24 20:18:05 -08:00
Takashi Kokubun c6b7b4f6f4
Report a more detailed situation of test_ractor.rb:137
This test has been very unstable. I'd like to instantly know whether
it's always failing or random when I look at a CI failure output.
2020-11-24 19:50:42 -08:00
Takashi Kokubun 26e3aea94f
Overwrite all existing files when extracting zlib
To prevent CI failure like
https://ci.appveyor.com/project/ruby/ruby/builds/36494552/job/a3ow8atl19786tep
2020-11-24 19:26:42 -08:00
Aaron Patterson 63ad55cd88
Disable auto compaction on platforms that can't support it
Auto Compaction uses mprotect to implement a read barrier.  mprotect can
only work on regions of memory that are a multiple of the OS page size.
Ruby's pages are a multiple of 4kb, but some platforms (like ppc64le)
don't have 4kb page sizes.  This commit disables the features on those
platforms.

Fixes [Bug #17306]
2020-11-24 14:48:19 -08:00
Aaron Patterson 87d21ee996
add HEAP_PAGE_SIZE to internal constants 2020-11-24 13:30:26 -08:00
Aaron Patterson 490b57783d Disable read barrier on explicit compaction request
We don't need a read barrier when the user calls `GC.compact` because we
don't allow allocations during GC, and all references should be "live"
2020-11-24 12:38:05 -08:00
git b4dd7310ca * 2020-11-25 [ci skip] 2020-11-25 00:01:57 +09:00
Jeremy Evans b26d6c70e0 Detect the premature end of char property in regexp
Default to ONIGERR_INVALID_CHAR_PROPERTY_NAME in
fetch_char_property_to_ctype and only set otherwise if an ending
} is found.

Fixes [Bug #17340]
2020-11-24 16:01:30 +01:00
Takashi Kokubun 237cb94cf5
Handle calloc failure
for cfd8c7e6ca.
2020-11-24 00:02:52 -08:00
Takashi Kokubun cfd8c7e6ca
Prefer calloc/free over ZALLOC/xfree
To avoid SEGV like
http://ci.rvm.jp/logfiles/brlog.trunk-mjit.20201124-061530
2020-11-23 23:48:06 -08:00
Sutou Kouhei 0deb06bfa4 Add CSV 3.1.9 to NEWS 2020-11-24 09:33:55 +09:00
Sutou Kouhei 832b7f3c54 [ruby/csv] Add support for \r\n with skip_lines: /...$/ again
GitHub: fix GH-194

Reported by Josef Šimánek. Thanks!!!

https://github.com/ruby/csv/commit/fd86afe081
2020-11-24 09:33:55 +09:00
Sutou Kouhei f9935205ac [ruby/csv] Bump version
https://github.com/ruby/csv/commit/e1b430d965
2020-11-24 09:33:55 +09:00
Hiroshi SHIBATA f9d6d762dc [ruby/csv] Removed needless editorconfig file (#192)
https://github.com/ruby/csv/commit/5623dee00e
2020-11-24 09:33:55 +09:00
Burdette Lamar 20a9131270 [ruby/csv] RDoc recipes for RFC-compliant generation (#187)
https://github.com/ruby/csv/commit/5adeaff91f
2020-11-24 09:33:55 +09:00
Burdette Lamar d48e688f64 [ruby/csv] RDoc recipes for diagnostics (#186)
https://github.com/ruby/csv/commit/d9e67918e2
2020-11-24 09:33:55 +09:00
Burdette Lamar 9266410c7a [ruby/csv] RDoc Recipes for write converters and RFC 4180 compliance (#185)
https://github.com/ruby/csv/commit/bee48b04c4
2020-11-24 09:33:55 +09:00
Burdette Lamar c5fcafd2fd [ruby/csv] Split recipes into three pages: parsing, generating, filtering (#184)
Co-authored-by: Sutou Kouhei <kou@clear-code.com>

https://github.com/ruby/csv/commit/f0bab6a592
2020-11-24 09:33:55 +09:00
Burdette Lamar 3cfb63fcd8 [ruby/csv] More on Recipes headers (#183)
https://github.com/ruby/csv/commit/d7ae3df801
2020-11-24 09:33:55 +09:00
Burdette Lamar 15e457d6a3 [ruby/csv] Refine RDoc for headers recipes (#182)
https://github.com/ruby/csv/commit/bd8085e126
2020-11-24 09:33:55 +09:00
Burdette Lamar 6e28ec06c1 [ruby/csv] RDoc recipes: add introductory texts to code recipes (#181)
https://github.com/ruby/csv/commit/c52d53761e
2020-11-24 09:33:55 +09:00
Burdette Lamar 4641a9a92b [ruby/csv] Emphasize with-headers over without-headers in recipes (#180)
https://github.com/ruby/csv/commit/c7bbedd28a
2020-11-24 09:33:55 +09:00
Burdette Lamar 76e5e5aaec [ruby/csv] More RDoc for field converters (#179)
https://github.com/ruby/csv/commit/2a4ef5d86a
2020-11-24 09:33:55 +09:00
Burdette Lamar 5a0c8068c8 [ruby/csv] Clarify and correct RDoc for converters (#178)
https://github.com/ruby/csv/commit/f3e9586b34
2020-11-24 09:33:55 +09:00
Burdette Lamar 4be336b1b7 [ruby/csv] Recipes for field converters (#177)
https://github.com/ruby/csv/commit/aea896f030
2020-11-24 09:33:55 +09:00
Burdette Lamar 98d52d873e [ruby/csv] Organize page Recipes better (#176)
https://github.com/ruby/csv/commit/338b7f0d57
2020-11-24 09:33:55 +09:00
Burdette Lamar 8ea293b79c [ruby/csv] Experimenting with recipes in CSV RDoc (#175)
https://github.com/ruby/csv/commit/01ffd0d2de
2020-11-24 09:33:55 +09:00
Burdette Lamar 614afb1647 [ruby/csv] Fix CSV.filter to preserve headers (#174)
Co-authored-by: Sutou Kouhei <kou@clear-code.com>

https://github.com/ruby/csv/commit/203c5e0574
2020-11-24 09:33:55 +09:00
Burdette Lamar 207f2acc13 [ruby/csv] Enhanced RDoc for CSV::Row (#173)
https://github.com/ruby/csv/commit/99956c671d
2020-11-24 09:33:55 +09:00
Burdette Lamar e8954fa13b [ruby/csv] Enhanced RDoc for CSV::Row (#171)
https://github.com/ruby/csv/commit/cced8d8de9
2020-11-24 09:33:55 +09:00