Flush ICs when adding setters to an object or setting a __proto__ to
authorchristian.plesner.hansen@gmail.com <christian.plesner.hansen@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 13 Mar 2009 13:43:07 +0000 (13:43 +0000)
committerchristian.plesner.hansen@gmail.com <christian.plesner.hansen@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 13 Mar 2009 13:43:07 +0000 (13:43 +0000)
commit8dffcb9efa3e4623815c20fd57e8c1cd0992caa7
tree2c74c9a15cc8b27b4ca8544d02073fd361a1e2ed
parent17b498c957aad17e791494491a6822a38d95525a
Flush ICs when adding setters to an object or setting a __proto__ to
an object that holds a setter.  If there are no store ics then no
flushing is done.  The implementation has been tweaked so that no ICs
are cleared during normal context creation.
This may cost us some performance but I'm submitting it as it is and
if there are problems we can either decide to be smarter about when,
what and/or how we clear, or back this change out altogether.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
12 files changed:
src/accessors.cc
src/heap.cc
src/heap.h
src/ic.cc
src/messages.js
src/objects.cc
src/objects.h
src/regexp-delay.js
src/runtime.cc
src/v8-counters.h
test/mjsunit/regress/regress-1344252.js [moved from test/mjsunit/bugs/bug-1344252.js with 98% similarity]
test/mjsunit/regress/regress-92.js [new file with mode: 0644]