summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-06[DOC] Rdoc for Process::Status (#8386)Burdette Lamar
Notes: Merged-By: peterzhu2118 <peter@peterzhu.ca>
2023-09-06[ruby/yarp] Consider source encoding for `slice`Vinicius Stock
https://github.com/ruby/yarp/commit/8f59fc27cd Co-authored-by: Kevin Newton <kddnewton@users.noreply.github.com>
2023-09-06YJIT: Different comment when only setting ec->cfp [ci skip]Alan Wu
2023-09-06[ruby/yarp] Fix `Location#end_column`Andy Waite
https://github.com/ruby/yarp/commit/00e4711026
2023-09-06Fix crash in WeakMap during compactionPeter Zhu
WeakMap can crash during compaction because the st_insert could allocate memory.
2023-09-06[ruby/yarp] Constant on block parameter nodeKevin Newton
https://github.com/ruby/yarp/commit/2cd9a67150
2023-09-06Try to fix flaky test_warmup_frees_pagesPeter Zhu
This test sometimes fails with: ``` 1) Failure: TestProcess#test_warmup_frees_pages [test/ruby/test_process.rb:2750]: <202> expected but was <203>. ```
2023-09-06YJIT: Make compiled_* stats available by default (#8379)Takashi Kokubun
* YJIT: Make compiled_* stats available by default * Update comment about default counters [ci skip] Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> --------- Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-09-06[ruby/yarp] Constants on classes and modulesKevin Newton
(https://github.com/ruby/yarp/pull/1409) https://github.com/ruby/yarp/commit/0a11ec579f
2023-09-06[YARP] ClassNode and ModuleNode use name_constant (#8384)Jemma Issroff
Notes: Merged-By: jemmaissroff
2023-09-06Fix missing write barrier in iseq instruction listPeter Zhu
There's a missing write barrier for operands in the iseq instruction list, which can cause crashes. It can be reproduced when Ruby is compiled with `-DRUBY_DEBUG_ENV=1`. Using the following command: ``` RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=0 RUBY_DEBUG=gc_stress ruby -w --disable=gems -Itool/lib -W0 test.rb ``` The following script crashes: ``` require "test/unit" ``` Notes: Merged: https://github.com/ruby/ruby/pull/8385
2023-09-06[ruby/yarp] Fix assert_raises in YARPKevin Newton
https://github.com/ruby/yarp/commit/8f8f3530aa
2023-09-06[YARP] Use constant_id lookups where possible (#8374)Jemma Issroff
This commit extracts a `yp_constant_id_lookup` method and uses yp_constant_id_lookup where possible Notes: Merged-By: jemmaissroff
2023-09-06[ruby/yarp] Temporarily add name_constant to replace name on ↵Kevin Newton
ClassNode/ModuleNode https://github.com/ruby/yarp/commit/8f87686e9c
2023-09-06[ruby/yarp] Introduce YARP::PatternKevin Newton
https://github.com/ruby/yarp/commit/2a12e9637b
2023-09-06[ruby/yarp] Add constants and constantsKevin Newton
https://github.com/ruby/yarp/commit/d7eaa89bc3
2023-09-06Support freeing the lowest memory address pagePeter Zhu
This should help fix the following flaky test: ``` 1) Failure: TestProcess#test_warmup_frees_pages [test/ruby/test_process.rb:2751]: <0> expected but was <1>. ``` Notes: Merged: https://github.com/ruby/ruby/pull/8369
2023-09-06[ruby/yarp] Add deprecated aliases of the form YP_NODE_<name>_NODEBenoit Daloze
https://github.com/ruby/yarp/commit/ae1f45ff52
2023-09-06[ruby/yarp] Rename YP_NODE_*_NODE to YP_*_NODEBenoit Daloze
https://github.com/ruby/yarp/commit/d93b93f342
2023-09-06Use the test-unit-ruby-core gem for Test::Unit::CoreAssertionsKazuki Yamaguchi
test/lib/core_assertions.rb and its dependencies are now packaged in the gem test-unit-ruby-core. Let's use it instead.
2023-09-06[ruby/openssl] test/openssl/test_pkey_ec.rb: refactor tests for ↵Kazuki Yamaguchi
EC.builtin_curves Check that OpenSSL::PKey::EC.builtin_curves returns an array in the expected format. Similarly to OpenSSL::Cipher.ciphers, OpenSSL::PKey::EC.builtin_curves returns a list of known named curves rather than actually usable ones. https://github.com/ruby/openssl/issues/671 found that the list may include unapproved (and thus unusable) curves when the FIPS module is loaded. https://github.com/ruby/openssl/commit/c53cbabe00
2023-09-06[ruby/openssl] test/openssl/test_ossl.rb: relax assertion for error messagesKazuki Yamaguchi
The test case test_error_data utilizes the error message generated by X509V3_EXT_nconf_nid(). The next commit will use X509V3_EXT_nconf(), which generates a slightly different error message. Let's adapt the check to it. https://github.com/ruby/openssl/commit/9cdfa3a4d1
2023-09-06[ruby/openssl] x509ext: let X509::ExtensionFactory#create_ext take a dotted ↵Michael Richardson
OID string instead of looking of NIDs and then using X509V3_EXT_nconf_nid, instead just pass strings to X509V3_EXT_nconf, which has all the logic for processing dealing with generic extensions also process the oid through ln2nid() to retain compatibility. [rhe: tweaked commit message and added a test case] https://github.com/ruby/openssl/commit/9f15741331
2023-09-06[ruby/openssl] x509ext: test OpenSSL::X509::ExtensionFactory#create_ext with lnKazuki Yamaguchi
OpenSSL::X509::ExtensionFactory#create_ext and #create_extensions accepts both sn (short names) and ln (long names) for registered OIDs. This is different from the behavior of the openssl command-line utility which accepts only sn in openssl.cnf keys. Add a test case to check this. https://github.com/ruby/openssl/commit/91ae46c8d7
2023-09-06[ruby/openssl] Fix OCSP documentationPetrik
`port` should be called on the `ocsp_uri` URI instead of `ocsp`, which is just a string. https://github.com/ruby/openssl/commit/89a1c82dd0
2023-09-06[ruby/openssl] Prefer String#unpack1Mau Magnaguagno
(https://github.com/ruby/openssl/pull/586) String#unpack1 avoids the intermediate array created by String#unpack for single elements, while also making a call to Array#first/[0] unnecessary. https://github.com/ruby/openssl/commit/8eb0715a42
2023-09-06[ruby/openssl] ssl: use ffdhe2048 from RFC 7919 as the default DH group ↵Kazuki Yamaguchi
parameters In TLS 1.2 or before, if DH group parameters for DHE are not supplied with SSLContext#tmp_dh= or #tmp_dh_callback=, we currently use the self-generated parameters added in commit https://github.com/ruby/openssl/commit/bb3399a61c03 ("support 2048 bit length DH-key", 2016-01-15) as the fallback. While there is no known weakness in the current parameters, it would be a good idea to switch to pre-defined, more well audited parameters. This also allows the fallback to work in the FIPS mode. The PEM encoding was derived with: # RFC 7919 Appendix A.1. ffdhe2048 print OpenSSL::PKey.read(OpenSSL::ASN1::Sequence([OpenSSL::ASN1::Integer((<<-END).split.join.to_i(16)), OpenSSL::ASN1::Integer(2)]).to_der).to_pem FFFFFFFF FFFFFFFF ADF85458 A2BB4A9A AFDC5620 273D3CF1 D8B9C583 CE2D3695 A9E13641 146433FB CC939DCE 249B3EF9 7D2FE363 630C75D8 F681B202 AEC4617A D3DF1ED5 D5FD6561 2433F51F 5F066ED0 85636555 3DED1AF3 B557135E 7F57C935 984F0C70 E0E68B77 E2A689DA F3EFE872 1DF158A1 36ADE735 30ACCA4F 483A797A BC0AB182 B324FB61 D108A94B B2C8E3FB B96ADAB7 60D7F468 1D4F42A3 DE394DF4 AE56EDE7 6372BB19 0B07A7C8 EE0A6D70 9E02FCE1 CDF7E2EC C03404CD 28342F61 9172FE9C E98583FF 8E4F1232 EEF28183 C3FE3B1B 4C6FAD73 3BB5FCBC 2EC22005 C58EF183 7D1683B2 C6F34A26 C1B2EFFA 886B4238 61285C97 FFFFFFFF FFFFFFFF END https://github.com/ruby/openssl/commit/a5527cb4f4
2023-09-06[ruby/openssl] Refactor Buffering consume_rbuff and getbyte methodsMau Magnaguagno
Prefer ``slice!`` for ``Buffering#consume_rbuff`` and safe navigation with ``ord`` for ``Buffering#getbyte``, similar to ``each_byte``. https://github.com/ruby/openssl/commit/5f6abff178
2023-09-06[ruby/openssl] Remove OSSL_DEBUG compile-time optionKazuki Yamaguchi
Remove the OSSL_DEBUG flag and OpenSSL.mem_check_start which is only compiled when the flag is given. They are meant purely for development of Ruby/OpenSSL. OpenSSL.mem_check_start helped us find memory leak bugs in past, but it is no longer working with the recent OpenSSL versions. Let's just remove it now. https://github.com/ruby/openssl/commit/8c7a6a17e2
2023-09-06`RHASH_AR_TABLE` never returns NULL now [ci skip]Nobuyoshi Nakada
2023-09-06Exclude `-Wmisleading-indentation` when `-save-temps`Nobuyoshi Nakada
That option may be triggered wrongly by pre-processed files. Notes: Merged: https://github.com/ruby/ruby/pull/8382
2023-09-05[YARP] Fix warning on compiling constant test (#8377)Jemma Issroff
Notes: Merged-By: jemmaissroff
2023-09-05[ruby/yarp] Flatten CallAndWriteNode, CallOrWriteNode, and CallOperatorWriteNodeKevin Newton
https://github.com/ruby/yarp/commit/8f26ffa0b2
2023-09-05[ruby/yarp] Rename CallNode#operator_loc to CallNode#call_operator_locKevin Newton
https://github.com/ruby/yarp/commit/fbcd307a54
2023-09-05YJIT: Silence Clippy for bindgen generated codeAlan Wu
New Clippy lint in 1.72.0 is breaking our build as GitHub has updated their image. No point hearing about lints from generated code we don't manually write.
2023-09-05[ruby/yarp] Introduce a BlockLocalVariableNodeKevin Newton
This is a tradeoff that I think is worth it. Right now we have a location list that tracks the location of each of the block locals. Instead, I'd like to make that a node list that has a proper node in each spot in the list. In doing so, we eliminate the need to have a location list at all, making it simpler on all of the various consumers as we have one fewer field type. There should be minimal memory implications here since this syntax is exceedingly rare. https://github.com/ruby/yarp/commit/04d329ddf0
2023-09-05Introduce rb_gc_remove_weakPeter Zhu
If we're during incremental marking, then Ruby code can execute that deallocates certain memory buffers that have been called with rb_gc_mark_weak, which can cause use-after-free bugs. Notes: Merged: https://github.com/ruby/ruby/pull/8375
2023-09-05Reuse allocated buffer in WeakMapPeter Zhu
If the key exists in WeakMap and WeakKeyMap, then we can reuse the buffer and we can avoid an allocation. Notes: Merged: https://github.com/ruby/ruby/pull/8375
2023-09-05[YARP] Fix aliasing instructions to use INT2FIX (#8373)Jemma Issroff
Notes: Merged-By: jemmaissroff
2023-09-05[DOC] Fix for RDoc for Process.kill (#8370)Burdette Lamar
Notes: Merged-By: peterzhu2118 <peter@peterzhu.ca>
2023-09-06Suppress macro redefinition warningsNobuyoshi Nakada
When building with ruby, `snprintf` is replaced with `ruby_snprintf`.
2023-09-05Rename shady to uncollectible_wb_unprotectedPeter Zhu
The term "shady object" was renamed to "uncollectible write barrier unprotected object", so rename `has_uncollectible_shady_objects` to `has_uncollectible_wb_unprotected_objects` for consistency. Notes: Merged: https://github.com/ruby/ruby/pull/8351
2023-09-05[YARP] Implemented Compiler for Constant(Or/Operator/And)Nodes (#8355)Jemma Issroff
Notes: Merged-By: jemmaissroff
2023-09-05Pool more slots for large size poolsPeter Zhu
We always sweep at least 2048 slots per sweep step, but only pool one page. For large size pools, 2048 slots is many pages but one page is very few slots. This commit changes it so that at least 1024 slots are placed in the pooled pages per sweep step. Notes: Merged: https://github.com/ruby/ruby/pull/8249
2023-09-05[ruby/yarp] Fix up CI for Ruby 2.5Kevin Newton
https://github.com/ruby/yarp/commit/462cb561a9
2023-09-05[ruby/yarp] Switch `ERB.new` at startupNobuyoshi Nakada
https://github.com/ruby/yarp/commit/b87b4450cc
2023-09-05[ruby/yarp] Read template in UTF-8Nobuyoshi Nakada
https://github.com/ruby/yarp/commit/864b4ce99f
2023-09-05[ruby/yarp] The value field of ClassVariableWriteNode is never null/nilBenoit Daloze
https://github.com/ruby/yarp/commit/2ddd2eff94
2023-09-05Update default gems list at d83b5ea09d537431ff39d68de8832d [ci skip]git
2023-09-05[ruby/irb] Bump version to 1.8.1Stan Lo
(https://github.com/ruby/irb/pull/706) https://github.com/ruby/irb/commit/c7c838a4bf