| 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 | |
| 159 void LInvokeFunction::PrintDataTo(StringStream* stream) { | 145 void LInvokeFunction::PrintDataTo(StringStream* stream) { |
| 160 stream->Add("= "); | 146 stream->Add("= "); |
| 161 function()->PrintTo(stream); | 147 function()->PrintTo(stream); |
| 162 stream->Add(" #%d / ", arity()); | 148 stream->Add(" #%d / ", arity()); |
| 163 } | 149 } |
| 164 | 150 |
| 165 | 151 |
| 166 void LInstruction::PrintTo(StringStream* stream) { | 152 void LInstruction::PrintTo(StringStream* stream) { |
| 167 stream->Add("%s ", this->Mnemonic()); | 153 stream->Add("%s ", this->Mnemonic()); |
| 168 | 154 |
| (...skipping 891 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1060 LCallWithDescriptor* result = new(zone()) LCallWithDescriptor(descriptor, | 1046 LCallWithDescriptor* result = new(zone()) LCallWithDescriptor(descriptor, |
| 1061 ops, | 1047 ops, |
| 1062 zone()); | 1048 zone()); |
| 1063 return MarkAsCall(DefineFixed(result, x0), instr); | 1049 return MarkAsCall(DefineFixed(result, x0), instr); |
| 1064 } | 1050 } |
| 1065 | 1051 |
| 1066 | 1052 |
| 1067 LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) { | 1053 LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) { |
| 1068 LOperand* context = UseFixed(instr->context(), cp); | 1054 LOperand* context = UseFixed(instr->context(), cp); |
| 1069 LOperand* function = UseFixed(instr->function(), x1); | 1055 LOperand* function = UseFixed(instr->function(), x1); |
| 1070 LOperand* slot = NULL; | 1056 LCallFunction* call = new(zone()) LCallFunction(context, function); |
| 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); | |
| 1079 return MarkAsCall(DefineFixed(call, x0), instr); | 1057 return MarkAsCall(DefineFixed(call, x0), instr); |
| 1080 } | 1058 } |
| 1081 | 1059 |
| 1082 | 1060 |
| 1083 LInstruction* LChunkBuilder::DoCallNew(HCallNew* instr) { | 1061 LInstruction* LChunkBuilder::DoCallNew(HCallNew* instr) { |
| 1084 LOperand* context = UseFixed(instr->context(), cp); | 1062 LOperand* context = UseFixed(instr->context(), cp); |
| 1085 // The call to CallConstructStub will expect the constructor to be in x1. | 1063 // The call to CallConstructStub will expect the constructor to be in x1. |
| 1086 LOperand* constructor = UseFixed(instr->constructor(), x1); | 1064 LOperand* constructor = UseFixed(instr->constructor(), x1); |
| 1087 LCallNew* result = new(zone()) LCallNew(context, constructor); | 1065 LCallNew* result = new(zone()) LCallNew(context, constructor); |
| 1088 return MarkAsCall(DefineFixed(result, x0), instr); | 1066 return MarkAsCall(DefineFixed(result, x0), instr); |
| (...skipping 1687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2776 HAllocateBlockContext* instr) { | 2754 HAllocateBlockContext* instr) { |
| 2777 LOperand* context = UseFixed(instr->context(), cp); | 2755 LOperand* context = UseFixed(instr->context(), cp); |
| 2778 LOperand* function = UseRegisterAtStart(instr->function()); | 2756 LOperand* function = UseRegisterAtStart(instr->function()); |
| 2779 LAllocateBlockContext* result = | 2757 LAllocateBlockContext* result = |
| 2780 new(zone()) LAllocateBlockContext(context, function); | 2758 new(zone()) LAllocateBlockContext(context, function); |
| 2781 return MarkAsCall(DefineFixed(result, cp), instr); | 2759 return MarkAsCall(DefineFixed(result, cp), instr); |
| 2782 } | 2760 } |
| 2783 | 2761 |
| 2784 | 2762 |
| 2785 } } // namespace v8::internal | 2763 } } // namespace v8::internal |
| OLD | NEW |