New full Unicode for ES6 idea

Lasse Reichstein reichsteinatwork at
Sun Feb 19 03:30:00 PST 2012

On Sun, Feb 19, 2012 at 12:12 PM, Mark S. Miller <erights at> wrote:
> On Sun, Feb 19, 2012 at 12:33 AM, Brendan Eich <brendan at> wrote:
> [...]
>> Why the global object? Because for many VMs, each global has its own heap
>> or sub-heap ("compartment"), and all references outside that heap are to
>> local proxies that copy from, or in the case of immutable data, reference
>> the remote heap.
> [...]
> Is this true for same origin iframes? I have always assumed that mixing
> heaps between same origin iframes results in unmediated direct
> object-to-object access. If these are already mediated, what was the issue
> that drove us to that?

In V8, same origin contexts (or really, any contexts that might
communicate in any way) live in the same heap. Originally, that meant
anything running in the same process was in the same heap, but with
isolates, there can be more heaps in the same process.
You can still determine the origin of an object, to do any necessary
security checks, but references to "foreign" objects are always plain
pointers into the same heap.

If I have understood the description correctly, I believe Opera merge
heaps from different frames if they start
communicating, effectively putting them in the same heap.


More information about the es-discuss mailing list