Reviewers: Lasse Reichstein,
Message:
This replaces my previous CL to improve external string accesses.
The number of external strings (in Chromium) typically fluctuates around a
few
hundreds to a few thousands, but rarely exceeds 10k, which is why adding
another
field to cache the character array address is a small price to pay to enable
external strings for generated code. This speeds up things like
http://code.google.com/p/v8/issues/detail?id=1750 by a lot (330ms down to
100ms).
So far only ia32's string.charAt takes advantage of the pointer cache.
Ports to
other string operations and architectures will follow if everything goes
well.
Description:
Add pointer cache field to external string for access in generated code.
TEST=test/mjsunit/string-externalize.js
Please review this at http://codereview.chromium.org/8513010/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/code-stubs.h
M src/heap-inl.h
M src/heap.cc
M src/ia32/code-stubs-ia32.cc
M src/ia32/lithium-codegen-ia32.cc
M src/objects-inl.h
M src/objects.h
M src/objects.cc
M src/regexp-macro-assembler.cc
M src/serialize.cc
M test/mjsunit/string-externalize.js
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev