Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Side by Side Diff: src/s390/interface-descriptors-s390.cc

Issue 2932833002: PPC/s390: [builtins] Start refactoring the Apply builtin. (Closed)
Patch Set: s390 port Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/ppc/macro-assembler-ppc.cc ('k') | src/s390/macro-assembler-s390.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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 #if V8_TARGET_ARCH_S390 5 #if V8_TARGET_ARCH_S390
6 6
7 #include "src/interface-descriptors.h" 7 #include "src/interface-descriptors.h"
8 8
9 namespace v8 { 9 namespace v8 {
10 namespace internal { 10 namespace internal {
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 } 138 }
139 139
140 void CallTrampolineDescriptor::InitializePlatformSpecific( 140 void CallTrampolineDescriptor::InitializePlatformSpecific(
141 CallInterfaceDescriptorData* data) { 141 CallInterfaceDescriptorData* data) {
142 // r2 : number of arguments 142 // r2 : number of arguments
143 // r3 : the target to call 143 // r3 : the target to call
144 Register registers[] = {r3, r2}; 144 Register registers[] = {r3, r2};
145 data->InitializePlatformSpecific(arraysize(registers), registers); 145 data->InitializePlatformSpecific(arraysize(registers), registers);
146 } 146 }
147 147
148 void CallVarargsDescriptor::InitializePlatformSpecific(
149 CallInterfaceDescriptorData* data) {
150 // r2 : number of arguments (on the stack, not including receiver)
151 // r3 : the target to call
152 // r4 : arguments list (FixedArray)
153 // r6 : arguments list length (untagged)
154 Register registers[] = {r3, r2, r4, r6};
155 data->InitializePlatformSpecific(arraysize(registers), registers);
156 }
157
148 void CallForwardVarargsDescriptor::InitializePlatformSpecific( 158 void CallForwardVarargsDescriptor::InitializePlatformSpecific(
149 CallInterfaceDescriptorData* data) { 159 CallInterfaceDescriptorData* data) {
150 // r2 : number of arguments 160 // r2 : number of arguments
151 // r4 : start index (to support rest parameters) 161 // r4 : start index (to support rest parameters)
152 // r3 : the target to call 162 // r3 : the target to call
153 Register registers[] = {r3, r2, r4}; 163 Register registers[] = {r3, r2, r4};
154 data->InitializePlatformSpecific(arraysize(registers), registers); 164 data->InitializePlatformSpecific(arraysize(registers), registers);
155 } 165 }
156 166
167 void CallWithArrayLikeDescriptor::InitializePlatformSpecific(
168 CallInterfaceDescriptorData* data) {
169 // r3 : the target to call
170 // r4 : the arguments list
171 Register registers[] = {r3, r4};
172 data->InitializePlatformSpecific(arraysize(registers), registers);
173 }
174
175 void ConstructVarargsDescriptor::InitializePlatformSpecific(
176 CallInterfaceDescriptorData* data) {
177 // r2 : number of arguments (on the stack, not including receiver)
178 // r3 : the target to call
179 // r5 : the new target
180 // r4 : arguments list (FixedArray)
181 // r6 : arguments list length (untagged)
182 Register registers[] = {r3, r5, r2, r4, r6};
183 data->InitializePlatformSpecific(arraysize(registers), registers);
184 }
185
157 void ConstructForwardVarargsDescriptor::InitializePlatformSpecific( 186 void ConstructForwardVarargsDescriptor::InitializePlatformSpecific(
158 CallInterfaceDescriptorData* data) { 187 CallInterfaceDescriptorData* data) {
159 // r2 : number of arguments 188 // r2 : number of arguments
160 // r5 : the new target 189 // r5 : the new target
161 // r4 : start index (to support rest parameters) 190 // r4 : start index (to support rest parameters)
162 // r3 : the target to call 191 // r3 : the target to call
163 Register registers[] = {r3, r5, r2, r4}; 192 Register registers[] = {r3, r5, r2, r4};
164 data->InitializePlatformSpecific(arraysize(registers), registers); 193 data->InitializePlatformSpecific(arraysize(registers), registers);
165 } 194 }
166 195
196 void ConstructWithArrayLikeDescriptor::InitializePlatformSpecific(
197 CallInterfaceDescriptorData* data) {
198 // r3 : the target to call
199 // r5 : the new target
200 // r4 : the arguments list
201 Register registers[] = {r3, r5, r4};
202 data->InitializePlatformSpecific(arraysize(registers), registers);
203 }
204
167 void ConstructStubDescriptor::InitializePlatformSpecific( 205 void ConstructStubDescriptor::InitializePlatformSpecific(
168 CallInterfaceDescriptorData* data) { 206 CallInterfaceDescriptorData* data) {
169 // r2 : number of arguments 207 // r2 : number of arguments
170 // r3 : the target to call 208 // r3 : the target to call
171 // r5 : the new target 209 // r5 : the new target
172 // r4 : allocation site or undefined 210 // r4 : allocation site or undefined
173 Register registers[] = {r3, r5, r2, r4}; 211 Register registers[] = {r3, r5, r2, r4};
174 data->InitializePlatformSpecific(arraysize(registers), registers); 212 data->InitializePlatformSpecific(arraysize(registers), registers);
175 } 213 }
176 214
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 Register registers[] = { 403 Register registers[] = {
366 r3, // loaded new FP 404 r3, // loaded new FP
367 }; 405 };
368 data->InitializePlatformSpecific(arraysize(registers), registers); 406 data->InitializePlatformSpecific(arraysize(registers), registers);
369 } 407 }
370 408
371 } // namespace internal 409 } // namespace internal
372 } // namespace v8 410 } // namespace v8
373 411
374 #endif // V8_TARGET_ARCH_S390 412 #endif // V8_TARGET_ARCH_S390
OLDNEW
« no previous file with comments | « src/ppc/macro-assembler-ppc.cc ('k') | src/s390/macro-assembler-s390.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698