1. 17 8月, 2016 6 次提交
  2. 16 8月, 2016 18 次提交
  3. 15 8月, 2016 1 次提交
  4. 13 8月, 2016 2 次提交
    • H
      Silence warnings about failed inlining, by removing 'inline' attributes. · 416300a7
      Heikki Linnakangas 提交于
      The functions in memtuple.c were only called when building a column
      binding struct. That's not a hot path, as that only gets done once, when
      starting the executor, not at every row.
      
      handleAckedPacket() is probably in a somewhat hot path, as it's called for
      every received Ack interconnect packet. However, all the calls to it are
      straight unconditional jumps, so branch prediction should make those
      very cheap. Inlining them would increase the code size quite a bit, so the
      compiler is probably making a good choice by refusing to inline them. Let's
      not try to force it.
      
      I'm seeing a few more warnings like this from tqual.c and tuplesort.c, but
      those are in upstream code, so I'm reluctant to just remove the inline
      attributes there. Should do something about those too, to reduce the noise,
      but let's at least get these straightforward gpdb-specific cases fixed.
      
      For reference, these are the warnings I was getting:
      
      memtuple.c: In function ‘create_col_bind’:
      memtuple.c:122:20: warning: inlining failed in call to ‘add_null_save_aligned’: call is unlikely and code size would grow [-Winline]
       static inline bool add_null_save_aligned(MemTupleAttrBinding *bind, short *null_save_aligned, int i, char next_attr_align)
                          ^
      memtuple.c:241:10: warning: called from here [-Winline]
            if (add_null_save_aligned(previous_bind, colbind->null_saves_aligned, physical_col - 1, 'd'))
                ^
      memtuple.c:122:20: warning: inlining failed in call to ‘add_null_save_aligned’: call is unlikely and code size would grow [-Winline]
       static inline bool add_null_save_aligned(MemTupleAttrBinding *bind, short *null_save_aligned, int i, char next_attr_align)
                          ^
      memtuple.c:270:10: warning: called from here [-Winline]
            if (add_null_save_aligned(previous_bind, colbind->null_saves_aligned, physical_col - 1, 'i'))
                ^
      memtuple.c:122:20: warning: inlining failed in call to ‘add_null_save_aligned’: call is unlikely and code size would grow [-Winline]
       static inline bool add_null_save_aligned(MemTupleAttrBinding *bind, short *null_save_aligned, int i, char next_attr_align)
                          ^
      memtuple.c:308:10: warning: called from here [-Winline]
            if (add_null_save_aligned(previous_bind, colbind->null_saves_aligned, physical_col - 1, 's'))
                ^
      memtuple.c:122:20: warning: inlining failed in call to ‘add_null_save_aligned’: call is unlikely and code size would grow [-Winline]
       static inline bool add_null_save_aligned(MemTupleAttrBinding *bind, short *null_save_aligned, int i, char next_attr_align)
                          ^
      memtuple.c:354:10: warning: called from here [-Winline]
            if (add_null_save_aligned(previous_bind, colbind->null_saves_aligned, physical_col - 1, 'c'))
                ^
      ic_udpifc.c: In function ‘handleAcks.isra.25’:
      ic_udpifc.c:4370:1: warning: inlining failed in call to ‘handleAckedPacket’: call is unlikely and code size would grow [-Winline]
       handleAckedPacket(MotionConn *ackConn, ICBuffer *buf, uint64 now)
       ^
      ic_udpifc.c:5177:3: warning: called from here [-Winline]
         handleAckedPacket(conn, buf, now);
         ^
      ic_udpifc.c:4370:1: warning: inlining failed in call to ‘handleAckedPacket’: call is unlikely and code size would grow [-Winline]
       handleAckedPacket(MotionConn *ackConn, ICBuffer *buf, uint64 now)
       ^
      ic_udpifc.c:5189:4: warning: called from here [-Winline]
          handleAckedPacket(conn, buf, now);
          ^
      ic_udpifc.c:4370:1: warning: inlining failed in call to ‘handleAckedPacket’: call is unlikely and code size would grow [-Winline]
       handleAckedPacket(MotionConn *ackConn, ICBuffer *buf, uint64 now)
       ^
      ic_udpifc.c:5073:4: warning: called from here [-Winline]
          handleAckedPacket(conn, buf, now);
          ^
      ic_udpifc.c:4370:1: warning: inlining failed in call to ‘handleAckedPacket’: call is unlikely and code size would grow [-Winline]
       handleAckedPacket(MotionConn *ackConn, ICBuffer *buf, uint64 now)
       ^
      ic_udpifc.c:5112:4: warning: called from here [-Winline]
          handleAckedPacket(conn, buf, now);
          ^
      416300a7
    • H
      da0c4ae3
  5. 12 8月, 2016 7 次提交
  6. 11 8月, 2016 6 次提交