External string table.
authorvitalyr@chromium.org <vitalyr@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 9 Dec 2009 14:32:45 +0000 (14:32 +0000)
committervitalyr@chromium.org <vitalyr@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 9 Dec 2009 14:32:45 +0000 (14:32 +0000)
commit41eb2f22d02a6a8a0d7b1c601fa6b1d5deaf398c
treedd21da9b53efedcea32be3eea9758793ec42561a
parent67f6ea675f5ed28c84ddc201376cc42a00508841
External string table.

Instead of weak handles external strings use a separate table.  This
table uses 5 times less memory than weak handles.  Moreover, since we
don't have to follow the weak handle callback protocol we can collect
the strings faster and even on scavenge collections.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
include/v8.h
src/api.cc
src/global-handles.cc
src/globals.h
src/heap-inl.h
src/heap.cc
src/heap.h
src/mark-compact.cc
src/v8-counters.h
test/cctest/test-api.cc