Reviewers: Michael Starzinger,

Description:
Make the runtime entry for setting/changing accessors "atomic".

Previously, there were 1 or 2 calls to the runtime when accessors were changed or set. This doesn't really work well with property attributes, leading to some hacks and complicates things even further when trying to share maps in presence of accessors. Therefore, the runtime entry now takes the full triple (getter, setter, attributes), where the getter and/or the setter can be null in case they
shouldn't be changed.

For now, we do basically the same on the native side as we did before on the
JavaScript side, but this will change in future CLs, the current CL is already
large enough.

Note that object literals with a getter and a setter for the same property still do 2 calls, but this is a little bit more tricky to fix and will be handled in a
separate CL.


Please review this at http://codereview.chromium.org/9616016/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/arm/full-codegen-arm.cc
  M src/ia32/full-codegen-ia32.cc
  M src/messages.js
  M src/mips/full-codegen-mips.cc
  M src/regexp.js
  M src/runtime.cc
  M src/v8natives.js
  M src/x64/full-codegen-x64.cc
  M test/mjsunit/object-define-property.js


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to