[Libreoffice-commits] core.git: 4 commits - bridges/source
Tor Lillqvist
tml at collabora.com
Mon Sep 30 15:04:54 PDT 2013
bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl | 91 ++--
bridges/source/cpp_uno/gcc3_ios_arm/helper.s | 324 +++++++--------
2 files changed, 218 insertions(+), 197 deletions(-)
New commits:
commit e669d631a746d9f2cb9dc6da707a7ed73bd9401a
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Oct 1 00:52:52 2013 +0300
Untabify and add mode lines
Change-Id: I185befe8aebdc13df601b1151b45c62e7291b5c0
diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl b/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
index 43dd6fc..c89f2ed 100755
--- a/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
+++ b/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl -w # -*- tab-width: 4; indent-tabs-mode: nil; cperl-indent-level: 4 -*-
#
# This file is part of the LibreOffice project.
#
@@ -51,11 +51,11 @@ printf ("\n");
foreach my $funIndex (0 .. $nFunIndexes-1)
{
- foreach my $vtableOffset (0 .. $nVtableOffsets-1)
- {
- gen_arm ($funIndex, $vtableOffset);
- gen_arm ($funIndex|0x80000000, $vtableOffset);
- }
+ foreach my $vtableOffset (0 .. $nVtableOffsets-1)
+ {
+ gen_arm ($funIndex, $vtableOffset);
+ gen_arm ($funIndex|0x80000000, $vtableOffset);
+ }
}
printf ("#else\n");
@@ -65,13 +65,13 @@ foreach my $funIndex (0 .. $nFunIndexes-1)
{
foreach my $vtableOffset (0 .. $nVtableOffsets-1)
{
- foreach my $executor ('General', 'Void', 'Hyper', 'Float', 'Double', 'Class')
- {
- gen_x86 ($funIndex, $vtableOffset, $executor);
- gen_x86 ($funIndex|0x80000000, $vtableOffset, $executor);
- }
+ foreach my $executor ('General', 'Void', 'Hyper', 'Float', 'Double', 'Class')
+ {
+ gen_x86 ($funIndex, $vtableOffset, $executor);
+ gen_x86 ($funIndex|0x80000000, $vtableOffset, $executor);
+ }
}
-}
+ }
printf ("#endif\n");
@@ -90,15 +90,17 @@ foreach my $funIndex (0 .. $nFunIndexes-1)
{
foreach my $vtableOffset (0 .. $nVtableOffsets-1)
{
- printf ("#if defined(__arm) || defined(__arm64)\n");
+ printf ("#if defined(__arm) || defined(__arm64)\n");
printf (" .long codeSnippet_%08x_%d - _codeSnippets\n", $funIndex, $vtableOffset);
printf (" .long codeSnippet_%08x_%d - _codeSnippets\n", $funIndex|0x80000000, $vtableOffset);
- printf ("#else\n");
- foreach my $executor ('General', 'Void', 'Hyper', 'Float', 'Double', 'Class')
- {
+ printf ("#else\n");
+ foreach my $executor ('General', 'Void', 'Hyper', 'Float', 'Double', 'Class')
+ {
printf (" .long codeSnippet_%08x_%d_%s - _codeSnippets\n", $funIndex, $vtableOffset, $executor);
printf (" .long codeSnippet_%08x_%d_%s - _codeSnippets\n", $funIndex|0x80000000, $vtableOffset, $executor);
- }
- printf ("#endif\n");
+ }
+ printf ("#endif\n");
}
}
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
commit 6a3493adb70c53a345456e220213dc645a05a155
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Oct 1 00:44:02 2013 +0300
Add dummy code for the ARM64 case
Change-Id: I88a871374ecc8d9d59f9b33b5198c0e6c9a2458d
diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl b/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
index 822afff..43dd6fc 100755
--- a/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
+++ b/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
@@ -14,7 +14,12 @@ sub gen_arm ($$)
{
my ($funIndex, $vtableOffset) = @_;
printf ("codeSnippet_%08x_%d:\n", $funIndex, $vtableOffset);
+ printf ("#ifdef __arm\n");
+ # Note: pc is the address of instruction being executed plus 8
printf (" mov ip, pc\n");
+ printf ("#else\n");
+ printf (" adr x15, .+8\n");
+ printf ("#endif\n");
printf (" b _privateSnippetExecutor\n");
printf (" .long %#08x\n", $funIndex);
printf (" .long %d\n", $vtableOffset);
@@ -31,11 +36,11 @@ sub gen_x86 ($$$)
printf (".text\n");
-printf ("#ifdef __arm\n");
+printf ("#if defined(__arm) || defined(__arm64)\n");
printf ("\n");
-printf ("// Each codeSnippetX function stores pc into ip and branches to _privateSnippetExecutor\n");
-printf ("// The branch instruction is followed by two longs (that ip thus points to):\n");
+printf ("// Each codeSnippetX function stores into ip/x15 an address and branches to _privateSnippetExecutor\n");
+printf ("// The branch instruction is followed by two longs that ip/x15 points to:\n");
printf ("// - the function index, as such and with the 0x80000000 bit set\n");
printf ("// (to indicate a hidden parameter for returning large values)\n");
printf ("// - the vtable offset\n");
@@ -85,7 +90,7 @@ foreach my $funIndex (0 .. $nFunIndexes-1)
{
foreach my $vtableOffset (0 .. $nVtableOffsets-1)
{
- printf ("#ifdef __arm\n");
+ printf ("#if defined(__arm) || defined(__arm64)\n");
printf (" .long codeSnippet_%08x_%d - _codeSnippets\n", $funIndex, $vtableOffset);
printf (" .long codeSnippet_%08x_%d - _codeSnippets\n", $funIndex|0x80000000, $vtableOffset);
printf ("#else\n");
diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/helper.s b/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
index 2f94734..27c7c04 100644
--- a/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
+++ b/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
@@ -19,7 +19,7 @@
#include "codesnippets.S"
-#ifdef __arm
+#if defined(__arm)
// ARM support code for LibreOffice C++/UNO bridging
//
// Written by Peter Naulls <peter at chocky.org>
@@ -42,6 +42,17 @@ _privateSnippetExecutor:
add sp, sp, #4 // no need to restore r4 (we didn't touch it)
ldr pc, [sp], #20 // return, discarding function arguments
+#elif defined(__arm64)
+
+ .text
+ .align 4
+
+_privateSnippetExecutor:
+
+ // Not done yet, intentionally crash for now...
+ mov x15, #0
+ ldr x15, [x15]
+
#else
.text
commit 883dfa4827ad29dfdc363189ac7052dbb1b866dd
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Oct 1 00:35:45 2013 +0300
Don't use tabs here either
Change-Id: I633d73ac04ad97bb71e62a93e7d804cd253b2a31
diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl b/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
index 67701cb..822afff 100755
--- a/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
+++ b/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
@@ -14,19 +14,19 @@ sub gen_arm ($$)
{
my ($funIndex, $vtableOffset) = @_;
printf ("codeSnippet_%08x_%d:\n", $funIndex, $vtableOffset);
- printf ("\tmov ip, pc\n");
- printf ("\tb _privateSnippetExecutor\n");
- printf ("\t.long %#08x\n", $funIndex);
- printf ("\t.long %d\n", $vtableOffset);
+ printf (" mov ip, pc\n");
+ printf (" b _privateSnippetExecutor\n");
+ printf (" .long %#08x\n", $funIndex);
+ printf (" .long %d\n", $vtableOffset);
}
sub gen_x86 ($$$)
{
my ($funIndex, $vtableOffset, $executor) = @_;
printf ("codeSnippet_%08x_%d_%s:\n", $funIndex, $vtableOffset, $executor);
- printf ("\tmovl \$%#08x, %%eax\n", $funIndex);
- printf ("\tmovl \$%d, %%edx\n", $vtableOffset);
- printf ("\tjmp _privateSnippetExecutor%s\n", $executor);
+ printf (" movl \$%#08x, %%eax\n", $funIndex);
+ printf (" movl \$%d, %%edx\n", $vtableOffset);
+ printf (" jmp _privateSnippetExecutor%s\n", $executor);
}
printf (".text\n");
@@ -41,7 +41,7 @@ printf ("// (to indicate a hidden parameter for returning large values)\n");
printf ("// - the vtable offset\n");
printf ("\n");
-printf ("\t.align 4\n");
+printf (" .align 4\n");
printf ("\n");
foreach my $funIndex (0 .. $nFunIndexes-1)
@@ -54,7 +54,7 @@ foreach my $funIndex (0 .. $nFunIndexes-1)
}
printf ("#else\n");
-printf ("\t.align 1, 0x90\n");
+printf (" .align 1, 0x90\n");
foreach my $funIndex (0 .. $nFunIndexes-1)
{
@@ -70,15 +70,15 @@ foreach my $funIndex (0 .. $nFunIndexes-1)
printf ("#endif\n");
-printf ("\t.globl _nFunIndexes\n");
+printf (" .globl _nFunIndexes\n");
printf ("_nFunIndexes:\n");
-printf ("\t.long %d\n", $nFunIndexes);
+printf (" .long %d\n", $nFunIndexes);
-printf ("\t.globl _nVtableOffsets\n");
+printf (" .globl _nVtableOffsets\n");
printf ("_nVtableOffsets:\n");
-printf ("\t.long %d\n", $nVtableOffsets);
+printf (" .long %d\n", $nVtableOffsets);
-printf ("\t.globl _codeSnippets\n");
+printf (" .globl _codeSnippets\n");
printf ("_codeSnippets:\n");
foreach my $funIndex (0 .. $nFunIndexes-1)
@@ -86,13 +86,13 @@ foreach my $funIndex (0 .. $nFunIndexes-1)
foreach my $vtableOffset (0 .. $nVtableOffsets-1)
{
printf ("#ifdef __arm\n");
- printf ("\t.long codeSnippet_%08x_%d - _codeSnippets\n", $funIndex, $vtableOffset);
- printf ("\t.long codeSnippet_%08x_%d - _codeSnippets\n", $funIndex|0x80000000, $vtableOffset);
+ printf (" .long codeSnippet_%08x_%d - _codeSnippets\n", $funIndex, $vtableOffset);
+ printf (" .long codeSnippet_%08x_%d - _codeSnippets\n", $funIndex|0x80000000, $vtableOffset);
printf ("#else\n");
foreach my $executor ('General', 'Void', 'Hyper', 'Float', 'Double', 'Class')
{
- printf ("\t.long codeSnippet_%08x_%d_%s - _codeSnippets\n", $funIndex, $vtableOffset, $executor);
- printf ("\t.long codeSnippet_%08x_%d_%s - _codeSnippets\n", $funIndex|0x80000000, $vtableOffset, $executor);
+ printf (" .long codeSnippet_%08x_%d_%s - _codeSnippets\n", $funIndex, $vtableOffset, $executor);
+ printf (" .long codeSnippet_%08x_%d_%s - _codeSnippets\n", $funIndex|0x80000000, $vtableOffset, $executor);
}
printf ("#endif\n");
}
diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/helper.s b/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
index 914d4b7..2f94734 100644
--- a/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
+++ b/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
@@ -1,3 +1,5 @@
+// -*- Mode: Asm; tab-width: 4; tab-stop-list: (4 12 32); comment-column: 30; comment-start: "// "; indent-tabs-mode: nil -*-
+//
// This file is part of the LibreOffice project.
//
// This Source Code Form is subject to the terms of the Mozilla Public
@@ -25,20 +27,20 @@
// Fixed by Michael Casadevall <mcasadevall at kubuntu.org>
// Modified for iOS by Tor Lillqvist <tml at iki.fi>
- .text
- .align 4
+ .text
+ .align 4
_privateSnippetExecutor:
- stmfd sp!, {r0-r3} // follow other parameters on stack
- mov r0, ip // r0 points to functionoffset/vtable
- mov r1, sp // r1 points to this and params
- // (see cpp2uno.cxx:codeSnippet())
- stmfd sp!, {r4,lr} // save return address
- // (r4 pushed to preserve stack alignment)
- bl _cpp_vtable_call
+ stmfd sp!, {r0-r3} // follow other parameters on stack
+ mov r0, ip // r0 points to functionoffset/vtable
+ mov r1, sp // r1 points to this and params
+ // (see cpp2uno.cxx:codeSnippet())
+ stmfd sp!, {r4,lr} // save return address
+ // (r4 pushed to preserve stack alignment)
+ bl _cpp_vtable_call
- add sp, sp, #4 // no need to restore r4 (we didn't touch it)
- ldr pc, [sp], #20 // return, discarding function arguments
+ add sp, sp, #4 // no need to restore r4 (we didn't touch it)
+ ldr pc, [sp], #20 // return, discarding function arguments
#else
.text
@@ -330,3 +332,5 @@ L___gxx_personality_v0$non_lazy_ptr:
.destructor
.align 1
#endif
+
+// vim:set shiftwidth=4 softtabstop=4 expandtab:
commit dbd0fa72168ad9957466e447975a6ee7a63c434e
Author: Tor Lillqvist <tml at collabora.com>
Date: Mon Sep 30 23:55:00 2013 +0300
Use // consistently for comments in the iOS assembly sources
Change-Id: I60bbf6c309130bbf868745b3ba6fc1c0729d850a
diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl b/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
index 80b45fe..67701cb 100755
--- a/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
+++ b/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
@@ -34,11 +34,11 @@ printf (".text\n");
printf ("#ifdef __arm\n");
printf ("\n");
-printf ("@ Each codeSnippetX function stores pc into ip and branches to _privateSnippetExecutor\n");
-printf ("@ The branch instruction is followed by two longs (that ip thus points to):\n");
-printf ("@ - the function index, as such and with the 0x80000000 bit set\n");
-printf ("@ (to indicate a hidden parameter for returning large values)\n");
-printf ("@ - the vtable offset\n");
+printf ("// Each codeSnippetX function stores pc into ip and branches to _privateSnippetExecutor\n");
+printf ("// The branch instruction is followed by two longs (that ip thus points to):\n");
+printf ("// - the function index, as such and with the 0x80000000 bit set\n");
+printf ("// (to indicate a hidden parameter for returning large values)\n");
+printf ("// - the vtable offset\n");
printf ("\n");
printf ("\t.align 4\n");
diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/helper.s b/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
index 6df0c25..914d4b7 100644
--- a/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
+++ b/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
@@ -1,45 +1,44 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
+// This file is part of the LibreOffice project.
+//
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+//
+// This file incorporates work covered by the following license notice:
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed
+// with this work for additional information regarding copyright
+// ownership. The ASF licenses this file to you under the Apache
+// License, Version 2.0 (the "License"); you may not use this file
+// except in compliance with the License. You may obtain a copy of
+// the License at http://www.apache.org/licenses/LICENSE-2.0 .
+//
#include "codesnippets.S"
#ifdef __arm
-@ ARM support code for LibreOffice C++/UNO bridging
-@
-@ Written by Peter Naulls <peter at chocky.org>
-@ Modified by Caolan McNamara <caolanm at redhat.com>
-@ Fixed by Michael Casadevall <mcasadevall at kubuntu.org>
-@ Modified for iOS by Tor Lillqvist <tml at iki.fi>
+// ARM support code for LibreOffice C++/UNO bridging
+//
+// Written by Peter Naulls <peter at chocky.org>
+// Modified by Caolan McNamara <caolanm at redhat.com>
+// Fixed by Michael Casadevall <mcasadevall at kubuntu.org>
+// Modified for iOS by Tor Lillqvist <tml at iki.fi>
.text
.align 4
_privateSnippetExecutor:
- stmfd sp!, {r0-r3} @ follow other parameters on stack
- mov r0, ip @ r0 points to functionoffset/vtable
- mov r1, sp @ r1 points to this and params
- @ (see cpp2uno.cxx:codeSnippet())
- stmfd sp!, {r4,lr} @ save return address
- @ (r4 pushed to preserve stack alignment)
+ stmfd sp!, {r0-r3} // follow other parameters on stack
+ mov r0, ip // r0 points to functionoffset/vtable
+ mov r1, sp // r1 points to this and params
+ // (see cpp2uno.cxx:codeSnippet())
+ stmfd sp!, {r4,lr} // save return address
+ // (r4 pushed to preserve stack alignment)
bl _cpp_vtable_call
- add sp, sp, #4 @ no need to restore r4 (we didn't touch it)
- ldr pc, [sp], #20 @ return, discarding function arguments
+ add sp, sp, #4 // no need to restore r4 (we didn't touch it)
+ ldr pc, [sp], #20 // return, discarding function arguments
#else
.text
@@ -48,17 +47,17 @@ _privateSnippetExecutor:
_privateSnippetExecutorGeneral:
LFBg:
movl %esp,%ecx
- pushl %ebp # proper stack frame needed for exception handling
+ pushl %ebp // proper stack frame needed for exception handling
LCFIg0:
movl %esp,%ebp
LCFIg1:
- subl $0x8,%esp # padding + 32bit returnValue
- pushl %esp # 32bit &returnValue
- pushl %ecx # 32bit pCallStack
- pushl %edx # 32bit nVtableOffset
- pushl %eax # 32bit nFunctionIndex
+ subl $0x8,%esp // padding + 32bit returnValue
+ pushl %esp // 32bit &returnValue
+ pushl %ecx // 32bit pCallStack
+ pushl %edx // 32bit nVtableOffset
+ pushl %eax // 32bit nFunctionIndex
call L_cpp_vtable_call$stub
- movl 16(%esp),%eax # 32bit returnValue
+ movl 16(%esp),%eax // 32bit returnValue
leave
ret
LFEg:
@@ -68,15 +67,15 @@ LFEg:
_privateSnippetExecutorVoid:
LFBv:
movl %esp,%ecx
- pushl %ebp # proper stack frame needed for exception handling
+ pushl %ebp // proper stack frame needed for exception handling
LCFIv0:
movl %esp,%ebp
LCFIv1:
- sub $8,%esp # padding
- pushl $0 # 32bit null pointer (returnValue not used)
- pushl %ecx # 32bit pCallStack
- pushl %edx # 32bit nVtableOffset
- pushl %eax # 32bit nFunctionIndex
+ sub $8,%esp // padding
+ pushl $0 // 32bit null pointer (returnValue not used)
+ pushl %ecx // 32bit pCallStack
+ pushl %edx // 32bit nVtableOffset
+ pushl %eax // 32bit nFunctionIndex
call L_cpp_vtable_call$stub
leave
ret
@@ -87,18 +86,18 @@ LFEv:
_privateSnippetExecutorHyper:
LFBh:
movl %esp,%ecx
- pushl %ebp # proper stack frame needed for exception handling
+ pushl %ebp // proper stack frame needed for exception handling
LCFIh0:
movl %esp,%ebp
LCFIh1:
- subl $0x8,%esp # 64bit returnValue
- pushl %esp # 32bit &returnValue
- pushl %ecx # 32bit pCallStack
- pushl %edx # 32bit nVtableOffset
- pushl %eax # 32bit nFunctionIndex
+ subl $0x8,%esp // 64bit returnValue
+ pushl %esp // 32bit &returnValue
+ pushl %ecx // 32bit pCallStack
+ pushl %edx // 32bit nVtableOffset
+ pushl %eax // 32bit nFunctionIndex
call L_cpp_vtable_call$stub
- movl 16(%esp),%eax # 64bit returnValue, lower half
- movl 20(%esp),%edx # 64bit returnValue, upper half
+ movl 16(%esp),%eax // 64bit returnValue, lower half
+ movl 20(%esp),%edx // 64bit returnValue, upper half
leave
ret
LFEh:
@@ -108,17 +107,17 @@ LFEh:
_privateSnippetExecutorFloat:
LFBf:
movl %esp,%ecx
- pushl %ebp # proper stack frame needed for exception handling
+ pushl %ebp // proper stack frame needed for exception handling
LCFIf0:
movl %esp,%ebp
LCFIf1:
- subl $0x8,%esp # padding + 32bit returnValue
- pushl %esp # 32bit &returnValue
- pushl %ecx # 32bit pCallStack
- pushl %edx # 32bit nVtableOffset
- pushl %eax # 32bit nFunctionIndex
+ subl $0x8,%esp // padding + 32bit returnValue
+ pushl %esp // 32bit &returnValue
+ pushl %ecx // 32bit pCallStack
+ pushl %edx // 32bit nVtableOffset
+ pushl %eax // 32bit nFunctionIndex
call L_cpp_vtable_call$stub
- flds 16(%esp) # 32bit returnValue
+ flds 16(%esp) // 32bit returnValue
leave
ret
LFEf:
@@ -128,17 +127,17 @@ LFEf:
_privateSnippetExecutorDouble:
LFBd:
movl %esp,%ecx
- pushl %ebp # proper stack frame needed for exception handling
+ pushl %ebp // proper stack frame needed for exception handling
LCFId0:
movl %esp,%ebp
LCFId1:
- subl $0x8,%esp # 64bit returnValue
- pushl %esp # 32bit &returnValue
- pushl %ecx # 32bit pCallStack
- pushl %edx # 32bit nVtableOffset
- pushl %eax # 32bit nFunctionIndex
+ subl $0x8,%esp // 64bit returnValue
+ pushl %esp // 32bit &returnValue
+ pushl %ecx // 32bit pCallStack
+ pushl %edx // 32bit nVtableOffset
+ pushl %eax // 32bit nFunctionIndex
call L_cpp_vtable_call$stub
- fldl 16(%esp) # 64bit returnValue
+ fldl 16(%esp) // 64bit returnValue
leave
ret
LFEd:
@@ -148,17 +147,17 @@ LFEd:
_privateSnippetExecutorClass:
LFBc:
movl %esp,%ecx
- pushl %ebp # proper stack frame needed for exception handling
+ pushl %ebp // proper stack frame needed for exception handling
LCFIc0:
movl %esp,%ebp
LCFIc1:
- subl $0x8,%esp # padding + 32bit returnValue
- pushl %esp # 32bit &returnValue
- pushl %ecx # 32bit pCallStack
- pushl %edx # 32bit nVtableOffset
- pushl %eax # 32bit nFunctionIndex
+ subl $0x8,%esp // padding + 32bit returnValue
+ pushl %esp // 32bit &returnValue
+ pushl %ecx // 32bit pCallStack
+ pushl %edx // 32bit nVtableOffset
+ pushl %eax // 32bit nFunctionIndex
call L_cpp_vtable_call$stub
- movl 16(%esp),%eax # 32bit returnValue
+ movl 16(%esp),%eax // 32bit returnValue
leave
ret $4
LFEc:
@@ -167,155 +166,155 @@ LFEc:
.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame1:
.set L$set$frame1,LECIE1-LSCIE1
- .long L$set$frame1 # length
+ .long L$set$frame1 // length
LSCIE1:
- .long 0 # CIE_ID
- .byte 1 # version
- .ascii "zPR\0" # augmentation
- .byte 1 # code_alignment_factor (.uleb128 1)
- .byte 0x7c # data_alignment_factor (.sleb128 -4)
- .byte 8 # return_address_register
- .byte 0x6 # augmentation size 7:
- .byte 0x9b # ???
+ .long 0 // CIE_ID
+ .byte 1 // version
+ .ascii "zPR\0" // augmentation
+ .byte 1 // code_alignment_factor (.uleb128 1)
+ .byte 0x7c // data_alignment_factor (.sleb128 -4)
+ .byte 8 // return_address_register
+ .byte 0x6 // augmentation size 7:
+ .byte 0x9b // ???
.long L___gxx_personality_v0$non_lazy_ptr-.
.byte 0x10
- # initial_instructions:
- .byte 0x0C # DW_CFA_def_cfa %esp, 4
+ // initial_instructions:
+ .byte 0x0C // DW_CFA_def_cfa %esp, 4
.byte 5
.byte 4
- .byte 0x88 # DW_CFA_offset ret, 1
+ .byte 0x88 // DW_CFA_offset ret, 1
.byte 1
.align 2
LECIE1:
_privateSnippetExecutorGeneral.eh:
LSFDEg:
.set L$set$g1,LEFDEg-LASFDEg
- .long L$set$g1 # length
+ .long L$set$g1 // length
LASFDEg:
- .long LASFDEg-EH_frame1 # CIE_pointer
- .long LFBg-. # initial_location
- .long LFEg-LFBg # address_range
- .byte 0 # augmentation size 0
- # instructions:
- .byte 0x04 # DW_CFA_advance_loc4
+ .long LASFDEg-EH_frame1 // CIE_pointer
+ .long LFBg-. // initial_location
+ .long LFEg-LFBg // address_range
+ .byte 0 // augmentation size 0
+ // instructions:
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFIg0-LFBg
- .byte 0x0E # DW_CFA_def_cfa_offset 8
+ .byte 0x0E // DW_CFA_def_cfa_offset 8
.byte 8
- .byte 0x84 # DW_CFA_offset %ebp, 2
+ .byte 0x84 // DW_CFA_offset %ebp, 2
.byte 2
- .byte 0x04 # DW_CFA_advance_loc4
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFIg1-LCFIg0
- .byte 0x0D # DW_CFA_def_cfa_register %ebp
+ .byte 0x0D // DW_CFA_def_cfa_register %ebp
.byte 4
.align 2
LEFDEg:
_privateSnippetExecutorVoid.eh:
LSFDEv:
.set L$set$v1,LEFDEv-LASFDEv
- .long L$set$v1 # length
+ .long L$set$v1 // length
LASFDEv:
- .long LASFDEv-EH_frame1 # CIE_pointer
- .long LFBv-. # initial_location
- .long LFEv-LFBv # address_range
- .byte 0 # augmentation size 0
- # instructions:
- .byte 0x04 # DW_CFA_advance_loc4
+ .long LASFDEv-EH_frame1 // CIE_pointer
+ .long LFBv-. // initial_location
+ .long LFEv-LFBv // address_range
+ .byte 0 // augmentation size 0
+ // instructions:
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFIv0-LFBv
- .byte 0x0E # DW_CFA_def_cfa_offset 8
+ .byte 0x0E // DW_CFA_def_cfa_offset 8
.byte 8
- .byte 0x84 # DW_CFA_offset %ebp, 2
+ .byte 0x84 // DW_CFA_offset %ebp, 2
.byte 2
- .byte 0x04 # DW_CFA_advance_loc4
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFIv1-LCFIv0
- .byte 0x0D # DW_CFA_def_cfa_register %ebp
+ .byte 0x0D // DW_CFA_def_cfa_register %ebp
.byte 4
.align 2
LEFDEv:
_privateSnippetExecutorHyper.eh:
LSFDEh:
.set L$set$h1,LEFDEh-LASFDEh
- .long L$set$h1 # length
+ .long L$set$h1 // length
LASFDEh:
- .long LASFDEh-EH_frame1 # CIE_pointer
- .long LFBh-. # initial_location
- .long LFEh-LFBh # address_range
- .byte 0 # augmentation size 0
- # instructions:
- .byte 0x04 # DW_CFA_advance_loc4
+ .long LASFDEh-EH_frame1 // CIE_pointer
+ .long LFBh-. // initial_location
+ .long LFEh-LFBh // address_range
+ .byte 0 // augmentation size 0
+ // instructions:
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFIh0-LFBh
- .byte 0x0E # DW_CFA_def_cfa_offset 8
+ .byte 0x0E // DW_CFA_def_cfa_offset 8
.byte 8
- .byte 0x84 # DW_CFA_offset %ebp, 2
+ .byte 0x84 // DW_CFA_offset %ebp, 2
.byte 2
- .byte 0x04 # DW_CFA_advance_loc4
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFIh1-LCFIh0
- .byte 0x0D # DW_CFA_def_cfa_register %ebp
+ .byte 0x0D // DW_CFA_def_cfa_register %ebp
.byte 4
.align 2
LEFDEh:
_privateSnippetExecutorFloat.eh:
LSFDEf:
.set L$set$f1,LEFDEf-LASFDEf
- .long L$set$f1 # length
+ .long L$set$f1 // length
LASFDEf:
- .long LASFDEf-EH_frame1 # CIE_pointer
- .long LFBf-. # initial_location
- .long LFEf-LFBf # address_range
- .byte 0 # augmentation size 0
- # instructions:
- .byte 0x04 # DW_CFA_advance_loc4
+ .long LASFDEf-EH_frame1 // CIE_pointer
+ .long LFBf-. // initial_location
+ .long LFEf-LFBf // address_range
+ .byte 0 // augmentation size 0
+ // instructions:
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFIf0-LFBf
- .byte 0x0E # DW_CFA_def_cfa_offset 8
+ .byte 0x0E // DW_CFA_def_cfa_offset 8
.byte 8
- .byte 0x84 # DW_CFA_offset %ebp, 2
+ .byte 0x84 // DW_CFA_offset %ebp, 2
.byte 2
- .byte 0x04 # DW_CFA_advance_loc4
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFIf1-LCFIf0
- .byte 0x0D # DW_CFA_def_cfa_register %ebp
+ .byte 0x0D // DW_CFA_def_cfa_register %ebp
.byte 4
.align 2
LEFDEf:
_privateSnippetExecutorDouble.eh:
LSFDEd:
.set L$set$d1,LEFDEd-LASFDEd
- .long L$set$d1 # length
+ .long L$set$d1 // length
LASFDEd:
- .long LASFDEd-EH_frame1 # CIE_pointer
- .long LFBd-. # initial_location
- .long LFEd-LFBd # address_range
- .byte 0 # augmentation size 0
- # instructions:
- .byte 0x04 # DW_CFA_advance_loc4
+ .long LASFDEd-EH_frame1 // CIE_pointer
+ .long LFBd-. // initial_location
+ .long LFEd-LFBd // address_range
+ .byte 0 // augmentation size 0
+ // instructions:
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFId0-LFBd
- .byte 0x0E # DW_CFA_def_cfa_offset 8
+ .byte 0x0E // DW_CFA_def_cfa_offset 8
.byte 8
- .byte 0x84 # DW_CFA_offset %ebp, 2
+ .byte 0x84 // DW_CFA_offset %ebp, 2
.byte 2
- .byte 0x04 # DW_CFA_advance_loc4
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFId1-LCFId0
- .byte 0x0D # DW_CFA_def_cfa_register %ebp
+ .byte 0x0D // DW_CFA_def_cfa_register %ebp
.byte 4
.align 2
LEFDEd:
_privateSnippetExecutorClass.eh:
LSFDEc:
.set L$set$c1,LEFDEc-LASFDEc
- .long L$set$c1 # length
+ .long L$set$c1 // length
LASFDEc:
- .long LASFDEc-EH_frame1 # CIE_pointer
- .long LFBc-. # initial_location
- .long LFEc-LFBc # address_range
- .byte 0 # augmentation size 0
- # instructions:
- .byte 0x04 # DW_CFA_advance_loc4
+ .long LASFDEc-EH_frame1 // CIE_pointer
+ .long LFBc-. // initial_location
+ .long LFEc-LFBc // address_range
+ .byte 0 // augmentation size 0
+ // instructions:
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFIc0-LFBc
- .byte 0x0E # DW_CFA_def_cfa_offset 8
+ .byte 0x0E // DW_CFA_def_cfa_offset 8
.byte 8
- .byte 0x84 # DW_CFA_offset %ebp, 2
+ .byte 0x84 // DW_CFA_offset %ebp, 2
.byte 2
- .byte 0x04 # DW_CFA_advance_loc4
+ .byte 0x04 // DW_CFA_advance_loc4
.long LCFIc1-LCFIc0
- .byte 0x0D # DW_CFA_def_cfa_register %ebp
+ .byte 0x0D // DW_CFA_def_cfa_register %ebp
.byte 4
.align 2
LEFDEc:
More information about the Libreoffice-commits
mailing list