Alien-LibJIT
view release on metacpan or search on metacpan
libjit/jit/jit-interp-opcodes.ops view on Meta::CPAN
op_def("stl_0_short") { "JIT_OPCODE_NINT_ARG" }
op_def("stl_0_int") { "JIT_OPCODE_NINT_ARG" }
op_def("stl_0_long") { "JIT_OPCODE_NINT_ARG" }
op_def("stl_0_float32") { "JIT_OPCODE_NINT_ARG" }
op_def("stl_0_float64") { "JIT_OPCODE_NINT_ARG" }
op_def("stl_0_nfloat") { "JIT_OPCODE_NINT_ARG" }
/*
* Load constant values.
*/
op_def("ldc_0_int") { "JIT_OPCODE_NINT_ARG" }
op_def("ldc_1_int") { "JIT_OPCODE_NINT_ARG" }
op_def("ldc_2_int") { "JIT_OPCODE_NINT_ARG" }
op_def("ldc_0_long") { "JIT_OPCODE_CONST_LONG" }
op_def("ldc_1_long") { "JIT_OPCODE_CONST_LONG" }
op_def("ldc_2_long") { "JIT_OPCODE_CONST_LONG" }
op_def("ldc_0_float32") { "JIT_OPCODE_CONST_FLOAT32" }
op_def("ldc_1_float32") { "JIT_OPCODE_CONST_FLOAT32" }
op_def("ldc_2_float32") { "JIT_OPCODE_CONST_FLOAT32" }
op_def("ldc_0_float64") { "JIT_OPCODE_CONST_FLOAT64" }
op_def("ldc_1_float64") { "JIT_OPCODE_CONST_FLOAT64" }
op_def("ldc_2_float64") { "JIT_OPCODE_CONST_FLOAT64" }
op_def("ldc_0_nfloat") { "JIT_OPCODE_CONST_NFLOAT" }
op_def("ldc_1_nfloat") { "JIT_OPCODE_CONST_NFLOAT" }
op_def("ldc_2_nfloat") { "JIT_OPCODE_CONST_NFLOAT" }
/*
* Load return value.
*/
op_def("ldr_0_int") { }
op_def("ldr_0_long") { }
op_def("ldr_0_float32") { }
op_def("ldr_0_float64") { }
op_def("ldr_0_nfloat") { }
/*
* Stack management.
*/
op_def("pop") { }
op_def("pop_2") { }
op_def("pop_3") { }
/*
* Nested function call handling.
*/
op_def("import_local") { "JIT_OPCODE_NINT_ARG_TWO" }
op_def("import_arg") { "JIT_OPCODE_NINT_ARG_TWO" }
/*
* Marker opcode for the end of a function.
*/
op_def("end_marker") { }
}
%[
/*
* Opcode version. Should be increased whenever new opcodes
* are added to this list or the public list in "jit-opcode.h".
* This value is written to ELF binaries, to ensure that code
* for one version of libjit is not inadvertantly used in another.
*/
#define JIT_OPCODE_VERSION 0
/*
* Additional opcode definition flags.
*/
#define JIT_OPCODE_INTERP_ARGS_MASK 0x7E000000
#define JIT_OPCODE_NINT_ARG 0x02000000
#define JIT_OPCODE_NINT_ARG_TWO 0x04000000
#define JIT_OPCODE_CONST_LONG 0x06000000
#define JIT_OPCODE_CONST_FLOAT32 0x08000000
#define JIT_OPCODE_CONST_FLOAT64 0x0A000000
#define JIT_OPCODE_CONST_NFLOAT 0x0C000000
#define JIT_OPCODE_CALL_INDIRECT_ARGS 0x0E000000
extern jit_opcode_info_t const _jit_interp_opcodes[JIT_INTERP_OP_NUM_OPCODES];
#ifdef __cplusplus
};
#endif
#endif /* _JIT_INTERP_OPCODE_H */
%]
%{
#endif /* defined(JIT_BACKEND_INTERP) */
%}
( run in 1.219 second using v1.01-cache-2.11-cpan-796a6f069b2 )