[Vm-dev] Immutability through hardware

Andreas Raab andreas.raab at gmx.de
Mon May 9 14:20:34 UTC 2011


Yes, that idea has been discussed before. If you can assume an MMU there 
are various useful things you can do, incl. a page-based write-barrier 
that is effectively zero-cost (i.e., mprotect old space; trap the write 
access, mark the page as root) which of course works well in combination 
with read-only memory regions.

Cheers,
   - Andreas

On 5/9/2011 14:16, Igor Stasenko wrote:
>
> Just a follow-up to recent thread.
>
> Suppose that we have new object format which supports multiple memory regions.
> I.e.
> eden space
> old space
> pinned space
> ...
> and
> immutable space
>
> so, instead of adding a flag per object whether its immutable or not,
> and then check this flag every time there is a write attempt,
> we could simply let hardware handle this.
> And immutable space is a memory region with read-only access, So once
> placed&  sealed , any attempt to write, we lead to a hardware
> exception,
> which can be nicely handled :)
>
> So, we will have a single entry point for all write access , and don't
> need to spread an immutability logic all over the places.
> And of course hardware 'check if memory is writeable' is much faster
> than software one.
>
> What you think?
>


More information about the Vm-dev mailing list