| Index: src/ia32/lithium-ia32.h
|
| diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h
|
| index 9ace8f869b68c20cf59ccbd8d7880fad85584d91..d5d6ae539be8385c1c53e940530c83a536c67435 100644
|
| --- a/src/ia32/lithium-ia32.h
|
| +++ b/src/ia32/lithium-ia32.h
|
| @@ -39,6 +39,7 @@ namespace internal {
|
| // Forward declarations.
|
| class LCodeGen;
|
|
|
| +
|
| #define LITHIUM_ALL_INSTRUCTION_LIST(V) \
|
| V(ControlInstruction) \
|
| V(Call) \
|
| @@ -154,6 +155,7 @@ class LCodeGen;
|
| V(StoreKeyedSpecializedArrayElement) \
|
| V(StoreNamedField) \
|
| V(StoreNamedGeneric) \
|
| + V(StringAdd) \
|
| V(StringCharCodeAt) \
|
| V(StringCharFromCode) \
|
| V(StringLength) \
|
| @@ -1769,6 +1771,21 @@ class LStoreKeyedGeneric: public LTemplateInstruction<0, 4, 0> {
|
| };
|
|
|
|
|
| +class LStringAdd: public LTemplateInstruction<1, 2, 0> {
|
| + public:
|
| + LStringAdd(LOperand* left, LOperand* right) {
|
| + inputs_[0] = left;
|
| + inputs_[1] = right;
|
| + }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(StringAdd, "string-add")
|
| + DECLARE_HYDROGEN_ACCESSOR(StringAdd)
|
| +
|
| + LOperand* left() { return inputs_[0]; }
|
| + LOperand* right() { return inputs_[1]; }
|
| +};
|
| +
|
| +
|
| class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LStringCharCodeAt(LOperand* string, LOperand* index) {
|
|
|