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 |