[Libreoffice-commits] .: bridges/source

Stephan Bergmann sbergmann at kemper.freedesktop.org
Sun Oct 16 23:14:30 PDT 2011


 bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx  |    2 +-
 bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx |    2 +-
 bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx       |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit e748b096633c5ef747f0630d13708d8dd7308a86
Author: Kristian Rietveld <kris at lanedo.com>
Date:   Sat Oct 15 01:15:21 2011 +0200

    Mark ecx register as clobbered
    
    The inline assembly code executes a function call and functions are
    free to use eax, ecx and edx without preservation. We must thus mark
    ecx as a clobber register.

diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx
index 21febef..4443190 100644
--- a/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx
@@ -123,7 +123,7 @@ void callVirtualMethod(
         :
         : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
           "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
-        : "eax", "edx" );
+        : "eax", "ecx", "edx" );
     switch( pReturnTypeDescr->eTypeClass )
     {
         case typelib_TypeClass_VOID:
diff --git a/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
index 9f00005..89f5381 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
@@ -119,7 +119,7 @@ void callVirtualMethod(
         :
         : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
           "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
-        : "eax", "edx" );
+        : "eax", "ecx", "edx" );
     switch( pReturnTypeDescr->eTypeClass )
     {
     case typelib_TypeClass_VOID:
diff --git a/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx b/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx
index 4dd6cde..45d20b3 100644
--- a/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx
@@ -112,7 +112,7 @@ void callVirtualMethod(
         :
         : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
           "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
-        : "eax", "edx" );
+        : "eax", "ecx", "edx" );
     switch( returnType->eTypeClass )
     {
         case typelib_TypeClass_VOID:


More information about the Libreoffice-commits mailing list