On 2010/08/13 07:03:21, Lasse Reichstein wrote:
LGTM

http://codereview.chromium.org/3082012/diff/1/2
File src/messages.js (right):

http://codereview.chromium.org/3082012/diff/1/2#newcode712
src/messages.js:712: this.receiver.__lookupSetter__(ownName) === this.fun ||
> ObjectLookupGetter.call(this.receiver, ownName)
> ObjectLookupSetter.call(this.receiver, ownName)

Do you know if these internal functions have the same Function.prototype as
the
user functions (i.e., can "call" be clobbered)?
You could use
  %_CallFunction(this.receiver, ownName, ObjectLookupGetter)
just to be absolutely sure.

http://codereview.chromium.org/3082012/diff/1/3
File test/mjsunit/regress/regress-798.js (right):

http://codereview.chromium.org/3082012/diff/1/3#newcode68
test/mjsunit/regress/regress-798.js:68:
I did, and you can ignore it now.

You are right about Function.prototype.call for the natives can be overwritten, and %_CallFunction should be used. However there are 50 usages of .call in the
natives, so this should be cleaned up in a separate change. I can see you
changed a few in r4653.

http://codereview.chromium.org/3082012/show

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to