| Index: src/x64/lithium-x64.cc
|
| diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc
|
| index a6afbf722efeab935983a1c7dc6108ba8a054b3d..d83ff1d4fe5d16f67d86b3305f641a56c490dd4c 100644
|
| --- a/src/x64/lithium-x64.cc
|
| +++ b/src/x64/lithium-x64.cc
|
| @@ -1106,14 +1106,12 @@ LInstruction* LChunkBuilder::DoCompareMap(HCompareMap* instr) {
|
|
|
|
|
| LInstruction* LChunkBuilder::DoArgumentsLength(HArgumentsLength* length) {
|
| - Abort("Unimplemented: %s", "DoArgumentsLength");
|
| - return NULL;
|
| + return DefineAsRegister(new LArgumentsLength(Use(length->value())));
|
| }
|
|
|
|
|
| LInstruction* LChunkBuilder::DoArgumentsElements(HArgumentsElements* elems) {
|
| - Abort("Unimplemented: %s", "DoArgumentsElements");
|
| - return NULL;
|
| + return DefineAsRegister(new LArgumentsElements);
|
| }
|
|
|
|
|
| @@ -1335,7 +1333,7 @@ LInstruction* LChunkBuilder::DoAdd(HAdd* instr) {
|
| }
|
| return result;
|
| } else if (instr->representation().IsDouble()) {
|
| - Abort("Unimplemented: %s", "DoAdd on Doubles");
|
| + return DoArithmeticD(Token::ADD, instr);
|
| } else {
|
| ASSERT(instr->representation().IsTagged());
|
| return DoArithmeticT(Token::ADD, instr);
|
| @@ -1742,8 +1740,8 @@ LInstruction* LChunkBuilder::DoStringCharCodeAt(HStringCharCodeAt* instr) {
|
|
|
|
|
| LInstruction* LChunkBuilder::DoStringLength(HStringLength* instr) {
|
| - Abort("Unimplemented: %s", "DoStringLength");
|
| - return NULL;
|
| + LOperand* string = UseRegisterAtStart(instr->value());
|
| + return DefineAsRegister(new LStringLength(string));
|
| }
|
|
|
|
|
| @@ -1805,8 +1803,11 @@ LInstruction* LChunkBuilder::DoArgumentsObject(HArgumentsObject* instr) {
|
|
|
|
|
| LInstruction* LChunkBuilder::DoAccessArgumentsAt(HAccessArgumentsAt* instr) {
|
| - Abort("Unimplemented: %s", "DoAccessArgumentsAt");
|
| - return NULL;
|
| + LOperand* arguments = UseRegister(instr->arguments());
|
| + LOperand* length = UseTempRegister(instr->length());
|
| + LOperand* index = Use(instr->index());
|
| + LAccessArgumentsAt* result = new LAccessArgumentsAt(arguments, length, index);
|
| + return AssignEnvironment(DefineAsRegister(result));
|
| }
|
|
|
|
|
|
|