Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(837)

Issue 3082012: Handle accessors when generating Error.stack... (Closed)

Created:
10 years, 4 months ago by Søren Thygesen Gjesse
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Handle accessors when generating Error.stack BUG=http://code.google.com/p/v8/issues/detail?id=798 TEST=test/mjsunit/regress/regress-798.js Committed: http://code.google.com/p/v8/source/detail?r=5258

Patch Set 1 #

Total comments: 6

Patch Set 2 : '' #

Patch Set 3 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+118 lines, -3 lines) Patch
M src/messages.js View 1 1 chunk +9 lines, -3 lines 0 comments Download
A test/mjsunit/regress/regress-798.js View 2 1 chunk +109 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Søren Thygesen Gjesse
I did look at adding a isGetterCall/isSetterCall to the CallFrame, but we do not have ...
10 years, 4 months ago (2010-08-02 15:37:27 UTC) #1
Lasse Reichstein
LGTM if it works. 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 || Is ...
10 years, 4 months ago (2010-08-10 08:29:38 UTC) #2
Søren Thygesen Gjesse
Please take another look, hopefully this is less fragile. 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: ...
10 years, 4 months ago (2010-08-12 14:05:47 UTC) #3
Lasse Reichstein
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) > ...
10 years, 4 months ago (2010-08-13 07:03:21 UTC) #4
Søren Thygesen Gjesse
10 years, 4 months ago (2010-08-13 08:31:19 UTC) #5
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.

Powered by Google App Engine
This is Rietveld 408576698