ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag
@ 2023-02-16 10:54 eightbitraptor (Matthew Valentine-House) via ruby-core
  2023-02-16 13:13 ` [ruby-core:112450] " nobu (Nobuyoshi Nakada) via ruby-core
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: eightbitraptor (Matthew Valentine-House) via ruby-core @ 2023-02-16 10:54 UTC (permalink / raw)
  To: ruby-core; +Cc: eightbitraptor (Matthew Valentine-House)

Issue #19442 has been reported by eightbitraptor (Matthew Valentine-House).

----------------------------------------
Bug #19442: Remove USE_RINCGC flag
https://bugs.ruby-lang.org/issues/19442

* 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.

I think there are 2 approaches we could take:

1. Remove `USE_RINCGC` entirely and always run with incremental GC enabled. 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).

2. We could fix `USE_RINCGC`. If we do this we should re-enable the CI task so that we continue to keep it working in the future.

I am very much in favour of option 1, 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. However I am happy to defer to the team here. 





-- 
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/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:112450] [Ruby master Bug#19442] Remove USE_RINCGC flag
  2023-02-16 10:54 [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag eightbitraptor (Matthew Valentine-House) via ruby-core
@ 2023-02-16 13:13 ` nobu (Nobuyoshi Nakada) via ruby-core
  2023-02-16 13:19 ` [ruby-core:112451] " nobu (Nobuyoshi Nakada) via ruby-core
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: nobu (Nobuyoshi Nakada) via ruby-core @ 2023-02-16 13:13 UTC (permalink / raw)
  To: ruby-core; +Cc: nobu (Nobuyoshi Nakada)

Issue #19442 has been updated by nobu (Nobuyoshi Nakada).


I don't think option 1 and 2 are exclusive.

----------------------------------------
Bug #19442: Remove USE_RINCGC flag
https://bugs.ruby-lang.org/issues/19442#change-101894

* 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.

I think there are 2 approaches we could take:

1. Remove `USE_RINCGC` entirely and always run with incremental GC enabled. 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).

2. We could fix `USE_RINCGC`. If we do this we should re-enable the CI task so that we continue to keep it working in the future.

I am very much in favour of option 1, 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. However I am happy to defer to the team here. 





-- 
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/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:112451] [Ruby master Bug#19442] Remove USE_RINCGC flag
  2023-02-16 10:54 [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag eightbitraptor (Matthew Valentine-House) via ruby-core
  2023-02-16 13:13 ` [ruby-core:112450] " nobu (Nobuyoshi Nakada) via ruby-core
@ 2023-02-16 13:19 ` nobu (Nobuyoshi Nakada) via ruby-core
  2023-02-16 14:41 ` [ruby-core:112453] " peterzhu2118 (Peter Zhu) via ruby-core
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: nobu (Nobuyoshi Nakada) via ruby-core @ 2023-02-16 13:19 UTC (permalink / raw)
  To: ruby-core; +Cc: nobu (Nobuyoshi Nakada)

Issue #19442 has been updated by nobu (Nobuyoshi Nakada).


Of course I'm **not** against the removal.
I just say removing the flag and fixing the bug are different stories.

----------------------------------------
Bug #19442: Remove USE_RINCGC flag
https://bugs.ruby-lang.org/issues/19442#change-101895

* 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.

I think there are 2 approaches we could take:

1. Remove `USE_RINCGC` entirely and always run with incremental GC enabled. 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).

2. We could fix `USE_RINCGC`. If we do this we should re-enable the CI task so that we continue to keep it working in the future.

I am very much in favour of option 1, 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. However I am happy to defer to the team here. 





-- 
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/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:112453] [Ruby master Bug#19442] Remove USE_RINCGC flag
  2023-02-16 10:54 [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag eightbitraptor (Matthew Valentine-House) via ruby-core
  2023-02-16 13:13 ` [ruby-core:112450] " nobu (Nobuyoshi Nakada) via ruby-core
  2023-02-16 13:19 ` [ruby-core:112451] " nobu (Nobuyoshi Nakada) via ruby-core
@ 2023-02-16 14:41 ` peterzhu2118 (Peter Zhu) via ruby-core
  2023-02-16 14:45 ` [ruby-core:112454] " eightbitraptor (Matthew Valentine-House) via ruby-core
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: peterzhu2118 (Peter Zhu) via ruby-core @ 2023-02-16 14:41 UTC (permalink / raw)
  To: ruby-core; +Cc: peterzhu2118 (Peter Zhu)

Issue #19442 has been updated by peterzhu2118 (Peter Zhu).


I'm for removing many of the untested code paths in gc.c since they may be buggy and are probably not used (like this one, which doesn't even compile so clearly nobody is using it).

----------------------------------------
Bug #19442: Remove USE_RINCGC flag
https://bugs.ruby-lang.org/issues/19442#change-101897

* 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.

I think there are 2 approaches we could take:

1. Remove `USE_RINCGC` entirely and always run with incremental GC enabled. 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).

2. We could fix `USE_RINCGC`. If we do this we should re-enable the CI task so that we continue to keep it working in the future.

I am very much in favour of option 1, 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. However I am happy to defer to the team here. 





-- 
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/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:112454] [Ruby master Bug#19442] Remove USE_RINCGC flag
  2023-02-16 10:54 [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag eightbitraptor (Matthew Valentine-House) via ruby-core
                   ` (2 preceding siblings ...)
  2023-02-16 14:41 ` [ruby-core:112453] " peterzhu2118 (Peter Zhu) via ruby-core
@ 2023-02-16 14:45 ` eightbitraptor (Matthew Valentine-House) via ruby-core
  2023-02-16 14:50 ` [ruby-core:112456] " eightbitraptor (Matthew Valentine-House) via ruby-core
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: eightbitraptor (Matthew Valentine-House) via ruby-core @ 2023-02-16 14:45 UTC (permalink / raw)
  To: ruby-core; +Cc: eightbitraptor (Matthew Valentine-House)

Issue #19442 has been updated by eightbitraptor (Matthew Valentine-House).


nobu (Nobuyoshi Nakada) wrote in #note-1:
> I don't think option 1 and 2 are exclusive.

I'm not sure what you mean by this. Do you mean it could be both fixed _and_ removed?

----------------------------------------
Bug #19442: Remove USE_RINCGC flag
https://bugs.ruby-lang.org/issues/19442#change-101898

* 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.

I think there are 2 approaches we could take:

1. Remove `USE_RINCGC` entirely and always run with incremental GC enabled. 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).

2. We could fix `USE_RINCGC`. If we do this we should re-enable the CI task so that we continue to keep it working in the future.

I am very much in favour of option 1, 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. However I am happy to defer to the team here. 





-- 
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/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:112456] [Ruby master Bug#19442] Remove USE_RINCGC flag
  2023-02-16 10:54 [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag eightbitraptor (Matthew Valentine-House) via ruby-core
                   ` (3 preceding siblings ...)
  2023-02-16 14:45 ` [ruby-core:112454] " eightbitraptor (Matthew Valentine-House) via ruby-core
@ 2023-02-16 14:50 ` eightbitraptor (Matthew Valentine-House) via ruby-core
  2023-02-17 20:24 ` [ruby-core:112483] " eightbitraptor (Matthew Valentine-House) via ruby-core
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: eightbitraptor (Matthew Valentine-House) via ruby-core @ 2023-02-16 14:50 UTC (permalink / raw)
  To: ruby-core; +Cc: eightbitraptor (Matthew Valentine-House)

Issue #19442 has been updated by eightbitraptor (Matthew Valentine-House).


@nobu I see you've just fixed it in [this commit](https://github.com/ruby/ruby/commit/21543ac86ce0b730c1381588d7dc9eb0e32277c7) 😅

Thanks! 

I'd still like to see it removed, but I'll update the ticked description to be more reflective of the current status.

----------------------------------------
Bug #19442: Remove USE_RINCGC flag
https://bugs.ruby-lang.org/issues/19442#change-101900

* 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.

I think there are 2 approaches we could take:

1. Remove `USE_RINCGC` entirely and always run with incremental GC enabled. 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).

2. We could fix `USE_RINCGC`. If we do this we should re-enable the CI task so that we continue to keep it working in the future.

I am very much in favour of option 1, 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. However I am happy to defer to the team here. 





-- 
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/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:112483] [Ruby master Bug#19442] Remove USE_RINCGC flag
  2023-02-16 10:54 [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag eightbitraptor (Matthew Valentine-House) via ruby-core
                   ` (4 preceding siblings ...)
  2023-02-16 14:50 ` [ruby-core:112456] " eightbitraptor (Matthew Valentine-House) via ruby-core
@ 2023-02-17 20:24 ` eightbitraptor (Matthew Valentine-House) via ruby-core
  2023-02-18  3:05 ` [ruby-core:112484] " kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: eightbitraptor (Matthew Valentine-House) via ruby-core @ 2023-02-17 20:24 UTC (permalink / raw)
  To: ruby-core; +Cc: eightbitraptor (Matthew Valentine-House)

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/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:112484] [Ruby master Bug#19442] Remove USE_RINCGC flag
  2023-02-16 10:54 [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag eightbitraptor (Matthew Valentine-House) via ruby-core
                   ` (5 preceding siblings ...)
  2023-02-17 20:24 ` [ruby-core:112483] " eightbitraptor (Matthew Valentine-House) via ruby-core
@ 2023-02-18  3:05 ` kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core
  2023-02-21 12:13 ` [ruby-core:112521] " byroot (Jean Boussier) via ruby-core
  2023-12-28  2:05 ` [ruby-core:115945] " ko1 (Koichi Sasada) via ruby-core
  8 siblings, 0 replies; 10+ messages in thread
From: kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core @ 2023-02-18  3:05 UTC (permalink / raw)
  To: ruby-core; +Cc: kjtsanaktsidis (KJ Tsanaktsidis)

Issue #19442 has been updated by kjtsanaktsidis (KJ Tsanaktsidis).


> ruby_memprofiler_pprof - This uses USE_RINCGC, as a default value to GC_ENABLE_INCREMENTAL_MARK, although I'm not sure what for. 

Because I copied this out of `gc.c` - https://github.com/ruby/ruby/blob/c024cc05efa2b5206c4bb45066d3c8e19af7e0d9/gc.c#L471. I think I needed a copy of the GC structures to implement `is_pointer_to_heap` in my gem, and of course the shape of those structures depends on the flags Ruby was compiled with.

In any case 1) I'm working (very slowly!) on a different approach to memory profiling now, 2) I completely expect new Ruby versions to break hacks like this, and 3) AFAIK absolutely nobody, myself included, is using this gem.


----------------------------------------
Bug #19442: Remove USE_RINCGC flag
https://bugs.ruby-lang.org/issues/19442#change-101927

* 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/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:112521] [Ruby master Bug#19442] Remove USE_RINCGC flag
  2023-02-16 10:54 [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag eightbitraptor (Matthew Valentine-House) via ruby-core
                   ` (6 preceding siblings ...)
  2023-02-18  3:05 ` [ruby-core:112484] " kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core
@ 2023-02-21 12:13 ` byroot (Jean Boussier) via ruby-core
  2023-12-28  2:05 ` [ruby-core:115945] " ko1 (Koichi Sasada) via ruby-core
  8 siblings, 0 replies; 10+ messages in thread
From: byroot (Jean Boussier) via ruby-core @ 2023-02-21 12:13 UTC (permalink / raw)
  To: ruby-core; +Cc: byroot (Jean Boussier)

Issue #19442 has been updated by byroot (Jean Boussier).


Similarly I think we should remove all the `RGENGC_WB_PROTECTED_*` flags  https://github.com/Shopify/ruby/commit/078d46c47cb0e41165e0112cd9669b3256625d8e.

----------------------------------------
Bug #19442: Remove USE_RINCGC flag
https://bugs.ruby-lang.org/issues/19442#change-101965

* 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/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:115945] [Ruby master Bug#19442] Remove USE_RINCGC flag
  2023-02-16 10:54 [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag eightbitraptor (Matthew Valentine-House) via ruby-core
                   ` (7 preceding siblings ...)
  2023-02-21 12:13 ` [ruby-core:112521] " byroot (Jean Boussier) via ruby-core
@ 2023-12-28  2:05 ` ko1 (Koichi Sasada) via ruby-core
  8 siblings, 0 replies; 10+ messages in thread
From: ko1 (Koichi Sasada) via ruby-core @ 2023-12-28  2:05 UTC (permalink / raw)
  To: ruby-core; +Cc: ko1 (Koichi Sasada)

Issue #19442 has been updated by ko1 (Koichi Sasada).


These kind of flags are provided to measure the impact with on/off the features.
We can simulate them with parameters, but we can not avoid overhead of write barriers completely, for example.
Anyway it was gone.

----------------------------------------
Bug #19442: Remove USE_RINCGC flag
https://bugs.ruby-lang.org/issues/19442#change-105900

* Author: eightbitraptor (Matthew Valentine-House)
* Status: Closed
* 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/

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-12-28  2:05 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-16 10:54 [ruby-core:112446] [Ruby master Bug#19442] Remove USE_RINCGC flag eightbitraptor (Matthew Valentine-House) via ruby-core
2023-02-16 13:13 ` [ruby-core:112450] " nobu (Nobuyoshi Nakada) via ruby-core
2023-02-16 13:19 ` [ruby-core:112451] " nobu (Nobuyoshi Nakada) via ruby-core
2023-02-16 14:41 ` [ruby-core:112453] " peterzhu2118 (Peter Zhu) via ruby-core
2023-02-16 14:45 ` [ruby-core:112454] " eightbitraptor (Matthew Valentine-House) via ruby-core
2023-02-16 14:50 ` [ruby-core:112456] " eightbitraptor (Matthew Valentine-House) via ruby-core
2023-02-17 20:24 ` [ruby-core:112483] " eightbitraptor (Matthew Valentine-House) via ruby-core
2023-02-18  3:05 ` [ruby-core:112484] " kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core
2023-02-21 12:13 ` [ruby-core:112521] " byroot (Jean Boussier) via ruby-core
2023-12-28  2:05 ` [ruby-core:115945] " ko1 (Koichi Sasada) via ruby-core

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).