sljit_sys/
wrapper.rs

1/* automatically generated by rust-bindgen 0.72.0 */
2
3pub type FILE = __BindgenOpaqueArray<u64, 27usize>;
4pub type sljit_u8 = ::core::ffi::c_uchar;
5pub type sljit_s8 = ::core::ffi::c_schar;
6pub type sljit_u16 = ::core::ffi::c_ushort;
7pub type sljit_s16 = ::core::ffi::c_short;
8pub type sljit_u32 = ::core::ffi::c_uint;
9pub type sljit_s32 = ::core::ffi::c_int;
10pub type sljit_uw = ::core::ffi::c_ulong;
11pub type sljit_sw = ::core::ffi::c_long;
12pub type sljit_sp = sljit_sw;
13pub type sljit_up = sljit_uw;
14pub type sljit_f32 = f32;
15pub type sljit_f64 = f64;
16#[doc = r" If Bindgen could only determine the size and alignment of a"]
17#[doc = r" type, it is represented like this."]
18#[derive(PartialEq, Copy, Clone, Debug, Hash)]
19#[repr(C)]
20pub struct __BindgenOpaqueArray<T: Copy, const N: usize>(pub [T; N]);
21#[repr(C)]
22#[derive(Debug, Copy, Clone, Hash, ConstDefault, TypedBuilder)]
23pub struct sljit_memory_fragment {
24    pub next: *mut sljit_memory_fragment,
25    pub used_size: sljit_uw,
26    pub memory: [sljit_u8; 1usize],
27}
28#[repr(C)]
29#[derive(Copy, Clone, TypedBuilder)]
30pub struct sljit_label {
31    pub next: *mut sljit_label,
32    pub u: sljit_label__bindgen_ty_1,
33    pub size: sljit_uw,
34}
35#[repr(C)]
36#[derive(Copy, Clone, TypedBuilder)]
37pub struct sljit_jump {
38    pub next: *mut sljit_jump,
39    pub addr: sljit_uw,
40    pub flags: sljit_uw,
41    pub u: sljit_jump__bindgen_ty_1,
42}
43#[repr(C)]
44#[derive(Debug, Copy, Clone, Hash, ConstDefault, TypedBuilder)]
45pub struct sljit_const {
46    pub next: *mut sljit_const,
47    pub addr: sljit_uw,
48}
49#[repr(C)]
50#[derive(Debug, Copy, Clone, Hash, ConstDefault, TypedBuilder)]
51pub struct sljit_generate_code_buffer {
52    pub buffer: *mut ::core::ffi::c_void,
53    pub size: sljit_uw,
54    pub executable_offset: sljit_sw,
55}
56#[repr(C)]
57#[derive(Copy, Clone, TypedBuilder)]
58pub struct sljit_read_only_buffer {
59    pub next: *mut sljit_read_only_buffer,
60    pub size: sljit_uw,
61    pub u: sljit_read_only_buffer__bindgen_ty_1,
62}
63#[repr(C)]
64#[derive(Debug, Copy, Clone, Hash, ConstDefault, TypedBuilder)]
65pub struct sljit_compiler {
66    pub error: sljit_s32,
67    pub options: sljit_s32,
68    pub labels: *mut sljit_label,
69    pub jumps: *mut sljit_jump,
70    pub consts: *mut sljit_const,
71    pub last_label: *mut sljit_label,
72    pub last_jump: *mut sljit_jump,
73    pub last_const: *mut sljit_const,
74    pub allocator_data: *mut ::core::ffi::c_void,
75    pub user_data: *mut ::core::ffi::c_void,
76    pub buf: *mut sljit_memory_fragment,
77    pub abuf: *mut sljit_memory_fragment,
78    pub label_count: sljit_uw,
79    pub scratches: sljit_s32,
80    pub saveds: sljit_s32,
81    pub fscratches: sljit_s32,
82    pub fsaveds: sljit_s32,
83    pub vscratches: sljit_s32,
84    pub vsaveds: sljit_s32,
85    pub local_size: sljit_s32,
86    pub size: sljit_uw,
87    pub executable_offset: sljit_sw,
88    pub executable_size: sljit_uw,
89    pub mode32: sljit_s32,
90    pub verbose: *mut FILE,
91    pub last_flags: sljit_s32,
92    pub last_return: sljit_s32,
93    pub logical_local_size: sljit_s32,
94    pub real_fscratches: sljit_s32,
95    pub real_fsaveds: sljit_s32,
96    pub skip_checks: sljit_s32,
97}
98#[repr(C)]
99#[derive(Debug, Copy, Clone, Hash, ConstDefault, TypedBuilder)]
100pub struct sljit_stack {
101    pub top: *mut sljit_u8,
102    pub end: *mut sljit_u8,
103    pub start: *mut sljit_u8,
104    pub min_start: *mut sljit_u8,
105}
106pub const SLJIT_CONFIG_AUTO: i32 = 1;
107pub const SLJIT_CONFIG_X86_64: i32 = 1;
108pub const SLJIT_CONFIG_X86: i32 = 1;
109pub const SLJIT_UTIL_STACK: i32 = 1;
110pub const SLJIT_UTIL_SIMPLE_STACK_ALLOCATION: i32 = 0;
111pub const SLJIT_SINGLE_THREADED: i32 = 0;
112pub const SLJIT_STD_MACROS_DEFINED: i32 = 0;
113pub const SLJIT_EXECUTABLE_ALLOCATOR: i32 = 1;
114pub const SLJIT_PROT_EXECUTABLE_ALLOCATOR: i32 = 0;
115pub const SLJIT_WX_EXECUTABLE_ALLOCATOR: i32 = 0;
116pub const SLJIT_ARGUMENT_CHECKS: i32 = 0;
117pub const SLJIT_64BIT_ARCHITECTURE: i32 = 1;
118pub const SLJIT_WORD_SHIFT: i32 = 3;
119pub const SLJIT_POINTER_SHIFT: i32 = 3;
120pub const SLJIT_F32_SHIFT: i32 = 2;
121pub const SLJIT_F64_SHIFT: i32 = 3;
122pub const SLJIT_CONV_RESULT_MAX_INT: i32 = 0;
123pub const SLJIT_CONV_RESULT_MIN_INT: i32 = 1;
124pub const SLJIT_CONV_RESULT_ZERO: i32 = 2;
125pub const SLJIT_CONV_MAX_FLOAT: i32 = 1;
126pub const SLJIT_CONV_MIN_FLOAT: i32 = 1;
127pub const SLJIT_CONV_NAN_FLOAT: i32 = 1;
128pub const SLJIT_LITTLE_ENDIAN: i32 = 1;
129pub const SLJIT_UNALIGNED: i32 = 1;
130pub const SLJIT_FPU_UNALIGNED: i32 = 1;
131pub const SLJIT_RETURN_ADDRESS_OFFSET: i32 = 0;
132pub const SLJIT_NUMBER_OF_REGISTERS: i32 = 13;
133pub const SLJIT_NUMBER_OF_TEMPORARY_REGISTERS: i32 = 2;
134pub const SLJIT_NUMBER_OF_FLOAT_REGISTERS: i32 = 15;
135pub const SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS: i32 = 1;
136pub const SLJIT_NUMBER_OF_SAVED_REGISTERS: i32 = 6;
137pub const SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS: i32 = 0;
138pub const SLJIT_LOCALS_OFFSET_BASE: i32 = 0;
139pub const SLJIT_MASKED_SHIFT: i32 = 1;
140pub const SLJIT_MASKED_SHIFT32: i32 = 1;
141pub const SLJIT_UPPER_BITS_IGNORED: i32 = 1;
142pub const SLJIT_UPPER_BITS_ZERO_EXTENDED: i32 = 1;
143pub const SLJIT_NUMBER_OF_VECTOR_REGISTERS: i32 = 15;
144pub const SLJIT_NUMBER_OF_SAVED_VECTOR_REGISTERS: i32 = 0;
145pub const SLJIT_NUMBER_OF_TEMPORARY_VECTOR_REGISTERS: i32 = 1;
146pub const SLJIT_LOCALS_OFFSET: i32 = 0;
147pub const SLJIT_NUMBER_OF_SCRATCH_REGISTERS: i32 = 7;
148pub const SLJIT_NUMBER_OF_SCRATCH_FLOAT_REGISTERS: i32 = 15;
149pub const SLJIT_NUMBER_OF_SCRATCH_VECTOR_REGISTERS: i32 = 15;
150pub const SLJIT_TMP_REGISTER_BASE: i32 = 15;
151pub const SLJIT_TMP_FREGISTER_BASE: i32 = 16;
152pub const SLJIT_TMP_VREGISTER_BASE: i32 = 16;
153pub const SLJIT_TMP_R0: i32 = 15;
154pub const SLJIT_TMP_R1: i32 = 16;
155pub const SLJIT_TMP_R2: i32 = 17;
156pub const SLJIT_TMP_R3: i32 = 18;
157pub const SLJIT_TMP_R4: i32 = 19;
158pub const SLJIT_TMP_R5: i32 = 20;
159pub const SLJIT_TMP_R6: i32 = 21;
160pub const SLJIT_TMP_R7: i32 = 22;
161pub const SLJIT_TMP_R8: i32 = 23;
162pub const SLJIT_TMP_R9: i32 = 24;
163pub const SLJIT_TMP_FR0: i32 = 16;
164pub const SLJIT_TMP_FR1: i32 = 17;
165pub const SLJIT_TMP_FR2: i32 = 18;
166pub const SLJIT_TMP_FR3: i32 = 19;
167pub const SLJIT_TMP_FR4: i32 = 20;
168pub const SLJIT_TMP_FR5: i32 = 21;
169pub const SLJIT_TMP_FR6: i32 = 22;
170pub const SLJIT_TMP_FR7: i32 = 23;
171pub const SLJIT_TMP_FR8: i32 = 24;
172pub const SLJIT_TMP_FR9: i32 = 25;
173pub const SLJIT_TMP_VR0: i32 = 16;
174pub const SLJIT_TMP_VR1: i32 = 17;
175pub const SLJIT_TMP_VR2: i32 = 18;
176pub const SLJIT_TMP_VR3: i32 = 19;
177pub const SLJIT_TMP_VR4: i32 = 20;
178pub const SLJIT_TMP_VR5: i32 = 21;
179pub const SLJIT_TMP_VR6: i32 = 22;
180pub const SLJIT_TMP_VR7: i32 = 23;
181pub const SLJIT_TMP_VR8: i32 = 24;
182pub const SLJIT_TMP_VR9: i32 = 25;
183pub const SLJIT_MAJOR_VERSION: i32 = 0;
184pub const SLJIT_MINOR_VERSION: i32 = 95;
185pub const SLJIT_SUCCESS: i32 = 0;
186pub const SLJIT_ERR_COMPILED: i32 = 1;
187pub const SLJIT_ERR_ALLOC_FAILED: i32 = 2;
188pub const SLJIT_ERR_EX_ALLOC_FAILED: i32 = 3;
189pub const SLJIT_ERR_UNSUPPORTED: i32 = 4;
190pub const SLJIT_ERR_BAD_ARGUMENT: i32 = 5;
191pub const SLJIT_R0: i32 = 1;
192pub const SLJIT_R1: i32 = 2;
193pub const SLJIT_R2: i32 = 3;
194pub const SLJIT_R3: i32 = 4;
195pub const SLJIT_R4: i32 = 5;
196pub const SLJIT_R5: i32 = 6;
197pub const SLJIT_R6: i32 = 7;
198pub const SLJIT_R7: i32 = 8;
199pub const SLJIT_R8: i32 = 9;
200pub const SLJIT_R9: i32 = 10;
201pub const SLJIT_S0: i32 = 13;
202pub const SLJIT_S1: i32 = 12;
203pub const SLJIT_S2: i32 = 11;
204pub const SLJIT_S3: i32 = 10;
205pub const SLJIT_S4: i32 = 9;
206pub const SLJIT_S5: i32 = 8;
207pub const SLJIT_S6: i32 = 7;
208pub const SLJIT_S7: i32 = 6;
209pub const SLJIT_S8: i32 = 5;
210pub const SLJIT_S9: i32 = 4;
211pub const SLJIT_FIRST_SAVED_REG: i32 = 8;
212pub const SLJIT_SP: i32 = 14;
213pub const SLJIT_RETURN_REG: i32 = 1;
214pub const SLJIT_FR0: i32 = 1;
215pub const SLJIT_FR1: i32 = 2;
216pub const SLJIT_FR2: i32 = 3;
217pub const SLJIT_FR3: i32 = 4;
218pub const SLJIT_FR4: i32 = 5;
219pub const SLJIT_FR5: i32 = 6;
220pub const SLJIT_FR6: i32 = 7;
221pub const SLJIT_FR7: i32 = 8;
222pub const SLJIT_FR8: i32 = 9;
223pub const SLJIT_FR9: i32 = 10;
224pub const SLJIT_FS0: i32 = 15;
225pub const SLJIT_FS1: i32 = 14;
226pub const SLJIT_FS2: i32 = 13;
227pub const SLJIT_FS3: i32 = 12;
228pub const SLJIT_FS4: i32 = 11;
229pub const SLJIT_FS5: i32 = 10;
230pub const SLJIT_FS6: i32 = 9;
231pub const SLJIT_FS7: i32 = 8;
232pub const SLJIT_FS8: i32 = 7;
233pub const SLJIT_FS9: i32 = 6;
234pub const SLJIT_FIRST_SAVED_FLOAT_REG: i32 = 16;
235pub const SLJIT_RETURN_FREG: i32 = 1;
236pub const SLJIT_VR0: i32 = 1;
237pub const SLJIT_VR1: i32 = 2;
238pub const SLJIT_VR2: i32 = 3;
239pub const SLJIT_VR3: i32 = 4;
240pub const SLJIT_VR4: i32 = 5;
241pub const SLJIT_VR5: i32 = 6;
242pub const SLJIT_VR6: i32 = 7;
243pub const SLJIT_VR7: i32 = 8;
244pub const SLJIT_VR8: i32 = 9;
245pub const SLJIT_VR9: i32 = 10;
246pub const SLJIT_VS0: i32 = 15;
247pub const SLJIT_VS1: i32 = 14;
248pub const SLJIT_VS2: i32 = 13;
249pub const SLJIT_VS3: i32 = 12;
250pub const SLJIT_VS4: i32 = 11;
251pub const SLJIT_VS5: i32 = 10;
252pub const SLJIT_VS6: i32 = 9;
253pub const SLJIT_VS7: i32 = 8;
254pub const SLJIT_VS8: i32 = 7;
255pub const SLJIT_VS9: i32 = 6;
256pub const SLJIT_FIRST_SAVED_VECTOR_REG: i32 = 16;
257pub const SLJIT_ARG_TYPE_SCRATCH_REG: i32 = 8;
258pub const SLJIT_ARG_TYPE_RET_VOID: i32 = 0;
259pub const SLJIT_ARG_TYPE_W: i32 = 1;
260pub const SLJIT_ARG_TYPE_W_R: i32 = 9;
261pub const SLJIT_ARG_TYPE_32: i32 = 2;
262pub const SLJIT_ARG_TYPE_32_R: i32 = 10;
263pub const SLJIT_ARG_TYPE_P: i32 = 3;
264pub const SLJIT_ARG_TYPE_P_R: i32 = 11;
265pub const SLJIT_ARG_TYPE_F64: i32 = 4;
266pub const SLJIT_ARG_TYPE_F32: i32 = 5;
267pub const SLJIT_ARG_SHIFT: i32 = 4;
268pub const SLJIT_GENERATE_CODE_BUFFER: i32 = 1;
269pub const SLJIT_GENERATE_CODE_NO_CONTEXT: i32 = 2;
270pub const SLJIT_HAS_FPU: i32 = 0;
271pub const SLJIT_HAS_VIRTUAL_REGISTERS: i32 = 1;
272pub const SLJIT_HAS_ZERO_REGISTER: i32 = 2;
273pub const SLJIT_HAS_CLZ: i32 = 3;
274pub const SLJIT_HAS_CTZ: i32 = 4;
275pub const SLJIT_HAS_REV: i32 = 5;
276pub const SLJIT_HAS_ROT: i32 = 6;
277pub const SLJIT_HAS_CMOV: i32 = 7;
278pub const SLJIT_HAS_PREFETCH: i32 = 8;
279pub const SLJIT_HAS_COPY_F32: i32 = 9;
280pub const SLJIT_HAS_COPY_F64: i32 = 10;
281pub const SLJIT_HAS_F64_AS_F32_PAIR: i32 = 11;
282pub const SLJIT_HAS_SIMD: i32 = 12;
283pub const SLJIT_SIMD_REGS_ARE_PAIRS: i32 = 13;
284pub const SLJIT_HAS_ATOMIC: i32 = 14;
285pub const SLJIT_HAS_MEMORY_BARRIER: i32 = 15;
286pub const SLJIT_HAS_AVX: i32 = 100;
287pub const SLJIT_HAS_AVX2: i32 = 101;
288pub const SLJIT_ENTER_REG_ARG: i32 = 4;
289pub const SLJIT_ENTER_USE_VEX: i32 = 65536;
290pub const SLJIT_MAX_LOCAL_SIZE: i32 = 1048576;
291pub const SLJIT_MEM: i32 = 128;
292pub const SLJIT_IMM: i32 = 127;
293pub const SLJIT_32: i32 = 256;
294pub const SLJIT_SET_Z: i32 = 512;
295pub const SLJIT_OP0_BASE: i32 = 0;
296pub const SLJIT_BREAKPOINT: i32 = 0;
297pub const SLJIT_NOP: i32 = 1;
298pub const SLJIT_LMUL_UW: i32 = 2;
299pub const SLJIT_LMUL_SW: i32 = 3;
300pub const SLJIT_DIVMOD_UW: i32 = 4;
301pub const SLJIT_DIVMOD_U32: i32 = 260;
302pub const SLJIT_DIVMOD_SW: i32 = 5;
303pub const SLJIT_DIVMOD_S32: i32 = 261;
304pub const SLJIT_DIV_UW: i32 = 6;
305pub const SLJIT_DIV_U32: i32 = 262;
306pub const SLJIT_DIV_SW: i32 = 7;
307pub const SLJIT_DIV_S32: i32 = 263;
308pub const SLJIT_MEMORY_BARRIER: i32 = 8;
309pub const SLJIT_ENDBR: i32 = 9;
310pub const SLJIT_SKIP_FRAMES_BEFORE_RETURN: i32 = 10;
311pub const SLJIT_OP1_BASE: i32 = 32;
312pub const SLJIT_MOV: i32 = 32;
313pub const SLJIT_MOV_U8: i32 = 33;
314pub const SLJIT_MOV32_U8: i32 = 289;
315pub const SLJIT_MOV_S8: i32 = 34;
316pub const SLJIT_MOV32_S8: i32 = 290;
317pub const SLJIT_MOV_U16: i32 = 35;
318pub const SLJIT_MOV32_U16: i32 = 291;
319pub const SLJIT_MOV_S16: i32 = 36;
320pub const SLJIT_MOV32_S16: i32 = 292;
321pub const SLJIT_MOV_U32: i32 = 37;
322pub const SLJIT_MOV_S32: i32 = 38;
323pub const SLJIT_MOV32: i32 = 39;
324pub const SLJIT_MOV_P: i32 = 40;
325pub const SLJIT_CLZ: i32 = 41;
326pub const SLJIT_CLZ32: i32 = 297;
327pub const SLJIT_CTZ: i32 = 42;
328pub const SLJIT_CTZ32: i32 = 298;
329pub const SLJIT_REV: i32 = 43;
330pub const SLJIT_REV32: i32 = 299;
331pub const SLJIT_REV_U16: i32 = 44;
332pub const SLJIT_REV32_U16: i32 = 300;
333pub const SLJIT_REV_S16: i32 = 45;
334pub const SLJIT_REV32_S16: i32 = 301;
335pub const SLJIT_REV_U32: i32 = 46;
336pub const SLJIT_REV_S32: i32 = 47;
337pub const SLJIT_OP2_BASE: i32 = 64;
338pub const SLJIT_ADD: i32 = 64;
339pub const SLJIT_ADD32: i32 = 320;
340pub const SLJIT_ADDC: i32 = 65;
341pub const SLJIT_ADDC32: i32 = 321;
342pub const SLJIT_SUB: i32 = 66;
343pub const SLJIT_SUB32: i32 = 322;
344pub const SLJIT_SUBC: i32 = 67;
345pub const SLJIT_SUBC32: i32 = 323;
346pub const SLJIT_MUL: i32 = 68;
347pub const SLJIT_MUL32: i32 = 324;
348pub const SLJIT_AND: i32 = 69;
349pub const SLJIT_AND32: i32 = 325;
350pub const SLJIT_OR: i32 = 70;
351pub const SLJIT_OR32: i32 = 326;
352pub const SLJIT_XOR: i32 = 71;
353pub const SLJIT_XOR32: i32 = 327;
354pub const SLJIT_SHL: i32 = 72;
355pub const SLJIT_SHL32: i32 = 328;
356pub const SLJIT_MSHL: i32 = 73;
357pub const SLJIT_MSHL32: i32 = 329;
358pub const SLJIT_LSHR: i32 = 74;
359pub const SLJIT_LSHR32: i32 = 330;
360pub const SLJIT_MLSHR: i32 = 75;
361pub const SLJIT_MLSHR32: i32 = 331;
362pub const SLJIT_ASHR: i32 = 76;
363pub const SLJIT_ASHR32: i32 = 332;
364pub const SLJIT_MASHR: i32 = 77;
365pub const SLJIT_MASHR32: i32 = 333;
366pub const SLJIT_ROTL: i32 = 78;
367pub const SLJIT_ROTL32: i32 = 334;
368pub const SLJIT_ROTR: i32 = 79;
369pub const SLJIT_ROTR32: i32 = 335;
370pub const SLJIT_OP2R_BASE: i32 = 96;
371pub const SLJIT_MULADD: i32 = 96;
372pub const SLJIT_MULADD32: i32 = 352;
373pub const SLJIT_SHIFT_INTO_NON_ZERO: i32 = 512;
374pub const SLJIT_OP_SRC_DST_BASE: i32 = 112;
375pub const SLJIT_FAST_RETURN: i32 = 112;
376pub const SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: i32 = 113;
377pub const SLJIT_PREFETCH_L1: i32 = 114;
378pub const SLJIT_PREFETCH_L2: i32 = 115;
379pub const SLJIT_PREFETCH_L3: i32 = 116;
380pub const SLJIT_PREFETCH_ONCE: i32 = 117;
381pub const SLJIT_FAST_ENTER: i32 = 118;
382pub const SLJIT_GET_RETURN_ADDRESS: i32 = 119;
383pub const SLJIT_FOP1_BASE: i32 = 144;
384pub const SLJIT_MOV_F64: i32 = 144;
385pub const SLJIT_MOV_F32: i32 = 400;
386pub const SLJIT_CONV_F64_FROM_F32: i32 = 145;
387pub const SLJIT_CONV_F32_FROM_F64: i32 = 401;
388pub const SLJIT_CONV_SW_FROM_F64: i32 = 146;
389pub const SLJIT_CONV_SW_FROM_F32: i32 = 402;
390pub const SLJIT_CONV_S32_FROM_F64: i32 = 147;
391pub const SLJIT_CONV_S32_FROM_F32: i32 = 403;
392pub const SLJIT_CONV_F64_FROM_SW: i32 = 148;
393pub const SLJIT_CONV_F32_FROM_SW: i32 = 404;
394pub const SLJIT_CONV_F64_FROM_S32: i32 = 149;
395pub const SLJIT_CONV_F32_FROM_S32: i32 = 405;
396pub const SLJIT_CONV_F64_FROM_UW: i32 = 150;
397pub const SLJIT_CONV_F32_FROM_UW: i32 = 406;
398pub const SLJIT_CONV_F64_FROM_U32: i32 = 151;
399pub const SLJIT_CONV_F32_FROM_U32: i32 = 407;
400pub const SLJIT_CMP_F64: i32 = 152;
401pub const SLJIT_CMP_F32: i32 = 408;
402pub const SLJIT_NEG_F64: i32 = 153;
403pub const SLJIT_NEG_F32: i32 = 409;
404pub const SLJIT_ABS_F64: i32 = 154;
405pub const SLJIT_ABS_F32: i32 = 410;
406pub const SLJIT_FOP2_BASE: i32 = 176;
407pub const SLJIT_ADD_F64: i32 = 176;
408pub const SLJIT_ADD_F32: i32 = 432;
409pub const SLJIT_SUB_F64: i32 = 177;
410pub const SLJIT_SUB_F32: i32 = 433;
411pub const SLJIT_MUL_F64: i32 = 178;
412pub const SLJIT_MUL_F32: i32 = 434;
413pub const SLJIT_DIV_F64: i32 = 179;
414pub const SLJIT_DIV_F32: i32 = 435;
415pub const SLJIT_FOP2R_BASE: i32 = 192;
416pub const SLJIT_COPYSIGN_F64: i32 = 192;
417pub const SLJIT_COPYSIGN_F32: i32 = 448;
418pub const SLJIT_COPY_TO_F64: i32 = 1;
419pub const SLJIT_COPY32_TO_F32: i32 = 257;
420pub const SLJIT_COPY_FROM_F64: i32 = 2;
421pub const SLJIT_COPY32_FROM_F32: i32 = 258;
422pub const SLJIT_LABEL_ALIGN_1: i32 = 0;
423pub const SLJIT_LABEL_ALIGN_2: i32 = 1;
424pub const SLJIT_LABEL_ALIGN_4: i32 = 2;
425pub const SLJIT_LABEL_ALIGN_8: i32 = 3;
426pub const SLJIT_LABEL_ALIGN_16: i32 = 4;
427pub const SLJIT_LABEL_ALIGN_W: i32 = 3;
428pub const SLJIT_LABEL_ALIGN_P: i32 = 3;
429pub const SLJIT_EQUAL: i32 = 0;
430pub const SLJIT_ZERO: i32 = 0;
431pub const SLJIT_NOT_EQUAL: i32 = 1;
432pub const SLJIT_NOT_ZERO: i32 = 1;
433pub const SLJIT_LESS: i32 = 2;
434pub const SLJIT_GREATER_EQUAL: i32 = 3;
435pub const SLJIT_GREATER: i32 = 4;
436pub const SLJIT_LESS_EQUAL: i32 = 5;
437pub const SLJIT_SIG_LESS: i32 = 6;
438pub const SLJIT_SIG_GREATER_EQUAL: i32 = 7;
439pub const SLJIT_SIG_GREATER: i32 = 8;
440pub const SLJIT_SIG_LESS_EQUAL: i32 = 9;
441pub const SLJIT_OVERFLOW: i32 = 10;
442pub const SLJIT_NOT_OVERFLOW: i32 = 11;
443pub const SLJIT_CARRY: i32 = 12;
444pub const SLJIT_NOT_CARRY: i32 = 13;
445pub const SLJIT_ATOMIC_STORED: i32 = 14;
446pub const SLJIT_ATOMIC_NOT_STORED: i32 = 15;
447pub const SLJIT_F_EQUAL: i32 = 16;
448pub const SLJIT_F_NOT_EQUAL: i32 = 17;
449pub const SLJIT_F_LESS: i32 = 18;
450pub const SLJIT_F_GREATER_EQUAL: i32 = 19;
451pub const SLJIT_F_GREATER: i32 = 20;
452pub const SLJIT_F_LESS_EQUAL: i32 = 21;
453pub const SLJIT_UNORDERED: i32 = 22;
454pub const SLJIT_ORDERED: i32 = 23;
455pub const SLJIT_ORDERED_EQUAL: i32 = 24;
456pub const SLJIT_UNORDERED_OR_NOT_EQUAL: i32 = 25;
457pub const SLJIT_ORDERED_LESS: i32 = 26;
458pub const SLJIT_UNORDERED_OR_GREATER_EQUAL: i32 = 27;
459pub const SLJIT_ORDERED_GREATER: i32 = 28;
460pub const SLJIT_UNORDERED_OR_LESS_EQUAL: i32 = 29;
461pub const SLJIT_UNORDERED_OR_EQUAL: i32 = 30;
462pub const SLJIT_ORDERED_NOT_EQUAL: i32 = 31;
463pub const SLJIT_UNORDERED_OR_LESS: i32 = 32;
464pub const SLJIT_ORDERED_GREATER_EQUAL: i32 = 33;
465pub const SLJIT_UNORDERED_OR_GREATER: i32 = 34;
466pub const SLJIT_ORDERED_LESS_EQUAL: i32 = 35;
467pub const SLJIT_JUMP: i32 = 36;
468pub const SLJIT_FAST_CALL: i32 = 37;
469pub const SLJIT_CALL: i32 = 38;
470pub const SLJIT_CALL_REG_ARG: i32 = 39;
471pub const SLJIT_REWRITABLE_JUMP: i32 = 65536;
472pub const SLJIT_CALL_RETURN: i32 = 131072;
473pub const SLJIT_JUMP_IF_NON_ZERO: i32 = 0;
474pub const SLJIT_JUMP_IF_ZERO: i32 = 512;
475pub const SLJIT_MEM_LOAD: i32 = 0;
476pub const SLJIT_MEM_STORE: i32 = 512;
477pub const SLJIT_MEM_UNALIGNED: i32 = 1024;
478pub const SLJIT_MEM_ALIGNED_16: i32 = 2048;
479pub const SLJIT_MEM_ALIGNED_32: i32 = 4096;
480pub const SLJIT_MEM_PRE: i32 = 0;
481pub const SLJIT_MEM_POST: i32 = 1024;
482pub const SLJIT_MEM_SUPP: i32 = 2048;
483pub const SLJIT_SIMD_LOAD: i32 = 0;
484pub const SLJIT_SIMD_STORE: i32 = 1;
485pub const SLJIT_SIMD_FLOAT: i32 = 1024;
486pub const SLJIT_SIMD_TEST: i32 = 2048;
487pub const SLJIT_SIMD_REG_64: i32 = 12288;
488pub const SLJIT_SIMD_REG_128: i32 = 16384;
489pub const SLJIT_SIMD_REG_256: i32 = 20480;
490pub const SLJIT_SIMD_REG_512: i32 = 24576;
491pub const SLJIT_SIMD_ELEM_8: i32 = 0;
492pub const SLJIT_SIMD_ELEM_16: i32 = 262144;
493pub const SLJIT_SIMD_ELEM_32: i32 = 524288;
494pub const SLJIT_SIMD_ELEM_64: i32 = 786432;
495pub const SLJIT_SIMD_ELEM_128: i32 = 1048576;
496pub const SLJIT_SIMD_ELEM_256: i32 = 1310720;
497pub const SLJIT_SIMD_MEM_UNALIGNED: i32 = 0;
498pub const SLJIT_SIMD_MEM_ALIGNED_16: i32 = 16777216;
499pub const SLJIT_SIMD_MEM_ALIGNED_32: i32 = 33554432;
500pub const SLJIT_SIMD_MEM_ALIGNED_64: i32 = 50331648;
501pub const SLJIT_SIMD_MEM_ALIGNED_128: i32 = 67108864;
502pub const SLJIT_SIMD_MEM_ALIGNED_256: i32 = 83886080;
503pub const SLJIT_SIMD_MEM_ALIGNED_512: i32 = 100663296;
504pub const SLJIT_SIMD_LANE_ZERO: i32 = 2;
505pub const SLJIT_SIMD_LANE_SIGNED: i32 = 4;
506pub const SLJIT_SIMD_EXTEND_SIGNED: i32 = 2;
507pub const SLJIT_SIMD_EXTEND_16: i32 = 16777216;
508pub const SLJIT_SIMD_EXTEND_32: i32 = 33554432;
509pub const SLJIT_SIMD_EXTEND_64: i32 = 50331648;
510pub const SLJIT_SIMD_OP2_AND: i32 = 1;
511pub const SLJIT_SIMD_OP2_OR: i32 = 2;
512pub const SLJIT_SIMD_OP2_XOR: i32 = 3;
513pub const SLJIT_SIMD_OP2_SHUFFLE: i32 = 4;
514pub const SLJIT_ATOMIC_TEST: i32 = 65536;
515pub const SLJIT_ATOMIC_USE_CAS: i32 = 131072;
516pub const SLJIT_ATOMIC_USE_LS: i32 = 262144;
517pub const SLJIT_MOV_ADDR: i32 = 0;
518pub const SLJIT_MOV_ABS_ADDR: i32 = 1;
519pub const SLJIT_ADD_ABS_ADDR: i32 = 2;
520pub const SLJIT_GP_REGISTER: i32 = 0;
521pub const SLJIT_FLOAT_REGISTER: i32 = 1;
522pub const SLJIT_CURRENT_FLAGS_32: i32 = 256;
523pub const SLJIT_CURRENT_FLAGS_ADD: i32 = 1;
524pub const SLJIT_CURRENT_FLAGS_SUB: i32 = 2;
525pub const SLJIT_CURRENT_FLAGS_COMPARE: i32 = 4;
526pub const SLJIT_CURRENT_FLAGS_OP2CMPZ: i32 = 8;
527pub const SLJIT_SERIALIZE_IGNORE_DEBUG: i32 = 1;
528#[repr(C)]
529#[derive(Copy, Clone)]
530pub union sljit_label__bindgen_ty_1 {
531    pub index: sljit_uw,
532    pub addr: sljit_uw,
533}
534#[repr(C)]
535#[derive(Copy, Clone)]
536pub union sljit_jump__bindgen_ty_1 {
537    pub target: sljit_uw,
538    pub label: *mut sljit_label,
539}
540#[repr(C)]
541#[derive(Copy, Clone)]
542pub union sljit_read_only_buffer__bindgen_ty_1 {
543    pub label: *mut sljit_label,
544    pub addr: sljit_uw,
545}
546impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray<T, N> {
547    fn default() -> Self {
548        Self([<T as Default>::default(); N])
549    }
550}
551unsafe extern "C" {
552    pub fn sljit_malloc_exec(size: sljit_uw) -> *mut ::core::ffi::c_void;
553    pub fn sljit_free_exec(ptr: *mut ::core::ffi::c_void);
554    pub fn sljit_create_compiler(allocator_data: *mut ::core::ffi::c_void) -> *mut sljit_compiler;
555    pub fn sljit_free_compiler(compiler: *mut sljit_compiler);
556    #[link_name = "sljit_get_compiler_error__extern"]
557    pub fn sljit_get_compiler_error(compiler: *mut sljit_compiler) -> sljit_s32;
558    pub fn sljit_set_compiler_memory_error(compiler: *mut sljit_compiler);
559    pub fn sljit_alloc_memory(
560        compiler: *mut sljit_compiler,
561        size: sljit_s32,
562    ) -> *mut ::core::ffi::c_void;
563    #[link_name = "sljit_compiler_get_allocator_data__extern"]
564    pub fn sljit_compiler_get_allocator_data(
565        compiler: *mut sljit_compiler,
566    ) -> *mut ::core::ffi::c_void;
567    #[link_name = "sljit_compiler_set_user_data__extern"]
568    pub fn sljit_compiler_set_user_data(
569        compiler: *mut sljit_compiler,
570        user_data: *mut ::core::ffi::c_void,
571    );
572    #[link_name = "sljit_compiler_get_user_data__extern"]
573    pub fn sljit_compiler_get_user_data(compiler: *mut sljit_compiler) -> *mut ::core::ffi::c_void;
574    pub fn sljit_compiler_verbose(compiler: *mut sljit_compiler, verbose: *mut FILE);
575    pub fn sljit_generate_code(
576        compiler: *mut sljit_compiler,
577        options: sljit_s32,
578        exec_allocator_data: *mut ::core::ffi::c_void,
579    ) -> *mut ::core::ffi::c_void;
580    pub fn sljit_free_code(
581        code: *mut ::core::ffi::c_void,
582        exec_allocator_data: *mut ::core::ffi::c_void,
583    );
584    #[link_name = "sljit_get_executable_offset__extern"]
585    pub fn sljit_get_executable_offset(compiler: *mut sljit_compiler) -> sljit_sw;
586    #[link_name = "sljit_get_generated_code_size__extern"]
587    pub fn sljit_get_generated_code_size(compiler: *mut sljit_compiler) -> sljit_uw;
588    pub fn sljit_has_cpu_feature(feature_type: sljit_s32) -> sljit_s32;
589    pub fn sljit_cmp_info(type_: sljit_s32) -> sljit_s32;
590    pub fn sljit_emit_enter(
591        compiler: *mut sljit_compiler,
592        options: sljit_s32,
593        arg_types: sljit_s32,
594        scratches: sljit_s32,
595        saveds: sljit_s32,
596        local_size: sljit_s32,
597    ) -> sljit_s32;
598    pub fn sljit_set_context(
599        compiler: *mut sljit_compiler,
600        options: sljit_s32,
601        arg_types: sljit_s32,
602        scratches: sljit_s32,
603        saveds: sljit_s32,
604        local_size: sljit_s32,
605    ) -> sljit_s32;
606    pub fn sljit_emit_return_void(compiler: *mut sljit_compiler) -> sljit_s32;
607    pub fn sljit_emit_return(
608        compiler: *mut sljit_compiler,
609        op: sljit_s32,
610        src: sljit_s32,
611        srcw: sljit_sw,
612    ) -> sljit_s32;
613    pub fn sljit_emit_return_to(
614        compiler: *mut sljit_compiler,
615        src: sljit_s32,
616        srcw: sljit_sw,
617    ) -> sljit_s32;
618    pub fn sljit_emit_op0(compiler: *mut sljit_compiler, op: sljit_s32) -> sljit_s32;
619    pub fn sljit_emit_op1(
620        compiler: *mut sljit_compiler,
621        op: sljit_s32,
622        dst: sljit_s32,
623        dstw: sljit_sw,
624        src: sljit_s32,
625        srcw: sljit_sw,
626    ) -> sljit_s32;
627    pub fn sljit_emit_op2(
628        compiler: *mut sljit_compiler,
629        op: sljit_s32,
630        dst: sljit_s32,
631        dstw: sljit_sw,
632        src1: sljit_s32,
633        src1w: sljit_sw,
634        src2: sljit_s32,
635        src2w: sljit_sw,
636    ) -> sljit_s32;
637    pub fn sljit_emit_op2u(
638        compiler: *mut sljit_compiler,
639        op: sljit_s32,
640        src1: sljit_s32,
641        src1w: sljit_sw,
642        src2: sljit_s32,
643        src2w: sljit_sw,
644    ) -> sljit_s32;
645    pub fn sljit_emit_op2r(
646        compiler: *mut sljit_compiler,
647        op: sljit_s32,
648        dst_reg: sljit_s32,
649        src1: sljit_s32,
650        src1w: sljit_sw,
651        src2: sljit_s32,
652        src2w: sljit_sw,
653    ) -> sljit_s32;
654    pub fn sljit_emit_shift_into(
655        compiler: *mut sljit_compiler,
656        op: sljit_s32,
657        dst_reg: sljit_s32,
658        src1_reg: sljit_s32,
659        src2_reg: sljit_s32,
660        src3: sljit_s32,
661        src3w: sljit_sw,
662    ) -> sljit_s32;
663    pub fn sljit_emit_op_src(
664        compiler: *mut sljit_compiler,
665        op: sljit_s32,
666        src: sljit_s32,
667        srcw: sljit_sw,
668    ) -> sljit_s32;
669    pub fn sljit_emit_op_dst(
670        compiler: *mut sljit_compiler,
671        op: sljit_s32,
672        dst: sljit_s32,
673        dstw: sljit_sw,
674    ) -> sljit_s32;
675    pub fn sljit_emit_fop1(
676        compiler: *mut sljit_compiler,
677        op: sljit_s32,
678        dst: sljit_s32,
679        dstw: sljit_sw,
680        src: sljit_s32,
681        srcw: sljit_sw,
682    ) -> sljit_s32;
683    pub fn sljit_emit_fop2(
684        compiler: *mut sljit_compiler,
685        op: sljit_s32,
686        dst: sljit_s32,
687        dstw: sljit_sw,
688        src1: sljit_s32,
689        src1w: sljit_sw,
690        src2: sljit_s32,
691        src2w: sljit_sw,
692    ) -> sljit_s32;
693    pub fn sljit_emit_fop2r(
694        compiler: *mut sljit_compiler,
695        op: sljit_s32,
696        dst_freg: sljit_s32,
697        src1: sljit_s32,
698        src1w: sljit_sw,
699        src2: sljit_s32,
700        src2w: sljit_sw,
701    ) -> sljit_s32;
702    pub fn sljit_emit_fset32(
703        compiler: *mut sljit_compiler,
704        freg: sljit_s32,
705        value: sljit_f32,
706    ) -> sljit_s32;
707    pub fn sljit_emit_fset64(
708        compiler: *mut sljit_compiler,
709        freg: sljit_s32,
710        value: sljit_f64,
711    ) -> sljit_s32;
712    pub fn sljit_emit_fcopy(
713        compiler: *mut sljit_compiler,
714        op: sljit_s32,
715        freg: sljit_s32,
716        reg: sljit_s32,
717    ) -> sljit_s32;
718    pub fn sljit_emit_label(compiler: *mut sljit_compiler) -> *mut sljit_label;
719    pub fn sljit_emit_aligned_label(
720        compiler: *mut sljit_compiler,
721        alignment: sljit_s32,
722        buffers: *mut sljit_read_only_buffer,
723    ) -> *mut sljit_label;
724    pub fn sljit_emit_jump(compiler: *mut sljit_compiler, type_: sljit_s32) -> *mut sljit_jump;
725    pub fn sljit_emit_call(
726        compiler: *mut sljit_compiler,
727        type_: sljit_s32,
728        arg_types: sljit_s32,
729    ) -> *mut sljit_jump;
730    pub fn sljit_emit_cmp(
731        compiler: *mut sljit_compiler,
732        type_: sljit_s32,
733        src1: sljit_s32,
734        src1w: sljit_sw,
735        src2: sljit_s32,
736        src2w: sljit_sw,
737    ) -> *mut sljit_jump;
738    pub fn sljit_emit_fcmp(
739        compiler: *mut sljit_compiler,
740        type_: sljit_s32,
741        src1: sljit_s32,
742        src1w: sljit_sw,
743        src2: sljit_s32,
744        src2w: sljit_sw,
745    ) -> *mut sljit_jump;
746    pub fn sljit_emit_op2cmpz(
747        compiler: *mut sljit_compiler,
748        op: sljit_s32,
749        dst: sljit_s32,
750        dstw: sljit_sw,
751        src1: sljit_s32,
752        src1w: sljit_sw,
753        src2: sljit_s32,
754        src2w: sljit_sw,
755    ) -> *mut sljit_jump;
756    pub fn sljit_set_label(jump: *mut sljit_jump, label: *mut sljit_label);
757    pub fn sljit_set_target(jump: *mut sljit_jump, target: sljit_uw);
758    pub fn sljit_emit_ijump(
759        compiler: *mut sljit_compiler,
760        type_: sljit_s32,
761        src: sljit_s32,
762        srcw: sljit_sw,
763    ) -> sljit_s32;
764    pub fn sljit_emit_icall(
765        compiler: *mut sljit_compiler,
766        type_: sljit_s32,
767        arg_types: sljit_s32,
768        src: sljit_s32,
769        srcw: sljit_sw,
770    ) -> sljit_s32;
771    pub fn sljit_emit_op_flags(
772        compiler: *mut sljit_compiler,
773        op: sljit_s32,
774        dst: sljit_s32,
775        dstw: sljit_sw,
776        type_: sljit_s32,
777    ) -> sljit_s32;
778    pub fn sljit_emit_select(
779        compiler: *mut sljit_compiler,
780        type_: sljit_s32,
781        dst_reg: sljit_s32,
782        src1: sljit_s32,
783        src1w: sljit_sw,
784        src2_reg: sljit_s32,
785    ) -> sljit_s32;
786    pub fn sljit_emit_fselect(
787        compiler: *mut sljit_compiler,
788        type_: sljit_s32,
789        dst_freg: sljit_s32,
790        src1: sljit_s32,
791        src1w: sljit_sw,
792        src2_freg: sljit_s32,
793    ) -> sljit_s32;
794    pub fn sljit_emit_mem(
795        compiler: *mut sljit_compiler,
796        type_: sljit_s32,
797        reg: sljit_s32,
798        mem: sljit_s32,
799        memw: sljit_sw,
800    ) -> sljit_s32;
801    pub fn sljit_emit_mem_update(
802        compiler: *mut sljit_compiler,
803        type_: sljit_s32,
804        reg: sljit_s32,
805        mem: sljit_s32,
806        memw: sljit_sw,
807    ) -> sljit_s32;
808    pub fn sljit_emit_fmem(
809        compiler: *mut sljit_compiler,
810        type_: sljit_s32,
811        freg: sljit_s32,
812        mem: sljit_s32,
813        memw: sljit_sw,
814    ) -> sljit_s32;
815    pub fn sljit_emit_fmem_update(
816        compiler: *mut sljit_compiler,
817        type_: sljit_s32,
818        freg: sljit_s32,
819        mem: sljit_s32,
820        memw: sljit_sw,
821    ) -> sljit_s32;
822    pub fn sljit_emit_simd_mov(
823        compiler: *mut sljit_compiler,
824        type_: sljit_s32,
825        vreg: sljit_s32,
826        srcdst: sljit_s32,
827        srcdstw: sljit_sw,
828    ) -> sljit_s32;
829    pub fn sljit_emit_simd_replicate(
830        compiler: *mut sljit_compiler,
831        type_: sljit_s32,
832        vreg: sljit_s32,
833        src: sljit_s32,
834        srcw: sljit_sw,
835    ) -> sljit_s32;
836    pub fn sljit_emit_simd_lane_mov(
837        compiler: *mut sljit_compiler,
838        type_: sljit_s32,
839        vreg: sljit_s32,
840        lane_index: sljit_s32,
841        srcdst: sljit_s32,
842        srcdstw: sljit_sw,
843    ) -> sljit_s32;
844    pub fn sljit_emit_simd_lane_replicate(
845        compiler: *mut sljit_compiler,
846        type_: sljit_s32,
847        vreg: sljit_s32,
848        src: sljit_s32,
849        src_lane_index: sljit_s32,
850    ) -> sljit_s32;
851    pub fn sljit_emit_simd_extend(
852        compiler: *mut sljit_compiler,
853        type_: sljit_s32,
854        vreg: sljit_s32,
855        src: sljit_s32,
856        srcw: sljit_sw,
857    ) -> sljit_s32;
858    pub fn sljit_emit_simd_sign(
859        compiler: *mut sljit_compiler,
860        type_: sljit_s32,
861        vreg: sljit_s32,
862        dst: sljit_s32,
863        dstw: sljit_sw,
864    ) -> sljit_s32;
865    pub fn sljit_emit_simd_op2(
866        compiler: *mut sljit_compiler,
867        type_: sljit_s32,
868        dst_vreg: sljit_s32,
869        src1_vreg: sljit_s32,
870        src2: sljit_s32,
871        src2w: sljit_sw,
872    ) -> sljit_s32;
873    pub fn sljit_emit_atomic_load(
874        compiler: *mut sljit_compiler,
875        op: sljit_s32,
876        dst_reg: sljit_s32,
877        mem_reg: sljit_s32,
878    ) -> sljit_s32;
879    pub fn sljit_emit_atomic_store(
880        compiler: *mut sljit_compiler,
881        op: sljit_s32,
882        src_reg: sljit_s32,
883        mem_reg: sljit_s32,
884        temp_reg: sljit_s32,
885    ) -> sljit_s32;
886    pub fn sljit_get_local_base(
887        compiler: *mut sljit_compiler,
888        dst: sljit_s32,
889        dstw: sljit_sw,
890        offset: sljit_sw,
891    ) -> sljit_s32;
892    pub fn sljit_emit_const(
893        compiler: *mut sljit_compiler,
894        op: sljit_s32,
895        dst: sljit_s32,
896        dstw: sljit_sw,
897        init_value: sljit_sw,
898    ) -> *mut sljit_const;
899    pub fn sljit_emit_op_addr(
900        compiler: *mut sljit_compiler,
901        op: sljit_s32,
902        dst: sljit_s32,
903        dstw: sljit_sw,
904    ) -> *mut sljit_jump;
905    #[link_name = "sljit_get_label_addr__extern"]
906    pub fn sljit_get_label_addr(label: *mut sljit_label) -> sljit_uw;
907    #[link_name = "sljit_get_label_abs_addr__extern"]
908    pub fn sljit_get_label_abs_addr(label: *mut sljit_label) -> sljit_uw;
909    #[link_name = "sljit_get_jump_addr__extern"]
910    pub fn sljit_get_jump_addr(jump: *mut sljit_jump) -> sljit_uw;
911    #[link_name = "sljit_get_const_addr__extern"]
912    pub fn sljit_get_const_addr(const_: *mut sljit_const) -> sljit_uw;
913    pub fn sljit_set_jump_addr(addr: sljit_uw, new_target: sljit_uw, executable_offset: sljit_sw);
914    pub fn sljit_set_const(
915        addr: sljit_uw,
916        op: sljit_s32,
917        new_constant: sljit_sw,
918        executable_offset: sljit_sw,
919    );
920    pub fn sljit_read_only_buffer_start_writing(
921        addr: sljit_uw,
922        size: sljit_uw,
923        executable_offset: sljit_sw,
924    ) -> *mut ::core::ffi::c_void;
925    pub fn sljit_read_only_buffer_end_writing(
926        addr: sljit_uw,
927        size: sljit_uw,
928        executable_offset: sljit_sw,
929    );
930    pub fn sljit_get_register_index(type_: sljit_s32, reg: sljit_s32) -> sljit_s32;
931    pub fn sljit_emit_op_custom(
932        compiler: *mut sljit_compiler,
933        instruction: *mut ::core::ffi::c_void,
934        size: sljit_u32,
935    ) -> sljit_s32;
936    pub fn sljit_set_current_flags(compiler: *mut sljit_compiler, current_flags: sljit_s32);
937    #[link_name = "sljit_get_first_label__extern"]
938    pub fn sljit_get_first_label(compiler: *mut sljit_compiler) -> *mut sljit_label;
939    #[link_name = "sljit_get_first_jump__extern"]
940    pub fn sljit_get_first_jump(compiler: *mut sljit_compiler) -> *mut sljit_jump;
941    #[link_name = "sljit_get_first_const__extern"]
942    pub fn sljit_get_first_const(compiler: *mut sljit_compiler) -> *mut sljit_const;
943    #[link_name = "sljit_get_next_label__extern"]
944    pub fn sljit_get_next_label(label: *mut sljit_label) -> *mut sljit_label;
945    #[link_name = "sljit_get_next_jump__extern"]
946    pub fn sljit_get_next_jump(jump: *mut sljit_jump) -> *mut sljit_jump;
947    #[link_name = "sljit_get_next_const__extern"]
948    pub fn sljit_get_next_const(const_: *mut sljit_const) -> *mut sljit_const;
949    pub fn sljit_get_label_index(label: *mut sljit_label) -> sljit_uw;
950    pub fn sljit_jump_has_label(jump: *mut sljit_jump) -> sljit_s32;
951    #[link_name = "sljit_jump_get_label__extern"]
952    pub fn sljit_jump_get_label(jump: *mut sljit_jump) -> *mut sljit_label;
953    pub fn sljit_jump_has_target(jump: *mut sljit_jump) -> sljit_s32;
954    #[link_name = "sljit_jump_get_target__extern"]
955    pub fn sljit_jump_get_target(jump: *mut sljit_jump) -> sljit_uw;
956    pub fn sljit_jump_is_mov_addr(jump: *mut sljit_jump) -> sljit_s32;
957    pub fn sljit_serialize_compiler(
958        compiler: *mut sljit_compiler,
959        options: sljit_s32,
960        size: *mut sljit_uw,
961    ) -> *mut sljit_uw;
962    pub fn sljit_deserialize_compiler(
963        buffer: *mut sljit_uw,
964        size: sljit_uw,
965        options: sljit_s32,
966        allocator_data: *mut ::core::ffi::c_void,
967    ) -> *mut sljit_compiler;
968    pub fn sljit_get_platform_name() -> *const ::core::ffi::c_char;
969    pub fn sljit_allocate_stack(
970        start_size: sljit_uw,
971        max_size: sljit_uw,
972        allocator_data: *mut ::core::ffi::c_void,
973    ) -> *mut sljit_stack;
974    pub fn sljit_free_stack(stack: *mut sljit_stack, allocator_data: *mut ::core::ffi::c_void);
975    pub fn sljit_stack_resize(stack: *mut sljit_stack, new_start: *mut sljit_u8) -> *mut sljit_u8;
976    pub fn sljit_free_unused_memory_exec();
977}