* src/vm/jit/codegen-common.cpp, src/vm/jit/x86_64/codegen.c: Generate
authorStefan Ring <stefan@complang.tuwien.ac.at>
Sat, 14 Nov 2009 15:09:19 +0000 (16:09 +0100)
committerStefan Ring <stefan@complang.tuwien.ac.at>
Sat, 14 Nov 2009 15:09:19 +0000 (16:09 +0100)
commita40fe595d0cfe6c65922418de174200ce4873633
tree17f1f3b5767fbff500999c9746e59d04a0056c27
parent67da78971605bb8a2953a9f6d5a7862857049538
* src/vm/jit/codegen-common.cpp, src/vm/jit/x86_64/codegen.c: Generate
MFENCE instructions after (potential) volatile stores, augment patcher info
for patching them out again.
* src/vm/jit/codegen-common.hpp (codegen_emit_patchable_barrier): New function.
* src/vm/jit/patcher-common.cpp (patcher_add_patch_ref): Added return value.
* src/vm/jit/patcher-common.hpp: Added disp_mb field to patchref_t.
(patcher_add_patch_ref): Added return value.
* src/vm/jit/x86_64/codegen.h: Comment.
* src/vm/jit/x86_64/patcher.c: Patch out MFENCE for non-volatile writes.
src/vm/jit/codegen-common.cpp
src/vm/jit/codegen-common.hpp
src/vm/jit/patcher-common.cpp
src/vm/jit/patcher-common.hpp
src/vm/jit/x86_64/codegen.c
src/vm/jit/x86_64/codegen.h
src/vm/jit/x86_64/patcher.c