Updated but still not done.
I'm seeing failures in test/mjsunit/with-leave.js. I'll look into that next
week.
https://codereview.chromium.org/384963002/diff/1/src/contexts.cc
File src/contexts.cc (right):
https://codereview.chromium.org/384963002/diff/1/src/contexts.cc#newcode80
src/contexts.cc:80: while (true) {
On 2014/07/11 11:59:06, rossberg wrote:
On 2014/07/10 23:13:11, arv wrote:
> I'll switch to use the new PrototypeIterator.
Yes, that would be better.
Waiting for that CL to land...
https://codereview.chromium.org/384963002/diff/20001/src/objects-inl.h
File src/objects-inl.h (right):
https://codereview.chromium.org/384963002/diff/20001/src/objects-inl.h#newcode1149
src/objects-inl.h:1149: MaybeHandle<Object>
Object::GetPropertyWithReceiver(Handle<JSReceiver> holder,
On 2014/07/11 11:59:06, rossberg wrote:
I'd prefer to inline this function, it doesn't seem worth polluting
the object
API with.
Done.
https://codereview.chromium.org/384963002/diff/20001/test/mjsunit/harmony/unscopables.js
File test/mjsunit/harmony/unscopables.js (right):
https://codereview.chromium.org/384963002/diff/20001/test/mjsunit/harmony/unscopables.js#newcode8
test/mjsunit/harmony/unscopables.js:8: (function TestBasics() {
On 2014/07/11 11:59:07, rossberg wrote:
Some of these tests should probably be run on different kinds of
objects
(normal, array, function, the global, etc.). And in particular,
proxies... ;)
(that one maybe in a separate file, to allow separate shipping).
Also, include a test that not just reads but writes some variables, as
that can
take quite different code paths. Likewise, a test where the properties
in
question (on the with'ed object) are accessors.
Our proxies do not support symbol property names so we cannot put a
Symbol.unscopables on the actual proxy... but I can do some basic tests
since with a proxy it is possible to have an inconsistent
getOwnPropertyDescriptor which is used for Lookup and then later for
GetProperty.
For setting, unscopables only comes in for the first pass when we do
HasBinding. If that is true, then a normal Put is used.
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-environment-records-setmutablebinding-n-v-s
This leads to pretty strange behavior and I commented on the bug about
it.
https://codereview.chromium.org/384963002/diff/20001/test/mjsunit/harmony/unscopables.js#newcode103
test/mjsunit/harmony/unscopables.js:103: (function
TestChangeDuringWith() {
On 2014/07/11 11:59:07, rossberg wrote:
It would be good to have a variation of this test where the _same_
variable
reference is evaluated several times (e.g. using a loop) with
different results.
Just to ensure that no overoptimistic optimisation can screw anything
up.
Done.
https://codereview.chromium.org/384963002/diff/20001/test/mjsunit/harmony/unscopables.js#newcode134
test/mjsunit/harmony/unscopables.js:134: (function
TestAccessorReceiver() {
On 2014/07/11 11:59:07, rossberg wrote:
Hm, this test doesn't use unscopables at all...
Since --harmony-unscopables changes how with works I need to test this
code path too. I'm also adding a test that runs all of the existing
tests with unscopables turned on so maybe this can be removed.
https://codereview.chromium.org/384963002/diff/20001/test/mjsunit/harmony/unscopables.js#newcode176
test/mjsunit/harmony/unscopables.js:176: Object.defineProperty(object,
Symbol.unscopables, {
On 2014/07/11 11:59:07, rossberg wrote:
It would definitely be good to have variants of the following two
tests using
assignments to x. I'm not even sure where those assignment are
supposed to end
up... :)
Done.
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.