CR comments addressed.
https://codereview.chromium.org/527963002/diff/1/src/compiler.cc
File src/compiler.cc (right):
https://codereview.chromium.org/527963002/diff/1/src/compiler.cc#newcode409
src/compiler.cc:409: // TODO(turbofan): Make super work and remove this
bailour.
On 2014/09/09 22:38:46, arv wrote:
typo
Done.
https://codereview.chromium.org/527963002/diff/1/src/ia32/full-codegen-ia32.cc
File src/ia32/full-codegen-ia32.cc (right):
https://codereview.chromium.org/527963002/diff/1/src/ia32/full-codegen-ia32.cc#newcode1293
src/ia32/full-codegen-ia32.cc:1293: __ j(equal, &super_lookup_failure);
On 2014/09/15 11:57:20, Toon Verwaest wrote:
What about
j(not_equal, &done)
push(Immediate(...empty_string()));
CallRuntime(...ThrowReferenceError...);
bind(&done);
mov(eax, ...Map...);
mov(eax, ...Prototype...);
context()->Plug(eax)
Done.
https://codereview.chromium.org/527963002/diff/1/src/lookup.cc
File src/lookup.cc (right):
https://codereview.chromium.org/527963002/diff/1/src/lookup.cc#newcode292
src/lookup.cc:292: if (GetHolder<JSObject>()->IsJSGlobalProxy() &&
On 2014/09/15 11:57:20, Toon Verwaest wrote:
Wth? Why do you explicitly avoid access checks on everything that's
not a
JSGlobalProxy? Sounds like a security issue right there. E.g.:
o = {f:function() { return super.hasOwnProperty.constructor; }};
o.f[home_object] = otherwindow.location;
otherwindow_Function = o.f();
As discussed offline, this returns otherwise, so doesn't really avoid
access checks (it is also just a copy from ic.cc), but it looks like I
do not need this anyway
https://codereview.chromium.org/527963002/diff/1/src/runtime.cc
File src/runtime.cc (right):
https://codereview.chromium.org/527963002/diff/1/src/runtime.cc#newcode2083
src/runtime.cc:2083: it.LookupForRead();
On 2014/09/15 11:57:20, Toon Verwaest wrote:
I don't understand why you need this weird setup. Why not just do
Object::GetProperty(&it) immediately?
Done.
https://codereview.chromium.org/527963002/diff/1/test/mjsunit/harmony/super.js
File test/mjsunit/harmony/super.js (right):
https://codereview.chromium.org/527963002/diff/1/test/mjsunit/harmony/super.js#newcode71
test/mjsunit/harmony/super.js:71: return this._x;
On 2014/09/09 22:38:46, arv wrote:
maybe assert that this === derived
var derived = new Derived();
assertEquals('derived', derived.testGetter());
Done.
https://codereview.chromium.org/527963002/diff/1/test/mjsunit/harmony/super.js#newcode85
test/mjsunit/harmony/super.js:85: }.toMethod(Derived.prototype);
On 2014/09/09 22:38:46, arv wrote:
wrong indentation
Done.
https://codereview.chromium.org/527963002/
--
--
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.