[builtins] Remove STRING_ADD_LEFT and STRING_ADD_RIGHT builtins.
authorbmeurer <bmeurer@chromium.org>
Mon, 14 Sep 2015 08:40:44 +0000 (01:40 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 14 Sep 2015 08:41:35 +0000 (08:41 +0000)
commitd90a404747bd065d2fe653704222b1e6638ef9e6
tree2f4211c96a7255f9aa1eb2e982da7577d10f6c06
parenteadfd666318c1dd959d7fac7c27538ef478a8b72
[builtins] Remove STRING_ADD_LEFT and STRING_ADD_RIGHT builtins.

These builtins present an optimization for the general addition case,
where one side is already known to be a string. Unfortunately this
optimization is wrong in the presence of @@toPrimitive (there are some
ideas how to implement a similar optimization using the prototype
backpointer mechanism that jkummerow@ introduced earlier). So this
also removes the broken %_IsStringWrapperSafeForDefaultValueOf, which is
the key part of the optimization mentioned above.

R=mstarzinger@chromium.org
BUG=v8:4307
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30707}
15 files changed:
src/contexts.h
src/full-codegen/arm/full-codegen-arm.cc
src/full-codegen/arm64/full-codegen-arm64.cc
src/full-codegen/full-codegen.h
src/full-codegen/ia32/full-codegen-ia32.cc
src/full-codegen/mips/full-codegen-mips.cc
src/full-codegen/mips64/full-codegen-mips64.cc
src/full-codegen/ppc/full-codegen-ppc.cc
src/full-codegen/x64/full-codegen-x64.cc
src/full-codegen/x87/full-codegen-x87.cc
src/hydrogen.cc
src/objects.h
src/runtime.js
src/runtime/runtime-strings.cc
src/runtime/runtime.h