Reviewers: Sven Panne,

Description:
Fix redefinition of shadowed elements in arguments.

This refactors the way we (re)define elements to perform normalization
and attribute updating at a much deeper level, thereby removing some
bogus special cases in upper runtime layers.

Most element setters take an indicator flag that distinguishes between
setting and defining. Setting of an element causes attributes to remain
unchanged, writability to be checked and callbacks to be called.
Defining of an element causes attributes to remain unchanged and
callbacks to be overridden. The same approach could be take for
properties.

[email protected]
BUG=v8:1772
TEST=test262,test262/15.2.3.6-4-333-11


Please review this at https://chromiumcodereview.appspot.com/9443014/

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

Affected files:
  M src/api.cc
  M src/ic.cc
  M src/liveedit.cc
  M src/objects.h
  M src/objects.cc
  M src/runtime.cc
  M test/cctest/test-api.cc
  M test/cctest/test-heap.cc
  M test/test262/test262.status


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

Reply via email to