Allocating Executable Memory

Era Scarecrow rtcvb32 at yahoo.com
Tue Jul 31 11:30:58 PDT 2012


On Tuesday, 31 July 2012 at 17:23:08 UTC, Maxime Chevalier wrote:
> New to the D language here. I'm working on a tracing JIT 
> compiler and will need to allocate chunks of memory that are 
> marked as executable.
>
> Is there a standard way of doing this in D, or do I need to 
> directly call into mprotect? If I'm going to be calling 
> mprotect, what's the cleanest way to do that, do I need to 
> declare my own prototype for the function and its flags, or 
> should I write some C code that does the call?

  The x86 chip it's a simple flag that the OS can set. For use 
with like UPX, the whole section is marked read, write & execute 
I believe (since it has to expand it first before it can execute 
the code; That is of course for loaded memory, not 
allocating...). I would say check their sources, may prove 
interesting.


More information about the Digitalmars-d mailing list