AgeCommit message (Collapse)Author
2020-05-14Thread scheduler for light weight concurrency.Samuel Williams
Notes: Merged: Merged-By: ioquatix <>
2020-05-14extlibs.rb: fixed Downloader.cache_file call and return valueNobuyoshi Nakada
`cache_dir` is an optinal argument but not a keyword argument, and the return value is a `Pathname`.
2020-05-14Constified code_loc_genNobuyoshi Nakada
2020-05-14Restore class variable setting for testsaycabta
2020-05-14Initialize Reline callbacks when test suit startsaycabta
2020-05-14Reline callbacks can take nilaycabta
2020-05-14Delete inner text buffer after testsaycabta
2020-05-14Restore Readline.completion_case_fold in testaycabta
2020-05-14clean-up .bundle directory in bundled_appHiroshi SHIBATA
Notes: Merged:
2020-05-14Use the gemspec in build_dir directlyHiroshi SHIBATA
Notes: Merged:
2020-05-14* 2020-05-14 [ci skip]git
2020-05-14ext/json/parser/ remove type-limit warning if char is unsignedYusuke Endoh
Ragel generates a code `0 <= (*p)` where `*p` is char. As char is unsigned by default on arm and RISC-V, it is warned by gcc: ``` compiling parser.c parser.c: In function ‘JSON_parse_string’: parser.c:1566:2: warning: comparison is always true due to limited range of data type [-Wtype-limits] if ( 0 <= (*p) && (*p) <= 31 ) ^ parser.c:1596:2: warning: comparison is always true due to limited range of data type [-Wtype-limits] if ( 0 <= (*p) && (*p) <= 31 ) ^ ``` This change removes the warning by substituting the condition with `0 <= (signed char)(*p)`.
2020-05-13[ruby/openssl] Ruby/OpenSSL 2.2.0Kazuki Yamaguchi
2020-05-13[ruby/openssl] ssl: temporarily remove SSLContext#add_certificate_chain_fileKazuki Yamaguchi
Let's revert the changes for now, as it cannot be included in the 2.2.0 release. My comment on #257: > A blocker is OpenSSL::SSL::SSLContext#add_certificate_chain_file. It > has a pending change and I don't want to include it in an incomplete > state. > > The initial implementation in commit 46e4bdba40c5 was not really > useful. The issue is described in #305. #309 extended it > to take the corresponding private key together. However, the new > implementation was incompatible on Windows and was reverted by #320 to > the initial one. > > (The prerequisite to implement it in) an alternative way is #288, and > it's still cooking. This effectively reverts the following commits: - dacd08937ccd ("ssl: suppress test failure with SSLContext#add_certificate_chain_file", 2020-03-09) - 46e4bdba40c5 ("Add support for SSL_CTX_use_certificate_chain_file. Fixes #254.", 2019-06-13)
2020-05-13[ruby/openssl] pkey: add PKey#inspect and #oidKazuki Yamaguchi
Implement OpenSSL::PKey::PKey#oid as a wrapper around EVP_PKEY_id(). This allows user code to check the type of a PKey object. EVP_PKEY can have a pkey type for which we do not provide a dedicated subclass. In other words, an EVP_PKEY that is not any of {RSA,DSA,DH,EC} can exist. It is currently not possible to distinguish such a pkey. Also, implement PKey#inspect to include the key type for convenience.
2020-05-13[ruby/openssl] Fix signing example to not use Digest instanceBart de Water
2020-05-13[ruby/openssl] Look up cipher by name instead of constantBart de Water
2020-05-13[ruby/openssl] Remove 'mapping between Digest class and sn/ln'Bart de Water
This is not present in the referenced files anymore, and not useful to most users
2020-05-13[ruby/openssl] Look up digest by name instead of constantBart de Water
2020-05-13[ruby/openssl] Add Marshal support to PKey objectsBart de Water
2020-05-12Stop always inlining not-optimized get/setivarTakashi Kokubun
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 ```
2020-05-13ext/bigdecimal/bigdecimal.c, ext/date/date_core.c: undef NDEBUGYusuke Endoh
`#define NDEBUG` produces "macro redefined" warnings when it is already defined via cppflags
2020-05-13ext/openssl/ossl.h: Remove a variable that is used only in assertYusuke Endoh
It produces "unused variable" warnings in NDEBUG mode
2020-05-13ext/fiddle/extconf.rb: Fix the condition of libffi <= 3.1Yusuke Endoh
ver is [3, 1, 0] which is not less then or equal to [3, 1]
2020-05-12Document that #hash is not called for certain core classes [ci skip]Jeremy Evans
Fixes [Bug #16850]
2020-05-13Do not try ffi_closure_alloc if libffi is <= 3.1Yusuke Endoh
Maybe due to e1855100e46040e73630b378974c17764e0cccee, CentOS, RHEL, and Fedora CIs have started failing with SEGV. Try to avoid ffi_closure_alloc on those environments.
2020-05-13Bump version to use RSpec 3.8+Hiroshi SHIBATA
Notes: Merged:
2020-05-13Skip the examples for bundle exec with gem installationHiroshi SHIBATA
Notes: Merged:
2020-05-13Marked the some examples that are not working with the ruby repositoryHiroshi SHIBATA
Notes: Merged:
2020-05-13Use relative path in ruby core repositoryHiroshi SHIBATA
Notes: Merged:
2020-05-13Unmask the some of examples with ruby_repo labelHiroshi SHIBATA
Notes: Merged:
2020-05-13Skip the example to use rake commandHiroshi SHIBATA
Notes: Merged:
2020-05-13skip lockfile_spec.rb:33 because it cleanup the .bundle repoHiroshi SHIBATA
Notes: Merged:
2020-05-13Resolved the file path of gemspec for ruby core repositoryHiroshi SHIBATA
Notes: Merged:
2020-05-13Bump version to use Rake 13 in bundler examplesHiroshi SHIBATA
Notes: Merged:
2020-05-13Added test_gems.rb for setup dependenciesHiroshi SHIBATA
Notes: Merged:
2020-05-13Partly reverted bundler.gemspec for ruby core testingHiroshi SHIBATA
Notes: Merged:
2020-05-13Update the bundler version with master branchHiroshi SHIBATA
Notes: Merged:
2020-05-13* 2020-05-13 [ci skip]git
2020-05-13ext/fiddle/extconf.rb: check if ffi_closure_alloc is availableYusuke Endoh
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: ``` 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*, | ^~~~~~~~~~~~~~~~ ```
2020-05-12Build auxiliary program files earlyNobuyoshi Nakada should be updated even if no changes [ci skip]Nobuyoshi Nakada
As this rule does not use a separate timestamp file, the target will be rebuilt every time once it is outdated.
2020-05-12Added String#split benchmark for empty regexpNobuyoshi Nakada
| |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|
2020-05-12Optimize String#splitNobuyoshi Nakada
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: Notes: Merged:
2020-05-12test/lib/jit_support.rb: Let JIT tests skip on centos8Yusuke Endoh
It has the same issue as RHEL 8. k0kubun said he will fix later
2020-05-12.github: use actions/checkout@v2 again卜部昌平
Notes: Merged:
2020-05-12Revert "Sync did_you_mean"Nobuyoshi Nakada
This reverts commit 946dadd3f479198e87873a863d15c7660a8e2b56, which broke `TestGemRequire` and others.
2020-05-12fiddle: share the same config toolsNobuyoshi Nakada
Notes: Merged:
2020-05-12extlibs.rb: links in extracted directoryNobuyoshi Nakada
Allow to create symbolic links (if available) to share same or updated files. Notes: Merged:
2020-05-12extlibs.rb: added variable referencesNobuyoshi Nakada
Reduce duplicate parts such as package name and version numbers. Notes: Merged: