[stubs] Refactor StringCompareStub and use it for HStringCompareAndBranch.
authorbmeurer <bmeurer@chromium.org>
Fri, 18 Sep 2015 08:30:22 +0000 (01:30 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 18 Sep 2015 08:30:41 +0000 (08:30 +0000)
commit8016547c8e6fde00fff0a1791f3c83b444d8af25
tree201adb9c5270cff0f35e74994ed10aca43d52d02
parentba67a42629859c8c5c859acfd46b96ed3ac85da8
[stubs] Refactor StringCompareStub and use it for HStringCompareAndBranch.

The StringCompareStub used to take its parameters on the (JavaScript)
stack, which made it impossible to use in TurboFan. Actually
StringCompareStub was currently completely unused. This changes the
calling convention to something TurboFan compatible and introduces a
CallInterfaceDescriptor for StringCompareStub. It also changes
HStringCompareAndBranch to use the StringCompareStub instead of using
the full blown CompareICStub for a stupid string comparison.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30818}
25 files changed:
src/arm/code-stubs-arm.cc
src/arm/interface-descriptors-arm.cc
src/arm/lithium-codegen-arm.cc
src/arm64/code-stubs-arm64.cc
src/arm64/interface-descriptors-arm64.cc
src/arm64/lithium-codegen-arm64.cc
src/code-factory.cc
src/code-factory.h
src/code-stubs.h
src/hydrogen-instructions.h
src/ia32/code-stubs-ia32.cc
src/ia32/interface-descriptors-ia32.cc
src/ia32/lithium-codegen-ia32.cc
src/ia32/lithium-ia32.h
src/interface-descriptors.cc
src/interface-descriptors.h
src/mips/code-stubs-mips.cc
src/mips/interface-descriptors-mips.cc
src/mips/lithium-codegen-mips.cc
src/mips64/code-stubs-mips64.cc
src/mips64/interface-descriptors-mips64.cc
src/mips64/lithium-codegen-mips64.cc
src/x64/code-stubs-x64.cc
src/x64/interface-descriptors-x64.cc
src/x64/lithium-codegen-x64.cc