On Wed, Dec 16, 2015 at 3:20 PM, Ben Coman <btc@openinworld.com> wrote:
On Thu, Dec 17, 2015 at 4:13 AM, Eliot Miranda <eliot.miranda@gmail.com> wrote:
>
> There are constraints here. The VM assumes the following memory order:
>
> Low addresses:
> machine code zone
> new space
> first heap segment
>
> High addresses
> subsequent heap segmentsI know new space < old space is relied on for store buffer checks. Is the relative order of the code zone and the heap ever used?
Thinking long term, this reliance on ordering is bad for address space randomization or having multiple heaps in the same process (e.g., having concurrent actors with fast messaging). The Dart VM uses object alignment to distinguish object age, though it doesn't have immediate characters or floats contending for that bit.