harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gshiman...@apache.org
Subject svn commit: r472215 - in /incubator/harmony/enhanced/drlvm/trunk/vm/vmcore: include/version_svn_tag.h src/util/win/ia32/nt_exception_filter.cpp
Date Tue, 07 Nov 2006 19:30:06 GMT
Author: gshimansky
Date: Tue Nov  7 11:30:05 2006
New Revision: 472215

URL: http://svn.apache.org/viewvc?view=rev&rev=472215
Log:
Applied HARMONY-2010 [drlvm] Infinite recursion in vectored exception handler in debug VM
in hardware exception with direction flag set

Tests passed on WinXP except for kernel test j.l.RuntimeTest2. This test doesn't seem to be
failing because of this patch because it fails without it as well.


Modified:
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/ia32/nt_exception_filter.cpp

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h?view=diff&rev=472215&r1=472214&r2=472215
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h Tue Nov  7
11:30:05 2006
@@ -18,6 +18,6 @@
 #ifndef _VERSION_SVN_TAG_
 #define _VERSION_SVN_TAG_
 
-#define VERSION_SVN_TAG  "472096"
+#define VERSION_SVN_TAG  "472165"
 
 #endif // _VERSION_SVN_TAG_

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/ia32/nt_exception_filter.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/ia32/nt_exception_filter.cpp?view=diff&rev=472215&r1=472214&r2=472215
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/ia32/nt_exception_filter.cpp
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/ia32/nt_exception_filter.cpp
Tue Nov  7 11:30:05 2006
@@ -275,7 +275,25 @@
     }
 }
 
-LONG NTAPI vectored_exception_handler(LPEXCEPTION_POINTERS nt_exception)
+static LONG NTAPI vectored_exception_handler_internal(LPEXCEPTION_POINTERS nt_exception);
+
+LONG __declspec(naked) NTAPI vectored_exception_handler(LPEXCEPTION_POINTERS nt_exception)
+{
+    __asm {
+    push    ebp
+    mov     ebp,esp
+    pushfd
+    cld
+    mov     eax, [ebp + 8]
+    push    eax
+    call    vectored_exception_handler_internal
+    popfd
+    pop     ebp
+    ret     4    
+    }
+}
+
+static LONG NTAPI vectored_exception_handler_internal(LPEXCEPTION_POINTERS nt_exception)
 {
     DWORD code = nt_exception->ExceptionRecord->ExceptionCode;
     



Mime
View raw message