Answered the Object.observe part of this. Basically we treat these
accessor-backed data properties just the same as API-level accessor-backed
data
properties, and thus we don't want to notify about changes to them in
general.
Instead, your accessor needs to call EnqueueChangeRecord.
https://codereview.chromium.org/960343002/diff/80001/test/mjsunit/es7/object-observe.js
File test/mjsunit/es7/object-observe.js (right):
https://codereview.chromium.org/960343002/diff/80001/test/mjsunit/es7/object-observe.js#newcode1146
test/mjsunit/es7/object-observe.js:1146: (obj instanceof Function &&
prop === "name")
On 2015/02/26 21:26:24, arv wrote:
Adam, do you know why this is needed?
Because this sort of "internal" accessor needs to do its own
"notifying". See SetFunctionPrototype for an example.
https://codereview.chromium.org/960343002/diff/120001/src/accessors.cc
File src/accessors.cc (right):
https://codereview.chromium.org/960343002/diff/120001/src/accessors.cc#newcode1151
src/accessors.cc:1151: }
You're going to want an EnqueueChangeRecord call here similar to the one
for SetFunctionPrototype.
https://codereview.chromium.org/960343002/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.