[#70257] [Ruby trunk - Feature #11420] [Open] Introduce ID key table into MRI — ko1@...

Issue #11420 has been reported by Koichi Sasada.

11 messages 2015/08/06

[ruby-core:70241] Force ruby to allocate a new heap page

From: Cesar De Hoyos <cdehoyos@...>
Date: 2015-08-04 15:08:58 UTC
List: ruby-core #70241
Hello! I was redirected here from the IRC #ruby while discussing an
implementation issue I'm having in gc.c (Ruby 2.2.2)

A group of students including me are working on a process-based support for
parallelization in Ruby.

We require that our processes have different virtual addresses for
allocations that occur during a parallel task. The cleanest solution we
could think of so far is to force ruby to allocate a new heap page.

We believe this can be done by temporarily hiding the free_pages reference
in eden_heap, hiding the freelist head reference for each of its heap pages
(by saving old value and setting to NULL in both cases), and preventing a
resurrect call in heap_page_create to force a heap_page_allocate.

If anyone here is familiar with the gc code, we would appreciate any
feedback on the proposed solution. You probably know better than us if the
method will not work for sure or if it is possibly viable.

Thanks in advance!


-Cesar De Hoyos

In This Thread

Prev Next