Update sanity checking for TSOs
-
Remove an invalid assumption about GC checking what_next field. The GC doesn't care about what_next at all, if a TSO is reachable then all its pointers are followed (other than global_tso, which is only followed by compacting GC).
-
Remove checkSTACK in checkTSO: TSO stacks will be visited in checkHeapChain, or checkLargeObjects etc.
-
Add an assertion in checkTSO to check that the global_link field is sane.
-
Did some refactor to remove forward decls in checkGlobalTSOList and added braces around single-statement if statements.