Macros | Functions
lmem.h File Reference
#include <stddef.h>
#include "llimits.h"
#include "lua.h"
Include dependency graph for lmem.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define luaM_checksize(L, n, e)   (luaM_testsize(n,e) ? luaM_toobig(L) : cast_void(0))
 
#define luaM_error(L)   luaD_throw(L, LUA_ERRMEM)
 
#define luaM_free(L, b)   luaM_free_(L, (b), sizeof(*(b)))
 
#define luaM_freearray(L, b, n)   luaM_free_(L, (b), (n)*sizeof(*(b)))
 
#define luaM_freemem(L, b, s)   luaM_free_(L, (b), (s))
 
#define luaM_growvector(L, v, nelems, size, t, limit, e)
 
#define luaM_limitN(n, t)
 
#define luaM_new(L, t)   cast(t*, luaM_malloc_(L, sizeof(t), 0))
 
#define luaM_newobject(L, tag, s)   luaM_malloc_(L, (s), tag)
 
#define luaM_newvector(L, n, t)   cast(t*, luaM_malloc_(L, (n)*sizeof(t), 0))
 
#define luaM_newvectorchecked(L, n, t)   (luaM_checksize(L,n,sizeof(t)), luaM_newvector(L,n,t))
 
#define luaM_reallocvchar(L, b, on, n)   cast_charp(luaM_saferealloc_(L, (b), (on)*sizeof(char), (n)*sizeof(char)))
 
#define luaM_reallocvector(L, v, oldn, n, t)
 
#define luaM_shrinkvector(L, v, size, fs, t)   ((v)=cast(t *, luaM_shrinkvector_(L, v, &(size), fs, sizeof(t))))
 
#define luaM_testsize(n, e)   (sizeof(n) >= sizeof(size_t) && cast_sizet((n)) + 1 > MAX_SIZET/(e))
 

Functions

LUAI_FUNC void luaM_free_ (lua_State *L, void *block, size_t osize)
 
LUAI_FUNC void * luaM_growaux_ (lua_State *L, void *block, int nelems, int *size, int size_elem, int limit, const char *what)
 
LUAI_FUNC void * luaM_malloc_ (lua_State *L, size_t size, int tag)
 
LUAI_FUNC void * luaM_realloc_ (lua_State *L, void *block, size_t oldsize, size_t size)
 
LUAI_FUNC void * luaM_saferealloc_ (lua_State *L, void *block, size_t oldsize, size_t size)
 
LUAI_FUNC void * luaM_shrinkvector_ (lua_State *L, void *block, int *nelem, int final_n, int size_elem)
 
LUAI_FUNC l_noret luaM_toobig (lua_State *L)
 

Macro Definition Documentation

◆ luaM_checksize

#define luaM_checksize (   L,
  n,
 
)    (luaM_testsize(n,e) ? luaM_toobig(L) : cast_void(0))

Definition at line 34 of file lmem.h.

◆ luaM_error

#define luaM_error (   L)    luaD_throw(L, LUA_ERRMEM)

Definition at line 17 of file lmem.h.

◆ luaM_free

#define luaM_free (   L,
 
)    luaM_free_(L, (b), sizeof(*(b)))

Definition at line 56 of file lmem.h.

◆ luaM_freearray

#define luaM_freearray (   L,
  b,
 
)    luaM_free_(L, (b), (n)*sizeof(*(b)))

Definition at line 57 of file lmem.h.

◆ luaM_freemem

#define luaM_freemem (   L,
  b,
  s 
)    luaM_free_(L, (b), (s))

Definition at line 55 of file lmem.h.

◆ luaM_growvector

#define luaM_growvector (   L,
  v,
  nelems,
  size,
  t,
  limit,
 
)
Value:
((v)=cast(t *, luaM_growaux_(L,v,nelems,&(size),sizeof(t), \
luaM_limitN(limit,t),e)))

Definition at line 66 of file lmem.h.

◆ luaM_limitN

#define luaM_limitN (   n,
 
)
Value:
((cast_sizet(n) <= MAX_SIZET/sizeof(t)) ? (n) : \
cast_uint((MAX_SIZET/sizeof(t))))

Definition at line 44 of file lmem.h.

◆ luaM_new

#define luaM_new (   L,
 
)    cast(t*, luaM_malloc_(L, sizeof(t), 0))

Definition at line 59 of file lmem.h.

◆ luaM_newobject

#define luaM_newobject (   L,
  tag,
  s 
)    luaM_malloc_(L, (s), tag)

Definition at line 64 of file lmem.h.

◆ luaM_newvector

#define luaM_newvector (   L,
  n,
 
)    cast(t*, luaM_malloc_(L, (n)*sizeof(t), 0))

Definition at line 60 of file lmem.h.

◆ luaM_newvectorchecked

#define luaM_newvectorchecked (   L,
  n,
 
)    (luaM_checksize(L,n,sizeof(t)), luaM_newvector(L,n,t))

Definition at line 61 of file lmem.h.

◆ luaM_reallocvchar

#define luaM_reallocvchar (   L,
  b,
  on,
 
)    cast_charp(luaM_saferealloc_(L, (b), (on)*sizeof(char), (n)*sizeof(char)))

Definition at line 52 of file lmem.h.

◆ luaM_reallocvector

#define luaM_reallocvector (   L,
  v,
  oldn,
  n,
 
)
Value:
(cast(t *, luaM_realloc_(L, v, cast_sizet(oldn) * sizeof(t), \
cast_sizet(n) * sizeof(t))))

Definition at line 70 of file lmem.h.

◆ luaM_shrinkvector

#define luaM_shrinkvector (   L,
  v,
  size,
  fs,
 
)    ((v)=cast(t *, luaM_shrinkvector_(L, v, &(size), fs, sizeof(t))))

Definition at line 74 of file lmem.h.

◆ luaM_testsize

#define luaM_testsize (   n,
 
)    (sizeof(n) >= sizeof(size_t) && cast_sizet((n)) + 1 > MAX_SIZET/(e))

Definition at line 31 of file lmem.h.

Function Documentation

◆ luaM_free_()

LUAI_FUNC void luaM_free_ ( lua_State L,
void *  block,
size_t  osize 
)

Definition at line 132 of file lmem.c.

◆ luaM_growaux_()

LUAI_FUNC void* luaM_growaux_ ( lua_State L,
void *  block,
int  nelems,
int *  size,
int  size_elem,
int  limit,
const char *  what 
)

Definition at line 79 of file lmem.c.

◆ luaM_malloc_()

LUAI_FUNC void* luaM_malloc_ ( lua_State L,
size_t  size,
int  tag 
)

Definition at line 187 of file lmem.c.

◆ luaM_realloc_()

LUAI_FUNC void* luaM_realloc_ ( lua_State L,
void *  block,
size_t  oldsize,
size_t  size 
)

Definition at line 162 of file lmem.c.

◆ luaM_saferealloc_()

LUAI_FUNC void* luaM_saferealloc_ ( lua_State L,
void *  block,
size_t  oldsize,
size_t  size 
)

Definition at line 178 of file lmem.c.

◆ luaM_shrinkvector_()

LUAI_FUNC void* luaM_shrinkvector_ ( lua_State L,
void *  block,
int *  nelem,
int  final_n,
int  size_elem 
)

Definition at line 110 of file lmem.c.

◆ luaM_toobig()

LUAI_FUNC l_noret luaM_toobig ( lua_State L)

Definition at line 124 of file lmem.c.

cast
#define cast(t, exp)
Definition: llimits.h:123
cast_uint
#define cast_uint(i)
Definition: llimits.h:129
luaM_growaux_
LUAI_FUNC void * luaM_growaux_(lua_State *L, void *block, int nelems, int *size, int size_elem, int limit, const char *what)
Definition: lmem.c:79
MAX_SIZET
#define MAX_SIZET
Definition: lauxlib.c:32
nonstd::span_lite::size
span_constexpr std::size_t size(span< T, Extent > const &spn)
Definition: span.hpp:1554
cast_sizet
#define cast_sizet(i)
Definition: llimits.h:134
luaM_limitN
#define luaM_limitN(n, t)
Definition: lmem.h:44
luaM_realloc_
LUAI_FUNC void * luaM_realloc_(lua_State *L, void *block, size_t oldsize, size_t size)
Definition: lmem.c:162


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:49