OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 } | 255 } |
256 | 256 |
257 | 257 |
258 void LUnaryMathOperation::PrintDataTo(StringStream* stream) { | 258 void LUnaryMathOperation::PrintDataTo(StringStream* stream) { |
259 stream->Add("/%s ", hydrogen()->OpName()); | 259 stream->Add("/%s ", hydrogen()->OpName()); |
260 InputAt(0)->PrintTo(stream); | 260 InputAt(0)->PrintTo(stream); |
261 } | 261 } |
262 | 262 |
263 | 263 |
264 void LLoadContextSlot::PrintDataTo(StringStream* stream) { | 264 void LLoadContextSlot::PrintDataTo(StringStream* stream) { |
265 stream->Add("(%d, %d)", context_chain_length(), slot_index()); | 265 InputAt(0)->PrintTo(stream); |
| 266 stream->Add("[%d]", slot_index()); |
266 } | 267 } |
267 | 268 |
268 | 269 |
269 void LCallKeyed::PrintDataTo(StringStream* stream) { | 270 void LCallKeyed::PrintDataTo(StringStream* stream) { |
270 stream->Add("[ecx] #%d / ", arity()); | 271 stream->Add("[ecx] #%d / ", arity()); |
271 } | 272 } |
272 | 273 |
273 | 274 |
274 void LCallNamed::PrintDataTo(StringStream* stream) { | 275 void LCallNamed::PrintDataTo(StringStream* stream) { |
275 SmartPointer<char> name_string = name()->ToCString(); | 276 SmartPointer<char> name_string = name()->ToCString(); |
(...skipping 766 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1042 } | 1043 } |
1043 | 1044 |
1044 | 1045 |
1045 LInstruction* LChunkBuilder::DoPushArgument(HPushArgument* instr) { | 1046 LInstruction* LChunkBuilder::DoPushArgument(HPushArgument* instr) { |
1046 ++argument_count_; | 1047 ++argument_count_; |
1047 LOperand* argument = UseOrConstant(instr->argument()); | 1048 LOperand* argument = UseOrConstant(instr->argument()); |
1048 return new LPushArgument(argument); | 1049 return new LPushArgument(argument); |
1049 } | 1050 } |
1050 | 1051 |
1051 | 1052 |
| 1053 LInstruction* LChunkBuilder::DoContext(HContext* instr) { |
| 1054 Abort("Unimplemented: DoContext"); |
| 1055 return NULL; |
| 1056 } |
| 1057 |
| 1058 |
| 1059 LInstruction* LChunkBuilder::DoOuterContext(HOuterContext* instr) { |
| 1060 Abort("Unimplemented: DoOuterContext"); |
| 1061 return NULL; |
| 1062 } |
| 1063 |
| 1064 |
1052 LInstruction* LChunkBuilder::DoGlobalObject(HGlobalObject* instr) { | 1065 LInstruction* LChunkBuilder::DoGlobalObject(HGlobalObject* instr) { |
1053 return DefineAsRegister(new LGlobalObject); | 1066 return DefineAsRegister(new LGlobalObject); |
1054 } | 1067 } |
1055 | 1068 |
1056 | 1069 |
1057 LInstruction* LChunkBuilder::DoGlobalReceiver(HGlobalReceiver* instr) { | 1070 LInstruction* LChunkBuilder::DoGlobalReceiver(HGlobalReceiver* instr) { |
1058 return DefineAsRegister(new LGlobalReceiver); | 1071 return DefineAsRegister(new LGlobalReceiver); |
1059 } | 1072 } |
1060 | 1073 |
1061 | 1074 |
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1465 | 1478 |
1466 LInstruction* LChunkBuilder::DoLoadGlobal(HLoadGlobal* instr) { | 1479 LInstruction* LChunkBuilder::DoLoadGlobal(HLoadGlobal* instr) { |
1467 LLoadGlobal* result = new LLoadGlobal; | 1480 LLoadGlobal* result = new LLoadGlobal; |
1468 return instr->check_hole_value() | 1481 return instr->check_hole_value() |
1469 ? AssignEnvironment(DefineAsRegister(result)) | 1482 ? AssignEnvironment(DefineAsRegister(result)) |
1470 : DefineAsRegister(result); | 1483 : DefineAsRegister(result); |
1471 } | 1484 } |
1472 | 1485 |
1473 | 1486 |
1474 LInstruction* LChunkBuilder::DoStoreGlobal(HStoreGlobal* instr) { | 1487 LInstruction* LChunkBuilder::DoStoreGlobal(HStoreGlobal* instr) { |
1475 return new LStoreGlobal(UseRegisterAtStart(instr->value()));} | 1488 return new LStoreGlobal(UseRegisterAtStart(instr->value())); |
| 1489 } |
1476 | 1490 |
1477 | 1491 |
1478 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { | 1492 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { |
1479 Abort("Unimplemented: %s", "DoLoadContextSlot"); | 1493 Abort("Unimplemented: %s", "DoLoadContextSlot"); |
1480 return NULL; | 1494 return NULL; |
1481 } | 1495 } |
1482 | 1496 |
1483 | 1497 |
| 1498 LInstruction* LChunkBuilder::DoStoreContextSlot(HStoreContextSlot* instr) { |
| 1499 Abort("Unimplemented: DoStoreContextSlot"); |
| 1500 return NULL; |
| 1501 } |
| 1502 |
| 1503 |
1484 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) { | 1504 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) { |
1485 ASSERT(instr->representation().IsTagged()); | 1505 ASSERT(instr->representation().IsTagged()); |
1486 LOperand* obj = UseRegisterAtStart(instr->object()); | 1506 LOperand* obj = UseRegisterAtStart(instr->object()); |
1487 return DefineAsRegister(new LLoadNamedField(obj)); | 1507 return DefineAsRegister(new LLoadNamedField(obj)); |
1488 } | 1508 } |
1489 | 1509 |
1490 | 1510 |
1491 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { | 1511 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { |
1492 Abort("Unimplemented: %s", "DoLoadNamedGeneric"); | 1512 Abort("Unimplemented: %s", "DoLoadNamedGeneric"); |
1493 return NULL; | 1513 return NULL; |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1699 | 1719 |
1700 | 1720 |
1701 LInstruction* LChunkBuilder::DoLeaveInlined(HLeaveInlined* instr) { | 1721 LInstruction* LChunkBuilder::DoLeaveInlined(HLeaveInlined* instr) { |
1702 Abort("Unimplemented: %s", "DoLeaveInlined"); | 1722 Abort("Unimplemented: %s", "DoLeaveInlined"); |
1703 return NULL; | 1723 return NULL; |
1704 } | 1724 } |
1705 | 1725 |
1706 } } // namespace v8::internal | 1726 } } // namespace v8::internal |
1707 | 1727 |
1708 #endif // V8_TARGET_ARCH_X64 | 1728 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |