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

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: Rebase 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
« no previous file with comments | « src/arm/interface-descriptors-arm.cc ('k') | src/builtins/builtins.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 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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 Register registers[] = { 412 Register registers[] = {
453 x1, // loaded new FP 413 x1, // loaded new FP
454 }; 414 };
455 data->InitializePlatformSpecific(arraysize(registers), registers); 415 data->InitializePlatformSpecific(arraysize(registers), registers);
456 } 416 }
457 417
458 } // namespace internal 418 } // namespace internal
459 } // namespace v8 419 } // namespace v8
460 420
461 #endif // V8_TARGET_ARCH_ARM64 421 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm/interface-descriptors-arm.cc ('k') | src/builtins/builtins.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698