[Tizen] Add FEATURE_LARGEADDRESS_SUPPORT
authorSangwook Kim <swift.kim@samsung.com>
Tue, 18 Feb 2020 06:48:15 +0000 (15:48 +0900)
committerGleb Balykov <g.balykov@samsung.com>
Wed, 25 Mar 2020 12:29:41 +0000 (15:29 +0300)
commit0a3525c6541f6151df57debcbefe829d6e017045
tree115c45d04655536e7d2104a2cd323e9a46f4eb5e
parentb2841b4cad8cd96d2de6f8bf5f35f59a819d7410
[Tizen] Add FEATURE_LARGEADDRESS_SUPPORT

Many diagnostic tools are unaware of 32-bit applications which have
large address spaces (> 2GB). Such tools include the TraceEvent library
(required by PerfView and dotnet-trace), and Visual Studio. They assume
the address range 0x80000000 through 0xFFFFFFFF as the system space and
thus often fail to read symbols from event traces generated by CoreCLR.

This workaround is to support such scenarios by simply discarding MSBs
of 32-bit instruction pointer values in the trace output. Only a minimal
set of values required for symbol resolution are affected by this
change. Beware that you will have to manually restore the original
values when you inspect them in lldb or etc.
src/vm/CMakeLists.txt
src/vm/eventpipeblock.cpp
src/vm/eventtrace.cpp