OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/crankshaft/x87/lithium-x87.h" | 5 #include "src/crankshaft/x87/lithium-x87.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #if V8_TARGET_ARCH_X87 | 9 #if V8_TARGET_ARCH_X87 |
10 | 10 |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 | 271 |
272 | 272 |
273 void LInnerAllocatedObject::PrintDataTo(StringStream* stream) { | 273 void LInnerAllocatedObject::PrintDataTo(StringStream* stream) { |
274 stream->Add(" = "); | 274 stream->Add(" = "); |
275 base_object()->PrintTo(stream); | 275 base_object()->PrintTo(stream); |
276 stream->Add(" + "); | 276 stream->Add(" + "); |
277 offset()->PrintTo(stream); | 277 offset()->PrintTo(stream); |
278 } | 278 } |
279 | 279 |
280 | 280 |
281 void LCallJSFunction::PrintDataTo(StringStream* stream) { | |
282 stream->Add("= "); | |
283 function()->PrintTo(stream); | |
284 stream->Add("#%d / ", arity()); | |
285 } | |
286 | |
287 | |
288 void LCallWithDescriptor::PrintDataTo(StringStream* stream) { | 281 void LCallWithDescriptor::PrintDataTo(StringStream* stream) { |
289 for (int i = 0; i < InputCount(); i++) { | 282 for (int i = 0; i < InputCount(); i++) { |
290 InputAt(i)->PrintTo(stream); | 283 InputAt(i)->PrintTo(stream); |
291 stream->Add(" "); | 284 stream->Add(" "); |
292 } | 285 } |
293 stream->Add("#%d / ", arity()); | 286 stream->Add("#%d / ", arity()); |
294 } | 287 } |
295 | 288 |
296 | 289 |
297 void LLoadContextSlot::PrintDataTo(StringStream* stream) { | 290 void LLoadContextSlot::PrintDataTo(StringStream* stream) { |
(...skipping 799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1097 return DefineAsRegister(new(zone()) LContext); | 1090 return DefineAsRegister(new(zone()) LContext); |
1098 } | 1091 } |
1099 | 1092 |
1100 | 1093 |
1101 LInstruction* LChunkBuilder::DoDeclareGlobals(HDeclareGlobals* instr) { | 1094 LInstruction* LChunkBuilder::DoDeclareGlobals(HDeclareGlobals* instr) { |
1102 LOperand* context = UseFixed(instr->context(), esi); | 1095 LOperand* context = UseFixed(instr->context(), esi); |
1103 return MarkAsCall(new(zone()) LDeclareGlobals(context), instr); | 1096 return MarkAsCall(new(zone()) LDeclareGlobals(context), instr); |
1104 } | 1097 } |
1105 | 1098 |
1106 | 1099 |
1107 LInstruction* LChunkBuilder::DoCallJSFunction( | |
1108 HCallJSFunction* instr) { | |
1109 LOperand* function = UseFixed(instr->function(), edi); | |
1110 | |
1111 LCallJSFunction* result = new(zone()) LCallJSFunction(function); | |
1112 | |
1113 return MarkAsCall(DefineFixed(result, eax), instr, CANNOT_DEOPTIMIZE_EAGERLY); | |
1114 } | |
1115 | |
1116 | |
1117 LInstruction* LChunkBuilder::DoCallWithDescriptor( | 1100 LInstruction* LChunkBuilder::DoCallWithDescriptor( |
1118 HCallWithDescriptor* instr) { | 1101 HCallWithDescriptor* instr) { |
1119 CallInterfaceDescriptor descriptor = instr->descriptor(); | 1102 CallInterfaceDescriptor descriptor = instr->descriptor(); |
1120 LOperand* target = UseRegisterOrConstantAtStart(instr->target()); | 1103 LOperand* target = UseRegisterOrConstantAtStart(instr->target()); |
1121 ZoneList<LOperand*> ops(instr->OperandCount(), zone()); | 1104 ZoneList<LOperand*> ops(instr->OperandCount(), zone()); |
1122 // Target | 1105 // Target |
1123 ops.Add(target, zone()); | 1106 ops.Add(target, zone()); |
1124 // Context | 1107 // Context |
1125 LOperand* op = UseFixed(instr->OperandAt(1), esi); | 1108 LOperand* op = UseFixed(instr->OperandAt(1), esi); |
1126 ops.Add(op, zone()); | 1109 ops.Add(op, zone()); |
(...skipping 1512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2639 LInstruction* LChunkBuilder::DoStoreFrameContext(HStoreFrameContext* instr) { | 2622 LInstruction* LChunkBuilder::DoStoreFrameContext(HStoreFrameContext* instr) { |
2640 LOperand* context = UseRegisterAtStart(instr->context()); | 2623 LOperand* context = UseRegisterAtStart(instr->context()); |
2641 return new(zone()) LStoreFrameContext(context); | 2624 return new(zone()) LStoreFrameContext(context); |
2642 } | 2625 } |
2643 | 2626 |
2644 | 2627 |
2645 } // namespace internal | 2628 } // namespace internal |
2646 } // namespace v8 | 2629 } // namespace v8 |
2647 | 2630 |
2648 #endif // V8_TARGET_ARCH_X87 | 2631 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |