forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 0
var_export dom stuff #108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
nielsdos
wants to merge
1,913
commits into
master
Choose a base branch
from
dom-var-export
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
var_export dom stuff #108
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* [skip ci] Update CODING_STANDARDS for the acronym casing RFC see https://wiki.php.net/rfc/class-naming-acronyms * Improve formatting in CODING_STANDARDS.md Co-authored-by: Larry Garfield <[email protected]> --------- Co-authored-by: Larry Garfield <[email protected]>
In preparation of the opaque object to resource conversion
…14166) Changed to count trailing zeros using SIMD when converting a string to a bc_num structure if possible. Removed unnecessary pointer resetting. Added UNEXPECTED to some branches.
* PHP-8.3: ext/hash: Swap the checking order of __has_builtin and __GNUC__ (php#14185)
* PHP-8.3: Fix phpGH-14183: XMLReader::open() can't be overridden
* PHP-8.3: Fix phpGH-14189: PHP Interactive shell input state incorrectly handles quoted heredoc literals.
* PHP-8.3: Update NEWS for ICU regression fix
using getcpuid having similar signature too. close phpGH-14188
* PHP-8.3: Fix missing deref in C14N (php#14203)
The serialization process uses the system allocator and requires a copy to request allocated memory once finished. This patch improves this by using smart_str to build the resulting string, reducing the number of copies and reducing total peak memory usage.
* PHP-8.3: Fix crash in ParentNode::append() when dealing with a fragment containing text nodes
…p#14196) The code for _bc_do_add and _bc_do_sub were written slightly differently for similar processing (and add was slower than sub), so I changed the code to one similar to sub. Also, _bc_do_add has been changed to use SIMD to perform faster calculations when possible.
* PHP-8.3: [skip ci] Adjust port for gh13860.phpt
* PHP-8.3: [skip ci] Fix typo
This one can be undefined or defined to value 1.
* PHP-8.3: ext/standard: Fix test conflict with I/O tests
The php_cv_func_clock_get_time cache variable enables cross-compiling edge cases to manually override the AC_RUN_IFELSE check.
Cache variables php_cv_shm_ipc and php_cv_shm_mmap_anon enable manual overriding of checks when cross-compiling.
The php_cv_have_stack_limit cache variable enables cross-compiling edge cases to override the check manually.
Cross-compiling in this case is passed but for the sake of consistency this check is also cached to enable manual overriding with the php_cv_iconv_errno cache variable.
This syncs the configure time dependencies for ext/simplexml: - ext/spl was once optional but since being always available, conditional usage was removed - ext/libxml required
Prefer: ZEND_PARSE_PARAMETERS_NONE(); Over: if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); } It's shorter, more modern, and they do the same thing. Technically, ZEND_PARSE_PARAMETERS_NONE doesn't check that there's an exception, but it generates one, so it's still cohesive.
This enables cross-compiling edge cases to manually override the checks with the php_cv_lib_gd_gdImageCreateFrom* cache variables.
Instead of the PHP_SUBST_OLD, which also adds redundant variables to the generated Makefile, these two can be done with AC_SUBST to be substituted in the generated main/build-defs.h header and scripts/php-config script.
PDO include paths can be simplified and synced as done in other extensions: either the project root directory or the phpincludedir (for the system installation). The 'ext' include is automatically appended when doing phpize build. In php-src it is only present on Windows build. The PHP_CHECK_PDO_INCLUDES is left intact working as before and checks if PDO headers are found.
This enables cross-compiling edge cases to override checks with php_cv_have_common_page_size and php_cv_have_max_page_size cache variables when target matches one of the conditions in case pattern. Not done as link check yet due to Clang 9 bug and similar issues: php#5123
This isn't reachable since ab32d36, because since then the library itself checks this condition during compilation. The compilation failure that results of it makes this code not reachable. This is split off of phpGH-14424.
* PHP-8.3: Fix phpGH-11188: Error when building TSRM in ARM64
Recreating this over and over is pointless, cache this as well. Fixes phpGH-14423.
* PHP-8.3: [skip ci] update NEWS for phpGH-14457 [skip ci] update NEWS for phpGH-14457 Remove use of SDWORD and SWORD in ODBC extensions (phpGH-14457)
…14459) This is phpGH-11236 for IR JIT.
…rs (php#14466) I had a case where I was intentionally storing a `NULL` pointer within a HashTable to mark an entry as “blocked”, without paying for the overhead of checking the entry type when reading the pointer, resulting in semantics that are similar to using `isset()` instead of `array_key_exists()` in userland. This worked fine in unoptimized test builds, but due to the `ZEND_ASSUME()` in the `zend_hash_find_ptr` functions, the optimized release builds turned the logic of: my_pointer = zend_hash_find_ptr(ht, key); if (my_pointer == NULL) { return; } *my_pointer; into zv = zend_hash_find(ht, key); if (zv) { *Z_PTR_P(zv); } else { return; } thus introducing a hard-to-debug and compiler-dependent crash when the entry exists, but the stored pointer is `NULL`. Change the `ZEND_ASSUME()` in the setters to `ZEND_ASSERT()`. This would have made my mistake immediately obvious in debug builds when storing the pointer. The getters still use `ZEND_ASSUME()` under the assumption that they are called much more often, reducing the impact on debug builds: Assuming the developer uses the `_ptr` variants for both reading and writing the entries, the mistake will be reliably caught during writing, making the assert during reading unnecessary. For release builds the `ZEND_ASSERT()` will be equivalent to `ZEND_ASSUME()`, avoiding any performance impact for those.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.