This issue is somewhat related to the question of how to build a JIT,
but will also apply later when we try to attach GCC or some other
system to Guile.

The question is, how does one modify the Guile memory allocation
system so that you can request that some memory be executable? You
could make all memory executable, but that's probably not great for
security. You could allocate executable memory as-needed, as part of a
program or objcode structure, and free it when the structure is freed,
but it only comes in page-size chunks, so this would probably lead to
a huge over-use of memory. It seems like the right solution is to give
the GC system the ability to manage executable memory at the user's
request, but that will require some modifications.

So, people who are familiar with the GC system, where should those
modifications be made, and how would you do it?

Noah

Reply via email to