compareAndSwap
Compares value with expected and replaces it with new value if values matches. Note that comparison is identity-based, not value-based.
Legacy MM: if new value is not null, it must be frozen or permanent object.
Parameters
Exceptions
InvalidMutabilityException
- with legacy MM if the value is not frozen or a permanent object
Return the old value