lj_mcode.h 691 B

123456789101112131415161718192021222324252627282930
  1. /*
  2. ** Machine code management.
  3. ** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
  4. */
  5. #ifndef _LJ_MCODE_H
  6. #define _LJ_MCODE_H
  7. #include "lj_obj.h"
  8. #if LJ_HASJIT || LJ_HASFFI
  9. LJ_FUNC void lj_mcode_sync(void *start, void *end);
  10. #endif
  11. #if LJ_HASJIT
  12. #include "lj_jit.h"
  13. LJ_FUNC void lj_mcode_free(jit_State *J);
  14. LJ_FUNC MCode *lj_mcode_reserve(jit_State *J, MCode **lim);
  15. LJ_FUNC void lj_mcode_commit(jit_State *J, MCode *m);
  16. LJ_FUNC void lj_mcode_abort(jit_State *J);
  17. LJ_FUNC MCode *lj_mcode_patch(jit_State *J, MCode *ptr, int finish);
  18. LJ_FUNC_NORET void lj_mcode_limiterr(jit_State *J, size_t need);
  19. #define lj_mcode_commitbot(J, m) (J->mcbot = (m))
  20. #endif
  21. #endif