| 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 "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
| 8 | 8 |
| 9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 // x2: length | 95 // x2: length |
| 96 // x1: index (of last match) | 96 // x1: index (of last match) |
| 97 // x0: string | 97 // x0: string |
| 98 Register registers[] = { x2, x1, x0 }; | 98 Register registers[] = { x2, x1, x0 }; |
| 99 descriptor->Initialize( | 99 descriptor->Initialize( |
| 100 ARRAY_SIZE(registers), registers, | 100 ARRAY_SIZE(registers), registers, |
| 101 Runtime::FunctionForId(Runtime::kHiddenRegExpConstructResult)->entry); | 101 Runtime::FunctionForId(Runtime::kHiddenRegExpConstructResult)->entry); |
| 102 } | 102 } |
| 103 | 103 |
| 104 | 104 |
| 105 void LoadFieldStub::InitializeInterfaceDescriptor( | |
| 106 CodeStubInterfaceDescriptor* descriptor) { | |
| 107 // x0: receiver | |
| 108 Register registers[] = { x0 }; | |
| 109 descriptor->Initialize(ARRAY_SIZE(registers), registers); | |
| 110 } | |
| 111 | |
| 112 | |
| 113 void KeyedLoadFieldStub::InitializeInterfaceDescriptor( | |
| 114 CodeStubInterfaceDescriptor* descriptor) { | |
| 115 // x1: receiver | |
| 116 Register registers[] = { x1 }; | |
| 117 descriptor->Initialize(ARRAY_SIZE(registers), registers); | |
| 118 } | |
| 119 | |
| 120 | |
| 121 void StringLengthStub::InitializeInterfaceDescriptor( | |
| 122 CodeStubInterfaceDescriptor* descriptor) { | |
| 123 Register registers[] = { x0, x2 }; | |
| 124 descriptor->Initialize(ARRAY_SIZE(registers), registers); | |
| 125 } | |
| 126 | |
| 127 | |
| 128 void KeyedStringLengthStub::InitializeInterfaceDescriptor( | |
| 129 CodeStubInterfaceDescriptor* descriptor) { | |
| 130 Register registers[] = { x1, x0 }; | |
| 131 descriptor->Initialize(ARRAY_SIZE(registers), registers); | |
| 132 } | |
| 133 | |
| 134 | |
| 135 void KeyedStoreFastElementStub::InitializeInterfaceDescriptor( | 105 void KeyedStoreFastElementStub::InitializeInterfaceDescriptor( |
| 136 CodeStubInterfaceDescriptor* descriptor) { | 106 CodeStubInterfaceDescriptor* descriptor) { |
| 137 // x2: receiver | 107 // x2: receiver |
| 138 // x1: key | 108 // x1: key |
| 139 // x0: value | 109 // x0: value |
| 140 Register registers[] = { x2, x1, x0 }; | 110 Register registers[] = { x2, x1, x0 }; |
| 141 descriptor->Initialize( | 111 descriptor->Initialize( |
| 142 ARRAY_SIZE(registers), registers, | 112 ARRAY_SIZE(registers), registers, |
| 143 FUNCTION_ADDR(KeyedStoreIC_MissFromStubFailure)); | 113 FUNCTION_ADDR(KeyedStoreIC_MissFromStubFailure)); |
| 144 } | 114 } |
| (...skipping 5324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5469 MemOperand(fp, 6 * kPointerSize), | 5439 MemOperand(fp, 6 * kPointerSize), |
| 5470 NULL); | 5440 NULL); |
| 5471 } | 5441 } |
| 5472 | 5442 |
| 5473 | 5443 |
| 5474 #undef __ | 5444 #undef __ |
| 5475 | 5445 |
| 5476 } } // namespace v8::internal | 5446 } } // namespace v8::internal |
| 5477 | 5447 |
| 5478 #endif // V8_TARGET_ARCH_ARM64 | 5448 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |