From: normalperson@... Date: 2018-05-30T23:01:40+00:00 Subject: [ruby-core:87311] [Ruby trunk Misc#14798] [PATCH] gc.c: reduce parameters for gc_start and garbage_collect Issue #14798 has been reported by normalperson (Eric Wong). ---------------------------------------- Misc #14798: [PATCH] gc.c: reduce parameters for gc_start and garbage_collect https://bugs.ruby-lang.org/issues/14798 * Author: normalperson (Eric Wong) * Status: Open * Priority: Normal * Assignee: ---------------------------------------- ``` Every time I look at gc.c, I get confused by argument ordering: gc_start(..., TRUE, TRUE, FALSE, ...) gc_start(..., FALSE, FALSE, FALSE, ... ) While we do not have kwargs in C, we can use flags to improve readability: gc_start(..., GPR_FLAG_FULL_MARK | GPR_FLAG_IMMEDIATE_MARK | GPR_FLAG_IMMEDIATE_SWEEP | ...) It's a little more verbose, but maybe "_FLAG" is unnecessary, even. Full diff: https://80x24.org/spew/20180530224643.21110-1-e@80x24.org/raw Broken out patches: https://80x24.org/spew/20180530224643.21110-2-e@80x24.org/raw https://80x24.org/spew/20180530224643.21110-3-e@80x24.org/raw https://80x24.org/spew/20180530224643.21110-4-e@80x24.org/raw Or pull request: The following changes since commit b9212a7771a5e67f3b48bbf4c76cd087a8d87e49: Ignore bundler assertions on ruby core test suite. (2018-05-30 13:03:47 +0000) are available in the Git repository at: git://80x24.org/ruby gc-params for you to fetch changes up to d343b643df5d670548f545dfe1f14e3f8e5f4738: gc.c: introduce GPR_FLAG_FULL_MARK to reduce parameters (2018-05-30 22:47:14 +0000) ---------------------------------------------------------------- Eric Wong (3): gc.c: reduce boolean parameters for gc_start / garbage_collect gc.c: introduce GPR_FLAG_IMMEDIATE_MARK to reduce parameters gc.c: introduce GPR_FLAG_FULL_MARK to reduce parameters gc.c | 78 +++++++++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 31 deletions(-) ``` ---Files-------------------------------- gc.c-reduce-function-parameters.patch (8.15 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: