pgsql: Move TupleTableSlots boolean member into one flag variable.

Started by Andres Freundalmost 8 years ago1 messagescomitters
Jump to latest
#1Andres Freund
andres@anarazel.de

Move TupleTableSlots boolean member into one flag variable.

There's several reasons for this change:
1) It reduces the total size of TupleTableSlot / reduces alignment
padding, making the commonly accessed members fit into a single
cacheline (but we currently do not force proper alignment, so
that's not yet guaranteed to be helpful)
2) Combining the booleans into a flag allows to combine read/writes
from memory.
3) With the upcoming slot abstraction changes, it allows to have core
and extended flags, in a memory efficient way.

Author: Ashutosh Bapat and Andres Freund
Discussion: /messages/by-id/20180220224318.gw4oe5jadhpmcdnm@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c5257345ef61922468cd9abd887c3cb6c38792cb

Modified Files
--------------
src/backend/access/common/heaptuple.c | 7 ++-
src/backend/executor/execTuples.c | 96 ++++++++++++++++++++--------------
src/backend/executor/nodeAgg.c | 2 +-
src/backend/executor/nodeModifyTable.c | 2 +-
src/backend/jit/llvm/llvmjit_deform.c | 9 ++--
src/backend/jit/llvm/llvmjit_expr.c | 4 +-
src/include/executor/executor.h | 2 +-
src/include/executor/tuptable.h | 66 ++++++++++++++---------
8 files changed, 116 insertions(+), 72 deletions(-)