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

Reply via email to