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

Issue 11293059: Fix slack tracking when instance prototype changes. (Closed)

Created:
8 years, 1 month ago by Michael Starzinger
Modified:
8 years, 1 month ago
Reviewers:
danno
CC:
v8-dev
Visibility:
Public.

Description

Fix slack tracking when instance prototype changes. This fixes a corner case when the instance prototype of a function is changed while inobject slack tracking is still in progress. This caused the intial map to be unrelated for functions with the same shared info and hence the shared construct stub is no longer generic enough to work for all those functions. R=danno@chromium.org BUG=chromium:157019 TEST=mjsunit/regress/regress-crbug-157019 Committed: https://code.google.com/p/v8/source/detail?r=12896

Patch Set 1 #

Total comments: 6

Patch Set 2 : Addressed comments by Daniel Clifford. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+101 lines, -76 lines) Patch
M src/arm/stub-cache-arm.cc View 2 chunks +6 lines, -1 line 0 comments Download
M src/ia32/stub-cache-ia32.cc View 3 chunks +9 lines, -5 lines 0 comments Download
M src/mips/stub-cache-mips.cc View 3 chunks +7 lines, -2 lines 0 comments Download
M src/objects.h View 1 chunk +0 lines, -2 lines 0 comments Download
M src/objects.cc View 1 2 chunks +50 lines, -6 lines 0 comments Download
M src/objects-inl.h View 1 chunk +0 lines, -36 lines 0 comments Download
M src/x64/stub-cache-x64.cc View 3 chunks +9 lines, -5 lines 0 comments Download
A + test/mjsunit/regress/regress-crbug-157019.js View 1 chunk +20 lines, -19 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Michael Starzinger
8 years, 1 month ago (2012-11-02 13:48:12 UTC) #1
danno
lgtm with comments http://codereview.chromium.org/11293059/diff/1/src/objects.cc File src/objects.cc (right): http://codereview.chromium.org/11293059/diff/1/src/objects.cc#newcode7735 src/objects.cc:7735: // First some logic for the ...
8 years, 1 month ago (2012-11-07 17:26:47 UTC) #2
Michael Starzinger
8 years, 1 month ago (2012-11-08 11:23:33 UTC) #3
Addressed comments. Landing.

https://chromiumcodereview.appspot.com/11293059/diff/1/src/objects.cc
File src/objects.cc (right):

https://chromiumcodereview.appspot.com/11293059/diff/1/src/objects.cc#newcode...
src/objects.cc:7735: // First some logic for the map of the prototype to make
sure it is in
On 2012/11/07 17:26:47, danno wrote:
> nit: unnecessary whitespace change

Done. My mental "break at 72 chars" algorithm kicked in. Sorry.

https://chromiumcodereview.appspot.com/11293059/diff/1/src/objects.cc#newcode...
src/objects.cc:7742: // Now some logic for the maps of the objects that are
created by
On 2012/11/07 17:26:47, danno wrote:
> nit: unnecessary whitespace change

Done. Likewise.

https://chromiumcodereview.appspot.com/11293059/diff/1/src/objects.cc#newcode...
src/objects.cc:7746: // copy containing the new prototype.  Also complete any
inobject
On 2012/11/07 17:26:47, danno wrote:
> nit: "in object"

Done. Used "in-object" as discussed offline.

Powered by Google App Engine
This is Rietveld 408576698