Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Chen (CLR) <jochen@microsoft.com>2015-11-16 23:59:35 +0300
committerJohn Chen (CLR) <jochen@microsoft.com>2015-12-16 00:14:33 +0300
commit3d67d94d0c1e4067340dd473015e3b72eaf57b03 (patch)
tree76ee6e8c0fab18f9169e7ca54e760d0778a85fea /src/Native/CMakeLists.txt
parenta55a1d6136bccca166efc4f7a10bba7e49438e03 (diff)
Add JIT-EE interface wrappers to handle exceptions
* When JIT calls into the JIT-EE interface, the call is wrapped. All managed exceptions are caught by the wrapper, and re-throw as native exceptions. * The call from ILCompiler to JIT is also wrapped. The wrapper catches all native exceptions, and re-throws them as managed exceptions. * The message and call stack from the original managed exception is captured and stored in the unmanaged exception object, and restored in the managed exception thrown by the JIT wrapper. * A new native module (jitinterface.dll or jitinterface.so) is added to contain the native part of the wrappers. Long term, we should consider whether to merge this into JIT.
Diffstat (limited to 'src/Native/CMakeLists.txt')
-rw-r--r--src/Native/CMakeLists.txt4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Native/CMakeLists.txt b/src/Native/CMakeLists.txt
index 2d7a9243d..fe648a769 100644
--- a/src/Native/CMakeLists.txt
+++ b/src/Native/CMakeLists.txt
@@ -162,6 +162,9 @@ if(WIN32)
add_definitions(-D_WIN64=1)
endif()
add_compile_options($<$<CONFIG:Debug>:-DDEBUG>)
+ add_compile_options(/Zi) # enable debugging information
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /PDBCOMPRESS") #shrink pdb size
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUG")
else(WIN32)
string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_CMAKE_BUILD_TYPE)
if (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG)
@@ -183,6 +186,7 @@ if(WIN32)
endif()
add_subdirectory(Runtime)
add_subdirectory(Bootstrap)
+add_subdirectory(jitinterface)
# We don't need the PAL on Windows.
if(CLR_CMAKE_PLATFORM_UNIX)