michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: # file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: .set NGPREGS,8 michael@0: .set NFPREGS,8 michael@0: michael@0: .section ".text" michael@0: .globl SharedStub michael@0: .hidden SharedStub michael@0: .type SharedStub,@function michael@0: SharedStub: michael@0: stp x29, x30, [sp,#-16]! michael@0: mov x29, sp michael@0: michael@0: sub sp, sp, #8*(NGPREGS+NFPREGS) michael@0: stp x0, x1, [sp, #64+(0*8)] michael@0: stp x2, x3, [sp, #64+(2*8)] michael@0: stp x4, x5, [sp, #64+(4*8)] michael@0: stp x6, x7, [sp, #64+(6*8)] michael@0: stp d0, d1, [sp, #(0*8)] michael@0: stp d2, d3, [sp, #(2*8)] michael@0: stp d4, d5, [sp, #(4*8)] michael@0: stp d6, d7, [sp, #(6*8)] michael@0: michael@0: # methodIndex passed from stub michael@0: mov w1, w17 michael@0: michael@0: add x2, sp, #16+(8*(NGPREGS+NFPREGS)) michael@0: add x3, sp, #8*NFPREGS michael@0: add x4, sp, #0 michael@0: michael@0: bl PrepareAndDispatch michael@0: michael@0: add sp, sp, #8*(NGPREGS+NFPREGS) michael@0: ldp x29, x30, [sp],#16 michael@0: ret michael@0: michael@0: .size SharedStub, . - SharedStub