diff options
author | Oliver Bolte <obo@openoffice.org> | 2008-02-27 08:51:04 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2008-02-27 08:51:04 +0000 |
commit | 9147cd86c5715af18a439b173807d1be4ba70739 (patch) | |
tree | 0c1ca6917b4641f309bf5e4a8e6e1a98dcc4ee8d /bridges | |
parent | 4a22f421e4aa0658696e30be5a19f846dfaa831d (diff) |
INTEGRATION: CWS ia64port01_DEV300 (1.1.2); FILE ADDED
2008/02/15 17:36:55 cmc 1.1.2.2: #i84999# struct returning rules
2008/01/04 19:09:57 cmc 1.1.2.1: first cut at ia64 bridge
Diffstat (limited to 'bridges')
-rw-r--r-- | bridges/source/cpp_uno/gcc3_linux_ia64/call.s | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_ia64/call.s b/bridges/source/cpp_uno/gcc3_linux_ia64/call.s new file mode 100644 index 000000000000..8073127da3e3 --- /dev/null +++ b/bridges/source/cpp_uno/gcc3_linux_ia64/call.s @@ -0,0 +1,20 @@ +/* ia64 support code for OpenOffice C++/UNO bridging + * + * Caolan McNamara <caolanm@redhat.com> + */ + .text + .align 16 + .global privateSnippetExecutor# + .proc privateSnippetExecutor# +privateSnippetExecutor: + adds r15 = 8, gp /* r15 now points to real gp value*/ + ;; + ld8 r14 = [gp] /* load nOffsetAndIndex into a handy register */ + ld8 gp = [r15] /* load real gp value into gp */ + ;; + /* store the address where large structs are "returned" into a handy register */ + mov r15 = r8 + ;; + br cpp_vtable_call# /* call cpp_vtable_call which'll suck out r14 */ + ;; + .endp privateSnippetExecutor# |