| Index: src/arm/lithium-arm.h
|
| diff --git a/src/arm/lithium-arm.h b/src/arm/lithium-arm.h
|
| index 73c7e459c3d1d9dd357aba9c3a50eb121c1e3d54..144aafa90d6ed2de652842450430ebd469c6859a 100644
|
| --- a/src/arm/lithium-arm.h
|
| +++ b/src/arm/lithium-arm.h
|
| @@ -162,6 +162,7 @@ class LCodeGen;
|
| V(ThisFunction) \
|
| V(Throw) \
|
| V(ToFastProperties) \
|
| + V(TransitionElementsKind) \
|
| V(Typeof) \
|
| V(TypeofIsAndBranch) \
|
| V(UnaryMathOperation) \
|
| @@ -1669,6 +1670,30 @@ class LStoreKeyedSpecializedArrayElement: public LTemplateInstruction<0, 3, 0> {
|
| };
|
|
|
|
|
| +class LTransitionElementsKind: public LTemplateInstruction<1, 1, 2> {
|
| + public:
|
| + LTransitionElementsKind(LOperand* object,
|
| + LOperand* new_map_temp,
|
| + LOperand* temp_reg) {
|
| + inputs_[0] = object;
|
| + temps_[0] = new_map_temp;
|
| + temps_[1] = temp_reg;
|
| + }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(TransitionElementsKind,
|
| + "transition-elements-kind")
|
| + DECLARE_HYDROGEN_ACCESSOR(TransitionElementsKind)
|
| +
|
| + virtual void PrintDataTo(StringStream* stream);
|
| +
|
| + LOperand* object() { return inputs_[0]; }
|
| + LOperand* new_map_reg() { return temps_[0]; }
|
| + LOperand* temp_reg() { return temps_[1]; }
|
| + Handle<Map> original_map() { return hydrogen()->original_map(); }
|
| + Handle<Map> transitioned_map() { return hydrogen()->transitioned_map(); }
|
| +};
|
| +
|
| +
|
| class LStringAdd: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LStringAdd(LOperand* left, LOperand* right) {
|
|
|