|
|
|
@ -719,8 +719,13 @@ static zend_op_array *xc_entry_install(xc_entry_t *xce, zend_file_handle *h TSRM
|
|
|
|
|
} |
|
|
|
|
new_cest_ptrs[i] = |
|
|
|
|
#endif |
|
|
|
|
#ifdef ZEND_COMPILE_DELAYED_BINDING |
|
|
|
|
xc_install_class(xce->name.str.val, &ci->cest, -1, |
|
|
|
|
UNISW(0, ci->type), ci->key, ci->key_size, ci->h TSRMLS_CC); |
|
|
|
|
#else |
|
|
|
|
xc_install_class(xce->name.str.val, &ci->cest, ci->oplineno, |
|
|
|
|
UNISW(0, ci->type), ci->key, ci->key_size, ci->h TSRMLS_CC); |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#ifdef ZEND_ENGINE_2_1 |
|
|
|
@ -1042,6 +1047,7 @@ static int xc_entry_init_key_php_md5(xc_entry_data_php_t *php, xc_entry_t *xce T
|
|
|
|
|
return SUCCESS; |
|
|
|
|
} |
|
|
|
|
/* }}} */ |
|
|
|
|
#ifndef ZEND_COMPILE_DELAYED_BINDING |
|
|
|
|
static void xc_cache_early_binding_class_cb(zend_op *opline, int oplineno, void *data TSRMLS_DC) /* {{{ */ |
|
|
|
|
{ |
|
|
|
|
char *class_name; |
|
|
|
@ -1069,6 +1075,7 @@ static void xc_cache_early_binding_class_cb(zend_op *opline, int oplineno, void
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
/* }}} */ |
|
|
|
|
#endif |
|
|
|
|
static void xc_free_php(xc_entry_data_php_t *php TSRMLS_DC) /* {{{ */ |
|
|
|
|
{ |
|
|
|
|
#define X_FREE(var) do {\ |
|
|
|
@ -1237,6 +1244,7 @@ static zend_op_array *xc_compile_php(xc_entry_data_php_t *php, zend_file_handle
|
|
|
|
|
php->compilererrors = ((xc_sandbox_t *) XG(sandbox))->compilererrors; |
|
|
|
|
php->compilererror_cnt = ((xc_sandbox_t *) XG(sandbox))->compilererror_cnt; |
|
|
|
|
#endif |
|
|
|
|
#ifndef ZEND_COMPILE_DELAYED_BINDING |
|
|
|
|
/* {{{ find inherited classes that should be early-binding */ |
|
|
|
|
php->have_early_binding = 0; |
|
|
|
|
for (i = 0; i < php->classinfo_cnt; i ++) { |
|
|
|
@ -1247,6 +1255,7 @@ static zend_op_array *xc_compile_php(xc_entry_data_php_t *php, zend_file_handle
|
|
|
|
|
xc_foreach_early_binding_class(php->op_array, xc_cache_early_binding_class_cb, (void *) php TSRMLS_CC); |
|
|
|
|
xc_redo_pass_two(php->op_array TSRMLS_CC); |
|
|
|
|
/* }}} */ |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
return op_array; |
|
|
|
|
|
|
|
|
|