Use acquire/release for mark_stack_mode_

The old mixture of relaxed and seq_cst didn't make sense. Letting them
all default to seq_cst would also be fine. On ARM64, this currently
generates the same code as seq_cst, but this saves a few fences on
ARM32 and X86.

Clarify that is_mark_stack_push_disallowed_ is only a debugging tool,
and access it only in debug builds.

Mark some mysterious ThreadFenceForConstructor calls as such for now.
They should be removed unless we can come up with a rationale for
them.

Bug: 120623963
Test: TreeHugger
Change-Id: I86aa4c6bb1fcb1484d050823f8d6a0616418f6d0
2 files changed