Changeset 128704 in webkit for trunk/Source/JavaScriptCore/runtime/JSLock.cpp
- Timestamp:
- Sep 15, 2012, 11:08:18 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSLock.cpp
r127202 r128704 34 34 namespace JSC { 35 35 36 // JSLock is only needed to support an obsolete execution model where JavaScriptCore 37 // automatically protected against concurrent access from multiple threads. 38 // So it's safe to disable it on non-mac platforms where we don't have native pthreads. 39 #if (OS(DARWIN) || USE(PTHREADS)) 40 41 static pthread_mutex_t sharedInstanceLock = PTHREAD_MUTEX_INITIALIZER; 36 Mutex* GlobalJSLock::s_sharedInstanceLock = 0; 42 37 43 38 GlobalJSLock::GlobalJSLock() 44 39 { 45 pthread_mutex_lock(&sharedInstanceLock);40 s_sharedInstanceLock->lock(); 46 41 } 47 42 48 43 GlobalJSLock::~GlobalJSLock() 49 44 { 50 pthread_mutex_unlock(&sharedInstanceLock); 45 s_sharedInstanceLock->unlock(); 46 } 47 48 void GlobalJSLock::initialize() 49 { 50 s_sharedInstanceLock = new Mutex(); 51 51 } 52 52 … … 217 217 } 218 218 219 #else // (OS(DARWIN) || USE(PTHREADS))220 221 GlobalJSLock::GlobalJSLock()222 {223 }224 225 GlobalJSLock::~GlobalJSLock()226 {227 }228 229 JSLockHolder::JSLockHolder(JSGlobalData*)230 {231 }232 233 JSLockHolder::JSLockHolder(JSGlobalData&)234 {235 }236 237 JSLockHolder::JSLockHolder(ExecState*)238 {239 }240 241 JSLockHolder::~JSLockHolder()242 {243 }244 245 JSLock::JSLock()246 {247 }248 249 JSLock::~JSLock()250 {251 }252 253 bool JSLock::currentThreadIsHoldingLock()254 {255 return true;256 }257 258 void JSLock::lock()259 {260 }261 262 void JSLock::unlock()263 {264 }265 266 void JSLock::lock(ExecState*)267 {268 }269 270 void JSLock::unlock(ExecState*)271 {272 }273 274 void JSLock::lock(JSGlobalData&)275 {276 }277 278 void JSLock::unlock(JSGlobalData&)279 {280 }281 282 unsigned JSLock::dropAllLocks()283 {284 return 0;285 }286 287 unsigned JSLock::dropAllLocksUnconditionally()288 {289 return 0;290 }291 292 void JSLock::grabAllLocks(unsigned)293 {294 }295 296 JSLock::DropAllLocks::DropAllLocks(ExecState*)297 {298 }299 300 JSLock::DropAllLocks::DropAllLocks(JSGlobalData*)301 {302 }303 304 JSLock::DropAllLocks::~DropAllLocks()305 {306 }307 308 #endif // (OS(DARWIN) || USE(PTHREADS))309 310 219 } // namespace JSC
Note:
See TracChangeset
for help on using the changeset viewer.