Revert "Revert "Use the holder's gray bit in Baker read barrier slow paths (ARM, ARM64).""

This reverts commit 47b3ab2fd83aaa530b7d2c62bfc024209b8b6923.

In compiler-generated code, when deciding whether to mark
a heap reference or not in a read barrier, after checking
whether the GC is currently marking, also check (in the
slow path) whether the lock word of the reference's holder
is gray, before actually marking the reference.

This change is only for ARM and ARM64, as it does not
benefit x86 nor x86-64.

Change-Id: Ia26b07f0485e23589bfc0e65f83852f2795688c0
Test: Run ART tests in Baker read barrier configuration.
Test: Boot a device in Baker read barrier configuration.
Bug: 35780827
Bug: 29516974
4 files changed