2 * jit.h - General definitions for JIT back-ends.
4 * Copyright (C) 2004 Southern Storm Software, Pty Ltd.
5 * Copyright (C) 2016 Ketmar Dark
7 * The libjit library is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public License
9 * as published by the Free Software Foundation, either version 2.1 of
10 * the License, or (at your option) any later version.
12 * The libjit library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with the libjit library. If not, see
19 * <http://www.gnu.org/licenses/>.
22 {$INCLUDE libjit_opts.inc}
30 (*const*) var jit_opcodes
: packed array [0..JIT_OP_NUM_OPCODES
-1] of jit_opcode_info_t
; libraryLibJITVar
;
33 * Pre-defined type descriptors.
35 (*const*) var jit_type_void
: jit_type_t
; libraryLibJITVar
;
36 (*const*) var jit_type_sbyte
: jit_type_t
; libraryLibJITVar
;
37 (*const*) var jit_type_ubyte
: jit_type_t
; libraryLibJITVar
;
38 (*const*) var jit_type_short
: jit_type_t
; libraryLibJITVar
;
39 (*const*) var jit_type_ushort
: jit_type_t
; libraryLibJITVar
;
40 (*const*) var jit_type_int
: jit_type_t
; libraryLibJITVar
;
41 (*const*) var jit_type_uint
: jit_type_t
; libraryLibJITVar
;
42 (*const*) var jit_type_nint
: jit_type_t
; libraryLibJITVar
;
43 (*const*) var jit_type_nuint
: jit_type_t
; libraryLibJITVar
;
44 (*const*) var jit_type_long
: jit_type_t
; libraryLibJITVar
;
45 (*const*) var jit_type_ulong
: jit_type_t
; libraryLibJITVar
;
46 (*const*) var jit_type_float32
: jit_type_t
; libraryLibJITVar
;
47 (*const*) var jit_type_float64
: jit_type_t
; libraryLibJITVar
;
48 (*const*) var jit_type_nfloat
: jit_type_t
; libraryLibJITVar
;
49 (*const*) var jit_type_void_ptr
: jit_type_t
; libraryLibJITVar
;
52 * Type descriptors for the system "char", "int", "long", etc types.
53 * These are defined to one of the above values.
55 (*const*) var jit_type_sys_bool
: jit_type_t
; libraryLibJITVar
;
56 (*const*) var jit_type_sys_char
: jit_type_t
; libraryLibJITVar
;
57 (*const*) var jit_type_sys_schar
: jit_type_t
; libraryLibJITVar
;
58 (*const*) var jit_type_sys_uchar
: jit_type_t
; libraryLibJITVar
;
59 (*const*) var jit_type_sys_short
: jit_type_t
; libraryLibJITVar
;
60 (*const*) var jit_type_sys_ushort
: jit_type_t
; libraryLibJITVar
;
61 (*const*) var jit_type_sys_int
: jit_type_t
; libraryLibJITVar
;
62 (*const*) var jit_type_sys_uint
: jit_type_t
; libraryLibJITVar
;
63 (*const*) var jit_type_sys_long
: jit_type_t
; libraryLibJITVar
;
64 (*const*) var jit_type_sys_ulong
: jit_type_t
; libraryLibJITVar
;
65 (*const*) var jit_type_sys_longlong
: jit_type_t
; libraryLibJITVar
;
66 (*const*) var jit_type_sys_ulonglong
: jit_type_t
; libraryLibJITVar
;
67 (*const*) var jit_type_sys_float
: jit_type_t
; libraryLibJITVar
;
68 (*const*) var jit_type_sys_double
: jit_type_t
; libraryLibJITVar
;
69 (*const*) var jit_type_sys_long_double
: jit_type_t
; libraryLibJITVar
;