OpenJDK / jdk / jdk
changeset 56259:48d51def09f9
8230845: ZGC: Implement ZLock using os::PlatformMutex
Reviewed-by: stefank
author | pliden |
---|---|
date | Fri, 13 Sep 2019 08:40:09 +0200 |
parents | f63f50a4bf43 |
children | 70aebd567a5c |
files | src/hotspot/share/gc/z/zLock.hpp src/hotspot/share/gc/z/zLock.inline.hpp |
diffstat | 2 files changed, 8 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/src/hotspot/share/gc/z/zLock.hpp Thu Sep 12 11:07:35 2019 -0700 +++ b/src/hotspot/share/gc/z/zLock.hpp Fri Sep 13 08:40:09 2019 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,16 +25,13 @@ #define SHARE_GC_Z_ZLOCK_HPP #include "memory/allocation.hpp" -#include <pthread.h> +#include "runtime/os.hpp" class ZLock { private: - pthread_mutex_t _lock; + os::PlatformMutex _lock; public: - ZLock(); - ~ZLock(); - void lock(); bool try_lock(); void unlock();
--- a/src/hotspot/share/gc/z/zLock.inline.hpp Thu Sep 12 11:07:35 2019 -0700 +++ b/src/hotspot/share/gc/z/zLock.inline.hpp Fri Sep 13 08:40:09 2019 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,27 +26,20 @@ #include "gc/z/zLock.hpp" #include "runtime/atomic.hpp" +#include "runtime/os.inline.hpp" #include "runtime/thread.hpp" #include "utilities/debug.hpp" -inline ZLock::ZLock() { - pthread_mutex_init(&_lock, NULL); -} - -inline ZLock::~ZLock() { - pthread_mutex_destroy(&_lock); -} - inline void ZLock::lock() { - pthread_mutex_lock(&_lock); + _lock.lock(); } inline bool ZLock::try_lock() { - return pthread_mutex_trylock(&_lock) == 0; + return _lock.try_lock(); } inline void ZLock::unlock() { - pthread_mutex_unlock(&_lock); + _lock.unlock(); } inline ZReentrantLock::ZReentrantLock() :