Fixes issue 712 causing non-configurable accessors to be overwritable by using
authorricow@chromium.org <ricow@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 25 May 2010 06:25:27 +0000 (06:25 +0000)
committerricow@chromium.org <ricow@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 25 May 2010 06:25:27 +0000 (06:25 +0000)
commitfb58bc06c6d5efc56663acd9f05b83a807a96322
treef3d50901891760d15de04af4e4c10a09d695e59f
parent6caca4e885cbc05f65003c7d6ae0640ef026fa34
Fixes issue 712 causing non-configurable accessors to be overwritable by using
Object.defineProperty with empty property descriptor.

The issue is fixed by implementing step 5 and 6 from DefineOwnProperty in the
specification (ES5 8.12.9).

This also fixes a bug in SameValue when used on boolean values (it
would priorly return a number - not a boolean).

Review URL: http://codereview.chromium.org/2131019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/runtime.js
src/v8natives.js
test/mjsunit/object-define-property.js
test/mjsunit/regress/regress-712.js [new file with mode: 0644]