mirror of
https://github.com/reactos/reactos.git
synced 2026-07-06 05:44:19 +08:00
modified include/reactos/libs/pseh/pseh2.h modified lib/pseh/framebased-gcchack.c modified lib/pseh/i386/framebased-gcchack.S Disassemble trampolines in the library, instead of the macros. Results in better, smaller code. As a side effect, PSEH no longer requires a trampoline for nested functions - which results in even better, even smaller code in many common cases where the nested functions don't use any variables from the containing function Simulate a no-op setjmp so that GCC correctly handles variables in registers, instead of surprise-corrupting random variables in random conditions Save EBP and ESP every time a _SEH2_TRY/_SEH2_EXCEPT is entered, instead of only the first time. Probably not entirely correct yet Don't generate a nested function for a _SEH2_EXCEPT() filter expression if the value is a compile-time constant: convert the value to (void *)0, (void *)1 or (void *)-1, and set that as the filter, instead (like Visual C++ does, incidentally) If a _SEH2_EXCEPT() filter expression is a compile-time constant evaluating to EXCEPTION_CONTINUE_EXECUTION or EXCEPTION_CONTINUE_SEARCH, allow GCC to optimize out the body of the _SEH2_EXCEPT (because it'd be unreachable). This should really result in a compile-time warning, but #pragma message is unsupported in GCC 4.1.3 Let _SEH2_EXCEPT() accept a comma expression as filter expression (e.g. _SEH2_EXCEPT(MessageBox(...), EXCEPTION_EXECUTE_HANDLER) instead of _SEH2_EXCEPT((MessageBox(...), EXCEPTION_EXECUTE_HANDLER))) Small optimizations in PSEH library Clean up GCC hacks Remove currently unused PSEH 3 hacks svn path=/trunk/; revision=38197
======================== ReactOS Version 0.3.x Updated Dec 16, 2006 ======================== 1. What is ReactOS? ReactOS is an Open Source effort to develop a quality operating system that is compatible with Windows NT applications and drivers. The ReactOS project, although currently focused on Windows XP/2003 drivers compatibility, is always keeping an eye toward compatibility with older version of Windows NT family ( NT 4.0, 2000 (NT 5.0)) and new Windows NT releases (Vista, etc). Applications (Win32 API) compatibility focus is Windows XP. More information is available at http://www.reactos.org/. 2. Building ReactOS See the INSTALL file for more details. 3. More information See the media\doc subdirectory for some sparse notes. 4. Who is responsible See the CREDITS file.