64552 Commits

Author SHA1 Message Date
Takashi Kokubun
8d83334a69
@ruby is the target Ruby in bootstraptest 2020-12-13 23:33:59 -08:00
Yusuke Endoh
ab869d6b9b test/ruby/test_method_cache.rb: suppress "assigned but unused variable" 2020-12-14 15:56:13 +09:00
Koichi Sasada
53edb27bac use method cache on Object#respond_to?
rb_method_boundp (method_boundp) searches method_entry, but this
search did not use pCMC, so change to use it.
2020-12-14 15:28:09 +09:00
Koichi Sasada
0362b4c689 add tests for method cache. 2020-12-14 11:57:46 +09:00
Koichi Sasada
a8aa169b8f add cc_invalidate_negative debug counter
counts for invalidating negative cache.
2020-12-14 11:57:46 +09:00
Koichi Sasada
967040ba59 Introduce negative method cache
pCMC doesn't have negative method cache so this patch  implements it.
2020-12-14 11:57:46 +09:00
Koichi Sasada
fa63052be1 create ccs with 0 capa
ccs is created with default 4 capa, but it is too much, so start
with 0 and extend to 1, 2, 4, 8, ...
2020-12-14 11:57:46 +09:00
Kazuhiro NISHIYAMA
85a7f723c3
Fix a typo [ci skip] 2020-12-14 10:26:04 +09:00
git
66756c6d42 * 2020-12-14 [ci skip] 2020-12-14 08:17:34 +09:00
Junichi Ito
ea6856dcdf Remove "2.8" from NEWS.md 2020-12-14 08:17:13 +09:00
Kazuhiro NISHIYAMA
6e84af2fa9
ulimit does not affect another shell 2020-12-13 20:26:22 +09:00
Nobuyoshi Nakada
12eb5734b3
Sorted links by URLs and issue numbers [ci skip]
```
ruby -e 'puts readlines.sort_by {[_1[%r[(https?://.*?)(?:/\d+)?$],1], _1[/\d+$/].to_i]}'
```
2020-12-13 19:26:47 +09:00
Junichi Ito
a3adb10aac Add NEWS about open-uri and Kernel#open
There might be a lot of codes using redefined Kernel#open via open-uri, so it's worth mentioning that.
2020-12-13 18:18:15 +09:00
Nobuyoshi Nakada
c7530f0d56
Wait testing/helper threads to terminate 2020-12-13 13:39:57 +09:00
Nobuyoshi Nakada
416e402cf3
Fixed a suspicious comparison 2020-12-13 13:12:18 +09:00
Nobuyoshi Nakada
97e6c28db4
Narrowed down unaligned member access region in RB_OBJ_WRITE
Since UNALIGNED_MEMBER_ACCESS assigns to an intermediate variable,
it can cause unused-value warnings.
2020-12-13 11:57:05 +09:00
Kazuki Tsujimoto
88f3ce12d3
Reintroduce expr in pat [Feature #17371] 2020-12-13 11:51:49 +09:00
Kazuki Tsujimoto
a8cf526ae9
Don't emit warning when the pattern of one-line pattern matching is just a variable pattern
https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201210Japan.md#feature-17371-reintroduce-expr-in-pat-ktsj
2020-12-13 11:51:49 +09:00
Takashi Kokubun
1b45174aea
Allow dumping a core file on Actions
to see a C backtrace.
2020-12-12 18:47:50 -08:00
Takashi Kokubun
246d7e4f1d
Dump a backtrace with gdb
Because Ruby often fails to dump a C backtrace.
2020-12-12 18:46:24 -08:00
git
92dfe9aefb * 2020-12-13 [ci skip] 2020-12-13 01:30:32 +09:00
Nobuyoshi Nakada
3b7c05ef8d
Fixed RUBY_RM_RECURSIVE when autoconf met the required version
Before 9189cf5793cd527a86b711d15d5fd0633ec082e1 the result of
`m4_version_compare` was compared to -1, however the `$2` of
`m4_version_prereq` has different meaning and is expanded when
the required version met.
2020-12-13 01:16:57 +09:00
Yusuke Endoh
7ef5226520 spec: suppress deprecations of "lambda(&proc_block)" pattern 2020-12-12 23:25:15 +09:00
Yusuke Endoh
efbef729b2 test/ruby/test_lambda.rb: prevent lambda(&proc_block) warnings 2020-12-12 23:11:47 +09:00
Yusuke Endoh
248f1ef282 tool/mk_builtin_loader.rb: prevent "assigned but unused variable" 2020-12-12 23:09:11 +09:00
Nobuyoshi Nakada
4d2ad8d737
Removed obsolete autoconf checks
Use regular `AC_CHECK_MEMBERS` instead of:
* `AC_STRUCT_ST_BLKSIZE`
* `AC_STRUCT_ST_BLOCKS`
* `AC_STRUCT_ST_RDEV`
2020-12-12 17:23:44 +09:00
Nobuyoshi Nakada
0df67a4695 Signal handler type should be void 2020-12-12 17:02:42 +09:00
Nobuyoshi Nakada
21c5726418 Omit checks for C89 standard or later
Now we require C99, these features available of course.

* prototypes
* stdarg prototypes
* token pasting
* stringization
* string literal concatenation
2020-12-12 17:02:42 +09:00
Takashi Kokubun
e53c0bc906
Add some JIT options to MJIT Actions
hoping to improve C backtrace outputs
2020-12-11 22:52:19 -08:00
Nobuyoshi Nakada
68af523529
Added parentheses to silence sizeof-array-div warnings [Bug #17385]
As well as 2366c681166a1dab95de6b9ca8ffcaae18aadd39.
2020-12-12 14:25:30 +09:00
S-H-GAMELINKS
52bca75cde Remove unused function declarations 2020-12-12 14:12:40 +09:00
Takashi Kokubun
3e23991345
Lock GC while searching the best iseq
To fix
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3286265
2020-12-11 19:58:59 -08:00
Nobuyoshi Nakada
4e5156621e
[DOC] Process::Status.wait return nil if no child processes [ci skip] 2020-12-12 11:44:25 +09:00
Koichi Sasada
70a311fdeb trap on non-main ractor
trap can accept blopck/Proc and it can violate Rator isolation,
so the Proc should be isolatable when trap is used on non-main ractor.
2020-12-12 08:36:52 +09:00
Koichi Sasada
124321e0c7 fix lambda's warning and tests
There are warning condition bugs and test bugs.
b53ccb9c69abd24e3bdad66cbe4c7e7480eaef16
2020-12-12 06:29:11 +09:00
Koichi Sasada
d741c77b5f fix ivar with shareable objects issue
Instance variables of sharable objects are accessible only from
main ractor, so we need to check it correctly.
2020-12-12 06:19:18 +09:00
nicholas a. evans
31e8de2920 Let Fiber#raise work with transferring fibers
This automatically choosess whether to use transfer on a transferring
fiber or resume on a yielding fiber.  If the fiber is resuming, it
raises a FiberError.
2020-12-12 10:18:19 +13:00
git
e795b63246 * 2020-12-12 [ci skip] 2020-12-12 00:29:02 +09:00
Kazuhiro NISHIYAMA
abbc43413c
Remove unused link [ci skip] 2020-12-12 00:28:08 +09:00
Nobuyoshi Nakada
eea756ac86
Strip trailing spaces [ci skip] 2020-12-11 23:14:36 +09:00
ima1zumi
68d3952c52 [ruby/reline] Fix breaking to input Emoji with ZWJ.
https://github.com/ruby/reline/commit/f21dfdbb11
2020-12-11 23:08:06 +09:00
Nobuyoshi Nakada
ed343c76fb
RDoc states that Process::Status.wait returns nil if cannot wait 2020-12-11 20:21:03 +09:00
Nobuyoshi Nakada
1728eba48a
[DOC] Fixed the RDoc location of Process::Status.wait [ci skip] 2020-12-11 19:40:25 +09:00
Takashi Kokubun
885135f84c
Allow an MJIT worker to show a backtrace on SEGV
An MJIT worker thread doesn't have ec, and it's required for SDR() and
rb_backtrace_print_as_bugreport(). Therefore it must be checked.
2020-12-10 21:56:49 -08:00
Takashi Kokubun
4439b78336
Save a core file from bootstraptest 2020-12-10 21:36:48 -08:00
Hiroshi SHIBATA
a6a68bae3c
Removed needless gemspec of webrick 2020-12-11 14:16:42 +09:00
Hiroshi SHIBATA
947a5505e5
Bump webrick-1.7.0 for version management with ruby/webrick. 2020-12-11 14:16:42 +09:00
Nobuyoshi Nakada
bca57b911a
[DOC] Moved RDoc of abort [ci skip] 2020-12-11 14:09:34 +09:00
Yusuke Endoh
c718c30007 addr2line.c: support debuglink by build_id
Currently, addr2line.c supports only one path format of debuglink:
"/usr/lib/debug/usr/bin/ruby.debug".

However, recent debian packages seem to use another format by build_id:
"/usr/lib/debug/.build-id/ab/cdef1234.debug".

5d1bb29841/dh_strip (L292)
5d1bb29841/dh_strip (L353)

This changeset makes ruby backtrace support the second format.
2020-12-11 14:08:33 +09:00
Yusuke Endoh
8c5ec10038 Link zlib always if available
Major Linux distribution packages including Debian, Ubuntu, and Fedora
use `--compress-debug-sections=no` to build ruby, and then extract and
compress debug symbols as separate files. However, the configure option
makes ruby not link zlib, thus the generated binary cannot uncompress
the compressed separate debug symbol files, and fails to show C level
backtrace when a critical error like segfault occurs.

This change makes ruby always link zlib if it is available so that it
can show C level backtrace correctly.

Related: Debian packages require https://github.com/ruby/ruby/pull/3627
to load debug symbol files.
2020-12-11 14:08:23 +09:00