Make Object.freeze fast
authoradamk@chromium.org <adamk@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 22 May 2013 18:53:58 +0000 (18:53 +0000)
committeradamk@chromium.org <adamk@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 22 May 2013 18:53:58 +0000 (18:53 +0000)
commit648e99e3087221f919065201a3be18dab830793f
tree9ef0e08bc3b9c9cfa07ada5d102ade61cf4e532a
parentb704cb9139c6198faf0c2215e1f9406384a01b4e
Make Object.freeze fast

This patch both speeds up the freeze operation itself, but also
allows properties to remain in fast mode. Objects with non-empty
elements backing stores still end up with slow elements.

BUG=v8:1858, 115960
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/14888005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
include/v8.h
src/heap.cc
src/heap.h
src/objects-inl.h
src/objects.cc
src/objects.h
src/property-details.h
src/runtime.cc
src/runtime.h
src/v8natives.js
test/mjsunit/object-freeze.js