On 2014/08/27 at 09:54:35, verwaest wrote:
lgtm, nice cleanup along the way.

We should get rid of uses of GetCreationContext though. It seems like the API
function CreationContext is currently used all over the place though; even as a way to get to the isolate(!?). We should work towards removing this constraint.

It is used in quite a few places in Blink, though I agree that some of them
should be trivially easy to remove. For example, the cases where it's used to
get ahold of the isolate only do so because there's no GetIsolate() on
v8::Object.

The problem is that exposing the constructor forces our objects to keep track
of more state than the language itself needs. Currently that's in the map, but that means that our maps automatically are per-constructor (actual closure). It
would be nice if in the future we could e.g., make maps
per-shared-function-info. Getting there requires more plumbing than just this, but having additional requirements that aren't even imposed by the language make
that even harder.

I agree that Map::constructor is weird. The very fact that this patch works
exposes that flaw, since there's really no connection between this newly-fixed
object and the "Object" function.

Would you mind filing a bug about removing CreationContext as a concept from the
API?

https://codereview.chromium.org/505303004/diff/1/src/factory.cc
File src/factory.cc (right):

https://codereview.chromium.org/505303004/diff/1/src/factory.cc#newcode1827
src/factory.cc:1827: // context the JSProxy originated in. But that context
isn't stored anywhere.
And I think shouldn't be stored anywhere...



https://codereview.chromium.org/505303004/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to