Project

General

Profile

Actions

Feature #15305

open

[PATCH] include/ruby/ruby.h (RB_ALLOCV*): remove GC guard

Added by normalperson (Eric Wong) almost 3 years ago. Updated about 2 months ago.

Status:
Open
Priority:
Normal
Target version:
-
[ruby-core:89805]

Description

include/ruby/ruby.h (RB_ALLOCV*): remove unnecessary GC guard

At least I'm not seeing how it's necessary, as it defeats
optimization at allocation time (instead of protecting the
VALUE from being GC-ed)

Anyways, there's a measurable size reduction:

text           data     bss     dec     hex filename

3535061 21232 72944 3629237 3760b5 ruby.before
3534141 21232 72944 3628317 375d1d ruby.after

I also don't get the point of using atomics in rb_free_tmp_buffer;
but that's a separate issue...


Files

Updated by nobu (Nobuyoshi Nakada) almost 3 years ago

LGTM.
It might be a result by trial&error.

Updated by normalperson (Eric Wong) almost 3 years ago

nobu@ruby-lang.org wrote:

https://bugs.ruby-lang.org/issues/15305#change-74878

LGTM.
It might be a result by trial&error.

OK, r65744

Any comment about the atomics in rb_free_tmp_buffer? Thanks.

I also don't get the point of using atomics in rb_free_tmp_buffer;
but that's a separate issue...

Actions #3

Updated by hsbt (Hiroshi SHIBATA) about 2 months ago

  • Tracker changed from Misc to Feature
Actions

Also available in: Atom PDF