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

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

Issue 2777203007: [builtins] Introduce new TFC macro and auto-generate TFS descriptors (Closed)
Patch Set: Format Created 3 years, 8 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
OLDNEW
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/arm64/interface-descriptors-arm64.h" 5 #include "src/arm64/interface-descriptors-arm64.h"
6 6
7 #if V8_TARGET_ARCH_ARM64 7 #if V8_TARGET_ARCH_ARM64
8 8
9 #include "src/interface-descriptors.h" 9 #include "src/interface-descriptors.h"
10 10
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 } 308 }
309 309
310 void StringAddDescriptor::InitializePlatformSpecific( 310 void StringAddDescriptor::InitializePlatformSpecific(
311 CallInterfaceDescriptorData* data) { 311 CallInterfaceDescriptorData* data) {
312 // x1: left operand 312 // x1: left operand
313 // x0: right operand 313 // x0: right operand
314 Register registers[] = {x1, x0}; 314 Register registers[] = {x1, x0};
315 data->InitializePlatformSpecific(arraysize(registers), registers); 315 data->InitializePlatformSpecific(arraysize(registers), registers);
316 } 316 }
317 317
318
319 void KeyedDescriptor::InitializePlatformSpecific(
320 CallInterfaceDescriptorData* data) {
321 static PlatformInterfaceDescriptor noInlineDescriptor =
322 PlatformInterfaceDescriptor(NEVER_INLINE_TARGET_ADDRESS);
323
324 Register registers[] = {
325 x2, // key
326 };
327 data->InitializePlatformSpecific(arraysize(registers), registers,
328 &noInlineDescriptor);
329 }
330
331
332 void NamedDescriptor::InitializePlatformSpecific(
333 CallInterfaceDescriptorData* data) {
334 static PlatformInterfaceDescriptor noInlineDescriptor =
335 PlatformInterfaceDescriptor(NEVER_INLINE_TARGET_ADDRESS);
336
337 Register registers[] = {
338 x2, // name
339 };
340 data->InitializePlatformSpecific(arraysize(registers), registers,
341 &noInlineDescriptor);
342 }
343
344
345 void CallHandlerDescriptor::InitializePlatformSpecific(
346 CallInterfaceDescriptorData* data) {
347 static PlatformInterfaceDescriptor default_descriptor =
348 PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS);
349
350 Register registers[] = {
351 x0, // receiver
352 };
353 data->InitializePlatformSpecific(arraysize(registers), registers,
354 &default_descriptor);
355 }
356
357
358 void ArgumentAdaptorDescriptor::InitializePlatformSpecific( 318 void ArgumentAdaptorDescriptor::InitializePlatformSpecific(
359 CallInterfaceDescriptorData* data) { 319 CallInterfaceDescriptorData* data) {
360 static PlatformInterfaceDescriptor default_descriptor = 320 static PlatformInterfaceDescriptor default_descriptor =
361 PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS); 321 PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS);
362 322
363 Register registers[] = { 323 Register registers[] = {
364 x1, // JSFunction 324 x1, // JSFunction
365 x3, // the new target 325 x3, // the new target
366 x0, // actual number of arguments 326 x0, // actual number of arguments
367 x2, // expected number of arguments 327 x2, // expected number of arguments
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 Register registers[] = { 411 Register registers[] = {
452 x1, // loaded new FP 412 x1, // loaded new FP
453 }; 413 };
454 data->InitializePlatformSpecific(arraysize(registers), registers); 414 data->InitializePlatformSpecific(arraysize(registers), registers);
455 } 415 }
456 416
457 } // namespace internal 417 } // namespace internal
458 } // namespace v8 418 } // namespace v8
459 419
460 #endif // V8_TARGET_ARCH_ARM64 420 #endif // V8_TARGET_ARCH_ARM64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698