Lines Matching refs:op_array

458 static void zend_file_cache_serialize_op_array(zend_op_array            *op_array,  argument
463 ZEND_MAP_PTR_INIT(op_array->static_variables_ptr, NULL);
464 ZEND_MAP_PTR_INIT(op_array->run_time_cache, NULL);
467 if (IS_SERIALIZED(op_array->opcodes)) {
468 ZEND_ASSERT(op_array->scope && "Only method op_arrays should be shared");
472 if (op_array->scope) {
473 if (UNEXPECTED(zend_shared_alloc_get_xlat_entry(op_array->opcodes))) {
474 op_array->refcount = (uint32_t*)(intptr_t)-1;
475 SERIALIZE_PTR(op_array->static_variables);
476 SERIALIZE_PTR(op_array->literals);
477 SERIALIZE_PTR(op_array->opcodes);
478 SERIALIZE_PTR(op_array->arg_info);
479 SERIALIZE_PTR(op_array->vars);
480 SERIALIZE_STR(op_array->function_name);
481 SERIALIZE_STR(op_array->filename);
482 SERIALIZE_PTR(op_array->live_range);
483 SERIALIZE_PTR(op_array->scope);
484 SERIALIZE_STR(op_array->doc_comment);
485 SERIALIZE_ATTRIBUTES(op_array->attributes);
486 SERIALIZE_PTR(op_array->try_catch_array);
487 SERIALIZE_PTR(op_array->prototype);
490 zend_shared_alloc_register_xlat_entry(op_array->opcodes, op_array->opcodes);
493 if (op_array->static_variables) {
496 SERIALIZE_PTR(op_array->static_variables);
497 ht = op_array->static_variables;
502 if (op_array->literals) {
505 SERIALIZE_PTR(op_array->literals);
506 p = op_array->literals;
508 end = p + op_array->last_literal;
519 zval *literals = op_array->literals;
523 SERIALIZE_PTR(op_array->opcodes);
524 opline = op_array->opcodes;
526 end = opline + op_array->last;
581 if (op_array->arg_info) {
583 SERIALIZE_PTR(op_array->arg_info);
584 p = op_array->arg_info;
586 end = p + op_array->num_args;
587 if (op_array->fn_flags & ZEND_ACC_HAS_RETURN_TYPE) {
590 if (op_array->fn_flags & ZEND_ACC_VARIADIC) {
602 if (op_array->vars) {
605 SERIALIZE_PTR(op_array->vars);
606 p = op_array->vars;
608 end = p + op_array->last_var;
617 if (op_array->num_dynamic_func_defs) {
619 SERIALIZE_PTR(op_array->dynamic_func_defs);
620 defs = op_array->dynamic_func_defs;
622 for (uint32_t i = 0; i < op_array->num_dynamic_func_defs; i++) {
631 SERIALIZE_STR(op_array->function_name);
632 SERIALIZE_STR(op_array->filename);
633 SERIALIZE_PTR(op_array->live_range);
634 SERIALIZE_PTR(op_array->scope);
635 SERIALIZE_STR(op_array->doc_comment);
636 SERIALIZE_ATTRIBUTES(op_array->attributes);
637 SERIALIZE_PTR(op_array->try_catch_array);
638 SERIALIZE_PTR(op_array->prototype);
652 zend_file_cache_serialize_op_array(&func->op_array, script, info, buf);
1307 static void zend_file_cache_unserialize_op_array(zend_op_array *op_array, argument
1312 if (op_array != &script->script.main_op_array) {
1313 op_array->fn_flags |= ZEND_ACC_IMMUTABLE;
1314 ZEND_MAP_PTR_NEW(op_array->run_time_cache);
1316 ZEND_ASSERT(!(op_array->fn_flags & ZEND_ACC_IMMUTABLE));
1317 ZEND_MAP_PTR_INIT(op_array->run_time_cache, NULL);
1319 if (op_array->static_variables) {
1320 ZEND_MAP_PTR_NEW(op_array->static_variables_ptr);
1323 op_array->fn_flags &= ~ZEND_ACC_IMMUTABLE;
1324 ZEND_MAP_PTR_INIT(op_array->static_variables_ptr, NULL);
1325 ZEND_MAP_PTR_INIT(op_array->run_time_cache, NULL);
1329 if (IS_UNSERIALIZED(op_array->opcodes)) {
1330 ZEND_ASSERT(op_array->scope && "Only method op_arrays should be shared");
1334 if (op_array->refcount) {
1335 op_array->refcount = NULL;
1336 UNSERIALIZE_PTR(op_array->static_variables);
1337 UNSERIALIZE_PTR(op_array->literals);
1338 UNSERIALIZE_PTR(op_array->opcodes);
1339 UNSERIALIZE_PTR(op_array->arg_info);
1340 UNSERIALIZE_PTR(op_array->vars);
1341 UNSERIALIZE_STR(op_array->function_name);
1342 UNSERIALIZE_STR(op_array->filename);
1343 UNSERIALIZE_PTR(op_array->live_range);
1344 UNSERIALIZE_PTR(op_array->scope);
1345 UNSERIALIZE_STR(op_array->doc_comment);
1346 UNSERIALIZE_ATTRIBUTES(op_array->attributes);
1347 UNSERIALIZE_PTR(op_array->try_catch_array);
1348 UNSERIALIZE_PTR(op_array->prototype);
1352 if (op_array->static_variables) {
1355 UNSERIALIZE_PTR(op_array->static_variables);
1356 ht = op_array->static_variables;
1361 if (op_array->literals) {
1364 UNSERIALIZE_PTR(op_array->literals);
1365 p = op_array->literals;
1366 end = p + op_array->last_literal;
1376 UNSERIALIZE_PTR(op_array->opcodes);
1377 opline = op_array->opcodes;
1378 end = opline + op_array->last;
1389 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1);
1392 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op2);
1432 UNSERIALIZE_PTR(op_array->scope);
1434 if (op_array->arg_info) {
1436 UNSERIALIZE_PTR(op_array->arg_info);
1437 p = op_array->arg_info;
1438 end = p + op_array->num_args;
1439 if (op_array->fn_flags & ZEND_ACC_HAS_RETURN_TYPE) {
1442 if (op_array->fn_flags & ZEND_ACC_VARIADIC) {
1449 …zend_file_cache_unserialize_type(&p->type, (op_array->fn_flags & ZEND_ACC_CLOSURE) ? NULL : op_arr…
1454 if (op_array->vars) {
1457 UNSERIALIZE_PTR(op_array->vars);
1458 p = op_array->vars;
1459 end = p + op_array->last_var;
1468 if (op_array->num_dynamic_func_defs) {
1469 UNSERIALIZE_PTR(op_array->dynamic_func_defs);
1470 for (uint32_t i = 0; i < op_array->num_dynamic_func_defs; i++) {
1471 UNSERIALIZE_PTR(op_array->dynamic_func_defs[i]);
1472 zend_file_cache_unserialize_op_array(op_array->dynamic_func_defs[i], script, buf);
1476 UNSERIALIZE_STR(op_array->function_name);
1477 UNSERIALIZE_STR(op_array->filename);
1478 UNSERIALIZE_PTR(op_array->live_range);
1479 UNSERIALIZE_STR(op_array->doc_comment);
1480 UNSERIALIZE_ATTRIBUTES(op_array->attributes);
1481 UNSERIALIZE_PTR(op_array->try_catch_array);
1482 UNSERIALIZE_PTR(op_array->prototype);
1494 zend_file_cache_unserialize_op_array(&func->op_array, script, buf);