[ruby-core:87618] Re: [Ruby trunk Bug#14858] Introduce 2nd GC heap named Transient heap

From: Eric Wong <normalperson@...>
Date: 2018-06-24 01:01:58 UTC
List: ruby-core #87618
ko1@atdot.net wrote:
> * Support String (most important)

I expect this will be difficult, too.

Too many places release GVL or otherwise trigger GC while
RSTRING_PTR is being used.

rb_str_locktmp is not widely-used (and not documented in
doc/extension.rdoc).  rb_str_tmp_frozen_acquire/release aren't
even exported, so GVL-releasing write()-like functions will
all be in trouble.

RSTRING_PTR will will have to be gradually replaced in similar
way to RARRAY_PTR is being replaced for RGenGC.

We have no idea how long a read()/write() will take when we
release GVL.

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next