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: https://postgr.es/m/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(-)