diff options
author | Blealtan <blealtan@outlook.com> | 2018-02-07 07:27:11 +0300 |
---|---|---|
committer | Morgan Brown <morganbr@users.noreply.github.com> | 2018-02-07 07:27:11 +0300 |
commit | eba7180dc25ff12d8989cc2eec2a0e7803071609 (patch) | |
tree | 301e1fd324c0cc64774c1b1fcef9dcae4c8e2d1a /tests | |
parent | 6a0654db927ead2f8a2d4a038da292cb367e6be5 (diff) |
Implement break opcode as llvm.debugtrap (#5344)
* Implement break opcode as llvm.debugtrap.
In Emscripten, `llvm.debugtrap` is implemented as a round-trip call to
`debugger;` statement JavaScript which will invoke debugger in browsers;
and in LLVM it's implemented as `unreachable` instruction of WASM. This
should be a better match than `llvm.trap` on `break` opcode semantics.
Fix #4511
Set IsDebuggerPresent to TRUE in case of WASM. Although
`Debugger._isDebuggerAttached` is not set, this modify itself will allow
`Debugger.Break` to work.
Add test in HelloWasm for `Debugger.Break`.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/src/Simple/HelloWasm/Program.cs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tests/src/Simple/HelloWasm/Program.cs b/tests/src/Simple/HelloWasm/Program.cs index 612ce7499..812101795 100644 --- a/tests/src/Simple/HelloWasm/Program.cs +++ b/tests/src/Simple/HelloWasm/Program.cs @@ -205,9 +205,11 @@ internal static class Program { PrintLine("Type casting with isinst & castclass to array test: Ok."); } - + ldindTest(); + System.Diagnostics.Debugger.Break(); + PrintLine("Done"); } |