FFI: Extend metamethod tutorial.
[luajit-2.0.git] / src / lj_snap.h
blobda9813b92bc2752b4572b1b11ac75d74d63a0b24
1 /*
2 ** Snapshot handling.
3 ** Copyright (C) 2005-2011 Mike Pall. See Copyright Notice in luajit.h
4 */
6 #ifndef _LJ_SNAP_H
7 #define _LJ_SNAP_H
9 #include "lj_obj.h"
10 #include "lj_jit.h"
12 #if LJ_HASJIT
13 LJ_FUNC void lj_snap_add(jit_State *J);
14 LJ_FUNC void lj_snap_purge(jit_State *J);
15 LJ_FUNC void lj_snap_shrink(jit_State *J);
16 LJ_FUNC void lj_snap_regspmap(uint16_t *rsmap, GCtrace *T, SnapNo snapno,
17 int hi);
18 LJ_FUNC const BCIns *lj_snap_restore(jit_State *J, void *exptr);
19 LJ_FUNC void lj_snap_grow_buf_(jit_State *J, MSize need);
20 LJ_FUNC void lj_snap_grow_map_(jit_State *J, MSize need);
22 static LJ_AINLINE void lj_snap_grow_buf(jit_State *J, MSize need)
24 if (LJ_UNLIKELY(need > J->sizesnap)) lj_snap_grow_buf_(J, need);
27 static LJ_AINLINE void lj_snap_grow_map(jit_State *J, MSize need)
29 if (LJ_UNLIKELY(need > J->sizesnapmap)) lj_snap_grow_map_(J, need);
32 #endif
34 #endif