| Index: src/arm/lithium-arm.cc
|
| diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc
|
| index be08cff84314b224488ea5ffaf76cc31b8dfe144..f6aa53430eb261a75d756df85457f6bcdfcfe60f 100644
|
| --- a/src/arm/lithium-arm.cc
|
| +++ b/src/arm/lithium-arm.cc
|
| @@ -1111,6 +1111,9 @@ LInstruction* LChunkBuilder::DoTest(HTest* instr) {
|
| HCompareSymbolEq* compare = HCompareSymbolEq::cast(v);
|
| return new LCmpSymbolEqAndBranch(UseRegisterAtStart(compare->left()),
|
| UseRegisterAtStart(compare->right()));
|
| + } else if (v->IsCompareConstantEq()) {
|
| + HCompareConstantEq* compare = HCompareConstantEq::cast(v);
|
| + return new LCmpConstantEqAndBranch(UseRegisterAtStart(compare->value()));
|
| } else if (v->IsTypeofIs()) {
|
| HTypeofIs* typeof_is = HTypeofIs::cast(v);
|
| return new LTypeofIsAndBranch(UseTempRegister(typeof_is->value()));
|
| @@ -1519,6 +1522,13 @@ LInstruction* LChunkBuilder::DoCompareSymbolEq(
|
| }
|
|
|
|
|
| +LInstruction* LChunkBuilder::DoCompareConstantEq(
|
| + HCompareConstantEq* instr) {
|
| + LOperand* left = UseRegisterAtStart(instr->value());
|
| + return DefineAsRegister(new LCmpConstantEq(left));
|
| +}
|
| +
|
| +
|
| LInstruction* LChunkBuilder::DoIsNull(HIsNull* instr) {
|
| ASSERT(instr->value()->representation().IsTagged());
|
| LOperand* value = UseRegisterAtStart(instr->value());
|
| @@ -1603,6 +1613,12 @@ LInstruction* LChunkBuilder::DoFixedArrayLength(HFixedArrayLength* instr) {
|
| }
|
|
|
|
|
| +LInstruction* LChunkBuilder::DoElementsKind(HElementsKind* instr) {
|
| + LOperand* object = UseRegisterAtStart(instr->value());
|
| + return DefineAsRegister(new LElementsKind(object));
|
| +}
|
| +
|
| +
|
| LInstruction* LChunkBuilder::DoValueOf(HValueOf* instr) {
|
| LOperand* object = UseRegister(instr->value());
|
| LValueOf* result = new LValueOf(object, TempRegister());
|
|
|