| 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 1128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1139 | 1139 |
| 1140 | 1140 |
| 1141 LInstruction* LChunkBuilder::DoPushArgument(HPushArgument* instr) { | 1141 LInstruction* LChunkBuilder::DoPushArgument(HPushArgument* instr) { |
| 1142 ++argument_count_; | 1142 ++argument_count_; |
| 1143 LOperand* argument = UseOrConstant(instr->argument()); | 1143 LOperand* argument = UseOrConstant(instr->argument()); |
| 1144 return new LPushArgument(argument); | 1144 return new LPushArgument(argument); |
| 1145 } | 1145 } |
| 1146 | 1146 |
| 1147 | 1147 |
| 1148 LInstruction* LChunkBuilder::DoContext(HContext* instr) { | 1148 LInstruction* LChunkBuilder::DoContext(HContext* instr) { |
| 1149 Abort("Unimplemented: DoContext"); | 1149 return DefineAsRegister(new LContext); |
| 1150 return NULL; | |
| 1151 } | 1150 } |
| 1152 | 1151 |
| 1153 | 1152 |
| 1154 LInstruction* LChunkBuilder::DoOuterContext(HOuterContext* instr) { | 1153 LInstruction* LChunkBuilder::DoOuterContext(HOuterContext* instr) { |
| 1155 Abort("Unimplemented: DoOuterContext"); | 1154 Abort("Unimplemented: DoOuterContext"); |
| 1156 return NULL; | 1155 return NULL; |
| 1157 } | 1156 } |
| 1158 | 1157 |
| 1159 | 1158 |
| 1160 LInstruction* LChunkBuilder::DoGlobalObject(HGlobalObject* instr) { | 1159 LInstruction* LChunkBuilder::DoGlobalObject(HGlobalObject* instr) { |
| (...skipping 25 matching lines...) Expand all Loading... |
| 1186 } | 1185 } |
| 1187 | 1186 |
| 1188 | 1187 |
| 1189 LInstruction* LChunkBuilder::DoCallNamed(HCallNamed* instr) { | 1188 LInstruction* LChunkBuilder::DoCallNamed(HCallNamed* instr) { |
| 1190 argument_count_ -= instr->argument_count(); | 1189 argument_count_ -= instr->argument_count(); |
| 1191 return MarkAsCall(DefineFixed(new LCallNamed, rax), instr); | 1190 return MarkAsCall(DefineFixed(new LCallNamed, rax), instr); |
| 1192 } | 1191 } |
| 1193 | 1192 |
| 1194 | 1193 |
| 1195 LInstruction* LChunkBuilder::DoCallGlobal(HCallGlobal* instr) { | 1194 LInstruction* LChunkBuilder::DoCallGlobal(HCallGlobal* instr) { |
| 1196 Abort("Unimplemented: %s", "DoCallGlobal"); | 1195 argument_count_ -= instr->argument_count(); |
| 1197 return NULL; | 1196 return MarkAsCall(DefineFixed(new LCallGlobal, rax), instr); |
| 1198 } | 1197 } |
| 1199 | 1198 |
| 1200 | 1199 |
| 1201 LInstruction* LChunkBuilder::DoCallKnownGlobal(HCallKnownGlobal* instr) { | 1200 LInstruction* LChunkBuilder::DoCallKnownGlobal(HCallKnownGlobal* instr) { |
| 1202 argument_count_ -= instr->argument_count(); | 1201 argument_count_ -= instr->argument_count(); |
| 1203 return MarkAsCall(DefineFixed(new LCallKnownGlobal, rax), instr); | 1202 return MarkAsCall(DefineFixed(new LCallKnownGlobal, rax), instr); |
| 1204 } | 1203 } |
| 1205 | 1204 |
| 1206 | 1205 |
| 1207 LInstruction* LChunkBuilder::DoCallNew(HCallNew* instr) { | 1206 LInstruction* LChunkBuilder::DoCallNew(HCallNew* instr) { |
| (...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1626 | 1625 |
| 1627 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { | 1626 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { |
| 1628 LOperand* object = UseFixed(instr->object(), rax); | 1627 LOperand* object = UseFixed(instr->object(), rax); |
| 1629 LLoadNamedGeneric* result = new LLoadNamedGeneric(object); | 1628 LLoadNamedGeneric* result = new LLoadNamedGeneric(object); |
| 1630 return MarkAsCall(DefineFixed(result, rax), instr); | 1629 return MarkAsCall(DefineFixed(result, rax), instr); |
| 1631 } | 1630 } |
| 1632 | 1631 |
| 1633 | 1632 |
| 1634 LInstruction* LChunkBuilder::DoLoadFunctionPrototype( | 1633 LInstruction* LChunkBuilder::DoLoadFunctionPrototype( |
| 1635 HLoadFunctionPrototype* instr) { | 1634 HLoadFunctionPrototype* instr) { |
| 1636 Abort("Unimplemented: %s", "DoLoadFunctionPrototype"); | 1635 return AssignEnvironment(DefineAsRegister( |
| 1637 return NULL; | 1636 new LLoadFunctionPrototype(UseRegister(instr->function())))); |
| 1638 } | 1637 } |
| 1639 | 1638 |
| 1640 | 1639 |
| 1641 LInstruction* LChunkBuilder::DoLoadElements(HLoadElements* instr) { | 1640 LInstruction* LChunkBuilder::DoLoadElements(HLoadElements* instr) { |
| 1642 LOperand* input = UseRegisterAtStart(instr->value()); | 1641 LOperand* input = UseRegisterAtStart(instr->value()); |
| 1643 return DefineSameAsFirst(new LLoadElements(input)); | 1642 return DefineSameAsFirst(new LLoadElements(input)); |
| 1644 } | 1643 } |
| 1645 | 1644 |
| 1646 | 1645 |
| 1647 LInstruction* LChunkBuilder::DoLoadKeyedFastElement( | 1646 LInstruction* LChunkBuilder::DoLoadKeyedFastElement( |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1856 | 1855 |
| 1857 LInstruction* LChunkBuilder::DoLeaveInlined(HLeaveInlined* instr) { | 1856 LInstruction* LChunkBuilder::DoLeaveInlined(HLeaveInlined* instr) { |
| 1858 HEnvironment* outer = current_block_->last_environment()->outer(); | 1857 HEnvironment* outer = current_block_->last_environment()->outer(); |
| 1859 current_block_->UpdateEnvironment(outer); | 1858 current_block_->UpdateEnvironment(outer); |
| 1860 return NULL; | 1859 return NULL; |
| 1861 } | 1860 } |
| 1862 | 1861 |
| 1863 } } // namespace v8::internal | 1862 } } // namespace v8::internal |
| 1864 | 1863 |
| 1865 #endif // V8_TARGET_ARCH_X64 | 1864 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |