typedef LJ_ALIGN()

in profiler/lua_state.h [172:216]


typedef LJ_ALIGN(8) union TValue
{
  uint64_t u64; /* 64 bit pattern overlaps number. */
  lua_Number n; /* Number object overlaps split tag/value object. */
#if LJ_GC64
  GCRef gcr; /* GCobj reference with tag. */
  int64_t it64;
  struct
  {
    LJ_ENDIAN_LOHI(
        int32_t i;     /* Integer value. */
        , uint32_t it; /* Internal object tag. Must overlap MSW of number. */
    )
  };
#else
  struct
  {
    LJ_ENDIAN_LOHI(
        union {
          GCRef gcr; /* GCobj reference (if any). */
          int32_t i; /* Integer value. */
        };
        , uint32_t it; /* Internal object tag. Must overlap MSW of number. */
    )
  };
#endif
#if LJ_FR2
  int64_t ftsz; /* Frame type and size of previous frame, or PC. */
#else
  struct
  {
    LJ_ENDIAN_LOHI(
        GCRef func;     /* Function for next frame (or dummy L). */
        , FrameLink tp; /* Link to previous frame. */
    )
  } fr;
#endif
  struct
  {
    LJ_ENDIAN_LOHI(
        uint32_t lo;   /* Lower 32 bits of number. */
        , uint32_t hi; /* Upper 32 bits of number. */
    )
  } u32;
} TValue;