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.