[Libreoffice-commits] core.git: 2 commits - bridges/Library_cpp_uno.mk bridges/source

jan Iversen jani at libreoffice.org
Sun Mar 11 08:22:14 UTC 2018


 bridges/Library_cpp_uno.mk                           |   18 -
 bridges/source/cpp_uno/gcc3_ios/cpp2uno.cxx          |    2 
 bridges/source/cpp_uno/gcc3_ios/generate-snippets.pl |   55 -----
 bridges/source/cpp_uno/gcc3_ios/ios64_helper.s       |  205 ++++++++++++++++++-
 4 files changed, 206 insertions(+), 74 deletions(-)

New commits:
commit 02f6aa7355d77842caa0416217e0a572144467c3
Author: jan Iversen <jani at libreoffice.org>
Date:   Sun Mar 11 09:19:39 2018 +0100

    iOS, removed perl script in bridges
    
    The perl script just generated static asm code, this
    code is now included directly in ios64_helper.s
    
    Change-Id: I3ebc6f85865287e1a1d11f82be72fc2407bcb40f

diff --git a/bridges/Library_cpp_uno.mk b/bridges/Library_cpp_uno.mk
index 4c6d7ec95046..902b735b3d65 100644
--- a/bridges/Library_cpp_uno.mk
+++ b/bridges/Library_cpp_uno.mk
@@ -26,24 +26,6 @@ bridges_SELECTED_BRIDGE := gcc3_ios
 bridge_noopt_objects := cpp2uno except uno2cpp
 bridge_asm_objects := ios64_helper
 
-#HACK
-$(eval $(call gb_Library_set_include,$(gb_CPPU_ENV)_uno,\
-    $$(INCLUDE) \
-    -I $(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_ios) \
-))
-
-$(SRCDIR)/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s: \
-	$(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_ios)/codesnippets.S
-
-$(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_ios)/codesnippets.S: \
-	$(SRCDIR)/bridges/source/cpp_uno/gcc3_ios/generate-snippets.pl \
-        | $(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_ios)/.dir
-	$(PERL) $< > $@
-
-$(call gb_Library_get_clean_target,$(gb_CPPU_ENV)_uno) :
-	rm -f $(WORKDIR)/CustomTarget/bridges/source/cpp_uno/gcc3_ios/codesnippets.S
-
-
 else ifeq ($(CPUNAME),AARCH64)
 
 ifneq ($(filter ANDROID DRAGONFLY FREEBSD LINUX NETBSD OPENBSD,$(OS)),)
diff --git a/bridges/source/cpp_uno/gcc3_ios/generate-snippets.pl b/bridges/source/cpp_uno/gcc3_ios/generate-snippets.pl
deleted file mode 100755
index 3a3b0a3fbb1a..000000000000
--- a/bridges/source/cpp_uno/gcc3_ios/generate-snippets.pl
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/perl -w # -*- tab-width: 4; indent-tabs-mode: nil; cperl-indent-level: 4 -*-
-#
-# 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/.
-#
-
-my $nFunIndexes = 8;
-my $nVtableOffsets = 4;
-
-sub gen_arm ($$)
-{
-    my ($funIndex, $vtableOffset) = @_;
-    printf ("codeSnippet_%08x_%d:\n", $funIndex, $vtableOffset);
-    printf ("    adr x15, .+8\n");
-    printf ("    b _privateSnippetExecutor\n");
-    printf ("    .long %#08x\n", $funIndex);
-    printf ("    .long %d\n", $vtableOffset);
-}
-
-printf (".text\n");
-printf ("\n");
-printf ("    .align 4\n");
-printf ("\n");
-
-foreach my $funIndex (0 .. $nFunIndexes-1)
-{
-   foreach my $vtableOffset (0 .. $nVtableOffsets-1)
-   {
-       gen_arm ($funIndex, $vtableOffset);
-   }
-}
-
-printf ("    .globl _nFunIndexes\n");
-printf ("_nFunIndexes:\n");
-printf ("    .long %d\n", $nFunIndexes);
-
-printf ("    .globl _nVtableOffsets\n");
-printf ("_nVtableOffsets:\n");
-printf ("    .long %d\n", $nVtableOffsets);
-
-printf ("    .globl _codeSnippets\n");
-printf ("_codeSnippets:\n");
-
-foreach my $funIndex (0 .. $nFunIndexes-1)
-{
-    foreach my $vtableOffset (0 .. $nVtableOffsets-1)
-    {
-        printf ("    .long codeSnippet_%08x_%d - _codeSnippets\n", $funIndex, $vtableOffset);
-    }
-}
-
-# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s b/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s
index 51e4d160dafe..6e6e8c74b347 100644
--- a/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s
+++ b/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s
@@ -16,8 +16,211 @@
 //   except in compliance with the License. You may obtain a copy of
 //   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 //
+    .text
+    .align 4
+
+codeSnippet_00000000_0:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 00000000
+    .long 0
+codeSnippet_00000000_1:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 00000000
+    .long 1
+codeSnippet_00000000_2:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 00000000
+    .long 2
+codeSnippet_00000000_3:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 00000000
+    .long 3
+codeSnippet_00000001_0:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000001
+    .long 0
+codeSnippet_00000001_1:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000001
+    .long 1
+codeSnippet_00000001_2:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000001
+    .long 2
+codeSnippet_00000001_3:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000001
+    .long 3
+codeSnippet_00000002_0:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000002
+    .long 0
+codeSnippet_00000002_1:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000002
+    .long 1
+codeSnippet_00000002_2:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000002
+    .long 2
+codeSnippet_00000002_3:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000002
+    .long 3
+codeSnippet_00000003_0:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000003
+    .long 0
+codeSnippet_00000003_1:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000003
+    .long 1
+codeSnippet_00000003_2:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000003
+    .long 2
+codeSnippet_00000003_3:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000003
+    .long 3
+codeSnippet_00000004_0:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000004
+    .long 0
+codeSnippet_00000004_1:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000004
+    .long 1
+codeSnippet_00000004_2:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000004
+    .long 2
+codeSnippet_00000004_3:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000004
+    .long 3
+codeSnippet_00000005_0:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000005
+    .long 0
+codeSnippet_00000005_1:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000005
+    .long 1
+codeSnippet_00000005_2:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000005
+    .long 2
+codeSnippet_00000005_3:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000005
+    .long 3
+codeSnippet_00000006_0:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000006
+    .long 0
+codeSnippet_00000006_1:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000006
+    .long 1
+codeSnippet_00000006_2:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000006
+    .long 2
+codeSnippet_00000006_3:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000006
+    .long 3
+codeSnippet_00000007_0:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000007
+    .long 0
+codeSnippet_00000007_1:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000007
+    .long 1
+codeSnippet_00000007_2:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000007
+    .long 2
+codeSnippet_00000007_3:
+    adr x15, .+8
+    b _privateSnippetExecutor
+    .long 0x000007
+    .long 3
+    .globl _nFunIndexes
+_nFunIndexes:
+    .long 8
+    .globl _nVtableOffsets
+_nVtableOffsets:
+    .long 4
+    .globl _codeSnippets
+_codeSnippets:
+    .long codeSnippet_00000000_0 - _codeSnippets
+    .long codeSnippet_00000000_1 - _codeSnippets
+    .long codeSnippet_00000000_2 - _codeSnippets
+    .long codeSnippet_00000000_3 - _codeSnippets
+    .long codeSnippet_00000001_0 - _codeSnippets
+    .long codeSnippet_00000001_1 - _codeSnippets
+    .long codeSnippet_00000001_2 - _codeSnippets
+    .long codeSnippet_00000001_3 - _codeSnippets
+    .long codeSnippet_00000002_0 - _codeSnippets
+    .long codeSnippet_00000002_1 - _codeSnippets
+    .long codeSnippet_00000002_2 - _codeSnippets
+    .long codeSnippet_00000002_3 - _codeSnippets
+    .long codeSnippet_00000003_0 - _codeSnippets
+    .long codeSnippet_00000003_1 - _codeSnippets
+    .long codeSnippet_00000003_2 - _codeSnippets
+    .long codeSnippet_00000003_3 - _codeSnippets
+    .long codeSnippet_00000004_0 - _codeSnippets
+    .long codeSnippet_00000004_1 - _codeSnippets
+    .long codeSnippet_00000004_2 - _codeSnippets
+    .long codeSnippet_00000004_3 - _codeSnippets
+    .long codeSnippet_00000005_0 - _codeSnippets
+    .long codeSnippet_00000005_1 - _codeSnippets
+    .long codeSnippet_00000005_2 - _codeSnippets
+    .long codeSnippet_00000005_3 - _codeSnippets
+    .long codeSnippet_00000006_0 - _codeSnippets
+    .long codeSnippet_00000006_1 - _codeSnippets
+    .long codeSnippet_00000006_2 - _codeSnippets
+    .long codeSnippet_00000006_3 - _codeSnippets
+    .long codeSnippet_00000007_0 - _codeSnippets
+    .long codeSnippet_00000007_1 - _codeSnippets
+    .long codeSnippet_00000007_2 - _codeSnippets
+    .long codeSnippet_00000007_3 - _codeSnippets
+
 
-#include "codesnippets.S"
 
     .text
     .align 4
commit dc275890d62cb8f404fe6bed5c37f90835b53b0f
Author: jan Iversen <jani at libreoffice.org>
Date:   Sun Mar 11 09:17:05 2018 +0100

    iOS, typo in function decl.
    
    Change-Id: I269f5323ed0f984cfe9d28636a9cae84a863e7a6

diff --git a/bridges/source/cpp_uno/gcc3_ios/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_ios/cpp2uno.cxx
index 0ca1401ba960..8008d3a2193e 100644
--- a/bridges/source/cpp_uno/gcc3_ios/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_ios/cpp2uno.cxx
@@ -512,11 +512,13 @@ bridges::cpp_uno::shared::VtableFactory::initializeBlock(
 unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
     Slot ** slots,
     unsigned char * code,
+    sal_PtrDiff writetoexecdiff,
     typelib_InterfaceTypeDescription const * type,
     sal_Int32 functionOffset,
     sal_Int32 functionCount,
     sal_Int32 vtableOffset)
 {
+    (void)writetoexecdiff;
     (*slots) -= functionCount;
     Slot * s = *slots;
     for (sal_Int32 i = 0; i < type->nMembers; ++i)


More information about the Libreoffice-commits mailing list