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

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

Issue 1292173003: VectorICs: New interface descriptor for vector transitioning stores. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 4 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/code-stubs.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 #if V8_TARGET_ARCH_ARM64 5 #if V8_TARGET_ARCH_ARM64
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 13 matching lines...) Expand all
24 const Register StoreDescriptor::NameRegister() { return x2; } 24 const Register StoreDescriptor::NameRegister() { return x2; }
25 const Register StoreDescriptor::ValueRegister() { return x0; } 25 const Register StoreDescriptor::ValueRegister() { return x0; }
26 26
27 27
28 const Register VectorStoreICTrampolineDescriptor::SlotRegister() { return x4; } 28 const Register VectorStoreICTrampolineDescriptor::SlotRegister() { return x4; }
29 29
30 30
31 const Register VectorStoreICDescriptor::VectorRegister() { return x3; } 31 const Register VectorStoreICDescriptor::VectorRegister() { return x3; }
32 32
33 33
34 const Register VectorStoreTransitionDescriptor::SlotRegister() { return x4; }
35 const Register VectorStoreTransitionDescriptor::VectorRegister() { return x3; }
36 const Register VectorStoreTransitionDescriptor::MapRegister() { return x5; }
37
38
34 const Register StoreTransitionDescriptor::MapRegister() { return x3; } 39 const Register StoreTransitionDescriptor::MapRegister() { return x3; }
35 40
36 41
37 const Register LoadGlobalViaContextDescriptor::SlotRegister() { return x2; } 42 const Register LoadGlobalViaContextDescriptor::SlotRegister() { return x2; }
38 43
39 44
40 const Register StoreGlobalViaContextDescriptor::SlotRegister() { return x2; } 45 const Register StoreGlobalViaContextDescriptor::SlotRegister() { return x2; }
41 const Register StoreGlobalViaContextDescriptor::ValueRegister() { return x0; } 46 const Register StoreGlobalViaContextDescriptor::ValueRegister() { return x0; }
42 47
43 48
(...skipping 19 matching lines...) Expand all
63 const Register MathPowTaggedDescriptor::exponent() { return x11; } 68 const Register MathPowTaggedDescriptor::exponent() { return x11; }
64 69
65 70
66 const Register MathPowIntegerDescriptor::exponent() { return x12; } 71 const Register MathPowIntegerDescriptor::exponent() { return x12; }
67 72
68 73
69 const Register GrowArrayElementsDescriptor::ObjectRegister() { return x0; } 74 const Register GrowArrayElementsDescriptor::ObjectRegister() { return x0; }
70 const Register GrowArrayElementsDescriptor::KeyRegister() { return x3; } 75 const Register GrowArrayElementsDescriptor::KeyRegister() { return x3; }
71 76
72 77
73 void StoreTransitionDescriptor::InitializePlatformSpecific( 78 void VectorStoreTransitionDescriptor::InitializePlatformSpecific(
74 CallInterfaceDescriptorData* data) { 79 CallInterfaceDescriptorData* data) {
75 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), 80 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(),
76 MapRegister()}; 81 SlotRegister(), VectorRegister(), MapRegister()};
77 data->InitializePlatformSpecific(arraysize(registers), registers); 82 data->InitializePlatformSpecific(arraysize(registers), registers);
78 } 83 }
79 84
80 85
81 void FastNewClosureDescriptor::InitializePlatformSpecific( 86 void FastNewClosureDescriptor::InitializePlatformSpecific(
82 CallInterfaceDescriptorData* data) { 87 CallInterfaceDescriptorData* data) {
83 // x2: function info 88 // x2: function info
84 Register registers[] = {x2}; 89 Register registers[] = {x2};
85 data->InitializePlatformSpecific(arraysize(registers), registers); 90 data->InitializePlatformSpecific(arraysize(registers), registers);
86 } 91 }
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 x1, // math rounding function 425 x1, // math rounding function
421 x3, // vector slot id 426 x3, // vector slot id
422 x4, // type vector 427 x4, // type vector
423 }; 428 };
424 data->InitializePlatformSpecific(arraysize(registers), registers); 429 data->InitializePlatformSpecific(arraysize(registers), registers);
425 } 430 }
426 } // namespace internal 431 } // namespace internal
427 } // namespace v8 432 } // namespace v8
428 433
429 #endif // V8_TARGET_ARCH_ARM64 434 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm/interface-descriptors-arm.cc ('k') | src/code-stubs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698