bump product version to 6.3.0.0.beta1
[LibreOffice.git] / bridges / source / cpp_uno / gcc3_linux_sparc64 / call.s
blob7aed24c7a45e15cb6e1cd0a016cbdf578b495eaf
1 /*
2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 .global doFlushCode
20 doFlushCode:
21 .L: flush %o0
22 deccc %o1
23 bne .L
24 add %o0, 8, %o0
25 retl
26 nop
27 .size doFlushCode,(.-doFlushCode)
28 .align 8
30 // %{o->i}0: index
31 // %{o->i}1: pCallStack = %{s->f}p+2047
32 // %{o->i}2: vtableOffset
33 // %{o->i}3: cpp_vtable_call
34 // %{o->i}4: frameSize (negative)
35 // [%{s->f}p+2047+128]: param 0 ...
36 .file "call.s"
37 .text
38 .align 4
39 .global privateSnippetExecutor
40 .type privateSnippetExecutor, #function
41 privateSnippetExecutor:
42 .LFB0:
43 //// Already done by codeSnippet
44 .cfi_startproc
45 save %sp, -176, %sp
46 .cfi_window_save
47 // Register 8 (%o0) saved to register 24 (%i0)
48 .cfi_register 8, 24
49 // Register 9 (%o1) saved to register 25 (%i1)
50 .cfi_register 9, 25
51 // Register 10 (%o2) saved to register 26 (%i2)
52 .cfi_register 10, 26
53 // Register 11 (%o3) saved to register 27 (%i3)
54 .cfi_register 11, 27
55 // Register 12 (%o4) saved to register 28 (%i4)
56 .cfi_register 12, 28
57 // Register 15 (%o7) saved to register 31 (%i7)
58 .cfi_register 15, 31
59 // Use register 30 (%i6 - saved stack pointer) for Call Frame Address
60 .cfi_def_cfa_register 30
61 mov %i0, %o0
62 mov %i1, %o1
63 mov %i2, %o2
64 jmpl %i3, %o7
65 nop
66 mov %o0, %i0
67 mov %o1, %i1
68 mov %o2, %i2
69 mov %o3, %i3
70 ret
71 restore
72 .cfi_endproc
73 .LFE0:
74 .size privateSnippetExecutor,(.-privateSnippetExecutor)
75 .section .note.GNU-stack,"",@progbits
77 .align 8