|
1 # This Source Code Form is subject to the terms of the Mozilla Public |
|
2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
|
5 .set NGPREGS,8 |
|
6 .set NFPREGS,8 |
|
7 |
|
8 .section ".text" |
|
9 .globl SharedStub |
|
10 .hidden SharedStub |
|
11 .type SharedStub,@function |
|
12 SharedStub: |
|
13 stp x29, x30, [sp,#-16]! |
|
14 mov x29, sp |
|
15 |
|
16 sub sp, sp, #8*(NGPREGS+NFPREGS) |
|
17 stp x0, x1, [sp, #64+(0*8)] |
|
18 stp x2, x3, [sp, #64+(2*8)] |
|
19 stp x4, x5, [sp, #64+(4*8)] |
|
20 stp x6, x7, [sp, #64+(6*8)] |
|
21 stp d0, d1, [sp, #(0*8)] |
|
22 stp d2, d3, [sp, #(2*8)] |
|
23 stp d4, d5, [sp, #(4*8)] |
|
24 stp d6, d7, [sp, #(6*8)] |
|
25 |
|
26 # methodIndex passed from stub |
|
27 mov w1, w17 |
|
28 |
|
29 add x2, sp, #16+(8*(NGPREGS+NFPREGS)) |
|
30 add x3, sp, #8*NFPREGS |
|
31 add x4, sp, #0 |
|
32 |
|
33 bl PrepareAndDispatch |
|
34 |
|
35 add sp, sp, #8*(NGPREGS+NFPREGS) |
|
36 ldp x29, x30, [sp],#16 |
|
37 ret |
|
38 |
|
39 .size SharedStub, . - SharedStub |