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

Issue 6451004: Propagate exceptions thrown when setting elements. (Closed)

Created:
9 years, 10 months ago by antonm
Modified:
9 years, 4 months ago
CC:
v8-dev
Visibility:
Public.

Description

Propagate exceptions thrown when setting elements. Plus use more robust path when formatting messages---work directly with fixed arrays. BUG=v8:1107 TEST=test/mjsunit/getter-in-prototype.js,test/mjsunit/regress/regress-1107.js Committed: http://code.google.com/p/v8/source/detail?r=6689

Patch Set 1 #

Total comments: 10

Patch Set 2 : Reworking tests #

Total comments: 4

Patch Set 3 : Better way to communicate back absence of setter #

Unified diffs Side-by-side diffs Delta from patch set Stats (+67 lines, -16 lines) Patch
M src/handles.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/messages.cc View 2 chunks +6 lines, -3 lines 0 comments Download
M src/objects.h View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/objects.cc View 1 2 4 chunks +18 lines, -12 lines 0 comments Download
M test/mjsunit/getter-in-prototype.js View 1 2 chunks +8 lines, -0 lines 0 comments Download
A test/mjsunit/regress/regress-1107.js View 1 1 chunk +32 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
antonm
Lasse and Mads, may you have a look? And I'll send enough path which adds ...
9 years, 10 months ago (2011-02-08 14:05:20 UTC) #1
Lasse Reichstein
LGTM http://codereview.chromium.org/6451004/diff/1/src/messages.cc File src/messages.cc (right): http://codereview.chromium.org/6451004/diff/1/src/messages.cc#newcode78 src/messages.cc:78: Factory::NewJSArrayWithElements(arguments_elements); Is this fixing anything, or is it ...
9 years, 10 months ago (2011-02-08 14:17:56 UTC) #2
antonm
Thanks a lot for comments. http://codereview.chromium.org/6451004/diff/1/src/messages.cc File src/messages.cc (right): http://codereview.chromium.org/6451004/diff/1/src/messages.cc#newcode78 src/messages.cc:78: Factory::NewJSArrayWithElements(arguments_elements); On 2011/02/08 14:17:56, ...
9 years, 10 months ago (2011-02-08 14:30:21 UTC) #3
Mads Ager (chromium)
LGTM when this comment is addressed. http://codereview.chromium.org/6451004/diff/6002/src/objects.cc File src/objects.cc (right): http://codereview.chromium.org/6451004/diff/6002/src/objects.cc#newcode1728 src/objects.cc:1728: return Heap::the_hole_value(); Can ...
9 years, 10 months ago (2011-02-08 18:59:11 UTC) #4
antonm
9 years, 10 months ago (2011-02-08 19:36:02 UTC) #5
Submitting

http://codereview.chromium.org/6451004/diff/6002/src/objects.cc
File src/objects.cc (right):

http://codereview.chromium.org/6451004/diff/6002/src/objects.cc#newcode1728
src/objects.cc:1728: return Heap::the_hole_value();
On 2011/02/08 18:59:11, Mads Ager wrote:
> Can we do an output parameter called something like |found| instead?
> 
> Then the callers can do:
> 
> bool called_setter;
> MaybeObject* result = SetElementWithCallbackSetterInPrototypes(...,
> &called_setter);
> if (called_setter) return result;

Done.

http://codereview.chromium.org/6451004/diff/6002/src/objects.h
File src/objects.h (right):

http://codereview.chromium.org/6451004/diff/6002/src/objects.h#newcode1582
src/objects.h:1582: MUST_USE_RESULT MaybeObject*
On 2011/02/08 18:59:11, Mads Ager wrote:
> Can you split the line after the name and put the arguments on the new line or
> is that too long?

Done.

Powered by Google App Engine
This is Rietveld 408576698