Rewrite conditional String code and add assertions in WB #94
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR makes two changes.
Rewrote
string.c
to use theWHEN_USING_MMTK
,WHEN_NOT_USING_MMTK
andWHEN_USING_MMTK2
macros. It should make the code that depending on whether MMTk is used easier to read and maintain.Added the ability to do assertions in write barriers about whether the source and the target objects are valid references to MMTk objects. This will help catching dangling references as soon as they are written into object fields (if written using write barriers, which should be the common case anyway). The assertions are enabled using the
MMTK_WB_ASSERT_VO
macro. Note that tests will fail if we enable it now due to existing bugs.These changes makes preparation for fixing bugs related to strings, including #93