source: trunk/xcache/xc_utils.h @ 1006

Last change on this file since 1006 was 1006, checked in by moo, 21 months ago

fix win32 build

  • Property svn:eol-style set to native
File size: 2.3 KB
RevLine 
[1]1#include "php.h"
[1006]2#include "../xcache.h"
[1]3
4typedef struct {
5    zend_op_array *op_array;
6    HashTable *function_table;
7    HashTable *class_table;
8} xc_compile_result_t;
9
10xc_compile_result_t *xc_compile_result_init(xc_compile_result_t *cr,
11        zend_op_array *op_array,
12        HashTable *function_table,
13        HashTable *class_table);
14void xc_compile_result_free(xc_compile_result_t *cr);
15xc_compile_result_t *xc_compile_result_init_cur(xc_compile_result_t *cr, zend_op_array *op_array TSRMLS_DC);
16/* apply func */
17int xc_apply_function(zend_function *zf, apply_func_t applyer TSRMLS_DC);
18int xc_apply_class(zend_class_entry *ce, apply_func_t applyer TSRMLS_DC);
19int xc_apply_op_array(xc_compile_result_t *cr, apply_func_t applyer TSRMLS_DC);
20
21int xc_undo_pass_two(zend_op_array *op_array TSRMLS_DC);
22int xc_redo_pass_two(zend_op_array *op_array TSRMLS_DC);
23int xc_fix_opcode(zend_op_array *op_array TSRMLS_DC);
24int xc_undo_fix_opcode(zend_op_array *op_array TSRMLS_DC);
25zend_uchar xc_get_fixed_opcode(zend_uchar opcode, int line);
26
[212]27int xc_foreach_early_binding_class(zend_op_array *op_array, void (*callback)(zend_op *opline, int oplineno, void *data TSRMLS_DC), void *data TSRMLS_DC);
28
[1]29/* installer */
[95]30#ifdef HAVE_XCACHE_CONSTANT
[860]31void xc_install_constant(ZEND_24(NOTHING, const) char *filename, zend_constant *constant, zend_uchar type, const24_zstr key, uint len, ulong h TSRMLS_DC);
[95]32#endif
[860]33void xc_install_function(ZEND_24(NOTHING, const) char *filename, zend_function *func, zend_uchar type, const24_zstr key, uint len, ulong h TSRMLS_DC);
34ZESW(xc_cest_t *, void) xc_install_class(ZEND_24(NOTHING, const) char *filename, xc_cest_t *cest, int oplineno, zend_uchar type, const24_zstr key, uint len, ulong h TSRMLS_DC);
[1]35
[669]36#if defined(E_STRICT) || defined(E_DEPRECATED)
37#define XCACHE_ERROR_CACHING
38#endif
39
[640]40typedef zend_bool (*xc_if_func_t)(void *data);
41
42void xc_hash_copy_if(HashTable *target, HashTable *source, copy_ctor_func_t pCopyConstructor, void *tmp, uint size, xc_if_func_t checker);
43#ifdef HAVE_XCACHE_CONSTANT
44void xc_zend_constant_ctor(zend_constant *c);
45void xc_zend_constant_dtor(zend_constant *c);
46void xc_copy_internal_zend_constants(HashTable *target, HashTable *source);
47#endif
[996]48
49#ifndef ZEND_COMPILE_DELAYED_BINDING
50int xc_do_early_binding(zend_op_array *op_array, HashTable *class_table, int oplineno TSRMLS_DC);
51#endif
Note: See TracBrowser for help on using the repository browser.