1 // -*- Mode
: Asm; tab-width
: 4; tab-stop-list
: (4 12 32); comment-column
: 30; comment-start
: "// "; indent-tabs-mode
: nil
-*-
3 // This file is part of the LibreOffice project.
5 // This Source Code Form is subject to the terms of the Mozilla Public
6 // License
, v.
2.0. If a copy of the MPL was not distributed with this
7 // file
, You can obtain one at http
://mozilla.org
/MPL
/2.0/.
9 // This file incorporates work covered by the following license notice
:
11 // Licensed to the Apache Software Foundation
(ASF
) under one
or more
12 // contributor license agreements. See the NOTICE file distributed
13 // with this work for additional information regarding copyright
14 // ownership. The ASF licenses this file to you under the Apache
15 // License
, Version
2.0 (the
"License"); you may
not use this file
16 // except in compliance with the License. You may obtain
a copy of
17 // the License at http
://www.apache.org
/licenses
/LICENSE-
2.0 .
19 .section __TEXT,__text,regular,pure_instructions
25 b _privateSnippetExecutor
29 b _privateSnippetExecutor
33 b _privateSnippetExecutor
37 b _privateSnippetExecutor
41 b _privateSnippetExecutor
47 b _privateSnippetExecutor
51 b _privateSnippetExecutor
55 b _privateSnippetExecutor
59 b _privateSnippetExecutor
63 b _privateSnippetExecutor
67 b _privateSnippetExecutor
71 b _privateSnippetExecutor
77 b _privateSnippetExecutor
81 b _privateSnippetExecutor
85 b _privateSnippetExecutor
89 b _privateSnippetExecutor
93 b _privateSnippetExecutor
97 b _privateSnippetExecutor
101 b _privateSnippetExecutor
105 b _privateSnippetExecutor
109 b _privateSnippetExecutor
113 b _privateSnippetExecutor
117 b _privateSnippetExecutor
121 b _privateSnippetExecutor
125 b _privateSnippetExecutor
129 b _privateSnippetExecutor
133 b _privateSnippetExecutor
137 b _privateSnippetExecutor
141 b _privateSnippetExecutor
145 b _privateSnippetExecutor
149 b _privateSnippetExecutor
153 b _privateSnippetExecutor
157 .long codeSnippet_0_0 - _codeSnippets
158 .long codeSnippet_0_1 - _codeSnippets
159 .long codeSnippet_0_2 - _codeSnippets
160 .long codeSnippet_0_3 - _codeSnippets
161 .long codeSnippet_1_0 - _codeSnippets
162 .long codeSnippet_1_1 - _codeSnippets
163 .long codeSnippet_1_2 - _codeSnippets
164 .long codeSnippet_1_3 - _codeSnippets
165 .long codeSnippet_2_0 - _codeSnippets
166 .long codeSnippet_2_1 - _codeSnippets
167 .long codeSnippet_2_2 - _codeSnippets
168 .long codeSnippet_2_3 - _codeSnippets
169 .long codeSnippet_3_0 - _codeSnippets
170 .long codeSnippet_3_1 - _codeSnippets
171 .long codeSnippet_3_2 - _codeSnippets
172 .long codeSnippet_3_3 - _codeSnippets
173 .long codeSnippet_4_0 - _codeSnippets
174 .long codeSnippet_4_1 - _codeSnippets
175 .long codeSnippet_4_2 - _codeSnippets
176 .long codeSnippet_4_3 - _codeSnippets
177 .long codeSnippet_5_0 - _codeSnippets
178 .long codeSnippet_5_1 - _codeSnippets
179 .long codeSnippet_5_2 - _codeSnippets
180 .long codeSnippet_5_3 - _codeSnippets
181 .long codeSnippet_6_0 - _codeSnippets
182 .long codeSnippet_6_1 - _codeSnippets
183 .long codeSnippet_6_2 - _codeSnippets
184 .long codeSnippet_6_3 - _codeSnippets
185 .long codeSnippet_7_0 - _codeSnippets
186 .long codeSnippet_7_1 - _codeSnippets
187 .long codeSnippet_7_2 - _codeSnippets
188 .long codeSnippet_7_3 - _codeSnippets
192 .private_extern _privateSnippetExecutor
193 .globl _privateSnippetExecutor
195 _privateSnippetExecutor
:
201 // _privateSnippetExecutor is jumped to from codeSnippet_
*
203 // push all GP
, FP
/SIMD registers to the stack
204 stp x6
, x7
, [sp
, #-16]!
205 stp x4
, x5
, [sp
, #-16]!
206 stp x2
, x3
, [sp
, #-16]!
207 stp x0
, x1
, [sp
, #-16]!
208 stp d6
, d7
, [sp
, #-16]!
209 stp d4
, d5
, [sp
, #-16]!
210 stp d2
, d3
, [sp
, #-16]!
211 stp d0
, d1
, [sp
, #-16]!
213 // push x8
(RC pointer
) and lr to stack
214 stp x8
, lr, [sp
, #-16]!
216 // First argument
(x15 set up in the codeSnippet instance
)
217 // Second argument
: The pointer to all the above
223 // restore x8
(RC pointer
) and lr (skip RC from cpp_vtable_call
)
229 // continue with throw
/catch
233 // vim
:set shiftwidth
=4 softtabstop
=4 expandtab
: