Struct ext_php_rs::ffi::_zend_executor_globals [−][src]
#[repr(C)]pub struct _zend_executor_globals {Show 67 fields
pub uninitialized_zval: zval,
pub error_zval: zval,
pub symtable_cache: [*mut zend_array; 32],
pub symtable_cache_limit: *mut *mut zend_array,
pub symtable_cache_ptr: *mut *mut zend_array,
pub symbol_table: zend_array,
pub included_files: HashTable,
pub bailout: *mut jmp_buf,
pub error_reporting: c_int,
pub exit_status: c_int,
pub function_table: *mut HashTable,
pub class_table: *mut HashTable,
pub zend_constants: *mut HashTable,
pub vm_stack_top: *mut zval,
pub vm_stack_end: *mut zval,
pub vm_stack: zend_vm_stack,
pub vm_stack_page_size: size_t,
pub current_execute_data: *mut _zend_execute_data,
pub fake_scope: *mut zend_class_entry,
pub jit_trace_num: u32,
pub precision: zend_long,
pub ticks_count: c_int,
pub persistent_constants_count: u32,
pub persistent_functions_count: u32,
pub persistent_classes_count: u32,
pub in_autoload: *mut HashTable,
pub full_tables_cleanup: zend_bool,
pub no_extensions: zend_bool,
pub vm_interrupt: zend_bool,
pub timed_out: zend_bool,
pub hard_timeout: zend_long,
pub regular_list: HashTable,
pub persistent_list: HashTable,
pub user_error_handler_error_reporting: c_int,
pub user_error_handler: zval,
pub user_exception_handler: zval,
pub user_error_handlers_error_reporting: zend_stack,
pub user_error_handlers: zend_stack,
pub user_exception_handlers: zend_stack,
pub error_handling: zend_error_handling_t,
pub exception_class: *mut zend_class_entry,
pub timeout_seconds: zend_long,
pub lambda_count: c_int,
pub ini_directives: *mut HashTable,
pub modified_ini_directives: *mut HashTable,
pub error_reporting_ini_entry: *mut zend_ini_entry,
pub objects_store: zend_objects_store,
pub exception: *mut zend_object,
pub prev_exception: *mut zend_object,
pub opline_before_exception: *const zend_op,
pub exception_op: [zend_op; 3],
pub current_module: *mut _zend_module_entry,
pub active: zend_bool,
pub flags: zend_uchar,
pub assertions: zend_long,
pub ht_iterators_count: u32,
pub ht_iterators_used: u32,
pub ht_iterators: *mut HashTableIterator,
pub ht_iterators_slots: [HashTableIterator; 16],
pub saved_fpu_cw_ptr: *mut c_void,
pub trampoline: zend_function,
pub call_trampoline_op: zend_op,
pub weakrefs: HashTable,
pub exception_ignore_args: zend_bool,
pub exception_string_param_max_len: zend_long,
pub get_gc_buffer: zend_get_gc_buffer,
pub reserved: [*mut c_void; 6],
}Fields
uninitialized_zval: zvalerror_zval: zvalsymtable_cache: [*mut zend_array; 32]symtable_cache_limit: *mut *mut zend_arraysymtable_cache_ptr: *mut *mut zend_arraysymbol_table: zend_arrayincluded_files: HashTablebailout: *mut jmp_buferror_reporting: c_intexit_status: c_intfunction_table: *mut HashTableclass_table: *mut HashTablezend_constants: *mut HashTablevm_stack_top: *mut zvalvm_stack_end: *mut zvalvm_stack: zend_vm_stackvm_stack_page_size: size_tcurrent_execute_data: *mut _zend_execute_datafake_scope: *mut zend_class_entryjit_trace_num: u32precision: zend_longticks_count: c_intpersistent_constants_count: u32persistent_functions_count: u32persistent_classes_count: u32in_autoload: *mut HashTablefull_tables_cleanup: zend_boolno_extensions: zend_boolvm_interrupt: zend_booltimed_out: zend_boolhard_timeout: zend_longregular_list: HashTablepersistent_list: HashTableuser_error_handler_error_reporting: c_intuser_error_handler: zvaluser_exception_handler: zvaluser_error_handlers_error_reporting: zend_stackuser_error_handlers: zend_stackuser_exception_handlers: zend_stackerror_handling: zend_error_handling_texception_class: *mut zend_class_entrytimeout_seconds: zend_longlambda_count: c_intini_directives: *mut HashTablemodified_ini_directives: *mut HashTableerror_reporting_ini_entry: *mut zend_ini_entryobjects_store: zend_objects_storeexception: *mut zend_objectprev_exception: *mut zend_objectopline_before_exception: *const zend_opexception_op: [zend_op; 3]current_module: *mut _zend_module_entryactive: zend_boolflags: zend_ucharassertions: zend_longht_iterators_count: u32ht_iterators_used: u32ht_iterators: *mut HashTableIteratorht_iterators_slots: [HashTableIterator; 16]saved_fpu_cw_ptr: *mut c_voidtrampoline: zend_functioncall_trampoline_op: zend_opweakrefs: HashTableexception_ignore_args: zend_boolexception_string_param_max_len: zend_longget_gc_buffer: zend_get_gc_bufferreserved: [*mut c_void; 6]Implementations
Returns a reference to the PHP executor globals.
The executor globals are guarded by a RwLock. There can be multiple immutable references at one time but only ever one mutable reference. Attempting to retrieve the globals while already holding the global guard will lead to a deadlock. Dropping the globals guard will release the lock.
Attempts to retrieve the global class hash table.
Attempts to extract the last PHP exception captured by the interpreter.
Returned inside a ZBox.
This function requires the executor globals to be mutably held, which could lead to a deadlock if the globals are already borrowed immutably or mutably.