Move TupleTableSlots boolean member into one flag variable.
authorAndres Freund <andres@anarazel.de>
Mon, 15 Oct 2018 22:24:33 +0000 (15:24 -0700)
committerAndres Freund <andres@anarazel.de>
Tue, 16 Oct 2018 01:23:25 +0000 (18:23 -0700)
commitc5257345ef61922468cd9abd887c3cb6c38792cb
treec510b809c925fba6eb0b778b53b2345ea9168e50
parent9d906f1119de893a4ca533c5e7b97207a3aa963b
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
src/backend/access/common/heaptuple.c
src/backend/executor/execTuples.c
src/backend/executor/nodeAgg.c
src/backend/executor/nodeModifyTable.c
src/backend/jit/llvm/llvmjit_deform.c
src/backend/jit/llvm/llvmjit_expr.c
src/include/executor/executor.h
src/include/executor/tuptable.h