| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 <sstream> | 5 #include <sstream> |
| 6 | 6 |
| 7 #include "src/v8.h" | 7 #include "src/v8.h" |
| 8 | 8 |
| 9 #include "src/arm64/lithium-codegen-arm64.h" | 9 #include "src/arm64/lithium-codegen-arm64.h" |
| 10 #include "src/hydrogen-osr.h" | 10 #include "src/hydrogen-osr.h" |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 | 135 |
| 136 | 136 |
| 137 void LInnerAllocatedObject::PrintDataTo(StringStream* stream) { | 137 void LInnerAllocatedObject::PrintDataTo(StringStream* stream) { |
| 138 stream->Add(" = "); | 138 stream->Add(" = "); |
| 139 base_object()->PrintTo(stream); | 139 base_object()->PrintTo(stream); |
| 140 stream->Add(" + "); | 140 stream->Add(" + "); |
| 141 offset()->PrintTo(stream); | 141 offset()->PrintTo(stream); |
| 142 } | 142 } |
| 143 | 143 |
| 144 | 144 |
| 145 void LCallFunction::PrintDataTo(StringStream* stream) { |
| 146 context()->PrintTo(stream); |
| 147 stream->Add(" "); |
| 148 function()->PrintTo(stream); |
| 149 if (hydrogen()->HasVectorAndSlot()) { |
| 150 stream->Add(" (type-feedback-vector "); |
| 151 temp_vector()->PrintTo(stream); |
| 152 stream->Add(" "); |
| 153 temp_slot()->PrintTo(stream); |
| 154 stream->Add(")"); |
| 155 } |
| 156 } |
| 157 |
| 158 |
| 145 void LInvokeFunction::PrintDataTo(StringStream* stream) { | 159 void LInvokeFunction::PrintDataTo(StringStream* stream) { |
| 146 stream->Add("= "); | 160 stream->Add("= "); |
| 147 function()->PrintTo(stream); | 161 function()->PrintTo(stream); |
| 148 stream->Add(" #%d / ", arity()); | 162 stream->Add(" #%d / ", arity()); |
| 149 } | 163 } |
| 150 | 164 |
| 151 | 165 |
| 152 void LInstruction::PrintTo(StringStream* stream) { | 166 void LInstruction::PrintTo(StringStream* stream) { |
| 153 stream->Add("%s ", this->Mnemonic()); | 167 stream->Add("%s ", this->Mnemonic()); |
| 154 | 168 |
| (...skipping 891 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1046 LCallWithDescriptor* result = new(zone()) LCallWithDescriptor(descriptor, | 1060 LCallWithDescriptor* result = new(zone()) LCallWithDescriptor(descriptor, |
| 1047 ops, | 1061 ops, |
| 1048 zone()); | 1062 zone()); |
| 1049 return MarkAsCall(DefineFixed(result, x0), instr); | 1063 return MarkAsCall(DefineFixed(result, x0), instr); |
| 1050 } | 1064 } |
| 1051 | 1065 |
| 1052 | 1066 |
| 1053 LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) { | 1067 LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) { |
| 1054 LOperand* context = UseFixed(instr->context(), cp); | 1068 LOperand* context = UseFixed(instr->context(), cp); |
| 1055 LOperand* function = UseFixed(instr->function(), x1); | 1069 LOperand* function = UseFixed(instr->function(), x1); |
| 1056 LCallFunction* call = new(zone()) LCallFunction(context, function); | 1070 LOperand* slot = NULL; |
| 1071 LOperand* vector = NULL; |
| 1072 if (instr->HasVectorAndSlot()) { |
| 1073 slot = FixedTemp(x3); |
| 1074 vector = FixedTemp(x2); |
| 1075 } |
| 1076 |
| 1077 LCallFunction* call = |
| 1078 new (zone()) LCallFunction(context, function, slot, vector); |
| 1057 return MarkAsCall(DefineFixed(call, x0), instr); | 1079 return MarkAsCall(DefineFixed(call, x0), instr); |
| 1058 } | 1080 } |
| 1059 | 1081 |
| 1060 | 1082 |
| 1061 LInstruction* LChunkBuilder::DoCallNew(HCallNew* instr) { | 1083 LInstruction* LChunkBuilder::DoCallNew(HCallNew* instr) { |
| 1062 LOperand* context = UseFixed(instr->context(), cp); | 1084 LOperand* context = UseFixed(instr->context(), cp); |
| 1063 // The call to CallConstructStub will expect the constructor to be in x1. | 1085 // The call to CallConstructStub will expect the constructor to be in x1. |
| 1064 LOperand* constructor = UseFixed(instr->constructor(), x1); | 1086 LOperand* constructor = UseFixed(instr->constructor(), x1); |
| 1065 LCallNew* result = new(zone()) LCallNew(context, constructor); | 1087 LCallNew* result = new(zone()) LCallNew(context, constructor); |
| 1066 return MarkAsCall(DefineFixed(result, x0), instr); | 1088 return MarkAsCall(DefineFixed(result, x0), instr); |
| (...skipping 1687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2754 HAllocateBlockContext* instr) { | 2776 HAllocateBlockContext* instr) { |
| 2755 LOperand* context = UseFixed(instr->context(), cp); | 2777 LOperand* context = UseFixed(instr->context(), cp); |
| 2756 LOperand* function = UseRegisterAtStart(instr->function()); | 2778 LOperand* function = UseRegisterAtStart(instr->function()); |
| 2757 LAllocateBlockContext* result = | 2779 LAllocateBlockContext* result = |
| 2758 new(zone()) LAllocateBlockContext(context, function); | 2780 new(zone()) LAllocateBlockContext(context, function); |
| 2759 return MarkAsCall(DefineFixed(result, cp), instr); | 2781 return MarkAsCall(DefineFixed(result, cp), instr); |
| 2760 } | 2782 } |
| 2761 | 2783 |
| 2762 | 2784 |
| 2763 } } // namespace v8::internal | 2785 } } // namespace v8::internal |
| OLD | NEW |