Reapply: Inline fast cases in string keyed load IC.
authorvitalyr@chromium.org <vitalyr@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 20 Apr 2010 17:33:14 +0000 (17:33 +0000)
committervitalyr@chromium.org <vitalyr@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 20 Apr 2010 17:33:14 +0000 (17:33 +0000)
commitb8ba4deacc18ceb25970ebed1ce8b24ce46358c1
treeed9abcf9a16c32e7bc8941658c2104a4f58ad397
parent1e46286091f1720a2aaf703e9c4ec4c31f62aefb
Reapply: Inline fast cases in string keyed load IC.

(Fixed handling of out-of-bounds keys.)

String keyed load used to call STRING_CHAR_AT builtin that performs
two steps (get a char code, construct a one-char string from the
code), both of which have fast cases implemented as inline runtime
functions. In this chage most of the code from these functions is
extracted to a set of common generator functions in StringStubBase and
the fast cases are grouped together in the IC code.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/globals.h
src/ia32/codegen-ia32.cc
src/ia32/codegen-ia32.h
src/ia32/ic-ia32.cc
test/mjsunit/string-index.js