We describe an alternative memory semantics for Java programs using an enriched version of the Commit/Reconcile/Fence (CRF) memory model [SAR99]. We need to enrich CRF with semantics for Java's monitor-style locking, and with an instruction to mark cached data which will never change so that we can give semantics for nal slots. With these enrichments, we give an instruction-by-instruction translation of Java memory operations into CRF operations. The resulting Java memory semantics allow anumber of optimizations such as load reordering that are currently prohibited. Using the translation, we develop a simple thread-local algebraic semantics for Java so that optimizations can be expressed at the source or bytecode level. Finally, we sho...
In a multithreaded program running on a multiprocessor platform, dierent processors may observe oper...
In this paper, we establish a notion of causality that should be used as a desideratum for memory mo...
In Java, some memory updates are necessarily visible to some threads but never to others. A definiti...
The current Java Memory Model [1] is flawed and has many unintended implications [2]. As multithread...
Abstract The current Java Memory Model [1] is flawed andhas many unintended implications [2]. It is ...
In a multithreaded program running on a multiprocessor platform, different processors may observe op...
... the Java Language Specification gives constraints on how threads interact through memory. This c...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
The most intuitive memory model for shared-memory multi-threaded programming is sequenti...
Standardized language level support for threads is one of the most important features of Java. Howev...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
International audienceRecent advances in verification have made it possible to envision trusted impl...
We present a new mechanism-oriented memory model called Commit-Reconcile & Fences (CRF) and defi...
The memory model of a programming language specifies the interaction between multiple threads and ma...
In a multithreaded program running on a multiprocessor platform, dierent processors may observe oper...
In this paper, we establish a notion of causality that should be used as a desideratum for memory mo...
In Java, some memory updates are necessarily visible to some threads but never to others. A definiti...
The current Java Memory Model [1] is flawed and has many unintended implications [2]. As multithread...
Abstract The current Java Memory Model [1] is flawed andhas many unintended implications [2]. It is ...
In a multithreaded program running on a multiprocessor platform, different processors may observe op...
... the Java Language Specification gives constraints on how threads interact through memory. This c...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
The most intuitive memory model for shared-memory multi-threaded programming is sequenti...
Standardized language level support for threads is one of the most important features of Java. Howev...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
International audienceRecent advances in verification have made it possible to envision trusted impl...
We present a new mechanism-oriented memory model called Commit-Reconcile & Fences (CRF) and defi...
The memory model of a programming language specifies the interaction between multiple threads and ma...
In a multithreaded program running on a multiprocessor platform, dierent processors may observe oper...
In this paper, we establish a notion of causality that should be used as a desideratum for memory mo...
In Java, some memory updates are necessarily visible to some threads but never to others. A definiti...