|
|
|
@ -347,6 +347,7 @@ int xc_foreach_early_binding_class(zend_op_array *op_array, void (*callback)(zen
|
|
|
|
|
return SUCCESS;
|
|
|
|
|
}
|
|
|
|
|
/* }}} */
|
|
|
|
|
#ifndef ZEND_COMPILE_DELAYED_BINDING
|
|
|
|
|
static int xc_do_early_binding(zend_op_array *op_array, HashTable *class_table, int oplineno TSRMLS_DC) /* {{{ */
|
|
|
|
|
{
|
|
|
|
|
zend_op *opline;
|
|
|
|
@ -431,6 +432,7 @@ static int xc_do_early_binding(zend_op_array *op_array, HashTable *class_table,
|
|
|
|
|
return SUCCESS;
|
|
|
|
|
}
|
|
|
|
|
/* }}} */
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef HAVE_XCACHE_CONSTANT
|
|
|
|
|
void xc_install_constant(char *filename, zend_constant *constant, zend_uchar type, zstr key, uint len, ulong h TSRMLS_DC) /* {{{ */
|
|
|
|
@ -697,12 +699,14 @@ xc_sandbox_t *xc_sandbox_init(xc_sandbox_t *sandbox, char *filename TSRMLS_DC) /
|
|
|
|
|
return sandbox;
|
|
|
|
|
}
|
|
|
|
|
/* }}} */
|
|
|
|
|
#ifndef ZEND_COMPILE_DELAYED_BINDING
|
|
|
|
|
static void xc_early_binding_cb(zend_op *opline, int oplineno, void *data TSRMLS_DC) /* {{{ */
|
|
|
|
|
{
|
|
|
|
|
xc_sandbox_t *sandbox = (xc_sandbox_t *) data;
|
|
|
|
|
xc_do_early_binding(CG(active_op_array), OG(class_table), oplineno TSRMLS_CC);
|
|
|
|
|
}
|
|
|
|
|
/* }}} */
|
|
|
|
|
#endif
|
|
|
|
|
static void xc_sandbox_install(xc_sandbox_t *sandbox, xc_install_action_t install TSRMLS_DC) /* {{{ */
|
|
|
|
|
{
|
|
|
|
|
zend_uint i;
|
|
|
|
|