sigsetjmp use setjmp. Windows is of course weird in that it seems to have sigsetjmp but not sigjmp_buf (??) so force it to use setjmp in config.w32.h.in
consistent in how we deal with the signal mask. POSIX doesn't specify what to do with the signal mask in setjmp/longjmp which has resulted in the signal mask getting saved on *BSD and not getting saved on Linux. Making the behaviour explicit via sigsetjmp/siglongjmp gives us consistency and saves expensive sigprocmask() syscalls on *BSD.
…scall on second usage.
. Folding tags . Parameter parsing . SPL debug info . array function improvements (not all yet) . Improvements to function calling with call_user_* functions . Improvements to debugging info in var_dump/print_r # I propably forgot already something but this all was pretty close tied # to each other so it wasn't possible to do it in parts.
MFH: Use Z_* macros to access the zvals.
. zend_exception_get_default() -> zend_exception_get_default(TSRMLS_D) . zend_get_error_exception() -> zend_get_error_exception(TSRMLS_D) . added E_RECOVERABLE_ERROR . added ZEND_TOSTRING_FUNC_NAME . added __tostring function cache to zend_class_entry . added ZEND_NAMED_ME . modified ZEND_ME_MAPPING to support method flags . added ZEND_MN . method entries now use prefix "zim_" instead of "zif_" . drop EG(ze1_compatibility_mode) . changed cast handler, now without (int should_free): typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC); . changed get_iterator, now receives whether value is by ref: zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref TSRMLS_DC); . added zend_objects_store_add_ref_by_handle . added zend_objects_store_del_ref_by_handle . convert_to_explicit_type(pzv, type)