Age | Commit message (Collapse) | Author |
|
https://github.com/ruby/openssl/commit/b08ae7e73d
|
|
This is not present in the referenced files anymore, and not useful to most users
https://github.com/ruby/openssl/commit/eae30d2b96
|
|
https://github.com/ruby/openssl/commit/b28fb2f05c
|
|
https://github.com/ruby/openssl/commit/c4374ff041
|
|
As we have the optimization in _mjit_compile_ivar.erb, we don't use
these functions if we successfully optimize ivars. Therefore it's
consuming code size where we can't optimize it well.
To decrease code size, we'd better avoid inlining them.
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=12 --output=all
before --jit: ruby 2.8.0dev (2020-05-13T04:49:21Z master 61d451d6ce) +JIT [x86_64-linux]
after --jit: ruby 2.8.0dev (2020-05-13T05:46:59Z master a072d323db) +JIT [x86_64-linux]
Calculating -------------------------------------
before --jit after --jit
Optcarrot Lan_Master.nes 69.8567095356444 73.0360609399857 fps
70.3283101279035 74.6106251902062
72.9135395729567 75.2797344839106
76.6944690546044 77.5705757485036
77.0027971817715 78.2269524040059
78.5069033659736 78.4457471014131
80.1873218604913 80.1273811685818
81.3079566400696 81.7148593303302
81.7285827817226 81.7637234555871
81.7657097839637 82.4520295422720
81.8310114206406 82.7532354379759
81.9886488857863 82.8358739858206
```
|
|
`#define NDEBUG` produces "macro redefined" warnings when it is already
defined via cppflags
|
|
It produces "unused variable" warnings in NDEBUG mode
|
|
ver is [3, 1, 0] which is not less then or equal to [3, 1]
|
|
Fixes [Bug #16850]
|
|
Maybe due to e1855100e46040e73630b378974c17764e0cccee, CentOS, RHEL, and
Fedora CIs have started failing with SEGV. Try to avoid
ffi_closure_alloc on those environments.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos8/ruby-master/log/20200512T183004Z.fail.html.gz
https://rubyci.org/logs/rubyci.s3.amazonaws.com/fedora32/ruby-master/log/20200512T183004Z.fail.html.gz
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20200512T183003Z.fail.html.gz
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
|
|
to define HAVE_FFI_CLOSURE_ALLOC.
The macro is used in closure.c, so have_func check is needed.
If pkg-config is not installed, extconf.rb fails to detect the version
of libffi, and does not add "-DUSE_FFI_CLOSURE_ALLOC=1" even when system
libffi version is >= 3.2.
If USE_FFI_CLOSURE_ALLOC is not defined, closure.c attempts to check if
HAVE_FFI_CLOSURE_ALLOC is defined or not, but have_func was removed with
528a3a17977aa1843a26630c96635c3cb161e729, so the macro is always not
defined.
This resulted in this deprecation warning:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200512T123003Z.log.html.gz
```
compiling closure.c
closure.c: In function 'initialize':
closure.c:265:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations]
265 | result = ffi_prep_closure(pcl, cif, callback, (void *)self);
| ^~~~~~
In file included from ./fiddle.h:42,
from closure.c:1:
/usr/include/x86_64-linux-gnu/ffi.h:334:1: note: declared here
334 | ffi_prep_closure (ffi_closure*,
| ^~~~~~~~~~~~~~~~
```
|
|
|
|
As this rule does not use a separate timestamp file, the target
will be rebuilt every time once it is outdated.
|
|
| |compare-ruby|built-ruby|
|:--------------|-----------:|---------:|
|re_chars-1 | 169.230k| 973.855k|
| | -| 5.75x|
|re_chars-10 | 25.536k| 107.598k|
| | -| 4.21x|
|re_chars-100 | 2.621k| 11.207k|
| | -| 4.28x|
|re_chars-1000 | 259.098| 1.133k|
| | -| 4.37x|
|
|
Optimized `String#split` with `/ /` (single space regexp) as
simple string splitting. [ruby-core:98272]
| |compare-ruby|built-ruby|
|:--------------|-----------:|---------:|
|re_space-1 | 432.786k| 1.539M|
| | -| 3.56x|
|re_space-10 | 76.231k| 191.547k|
| | -| 2.51x|
|re_space-100 | 8.152k| 19.557k|
| | -| 2.40x|
|re_space-1000 | 837.405| 2.022k|
| | -| 2.41x|
ruby-core:98272: https://bugs.ruby-lang.org/issues/15771#change-85511
Notes:
Merged: https://github.com/ruby/ruby/pull/3103
|
|
It has the same issue as RHEL 8. k0kubun said he will fix later
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3100
|
|
This reverts commit 946dadd3f479198e87873a863d15c7660a8e2b56,
which broke `TestGemRequire` and others.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3102
|
|
Allow to create symbolic links (if available) to share same or
updated files.
Notes:
Merged: https://github.com/ruby/ruby/pull/3102
|
|
Reduce duplicate parts such as package name and version numbers.
Notes:
Merged: https://github.com/ruby/ruby/pull/3102
|
|
|
|
Currently, Net::HTTP can only send a single SSL certificate when it
establishes a connection. Some use-cases involve sending an entire
certificate chain to the destination; for this, SSLContext supports
assigning to #extra_chain_cert=.
This adds support in Net::HTTP for exposing this underlying SSLContext
property to end-users. [Feature #9758]
|
|
|
|
|
|
Argument of RUBY_ASSERT_FAIL is already stringized message, so no
more extra stringization should be applied.
|
|
Functions using `rb_thread_t` and `rb_execution_context_t` are
internal use only.
|
|
Just returns column 1 for ambiguous width because this I/O is not tty and can't
seek.
|
|
|
|
It would be a relatively frequent case. It is still slower than
`float * float` because `*` has a dedicated VM instruction (opt_mult),
though.
|
|
|
|
This limit was introduced on Nov 20 1996
in 554b989ba1623b9f6a0b76f00824c83a23fbcbc1
Apparently to protect from a buffer overflow:
* eval.c (f_missing): オブジェクトの文字列表現が長すぎる時バッファ
を書き潰していた
However I tested that path with very large strings
and it works fine.
Notes:
Merged: https://github.com/ruby/ruby/pull/3090
|
|
Function pointers are not void*. See also
115fec062ccf7c6d72c8d5f64b7a5d84c9fb2dd8
ce4ea956d24eab5089a143bba38126f2b11b55b6
8427fca49bd85205f5a8766292dd893f003c0e48
|
|
SunPro's #pragma does_not_return(...) needs an argument. That does not
fit the attribute syntax we employ.
|
|
This header file is simply out of date (for decades since at least
1989). It's the 21st century. Just stop using it.
|
|
https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html says:
> GCC never returns 1 when you call the inline function with a string
> constant or ...
Because rb_str_new and familiy take string constants, it was a bad idea
for them to contain RB_CONSTANT_P. We should instead do so in
corresponding macros. [ruby-core:98212]
Notes:
Merged: https://github.com/ruby/ruby/pull/3098
|
|
To fix build failures.
Notes:
Merged: https://github.com/ruby/ruby/pull/3079
|