diff options
author | Zoltan Varga <vargaz@gmail.com> | 2017-05-27 19:29:56 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-27 19:29:56 +0300 |
commit | 76e2c3227f0a266dcee62577fe70872473fa8103 (patch) | |
tree | ed8762c9004409c1b38d8f531cb512aea487cb77 /msvc | |
parent | 5b4ccf033fd8ac35280686390a9a9794dcf00054 (diff) |
Interp sdb (#4911)
* [interpreter] Add beginnings of debugger support.
Handle debugger support similarly to the JIT:
- Add a MINT_SDB_SEQ_POINT instruction to the debugger IR. Replace it with a MINT_BREAKPOINT instruction when a breakpoint is placed.
- Store the sequence point information in the existing sequence point data structures.
* [interp] Add support for debugger stacktraces.
* [interp] Add support for debugger frame info.
* [interp] Connect seq points inside the same basic block so simple single stepping works.
* [interp] Link sequence points in different basic blocks the same way the JIT does it.
* [interp] Allocate some bitsets from a mempool.
* [interp] Rewrite the patching in the transform pass to make it a bit easier to understand.
* [interp] Add interruption support for sdb.
* [interp] Add support for mkrefany,refanytype and refanyval.
* [interp] Fix debugger failures.
* Add support for setting byref variables.
* Fix thread interruption when the top frame is an interpreter frame.
* Allow stack walks when a thread is suspended while transforming a method.
* Implement method entry/exit events.
* Fix ldstr+dynamic methods.
* [interp] Implement support for Debugger.Break.
* [interp] Change the offsets in MonoJitInfo/seq points into byte based from short based to reduce the amount of special casing needed in other parts of the code.
* [interp] Factor out the push/pop lmf code into a pair of helper functions.
* [mixed] Fix mixed mode EH.
* [interp] Implement support for MONO_VERBOSE_METHOD. Improve sequence point placement.
* [interp] Implement support for SetIP ().
Pass the target thread as an additional argument to mono_interp_set_resume_state (). Check the resume state after single
stepping/breakpoints in the interpreter.
* [interp] Disable the usage of the STLOC_NP opcodes when running under the debugger, it doesn't work if the ip is changed when the execution is stopped.
* [interp] Fix async stack walks in the debugger when the thread is in native code called from interpreter code.
* [interp] Fix the disable interpreter build.
* [interp] Fix the calculation of native offsets in the line number info.
* [interp] Fix the build.
* [interp] Make CMD_STACK_FRAME_GET_THIS behave the same when called on managed-to-native frames, with the interpreter, frame->has_ctx is set.
* [interp] Fix typos, remove some dead code, use g_print instead of printf in a few places, move some interpreter stubs to interp-stubs.c.
Diffstat (limited to 'msvc')
-rw-r--r-- | msvc/libmono-static.vcxproj | 3 | ||||
-rw-r--r-- | msvc/libmono-static.vcxproj.filters | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/msvc/libmono-static.vcxproj b/msvc/libmono-static.vcxproj index f5449aa086c..70dc4b0554c 100644 --- a/msvc/libmono-static.vcxproj +++ b/msvc/libmono-static.vcxproj @@ -137,6 +137,7 @@ <ClCompile Include="..\mono\mini\mini-native-types.c" />
<ClCompile Include="..\mono\mini\type-checking.c" />
<ClCompile Include="..\mono\mini\lldb.c" />
+ <ClCompile Include="..\mono\mini\interp\interp-stubs.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{CB0D9E92-293C-439C-9AC7-C5F59B6E0772}</ProjectGuid>
@@ -334,4 +335,4 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file +</Project>
diff --git a/msvc/libmono-static.vcxproj.filters b/msvc/libmono-static.vcxproj.filters index 3ff24065214..029b9d162c1 100644 --- a/msvc/libmono-static.vcxproj.filters +++ b/msvc/libmono-static.vcxproj.filters @@ -157,6 +157,9 @@ <ClCompile Include="..\mono\mini\lldb.c">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\mono\mini\interp\interp-stubs.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\mono\mini\abcremoval.h">
@@ -257,4 +260,4 @@ <Filter>Resource Files</Filter>
</None>
</ItemGroup>
-</Project>
\ No newline at end of file +</Project>
|