With >= 64 non-string instance types, I removed an optimization that allowed us to...
authormvstanton@chromium.org <mvstanton@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 19 Jul 2013 11:29:11 +0000 (11:29 +0000)
committermvstanton@chromium.org <mvstanton@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 19 Jul 2013 11:29:11 +0000 (11:29 +0000)
commit3761e0388d10d374e753b99f519bb96cebce4c3d
tree1a5357d1969c77a8b4b00c89cf75942a661e751a
parent83d9e6e7ee591f68c97690b369cdef756500137e
With >= 64 non-string instance types, I removed an optimization that allowed us to detect internalized strings with a single bit test. (https://code.google.com/p/v8/source/detail?r=15358) But that change caused a regression, so here is an improvement:

Put the internalized string types in the lower 64 entries of
INSTANCE_TYPE, and non-internalized string types in the next 64 entries.
This way we can restore the single bit check.

BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/19749004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
12 files changed:
src/arm/code-stubs-arm.cc
src/arm/ic-arm.cc
src/arm/macro-assembler-arm.cc
src/hydrogen-instructions.cc
src/ia32/code-stubs-ia32.cc
src/ia32/ic-ia32.cc
src/ia32/macro-assembler-ia32.cc
src/objects-inl.h
src/objects.h
src/x64/code-stubs-x64.cc
src/x64/ic-x64.cc
src/x64/macro-assembler-x64.cc