diff options
author | Sverker Eriksson <[email protected]> | 2018-10-01 20:37:38 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2018-10-03 19:00:53 +0200 |
commit | b0fea529419514d9b173b84aae0f188f2e38c931 (patch) | |
tree | d7767e86e6a4380115e320f0fe59b14b0eb40c78 /erts/emulator/beam/erl_lock_flags.h | |
parent | 3ed92c67b957df55762ab837a7e3d9c8d562083b (diff) | |
download | otp-b0fea529419514d9b173b84aae0f188f2e38c931.tar.gz otp-b0fea529419514d9b173b84aae0f188f2e38c931.tar.bz2 otp-b0fea529419514d9b173b84aae0f188f2e38c931.zip |
erts: Add Erlang term order to lock checker
Diffstat (limited to 'erts/emulator/beam/erl_lock_flags.h')
-rw-r--r-- | erts/emulator/beam/erl_lock_flags.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_lock_flags.h b/erts/emulator/beam/erl_lock_flags.h index d711f69456..2db133b598 100644 --- a/erts/emulator/beam/erl_lock_flags.h +++ b/erts/emulator/beam/erl_lock_flags.h @@ -28,15 +28,17 @@ /* Property/category are bitfields to simplify their use in masks. */ #define ERTS_LOCK_FLAGS_MASK_CATEGORY (0xFFC0) -#define ERTS_LOCK_FLAGS_MASK_PROPERTY (0x0030) +#define ERTS_LOCK_FLAGS_MASK_PROPERTY (0x0038) /* Type is a plain number. */ -#define ERTS_LOCK_FLAGS_MASK_TYPE (0x000F) +#define ERTS_LOCK_FLAGS_MASK_TYPE (0x0007) #define ERTS_LOCK_FLAGS_TYPE_SPINLOCK (1) #define ERTS_LOCK_FLAGS_TYPE_MUTEX (2) #define ERTS_LOCK_FLAGS_TYPE_PROCLOCK (3) +/* Lock checker use real term order instead of raw word compare */ +#define ERTS_LOCK_FLAGS_PROPERTY_TERM_ORDER (1 << 3) /* "Static" guarantees that the lock will never be destroyed once created. */ #define ERTS_LOCK_FLAGS_PROPERTY_STATIC (1 << 4) #define ERTS_LOCK_FLAGS_PROPERTY_READ_WRITE (1 << 5) |