Pyrogenesis  trunk
Macros | Functions | Variables
alignment.h File Reference
#include "lib/sysdep/compiler.h"
#include "lib/sysdep/arch.h"
Include dependency graph for alignment.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ALIGNED(type, multiple)   type
 
#define VECTOR_ALIGNED(type)   ALIGNED(type, 16)
 
#define ASSERT_VECTOR_MULTIPLE(size)   ASSERT(IsAligned(size, vectorSize))
 
#define ASSERT_VECTOR_ALIGNED(pointer)
 
#define CACHE_ALIGNED(type)   ALIGNED(type, 64)
 

Functions

template<typename T >
bool IsAligned (T t, uintptr_t multiple)
 
template<size_t multiple>
size_t Align (size_t n)
 

Variables

static const size_t vectorSize = 16
 
static const size_t cacheLineSize = 64
 
static const size_t pageSize = 0x1000
 
static const size_t largePageSize = 0x200000
 
static const size_t allocationAlignment = 16
 
static const size_t KiB = size_t(1) << 10
 
static const size_t MiB = size_t(1) << 20
 
static const size_t GiB = size_t(1) << 30
 
static const uintptr_t maxSectorSize = 0x1000
 

Macro Definition Documentation

#define ALIGNED (   type,
  multiple 
)    type
#define ASSERT_VECTOR_ALIGNED (   pointer)
Value:
#define ASSUME_ALIGNED(ptr, multiple)
Definition: code_annotation.h:226
#define ASSERT_VECTOR_MULTIPLE(size)
Definition: alignment.h:61
static const size_t vectorSize
Definition: alignment.h:58
#define ASSERT_VECTOR_MULTIPLE (   size)    ASSERT(IsAligned(size, vectorSize))
#define CACHE_ALIGNED (   type)    ALIGNED(type, 64)
#define VECTOR_ALIGNED (   type)    ALIGNED(type, 16)

Function Documentation

template<size_t multiple>
size_t Align ( size_t  n)
inline
template<typename T >
bool IsAligned ( T  t,
uintptr_t  multiple 
)
inline

Variable Documentation

const size_t allocationAlignment = 16
static
const size_t cacheLineSize = 64
static
const size_t GiB = size_t(1) << 30
static
const size_t KiB = size_t(1) << 10
static
const size_t largePageSize = 0x200000
static
const uintptr_t maxSectorSize = 0x1000
static
const size_t MiB = size_t(1) << 20
static
const size_t pageSize = 0x1000
static
const size_t vectorSize = 16
static