xref: /PHP-7.2/Zend/zend_vm.h (revision 7a7ec01a)
1 /*
2    +----------------------------------------------------------------------+
3    | Zend Engine                                                          |
4    +----------------------------------------------------------------------+
5    | Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
6    +----------------------------------------------------------------------+
7    | This source file is subject to version 2.00 of the Zend license,     |
8    | that is bundled with this package in the file LICENSE, and is        |
9    | available through the world-wide-web at the following url:           |
10    | http://www.zend.com/license/2_00.txt.                                |
11    | If you did not receive a copy of the Zend license and are unable to  |
12    | obtain it through the world-wide-web, please send a note to          |
13    | license@zend.com so we can mail you a copy immediately.              |
14    +----------------------------------------------------------------------+
15    | Authors: Dmitry Stogov <dmitry@zend.com>                             |
16    +----------------------------------------------------------------------+
17 */
18 
19 /* $Id$ */
20 
21 #ifndef ZEND_VM_H
22 #define ZEND_VM_H
23 
24 BEGIN_EXTERN_C()
25 
26 ZEND_API void zend_vm_use_old_executor(void);
27 ZEND_API void zend_vm_set_opcode_handler(zend_op* opcode);
28 ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* opcode, uint32_t op1_info, uint32_t op2_info, uint32_t res_info);
29 ZEND_API void zend_serialize_opcode_handler(zend_op *op);
30 ZEND_API void zend_deserialize_opcode_handler(zend_op *op);
31 ZEND_API const void *zend_get_opcode_handler_func(const zend_op *op);
32 ZEND_API const zend_op *zend_get_halt_op(void);
33 ZEND_API int zend_vm_call_opcode_handler(zend_execute_data *ex);
34 ZEND_API int zend_vm_kind(void);
35 
36 END_EXTERN_C()
37 
38 #define ZEND_VM_SET_OPCODE_HANDLER(opline) zend_vm_set_opcode_handler(opline)
39 
40 #endif
41 
42 /*
43  * Local variables:
44  * tab-width: 4
45  * c-basic-offset: 4
46  * indent-tabs-mode: t
47  * End:
48  * vim600: sw=4 ts=4 fdm=marker
49  * vim<600: sw=4 ts=4
50  */
51