Improving the Java memory model using CRF

Citation
Xw. Maessen, Jw",arvind,"shen, Improving the Java memory model using CRF, ACM SIGPL N, 35(10), 2000, pp. 1-12
Citations number
18
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM SIGPLAN NOTICES
ISSN journal
15232867 → ACNP
Volume
35
Issue
10
Year of publication
2000
Pages
1 - 12
Database
ISI
SICI code
1523-2867(200010)35:10<1:ITJMMU>2.0.ZU;2-S
Abstract
This paper describes alternative memory semantics for Java programs using a n enriched version of the Commit/Reconcile/Fence (CRF) memory model [16]. I t outlines a set of reasonable practices for safe multithreaded programming in Java. Our semantics allow a number of optimizations such as load reorde ring that are currently prohibited. Simple thread-local algebraic rules exp ress the effects of optimizations at the source or bytecode level. The rule s focus on reordering source-level operations; they yield a simple dependen cy analysis algorithm for Java. An instruction-by-instruction translation o f Java memory operations into CRF operations captures thread interactions p recisely. The fine-grained synchronization of CRF means the algebraic rules are easily derived from the translation. CRF can be mapped directly to a m odem architecture, and is thus a suitable target for optimizing memory cohe rence during code generation.