File tree Expand file tree Collapse file tree 3 files changed +27
-0
lines changed Expand file tree Collapse file tree 3 files changed +27
-0
lines changed Original file line number Diff line number Diff line change 31
31
- [ How to Undertake a Port] ( portingguide/howto/prefix.md )
32
32
- [ NoGC] ( portingguide/howto/nogc.md )
33
33
- [ Next Steps] ( portingguide/howto/next_steps.md )
34
+ - [ Debugging Tips] ( portingguide/debugging/prefix.md )
35
+ - [ Enabling Debug Assertions] ( portingguide/debugging/assertions.md )
34
36
- [ Performance Tuning] ( portingguide/perf_tuning/prefix.md )
35
37
- [ Link Time Optimization] ( portingguide/perf_tuning/lto.md )
36
38
- [ Optimizing Allocation] ( portingguide/perf_tuning/alloc.md )
Original file line number Diff line number Diff line change
1
+ # Enabling debug assertions
2
+
3
+ MMTk is implemented with an extensive amount of assertions to ensure the correctness.
4
+ We strongly recommend using a debug build of MMTk that includes all the debugging assertions
5
+ when one is developing on a MMTk binding. The assertions are normal Rust ` debug_assert! ` ,
6
+ and they can be turned on in a release build with Rust flags (https://doc.rust-lang.org/cargo/reference/profiles.html#debug-assertions ).
7
+
8
+ ## Extreme debugging assertions
9
+
10
+ In addition to the normal debugging assertions, MMTk also has a set of
11
+ optional runtime checks that can be turned on by enabling the feature ` extreme_assertions ` .
12
+ These usually include checks that are too expensive (even in a debug build) that we do not
13
+ want to enable by default.
14
+
15
+ You should make sure your MMTk binding can pass all the assertions (including ` extreme_assertions ` ).
Original file line number Diff line number Diff line change
1
+ # Debugging Tips
2
+
3
+ In this section, we discuss debugging tips that will be useful to debug MMTk
4
+ in a binding implementation. We will focus on discussing strategies and tools
5
+ in the specific context of debugging MMTk.
6
+
7
+ We aim to enhance the debugging capabilities for MMTk. However, as of October 2023, our debugging
8
+ tools remain limited. We welcome your feedback and suggestions. If there's a specific debugging tool
9
+ you'd like to see or have recommendations, please reach out to us on [ Zulip] ( https://mmtk.zulipchat.com/ )
10
+ or submit your thoughts via [ issues] ( https://github.com/mmtk/mmtk-core/issues ) .
You can’t perform that action at this time.
0 commit comments