On 2014/04/11 09:50:43, Toon Verwaest wrote:
This patch LGTM (arg, we manually unwrapped the proxy!?).

Thanks for the quick review (and yeah, I don't have any idea why we did that;
youthful indiscretion, I suppose).

What you are saying regarding the identity hash sounds wrong to me. That
basically means that if you have a map somewhere, and use a global proxy as a
key (some iframe), you may or may not find it anymore after the iframe
navigates, depending on the new identity hash generated for the new global
object for the new context.

I discussed this shortly with dcarney, and he agrees that we should store the identity hash on the proxy to ensure that we keep on finding the proxy after navigation. I thought we could perhaps just copy it from global object to the
new global object, but dcarney mentioned that we do it in 2 steps: first
detach,
then reattach. So we don't have the old global object anymore by the time we
attach the new one. Hence the global proxy should have it.

Does that sound reasonable? Could you do this in a follow-up CL?

That doesn't sound right to me. After
https://code.google.com/p/v8/source/detail?r=18299, reattaching a global proxy
should never happen, so after navigation the global will never be found in a
map. This seems fine to me: it matches the behavior of properties on the global,
which are gone after navigation.

What am I missing? Is reattachment still possible despite
v8::Context::ReattachGlobal() not being part of the API?

https://codereview.chromium.org/234143002/

--
--
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to