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

Side by Side Diff: nss/mozilla/nsprpub/pr/include/pratom.h

Issue 3135002: Update to NSS 3.12.7 and NSPR 4.8.6.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 10 years, 4 months 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 | Annotate | Revision Log
OLDNEW
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* ***** BEGIN LICENSE BLOCK ***** 2 /* ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 * 4 *
5 * The contents of this file are subject to the Mozilla Public License Version 5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with 6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at 7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/ 8 * http://www.mozilla.org/MPL/
9 * 9 *
10 * Software distributed under the License is distributed on an "AS IS" basis, 10 * Software distributed under the License is distributed on an "AS IS" basis,
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 118
119 long __cdecl _InterlockedDecrement(long volatile *Addend); 119 long __cdecl _InterlockedDecrement(long volatile *Addend);
120 #pragma intrinsic(_InterlockedDecrement) 120 #pragma intrinsic(_InterlockedDecrement)
121 121
122 long __cdecl _InterlockedExchange(long volatile *Target, long Value); 122 long __cdecl _InterlockedExchange(long volatile *Target, long Value);
123 #pragma intrinsic(_InterlockedExchange) 123 #pragma intrinsic(_InterlockedExchange)
124 124
125 long __cdecl _InterlockedExchangeAdd(long volatile *Addend, long Value); 125 long __cdecl _InterlockedExchangeAdd(long volatile *Addend, long Value);
126 #pragma intrinsic(_InterlockedExchangeAdd) 126 #pragma intrinsic(_InterlockedExchangeAdd)
127 127
128 #define PR_ATOMIC_INCREMENT(val) _InterlockedIncrement(val) 128 #define PR_ATOMIC_INCREMENT(val) _InterlockedIncrement((long volatile *)(val))
129 #define PR_ATOMIC_DECREMENT(val) _InterlockedDecrement(val) 129 #define PR_ATOMIC_DECREMENT(val) _InterlockedDecrement((long volatile *)(val))
130 #define PR_ATOMIC_SET(val, newval) _InterlockedExchange(val, newval) 130 #define PR_ATOMIC_SET(val, newval) \
131 #define PR_ATOMIC_ADD(ptr, val) (_InterlockedExchangeAdd(ptr, val) + (val)) 131 _InterlockedExchange((long volatile *)(val), (long)(newval))
132 #define PR_ATOMIC_ADD(ptr, val) \
133 (_InterlockedExchangeAdd((long volatile *)(ptr), (long)(val)) + (val))
132 134
133 #elif ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) && \ 135 #elif ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) && \
134 ((defined(DARWIN) && \ 136 ((defined(DARWIN) && \
135 (defined(__ppc__) || defined(__i386__))) || \ 137 (defined(__ppc__) || defined(__i386__) || defined(__x86_64__))) || \
136 (defined(LINUX) && \ 138 (defined(LINUX) && \
137 (defined(__i386__) || defined(__ia64__) || defined(__x86_64__) || \ 139 ((defined(__i386__) && \
140 defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)) || \
141 defined(__ia64__) || defined(__x86_64__) || \
138 (defined(__powerpc__) && !defined(__powerpc64__)) || \ 142 (defined(__powerpc__) && !defined(__powerpc64__)) || \
139 defined(__alpha)))) 143 defined(__alpha))))
140 144
141 /* 145 /*
142 * Because the GCC manual warns that some processors may support 146 * Because the GCC manual warns that some processors may support
143 * reduced functionality of __sync_lock_test_and_set, we test for the 147 * reduced functionality of __sync_lock_test_and_set, we test for the
144 * processors that we believe support a full atomic exchange operation. 148 * processors that we believe support a full atomic exchange operation.
145 */ 149 */
146 150
147 #define PR_ATOMIC_INCREMENT(val) __sync_add_and_fetch(val, 1) 151 #define PR_ATOMIC_INCREMENT(val) __sync_add_and_fetch(val, 1)
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 ** PR_SUCCESS - if successfully deleted 220 ** PR_SUCCESS - if successfully deleted
217 ** PR_FAILURE - if the stack is not empty 221 ** PR_FAILURE - if the stack is not empty
218 ** PR_GetError will return 222 ** PR_GetError will return
219 ** PR_INVALID_STATE_ERROR - stack i s not empty 223 ** PR_INVALID_STATE_ERROR - stack i s not empty
220 */ 224 */
221 NSPR_API(PRStatus) PR_DestroyStack(PRStack *stack); 225 NSPR_API(PRStatus) PR_DestroyStack(PRStack *stack);
222 226
223 PR_END_EXTERN_C 227 PR_END_EXTERN_C
224 228
225 #endif /* pratom_h___ */ 229 #endif /* pratom_h___ */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698