beta-0.89.2
[luatex.git] / source / libs / luajit / LuaJIT-src / src / lj_snap.h
blob9a125be7fb915d585bdafc05f3c57842c037cdd9
1 /*
2 ** Snapshot handling.
3 ** Copyright (C) 2005-2015 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 IRIns *lj_snap_regspmap(GCtrace *T, SnapNo snapno, IRIns *ir);
17 LJ_FUNC void lj_snap_replay(jit_State *J, GCtrace *T);
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