Index: runtime/vm/atomic_simulator.h |
=================================================================== |
--- runtime/vm/atomic_simulator.h (revision 0) |
+++ runtime/vm/atomic_simulator.h (working copy) |
@@ -0,0 +1,25 @@ |
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+#ifndef VM_ATOMIC_SIMULATOR_H_ |
+#define VM_ATOMIC_SIMULATOR_H_ |
+ |
+#if !defined VM_ATOMIC_H_ |
+#error Do not include atomic_simulator.h directly. Use atomic.h instead. |
+#endif |
+ |
+namespace dart { |
+ |
+#if defined(USING_SIMULATOR) |
+// Forward atomic operations to the simulator if the simulator is active. |
+inline uword AtomicOperations::CompareAndSwapWord(uword* ptr, |
+ uword old_value, |
+ uword new_value) { |
+ return Simulator::CompareExchange(ptr, old_value, new_value); |
+} |
+#endif // defined(USING_SIMULATOR) |
+ |
+} // namespace dart |
+ |
+#endif // VM_ATOMIC_SIMULATOR_H_ |