1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2/* 3 * This file is part of the LibreOffice project. 4 * 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/. 8 */ 9/* ia64 support code for OpenOffice C++/UNO bridging 10 * Caolan McNamara <caolanm@redhat.com> 11 */ 12 .text 13 .align 16 14 .global privateSnippetExecutor# 15 .proc privateSnippetExecutor# 16privateSnippetExecutor: 17 adds r15 = 8, gp /* r15 now points to real gp value*/ 18 ;; 19 ld8 r14 = [gp] /* load nOffsetAndIndex into a handy register */ 20 ld8 gp = [r15] /* load real gp value into gp */ 21 ;; 22 /* store the address where large structs are "returned" into a handy register */ 23 mov r15 = r8 24 ;; 25 br cpp_vtable_call# /* call cpp_vtable_call which'll suck out r14 */ 26 ;; 27 .endp privateSnippetExecutor# 28 29/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 30