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

Issue 11365111: Object.observe: generate change records for indexed properties. (Closed)

Created:
8 years, 1 month ago by rossberg
Modified:
8 years, 1 month ago
CC:
v8-dev, adamk, rafaelw
Visibility:
Public.

Description

Object.observe: generate change records for indexed properties. Details: - Extend ElementAccessors with GetAttributes method. - Add HasLocalElement, Get[Local]ElementAttribute methods to JSReceiver/JSObject. - Otherwise, mirror implementation for named properties. Cannot correctly handle the cases yet where an accessor is redefined or deleted. Also fixed handling of object info table. (Based on CL https://codereview.chromium.org/11362115/) R=verwaest@chromium.org,mstarzinger@chromium.org BUG= Committed: https://code.google.com/p/v8/source/detail?r=12900

Patch Set 1 #

Total comments: 12

Patch Set 2 : Addressed comments; added/fixed missing bits of new elements functionality. #

Total comments: 10

Patch Set 3 : Addressing comments; simplifications. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+556 lines, -225 lines) Patch
M src/elements.h View 1 chunk +11 lines, -0 lines 0 comments Download
M src/elements.cc View 1 2 4 chunks +61 lines, -0 lines 0 comments Download
M src/objects.h View 1 2 6 chunks +24 lines, -10 lines 0 comments Download
M src/objects.cc View 1 2 21 chunks +365 lines, -203 lines 0 comments Download
M src/objects-inl.h View 1 2 2 chunks +34 lines, -1 line 0 comments Download
M src/runtime.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M test/mjsunit/harmony/object-observe.js View 1 1 chunk +59 lines, -9 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
rossberg
8 years, 1 month ago (2012-11-06 16:16:56 UTC) #1
Toon Verwaest
lgtm with nits http://codereview.chromium.org/11365111/diff/1/src/objects.cc File src/objects.cc (right): http://codereview.chromium.org/11365111/diff/1/src/objects.cc#newcode4074 src/objects.cc:4074: if (self->HasIndexedInterceptor()) { Maybe use (self->HasIndexedInterceptor() ...
8 years, 1 month ago (2012-11-07 10:06:52 UTC) #2
Michael Starzinger
https://codereview.chromium.org/11365111/diff/1/src/elements.cc File src/elements.cc (right): https://codereview.chromium.org/11365111/diff/1/src/elements.cc#newcode1472 src/elements.cc:1472: if (entry != SeededNumberDictionary::kNotFound) Curly brackets around body. https://codereview.chromium.org/11365111/diff/1/src/elements.cc#newcode1545 ...
8 years, 1 month ago (2012-11-07 11:47:48 UTC) #3
rossberg
PTAL. There was a bug in the handling of intercepted indexed properties and the prototype ...
8 years, 1 month ago (2012-11-07 18:41:42 UTC) #4
Michael Starzinger
LGTM with two final nits. Note that I only looked at the elements accessors. https://codereview.chromium.org/11365111/diff/1/src/elements.cc ...
8 years, 1 month ago (2012-11-07 19:43:49 UTC) #5
Michael Starzinger
Another turbo-nit. https://codereview.chromium.org/11365111/diff/5002/src/elements.cc File src/elements.cc (right): https://codereview.chromium.org/11365111/diff/5002/src/elements.cc#newcode1168 src/elements.cc:1168: Drop one of the two newlines.
8 years, 1 month ago (2012-11-07 19:54:03 UTC) #6
Toon Verwaest
lgtm with comments https://codereview.chromium.org/11365111/diff/5002/src/elements.cc File src/elements.cc (right): https://codereview.chromium.org/11365111/diff/5002/src/elements.cc#newcode586 src/elements.cc:586: return backing_store->get(key)->IsTheHole() ? ABSENT : NONE; ...
8 years, 1 month ago (2012-11-08 10:01:31 UTC) #7
rossberg
Maybe you want to have another quick look -- the latest diff mostly removes code. ...
8 years, 1 month ago (2012-11-08 11:22:56 UTC) #8
Toon Verwaest
8 years, 1 month ago (2012-11-08 11:58:41 UTC) #9
lgtm

Powered by Google App Engine
This is Rietveld 408576698