| Index: src/x64/lithium-x64.cc
|
| diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc
|
| index 1e16a55c0968b281c667378384a5067e12250dde..138219b49a6f247a0498284a022c39edaf7106a6 100644
|
| --- a/src/x64/lithium-x64.cc
|
| +++ b/src/x64/lithium-x64.cc
|
| @@ -1108,6 +1108,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());
|
| @@ -1601,6 +1611,12 @@ LInstruction* LChunkBuilder::DoExternalArrayLength(
|
| }
|
|
|
|
|
| +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);
|
|
|