OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 stream->Add(" = "); | 270 stream->Add(" = "); |
271 function()->PrintTo(stream); | 271 function()->PrintTo(stream); |
272 stream->Add(".code_entry = "); | 272 stream->Add(".code_entry = "); |
273 code_object()->PrintTo(stream); | 273 code_object()->PrintTo(stream); |
274 } | 274 } |
275 | 275 |
276 | 276 |
277 void LInnerAllocatedObject::PrintDataTo(StringStream* stream) { | 277 void LInnerAllocatedObject::PrintDataTo(StringStream* stream) { |
278 stream->Add(" = "); | 278 stream->Add(" = "); |
279 base_object()->PrintTo(stream); | 279 base_object()->PrintTo(stream); |
280 stream->Add(" + %d", offset()); | 280 stream->Add(" + "); |
| 281 offset()->PrintTo(stream); |
281 } | 282 } |
282 | 283 |
283 | 284 |
284 void LCallConstantFunction::PrintDataTo(StringStream* stream) { | 285 void LCallConstantFunction::PrintDataTo(StringStream* stream) { |
285 stream->Add("#%d / ", arity()); | 286 stream->Add("#%d / ", arity()); |
286 } | 287 } |
287 | 288 |
288 | 289 |
289 void LLoadContextSlot::PrintDataTo(StringStream* stream) { | 290 void LLoadContextSlot::PrintDataTo(StringStream* stream) { |
290 context()->PrintTo(stream); | 291 context()->PrintTo(stream); |
(...skipping 821 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1112 | 1113 |
1113 LInstruction* LChunkBuilder::DoStoreCodeEntry( | 1114 LInstruction* LChunkBuilder::DoStoreCodeEntry( |
1114 HStoreCodeEntry* store_code_entry) { | 1115 HStoreCodeEntry* store_code_entry) { |
1115 LOperand* function = UseRegister(store_code_entry->function()); | 1116 LOperand* function = UseRegister(store_code_entry->function()); |
1116 LOperand* code_object = UseTempRegister(store_code_entry->code_object()); | 1117 LOperand* code_object = UseTempRegister(store_code_entry->code_object()); |
1117 return new(zone()) LStoreCodeEntry(function, code_object); | 1118 return new(zone()) LStoreCodeEntry(function, code_object); |
1118 } | 1119 } |
1119 | 1120 |
1120 | 1121 |
1121 LInstruction* LChunkBuilder::DoInnerAllocatedObject( | 1122 LInstruction* LChunkBuilder::DoInnerAllocatedObject( |
1122 HInnerAllocatedObject* inner_object) { | 1123 HInnerAllocatedObject* instr) { |
1123 LOperand* base_object = UseRegisterAtStart(inner_object->base_object()); | 1124 LOperand* base_object = UseRegisterAtStart(instr->base_object()); |
1124 LInnerAllocatedObject* result = | 1125 LOperand* offset = UseRegisterOrConstantAtStart(instr->offset()); |
1125 new(zone()) LInnerAllocatedObject(base_object); | 1126 return DefineAsRegister( |
1126 return DefineAsRegister(result); | 1127 new(zone()) LInnerAllocatedObject(base_object, offset)); |
1127 } | 1128 } |
1128 | 1129 |
1129 | 1130 |
1130 LInstruction* LChunkBuilder::DoThisFunction(HThisFunction* instr) { | 1131 LInstruction* LChunkBuilder::DoThisFunction(HThisFunction* instr) { |
1131 return instr->HasNoUses() | 1132 return instr->HasNoUses() |
1132 ? NULL | 1133 ? NULL |
1133 : DefineAsRegister(new(zone()) LThisFunction); | 1134 : DefineAsRegister(new(zone()) LThisFunction); |
1134 } | 1135 } |
1135 | 1136 |
1136 | 1137 |
(...skipping 1460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2597 | 2598 |
2598 | 2599 |
2599 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { | 2600 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { |
2600 LOperand* object = UseRegister(instr->object()); | 2601 LOperand* object = UseRegister(instr->object()); |
2601 LOperand* index = UseRegister(instr->index()); | 2602 LOperand* index = UseRegister(instr->index()); |
2602 return DefineAsRegister(new(zone()) LLoadFieldByIndex(object, index)); | 2603 return DefineAsRegister(new(zone()) LLoadFieldByIndex(object, index)); |
2603 } | 2604 } |
2604 | 2605 |
2605 | 2606 |
2606 } } // namespace v8::internal | 2607 } } // namespace v8::internal |
OLD | NEW |