[mono/llvm] e656cacc: Fix a problem in the new EH table construction code.

"Zoltan Varga ([email protected])" <[email protected]> Mon, 18 Nov 2013 04:04:20 +0000
Newsgroups gmane.comp.gnome.mono.patches
Message-ID <0000014269616702-2a7b2837-6eaf-4979-98d8-0632abbc7a73-000000@email.amazonses.com>
   Branch: refs/heads/mono4
     Home: https://github.com/mono/llvm
  Compare: https://github.com/mono/llvm/compare/a8df6e181c3f...e656caccc7df

   Commit: e656caccc7dfb5c51c208906f0e176f0973f030f
   Author: Zoltan Varga <[email protected]> (vargaz)
     Date: 2013-11-18 04:03:10 GMT
      URL: https://github.com/mono/llvm/commit/e656caccc7dfb5c51c208906f0e176f0973f030f

Fix a problem in the new EH table construction code.

Changed paths:
  M lib/CodeGen/AsmPrinter/DwarfMonoException.cpp
  M lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp

Modified: lib/CodeGen/AsmPrinter/DwarfMonoException.cpp
===================================================================
@@ -320,6 +320,8 @@ void DwarfMonoException::PrepareMonoLSDA(FunctionEHFrameInfo *EHFrameInfo) {
       assert(Site.BeginLabel && Site.EndLabel && Site.PadLabel &&
               "Invalid landing pad!");
 
+	  // FIXME: This doesn't work because it includes ranges outside clauses
+#if 0
       // Try to merge with the previous call-site.
       if (CallSites.size()) {
         MonoCallSiteEntry &Prev = CallSites.back();
@@ -329,6 +331,7 @@ void DwarfMonoException::PrepareMonoLSDA(FunctionEHFrameInfo *EHFrameInfo) {
           continue;
         }
       }
+#endif
 
       // Otherwise, create a new call-site.
       CallSites.push_back(Site);

Modified: lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp
===================================================================
@@ -244,6 +244,7 @@ unsigned char* JITDwarfEmitter::EmitMonoLSDA(MachineFunction* MF,
               "Invalid landing pad!");
 
       // Try to merge with the previous call-site.
+#if 0
       if (CallSites.size()) {
         CallSiteEntry &Prev = CallSites.back();
         if (Site.PadLabel == Prev.PadLabel && Site.TypeID == Prev.TypeID) {
@@ -252,6 +253,7 @@ unsigned char* JITDwarfEmitter::EmitMonoLSDA(MachineFunction* MF,
           continue;
         }
       }
+#endif
 
       // Otherwise, create a new call-site.
       CallSites.push_back(Site);


_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches