From: "eightbitraptor (Matthew Valentine-House) via ruby-core" Date: 2023-02-17T20:24:08+00:00 Subject: [ruby-core:112483] [Ruby master Bug#19442] Remove USE_RINCGC flag Issue #19442 has been updated by eightbitraptor (Matthew Valentine-House). Some more context on this ticket. @peterzhu2118 did a gem code search for `USE_RINCGC` and that returned 4 distinct gems: 1. [Rhodes 7.5.1](https://rubygems.org/gems/rhodes/versions/7.5.1) - This gem vendors the complete source code of Ruby 2.3.4 inside `platform/shared/ruby`. 1. [ruby-compiler 0.1.1](https://rubygems.org/gems/ruby-compiler) - This gem was last released in 2016 and vendored a complete source code of Ruby 2.4. The git repo has since been renamed (to `ruby-packer`) and has been updated more recently. It still vendors a complete copy of Ruby, but this has been updated to 2.7 1. [ruby_memprofiler_pprof](https://rubygems.org/gems/ruby_memprofiler_pprof) - This uses `USE_RINCGC`, as a default value to `GC_ENABLE_INCREMENTAL_MARK`, although I'm not sure what for. This gem will require an update to work with Ruby 2.3 if this patch gets merged as is (/cc @KJTsanaktsidis who works on this gem). 1. [zscan 2.0.9](https://rubygems.org/gems/zscan) - This gem committed the public header directories `include/ruby/internal` and `include/ruby/backward` into it's source code in May 2020. They've not been updated since. So it looks like the only codebase that is at risk of being impacted by this change is `ruby_memprofiler_pprof` - all the others are vendoring specific versions of Ruby. So upgrading to future versions for them will be a bigger challenge regardless of this patch. ---------------------------------------- Bug #19442: Remove USE_RINCGC flag https://bugs.ruby-lang.org/issues/19442#change-101926 * Author: eightbitraptor (Matthew Valentine-House) * Status: Open * Priority: Normal * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- [GitHub PR #7317](https://github.com/ruby/ruby/pull/7313) ~~Ruby doesn't compile when USE_RINCGC is disabled. It's also not being tested in CI. As @nobu has pointed out in comments on the PR, fixing it is simple.~~ This was fixed in [this commit](https://github.com/ruby/ruby/commit/21543ac86ce0b730c1381588d7dc9eb0e32277c7) I think we should remove `USE_RINCGC` entirely and always run with incremental GC enabled, because I don't think this flag is being actively used, and removing it will simplify the code and reduce the cognitive overhead of working with the GC. We have a precedent for this: `USE_RGENGC=0` was removed [in this commit](https://github.com/ruby/ruby/commit/62c2b8c74e47652fc5bbaf6150f4acd092dfd72b) almost 3 years ago. `USE_RINCGC=0` is in a similar state. It has been broken for almost a year (since [this commit](https://github.com/ruby/ruby/commit/dde164e968e382d50b07ad4559468885cbff33ef)), and [disabled in CI for more than 2 years](https://github.com/ruby/ruby/commit/46d3ea2c2569e2e5a9ee3e7e206f07f0f8b693f5). -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/