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