Age | Commit message (Collapse) | Author |
|
* Support Ruby 2.4's frozen string literals.
* Remove VCS revisions headers.
|
|
We would like to skip this extension library when libstdc++ is missing.
To avoid such situation let's use try_link instead of try_compile.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2923
|
|
This patch contains several ideas:
(1) Disposable inline method cache (IMC) for race-free inline method cache
* Making call-cache (CC) as a RVALUE (GC target object) and allocate new
CC on cache miss.
* This technique allows race-free access from parallel processing
elements like RCU.
(2) Introduce per-Class method cache (pCMC)
* Instead of fixed-size global method cache (GMC), pCMC allows flexible
cache size.
* Caching CCs reduces CC allocation and allow sharing CC's fast-path
between same call-info (CI) call-sites.
(3) Invalidate an inline method cache by invalidating corresponding method
entries (MEs)
* Instead of using class serials, we set "invalidated" flag for method
entry itself to represent cache invalidation.
* Compare with using class serials, the impact of method modification
(add/overwrite/delete) is small.
* Updating class serials invalidate all method caches of the class and
sub-classes.
* Proposed approach only invalidate the method cache of only one ME.
See [Feature #16614] for more details.
Notes:
Merged: https://github.com/ruby/ruby/pull/2888
|
|
Now, rb_call_info contains how to call the method with tuple of
(mid, orig_argc, flags, kwarg). Most of cases, kwarg == NULL and
mid+argc+flags only requires 64bits. So this patch packed
rb_call_info to VALUE (1 word) on such cases. If we can not
represent it in VALUE, then use imemo_callinfo which contains
conventional callinfo (rb_callinfo, renamed from rb_call_info).
iseq->body->ci_kw_size is removed because all of callinfo is VALUE
size (packed ci or a pointer to imemo_callinfo).
To access ci information, we need to use these functions:
vm_ci_mid(ci), _flag(ci), _argc(ci), _kwarg(ci).
struct rb_call_info_kw_arg is renamed to rb_callinfo_kwarg.
rb_funcallv_with_cc() and rb_method_basic_definition_p_with_cc()
is temporary removed because cd->ci should be marked.
Notes:
Merged: https://github.com/ruby/ruby/pull/2888
|
|
The `cxx.try_compile` command in this file kicks `cxx.have_devel?`
internally, which recursively calls `cxx.try_link` with a different
source code. We don't want that happen (the source code compiled in
this file must be the first one). We need to fake the system.
|
|
|
|
https://github.com/ruby/io-console/commit/41b6f09574
|
|
Stop the special treatment of invalid hashAlgorithm of the message
imprint. Those invalid values can only appear after the object is
instantiated, before the user sets an actual message digest algorithm.
OpenSSL::Timestamp::TokenInfo#algorithm already does the same.
Also, remove the test case "test_create_request" since it does not make
much sense. Those fields are to be set by the user after creation of
the object and checking the initial value is pointless.
Fixes: https://github.com/ruby/openssl/issues/335
https://github.com/ruby/openssl/commit/890a6476fa
|
|
https://github.com/ruby/io-console/commit/82b630cd79
|
|
It fails to build on Solaris:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200216T090008Z.log.html.gz
```
ossl_cipher.c: 関数 ‘ossl_cipher_init’ 内:
ossl_cipher.c:228:2: エラー: ‘EVP_md5’ is deprecated [-Werror=deprecated-declarations]
228 | EVP_BytesToKey(EVP_CIPHER_CTX_cipher(ctx), EVP_md5(), iv,
| ^~~~~~~~~~~~~~
In file included from /usr/include/openssl/x509.h:73,
from /usr/include/openssl/x509v3.h:63,
from ossl.h:23,
from ossl_cipher.c:10:
/usr/include/openssl/evp.h:732:26: 備考: ここで宣言されています
732 | DEPRECATED const EVP_MD *EVP_md5(void);
| ^~~~~~~
```
|
|
Import the master branch of ruby/openssl for preparing to release openssl-2.2.0
Notes:
Merged-By: hsbt <hsbt@ruby-lang.org>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2909
|
|
|
|
https://github.com/ruby/io-console/commit/5facbfc4c8
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2895
|
|
https://github.com/ruby/readline-ext/commit/b0b5f709bd
|
|
https://github.com/ruby/readline-ext/commit/8c33abb13c
|
|
https://github.com/ruby/readline-ext/commit/106c31fc1b
|
|
individual gem
https://github.com/ruby/readline-ext/commit/efaca4a5f4
|
|
assertions can be there"
This reverts commit 425b2064d394639101854c83a061a0918b33b857.
This cherry-pick was a mistake.
|
|
Function pointers are not void*. See also
ce4ea956d24eab5089a143bba38126f2b11b55b6
8427fca49bd85205f5a8766292dd893f003c0e48
|
|
before:
```
open(p1 = v1, p2 = v2, p3 = v3)
```
|
|
DEBUG: BUILDSTDERR: /usr/bin/ld: infinite_loop_dlsym.o: in function `native_loop_dlsym':
DEBUG: BUILDSTDERR: /builddir/build/BUILD/ruby-2.7.0/ext/-test-/popen_deadlock/infinite_loop_dlsym.c:16: undefined reference to `dlsym'
DEBUG: BUILDSTDERR: collect2: error: ld returned 1 exit status
Ruby was built with LibreSSL.
Notes:
Merged: https://github.com/ruby/ruby/pull/2862
|
|
Was my mistake to put return here.
|
|
C++ keyword `nullptr` represents a null pointer (note also that NULL is
an integer in C++ due to its design flaw). Its type is `std::nullptr_t`,
defined in <cstddef> standard header. Why not support it when the
backend implementation can take a null pointer as an argument.
|
|
Block for `create_makefile` is expected to return the content of
the makefile.
|
|
|
|
|
|
BSD make can run parallel more aggressively than GNU make. It communicate
with other make process through -J option in MAKEFLAGS environment variable
to notify a build failure happend in an other pararell make process.
https://www.freebsd.org/cgi/man.cgi?make
It usually works well but ext/-test-/cxxanyargs/Makefile has two targets
which are expected to fail (failure.o and failurem1.o).
Additional note:
To test and debug this issue, following command will speed up it.
`make -f exts.mk -j8 clean all`
|
|
It was unable for rb_define_global_function to take VALUE(*)(int argc,
const VLAUE *argv, VALUE self) -style function. Test added.
|
|
was missing.
|
|
was missing.
|
|
rb_f_notimplement should be accepted for all possible arities.
Test provided for that.
|
|
|
|
Warn the deprecation and future removal, with obeying the warning
flag.
|
|
can be there
https://github.com/ruby/readline-ext/commit/4d44c12832
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2856
|
|
|
|
Use `"\n"` and `IO#fileno` instead of `$/` and `$.` respectively.
[Feature #14240]
|
|
|
|
To enable implementation-defined output processing, for the
compatibility with readline. [Bug #16509]
https://bugs.ruby-lang.org/issues/16509
https://github.com/ruby/io-console/commit/8c8b0b6757
|
|
https://github.com/ruby/io-console/commit/73e7b6318a
|
|
internal/rational.h needs internal/warnings.h with Apple clang,
for `UNALIGNED_MEMBER_ACCESS`.
|
|
patch from https://travis-ci.org/ruby/ruby/jobs/638231960
|
|
|
|
patch from https://travis-ci.org/ruby/ruby/jobs/638226493
|
|
https://github.com/flori/json/commit/2f3f44c180
|
|
https://github.com/flori/json/commit/3845491d92
|
|
https://github.com/flori/json/commit/4ede0a7d19
|