Ok, great. Thanks for the report ;)

On Wed, Jul 23, 2014 at 4:53 PM, 'Erik Arvidsson' via v8-dev <
[email protected]> wrote:

> > I can't do it yet, since I'm waiting for dom accessors to be turned
> into real JS accessors
>
> Get in line ;-)
>
> I made the change to ArrayLengthGetter and all tests still pass. However,
> the ArrayLengthSetter has some issues and I ran into a new bug (3460).
>
>
> On Wed, Jul 23, 2014 at 10:27 AM, Toon Verwaest <[email protected]>
> wrote:
>
>> Yeah I think so.
>>
>> I'm actually kinda surprised that the getters are implemented in this way
>> at this point. I'd update all those methods to use the Holder() they get
>> from the info. In GetPropertyWithAccessor you can see that the holder
>> passed to the PropertyCallbackArguments is the holder of the accessors. I'm
>> pretty sure that's the object from which you want to actually fetch the
>> value. That should fix the get semantics at least.
>>
>> My plan is to, in the future, make ExecutableAccessInfo behave entirely
>> like a data property which just so happens to be implemented using
>> accessors internally. That will affect the store behavior. I can't do it
>> yet, since I'm waiting for dom accessors to be turned into real JS
>> accessors; until then it would break things like window.all. That will fix
>> the ExecutableAccessorInfo setter problem you are having with unscopable.
>>
>> hth,
>> Toon
>>
>>
>> On Wed, Jul 23, 2014 at 4:12 PM, Erik Arvidsson <[email protected]> wrote:
>>
>>>
>>>
>>>
>>> On Wed, Jul 23, 2014 at 8:08 AM, <[email protected]> wrote:
>>>
>>>> My comment below is based on a short explanation of the problem by
>>>> rossberg. Let
>>>> me know if some things are still unclear.
>>>>
>>>> Overall: Please don't work around "bugs" (wasn't really a bug until
>>>> unscopable
>>>> since it wasn't observable in any way) in one part of the system by
>>>> obfuscating
>>>> another part.
>>>>
>>>>
>>>> https://codereview.chromium.org/384963002/diff/120001/src/objects.cc
>>>> File src/objects.cc (right):
>>>>
>>>> https://codereview.chromium.org/384963002/diff/120001/src/
>>>> objects.cc#newcode165
>>>> src/objects.cc:165: }
>>>> Euh, no.
>>>>
>>>> What you want to do is fix a bug in Array.length; but what you do
>>>> instead is modify get-property to change the semantics of all API
>>>> accessors...
>>>>
>>>> The right fix is to change ArrayLengthGetter to not use This() (via
>>>> GetThisFrom), but rather read the value from the Holder(). That also
>>>> removes the need for FindInstanceOf.
>>>
>>>
>>> I'm happy to hear that you do not think this work around is the right
>>> approach.
>>>
>>> I think I might still be a bit confused.
>>>
>>> I was under the impression that this was not a one off bug but a
>>> conceptual problem with API accessors. If that is not the case I'm happy to
>>> comment out the failing tests and then fix the one off bugs
>>> (ArrayLengthGetter and others).
>>>
>>> I thought the issue was that `holder[[Get]](name, receiver)` for an API
>>> accessor always get the actual value from the receiver? Looking at
>>> accessors.cc, it seems that almost all of these callbacks use `info.This()`
>>> so all of them should be updated?
>>>
>>>
>>>
>>>
>>>
>>>>
>>>>
>>>> https://codereview.chromium.org/384963002/
>>>>
>>>> --
>>>> --
>>>> 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.
>>>>
>>>
>>>
>>>
>>> --
>>> erik
>>>
>>>
>>>  --
>>> --
>>> 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.
>>>
>>
>>  --
>> --
>> 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.
>>
>
>
>
> --
> erik
>
>
>  --
> --
> 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.
>

-- 
-- 
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