Merge pull request #398 from AndyAyersMS/Volatile

Use normal lowering for volatile stores.
This commit is contained in:
Andy Ayers 2015-04-06 12:52:55 -07:00
Родитель 0e7900d087 dfcfffbe95
Коммит 82f6d967d7
1 изменённых файлов: 4 добавлений и 6 удалений

Просмотреть файл

@ -2834,12 +2834,10 @@ void GenIR::storePrimitiveType(IRNode *Value, IRNode *Addr,
// Helper used to wrap CreateStore
StoreInst *GenIR::makeStore(Value *ValueToStore, Value *Address,
bool IsVolatile, bool AddressMayBeNull) {
if (IsVolatile) {
// TODO: There is a JitConfig call back which can alter
// how volatile stores are handled.
throw NotYetImplementedException("Volatile store");
}
// TODO: There is a JitConfig setting JitLockWrite which can alter how
// volatile stores are handled for x86 architectures. When this is set we
// should emit a (lock) xchg intead of mov. RyuJit doesn't to look at this
// config setting, so we also ignore it.
if (AddressMayBeNull) {
if (UseExplicitNullChecks) {
Address = genNullCheck((IRNode *)Address);