Description[proxies] use [[GetPrototypeOf]] trap in for-in key accumulation
With the recent spec change removing the [[Enumerate]] internal method, we now
have to walk the complete prototype chain. This implies that we call the
[[GetPrototypeOf]] trap on proxies.
As a secondary change we now trigger the [[GetOwnProperty]] trap for the for-in
filter step to see whether the properties are still enumerable. Before we did this
in the key-accumulation phase. This way we slightly reduce the number of traps
invoked. Whilst this is not ideal, it comes closer to the Spec's example
implementation.
BUG=v8:1543, v8:4768
LOG=n
Committed: https://crrev.com/2efc1381313248352630b05f6d48064badfe7671
Cr-Commit-Position: refs/heads/master@{#35017}
Patch Set 1 #
Total comments: 6
Patch Set 2 : making georg happy #Patch Set 3 : removing test test #Patch Set 4 : use the results of AdvanceFollowingProxies #Patch Set 5 : implementing recusing for-in has-enumerable-property lookup #Patch Set 6 : implementing alternative lookup #Patch Set 7 : adding comment #Patch Set 8 : fixing tests #Patch Set 9 : do not create a HandleScope when passing LookuptIterator* #
Total comments: 12
Patch Set 10 : adding comment #Patch Set 11 : merge with master #
Messages
Total messages: 48 (21 generated)
|