aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2014-09-01 00:16:55 +0200
committerAndres Freund <andres@anarazel.de>2014-09-01 00:16:55 +0200
commit9c4b55db1dc901dc184b1b3ab9cca3f2089ec311 (patch)
tree9eb8e68998f7aedab02d70a68469c64fd3278b0b
parent5c1faa7ba729c780b0ac598dbc23dbb1d6e1b872 (diff)
downloadpostgresql-9c4b55db1dc901dc184b1b3ab9cca3f2089ec311.tar.gz
postgresql-9c4b55db1dc901dc184b1b3ab9cca3f2089ec311.zip
Declare lwlock.c's LWLockAcquireCommon() as a static inline.
68a2e52bbaf98f136 has introduced LWLockAcquireCommon() containing the previous contents of LWLockAcquire() plus added functionality. The latter then calls it, just like LWLockAcquireWithVar(). Because the majority of callers don't need the added functionality, declare the common code as inline. The compiler then can optimize away the unused code. Doing so is also useful when looking at profiles, to differentiate the users. Backpatch to 9.4, the first branch to contain LWLockAcquireCommon().
-rw-r--r--src/backend/storage/lmgr/lwlock.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c
index a62af27d22c..7c96da5c3d8 100644
--- a/src/backend/storage/lmgr/lwlock.c
+++ b/src/backend/storage/lmgr/lwlock.c
@@ -85,8 +85,8 @@ static LWLock *held_lwlocks[MAX_SIMUL_LWLOCKS];
static int lock_addin_request = 0;
static bool lock_addin_request_allowed = true;
-static bool LWLockAcquireCommon(LWLock *l, LWLockMode mode, uint64 *valptr,
- uint64 val);
+static inline bool LWLockAcquireCommon(LWLock *l, LWLockMode mode,
+ uint64 *valptr, uint64 val);
#ifdef LWLOCK_STATS
typedef struct lwlock_stats_key
@@ -510,7 +510,7 @@ LWLockAcquireWithVar(LWLock *l, uint64 *valptr, uint64 val)
}
/* internal function to implement LWLockAcquire and LWLockAcquireWithVar */
-static bool
+static inline bool
LWLockAcquireCommon(LWLock *l, LWLockMode mode, uint64 *valptr, uint64 val)
{
volatile LWLock *lock = l;