summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-20[rubygems/rubygems] Broader version compatibility in marshal testsSamuel Giddins
https://github.com/rubygems/rubygems/commit/6ec518c563
2023-09-20[rubygems/rubygems] Fix UTC time loadingSamuel Giddins
https://github.com/rubygems/rubygems/commit/2a4d0a44b0
2023-09-20[rubygems/rubygems] Add a Marshal.load replacement that walks an AST to ↵Samuel Giddins
safely load permitted classes/symbols https://github.com/rubygems/rubygems/commit/7e4478fe73
2023-09-20[ruby/yarp] Convert constant pool entries to a string type in Java LoaderBenoit Daloze
* Fixes https://github.com/ruby/yarp/issues/1389 * Fields of type `string` as kept as byte[]. https://github.com/ruby/yarp/commit/234c8f47c7
2023-09-19Fix typo in "refinements"Peter Zhu
2023-09-19Restore deleted .gitignorePeter Zhu
It was deleted in 7fc73ab5f6fbe46655855079954b26dcc14576b3.
2023-09-19Ignore JRuby extension syncTakashi Kokubun
Avoid alerting on failing with commits like https://github.com/ruby/psych/commit/fb97d899c5a62b743159d5a3c77b0813d2cbf9b6
2023-09-19[YARP] Minor linting [ci skip] (#8480)Jemma Issroff
2023-09-19[YARP] Use the static literal flagKevin Newton
2023-09-19[YARP] Implement GlobalVariableTargetNodeMatt Valentine-House
2023-09-19Remove dead function Init_MethodPeter Zhu
Init_Method no longer has any code, so we can remove it.
2023-09-19[ruby/yarp] Only use Ripper on CRubyBenoit Daloze
https://github.com/ruby/yarp/commit/9c23f53d7b
2023-09-19[ruby/yarp] Only keep semantic fields in Java, i.e. skip location fieldsBenoit Daloze
* Add $YARP_SERIALIZE_ONLY_SEMANTICS_FIELDS to control where to serialize location fields at templating time, this way there is no overhead for either case and nothing to check at runtime. * Add a byte in the header to indicate whether location fields are included as expected. * Fixes https://github.com/ruby/yarp/issues/807 * Simplify the build-java CI job now that the FFI backend is available so JRuby can serialize. * Support keeping some location fields which are still needed until there is a replacement https://github.com/ruby/yarp/commit/fc5cf2df12
2023-09-19[ruby/yarp] Better Node#pretty_printKevin Newton
Respect the current indentation https://github.com/ruby/yarp/commit/068333ef49
2023-09-19[ruby/yarp] Ignore parseing specific files on TruffleRuby to make CI greenJemma Issroff
CI is currently failing due to an issue with Ripper on the latest TruffleRuby version. This commit removes the offending tests from running, to ensure CI is green again. https://github.com/ruby/yarp/commit/dae2c80c42
2023-09-19[ruby/yarp] fix: handling escaped whitespace in a %w listMike Dalessio
Introduces a new flavor of unescaping, YP_UNESCAPE_WHITESPACE, which is the same as MINIMAL but also unescapes whitespace. Note that a spanning_heredoc.txt fixture test is updated to be less wrong, but YARP's behavior doesn't yet fully match Ruby in this case. Fixes https://github.com/ruby/yarp/pull/1505 https://github.com/ruby/yarp/commit/0af69bdeb1
2023-09-19[ruby/yarp] Explicitly use u32 for constant poolKevin Newton
https://github.com/ruby/yarp/commit/32b173e6c8
2023-09-19[ruby/yarp] Consistently place block arguments on block slot for callKevin Newton
https://github.com/ruby/yarp/commit/fe208302e5
2023-09-19[ruby/yarp] fix computation of memsize for constant id listsNathan Froyd
https://github.com/ruby/yarp/commit/df72517fd1
2023-09-19[ruby/yarp] fix computation of memsize for node listsNathan Froyd
https://github.com/ruby/yarp/commit/02aab8b026
2023-09-19[YARP] Implement ClassVariableTargetNodeMatt Valentine-House
2023-09-19[YARP] Implement InstanceVariableTargetNode, LocalVariableTargetNodeMatt Valentine-House
2023-09-19[YARP] Implement ConstantTargetNodeMatt Valentine-House
2023-09-19Revert vcpkg.exe to previous release [ci skip]Nobuyoshi Nakada
The latest fails to extract downloaded zip files.
2023-09-19[rubygems/rubygems] Reduce allocations for stub specificationsSamuel Giddins
This helps with memory usage during application boot time ``` ==> memprof.after.txt <== Total allocated: 1.43 MB (18852 objects) Total retained: 421.12 kB (4352 objects) ==> memprof.before.txt <== Total allocated: 2.43 MB (28355 objects) Total retained: 469.69 kB (5425 objects) ``` See https://bugs.ruby-lang.org/issues/19890 about the readline allocations https://github.com/rubygems/rubygems/commit/d7eb66eee3
2023-09-19[rubygems/rubygems] Lazily construct fetcher debug messagesSamuel Giddins
Avoids constructing several strings https://github.com/rubygems/rubygems/commit/8a322dbe11
2023-09-19[Bug #18257] Register the class path of FrozenCore to markNobuyoshi Nakada
ICLASS does not have the path usually, so it needs to be registered separately.
2023-09-19Stop exposing FrozenCore in headersNobuyoshi Nakada
Revert commit "Directly allocate FrozenCore as an ICLASS", 813a5f4fc46a24ca1695d23c159250b9e1080ac7.
2023-09-19[ruby/securerandom] Removed extra argument for build failure of ruby/rubyHiroshi SHIBATA
https://github.com/ruby/ruby/actions/runs/6230184763/job/16909829150 https://github.com/ruby/securerandom/commit/f60582432c
2023-09-19[ruby/securerandom] Add support for UUID version 7nick evans
Although the specification for UUIDv7 is still in draft, the UUIDv7 algorithm has been relatively stable as it progresses to completion. Version 7 UUIDs can be very useful, because they are lexographically sortable, which can improve e.g: database index locality. See section 6.10 of the draft specification for further explanation: https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/ The specification allows up to 12 bits of extra timestamp precision, to make UUID generation closer to monotonically increasing. This provides between 1ms and ~240ns of timestamp precision. At the cost of some code complexity and a small performance penalty, a kwarg may specify any arbitrary precision between 0 and 12 extra bits. Any stronger guarantees of monotonicity have considerably larger tradeoffs, so nothing more is implemented. This limitation is documented. Ruby issue: https://bugs.ruby-lang.org/issues/19735 https://github.com/ruby/securerandom/commit/34ed1a2ec3
2023-09-19[ruby/net-http] No longer neccessary to call `String#freeze` on string literals.0x1eef
See #144 https://github.com/ruby/net-http/commit/5a986c13d3
2023-09-19[rubygems/rubygems] Bump actions/checkout to v4 in bundler gem templateYoshiki Takagi
https://github.com/rubygems/rubygems/commit/5ed4c600da
2023-09-19[ruby/base64] Bump required_ruby_version to 2.4.0Jeremy Evans
The gem depends on String#unpack1, which was introduced in Ruby 2.4. https://github.com/ruby/base64/commit/9f0e4ba155
2023-09-18[DOC] Add production performance tips to yjit.md (#8472)Takashi Kokubun
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
2023-09-18[ruby/yarp] Use compact_child_nodes where possibleKevin Newton
https://github.com/ruby/yarp/commit/c1911fa9b1
2023-09-18[YARP] Restructure tests to compare YARP evaluation to CRuby evaluation (#8467)Jemma Issroff
Previously, we were hardcoding the expected evaluation value. Now, instead, we structure it so that we compare the YARP evaluation value against CRuby's evaluation value.
2023-09-18Only sort the heap on platforms with compactionMatt Valentine-House
2023-09-18Allow pages to be sorted by pinned slot countMatt Valentine-House
By compacting into slots with pinned objects first, we improve the efficiency of compaction. As it is less likely that there will exist pages containing only pinned objects after compaction. This will increase the number of free pages left after compaction and enable us to free them. This used to be the default compaction method before it was removed (inadvertently?) during the introduction of auto_compaction. This commit will sort the pages by the pinned slot count at the start of a major GC that has been triggered by explicitly calling GC.compact (and thus setting objspace->flags.during_compaction). It works using the same method by which we sort the heap by empty slot count during GC.verify_compaction_references.
2023-09-18Move heap sorting into the main GC loopMatt Valentine-House
Previously it was only being sorted during the verify compaction references stage - so would only happen during testing. This commit allows us to sort the heap prior to each explicit GC.compact run
2023-09-18Enable different heap sort methods during compactionMatt Valentine-House
pass the sorting function in as a function pointer so we don't always sort by how empty a page is
2023-09-18[YARP] Miscellaneous bug fixes (#8453)Jemma Issroff
Miscellaneous bug fixes
2023-09-18[Bug #19887] RUBYOPT should work without leading `-`Nobuyoshi Nakada
2023-09-18Simplify restoring ENVNobuyoshi Nakada
2023-09-17[ruby/irb] Test should not depend on user's irbrc file specified bytomoya ishida
ENV['IRBRC'] (https://github.com/ruby/irb/pull/717) https://github.com/ruby/irb/commit/1d2d35dd33
2023-09-18Fix `git cat-file` conditionNobuyoshi Nakada
When multiple files changed in the same directory to be removed, the first file only was removed from changed set.
2023-09-18Refactor test_sync_default_gems.rbNobuyoshi Nakada
2023-09-17[ruby/fiddle] Suppress -Wundef warnings on arm64 macOS and WindowsNobuyoshi Nakada
(https://github.com/ruby/fiddle/pull/134) ``` In file included from ../../../../ext/fiddle/fiddle.h:46: /opt/local/include/ffi.h:477:5: warning: 'FFI_GO_CLOSURES' is not defined, evaluates to 0 [-Wundef] ^ ``` c.f. https://github.com/libffi/libffi/pull/796 https://github.com/ruby/fiddle/commit/d4feb57098
2023-09-17[DOC] Mention "-" in ARGFNobuyoshi Nakada
2023-09-17Move special patterns to the common patternNobuyoshi Nakada
2023-09-17[Bug #19778] Pass additional include options to INCFLAGS in common.mkNobuyoshi Nakada