Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: third_party/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_msvc.h

Issue 2495533002: third_party/protobuf: Update to HEAD (83d681ee2c) (Closed)
Patch Set: Make chrome settings proto generated file a component Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Protocol Buffers - Google's data interchange format 1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2012 Google Inc. All rights reserved. 2 // Copyright 2012 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/ 3 // https://developers.google.com/protocol-buffers/
4 // 4 //
5 // Redistribution and use in source and binary forms, with or without 5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are 6 // modification, are permitted provided that the following conditions are
7 // met: 7 // met:
8 // 8 //
9 // * Redistributions of source code must retain the above copyright 9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer. 10 // notice, this list of conditions and the following disclaimer.
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { 75 inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) {
76 return *ptr; 76 return *ptr;
77 } 77 }
78 78
79 inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { 79 inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
80 Atomic32 value = *ptr; 80 Atomic32 value = *ptr;
81 return value; 81 return value;
82 } 82 }
83 83
84 inline Atomic32 Release_Load(volatile const Atomic32* ptr) { 84 inline Atomic32 Release_Load(volatile const Atomic32* ptr) {
85 MemoryBarrier(); 85 MemoryBarrierInternal();
86 return *ptr; 86 return *ptr;
87 } 87 }
88 88
89 #if defined(_WIN64) 89 #if defined(_WIN64)
90 90
91 // 64-bit low-level operations on 64-bit platform. 91 // 64-bit low-level operations on 64-bit platform.
92 92
93 inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, 93 inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr,
94 Atomic64 increment) { 94 Atomic64 increment) {
95 return Barrier_AtomicIncrement(ptr, increment); 95 return Barrier_AtomicIncrement(ptr, increment);
(...skipping 22 matching lines...) Expand all
118 inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { 118 inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) {
119 return *ptr; 119 return *ptr;
120 } 120 }
121 121
122 inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { 122 inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) {
123 Atomic64 value = *ptr; 123 Atomic64 value = *ptr;
124 return value; 124 return value;
125 } 125 }
126 126
127 inline Atomic64 Release_Load(volatile const Atomic64* ptr) { 127 inline Atomic64 Release_Load(volatile const Atomic64* ptr) {
128 MemoryBarrier(); 128 MemoryBarrierInternal();
129 return *ptr; 129 return *ptr;
130 } 130 }
131 131
132 inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, 132 inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr,
133 Atomic64 old_value, 133 Atomic64 old_value,
134 Atomic64 new_value) { 134 Atomic64 new_value) {
135 return NoBarrier_CompareAndSwap(ptr, old_value, new_value); 135 return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
136 } 136 }
137 137
138 inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, 138 inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr,
139 Atomic64 old_value, 139 Atomic64 old_value,
140 Atomic64 new_value) { 140 Atomic64 new_value) {
141 return NoBarrier_CompareAndSwap(ptr, old_value, new_value); 141 return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
142 } 142 }
143 143
144 #endif // defined(_WIN64) 144 #endif // defined(_WIN64)
145 145
146 } // namespace internal 146 } // namespace internal
147 } // namespace protobuf 147 } // namespace protobuf
148 } // namespace google 148 } // namespace google
149 149
150 #endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_MSVC_H_ 150 #endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_MSVC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698