Persistent Programming Languages and Cache Coherence