forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Attempt to optimize typed property assign #109
Open
nielsdos
wants to merge
2,319
commits into
master
Choose a base branch
from
opt-typed-assign
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.
Conversation
This file contains 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
Make its duty only to check if the provided HashTable is valid
…ient::__doRequest() The do_request() function that calls this methods, assumes that a string is being returned from the method otherwise it bails out. However, the default implementation of SoapClient::__doRequest() indicates that it can return null when it fails to set-up and execute the HTTP SOAP request, but this always results in a SoapFault exception being thrown, and thus cannot happen in practice. We need to investigate further if the return type should be changed from ?string to string or not.
…ernal attributes (php#14595) This is necessary because `zend_get_attribute_object()` will use the persistent string with the parameter name as the index for a newly created non-persistent HashTable, which is not legal. As parameter names are expected to be short-ish, reasonably common terms and need to sit around in memory anyways, we might as well make them an interned string, circumstepping the issue without needing to duplicate the parameter name into a non-persistent string.
TL;DR When suing libmysqlclient, ints are fetched as strings, so the strict comparison was failing
…le (php#14619) Fixes [13327-comment](php#13327 (comment)) Signed-off-by: Ayesh Karunaratne <[email protected]>
This enables the zlib library (https://zlib.net/) from a single place to match the minimum required version across the php-src. This provides a possible simpler version bump in the future. Macro's 2nd and 3rd arguments can pass additional actions whether zlib library is found or not for the possible future adjustments in the ext/standard where also zlib might be required. Support for pkg-config was introduced in 1.2.3.1. The minimum zlib version has been bumped to 1.2.3.1 * Bump minimum zlib version to 1.2.11 This is aligned with CentOS 8, which has 1.2.11 in the default packages. * [skip ci] Move zlib version change to UPGRADING This matches the OpenSSL style version change notice already done in this file.
The libmagic library also uses the HAVE_VISIBILITY macro that should be defined to 1 if visibility is supported or 0 if not. Follow-up of phpGH-5526 (-Wundef)
This remove unused PHP-8.3 generated JIT files and adds PHP-8.3 generated JIT files back to .gitignore to have smoother workflow when switching PHP branches this can be ignored for a branch or two.
…4540) The pkg-config (libpq.pc file) was added in PostgreSQL 9.3. This adds a common setup M4 macro PHP_SETUP_PGSQL to find client PostgreSQL library libpq on the system with pkg-config. If not found, check falls back to pg_config to find the libpq and its headers in common locations as before. The PGSQL_CFLAGS and PGSQL_LIBS environment variables can override the libpq installation paths: ./configure --with-pgsql --with-pdo-pgsql \ PGSQL_CFLAGS=-I/path/to/libpq \ PGSQL_LIBS="-L/path/to/libpq -lpq" Passing manual, non-standard PostgreSQL installation path can be done with configure option arguments: ./configure \ --with-pgsql=/any/path/to/postgresql \ --with-pdo-postgresql=/any/path/to/postgresql If this DIR argument (PostgreSQL installation directory or path to the pg_config) is passed, it takes precedence over the pkg-config, when installed on the system. This also removes the unused HAVE_LIBPQ symbol and passing the PGSQL_INCLUDE and PGSQL_LIBDIR environment variable to configure in favor of PGSQL_CFLAGS and PGSQL_LIBS. Instead of the obsolete backticks the recommended $(...) is used when invoking the pg_config. Follow-up of phpGH-4235 (Use PKG_CHECK_MODULES to detect the pq library)
PHP_DEBUG is always defined, either to 0 or 1. This matches the fpm_main.c code with similar check even though it was not executed for a while.
The pgsql extension headers aren't installed and this API version hasn't been used nor bumped yet.
The variable S is not used if PQresultMemorySize is not available in this switch at this point.
- The mysqlnd is required dependency in mysqli extension - When building pdo_mysql with mysqlnd (--with-pdo-mysql or --with-pdo-mysql=mysqlnd) mysqlnd is required - This also adds missing configure time pdo dependency to pdo_mysql
The m4_normalize is for Autoconf < 2.70 (on 2.70 and later versions a blank-or-newline separated items can be expanded without using backslash-newline).
The tsrmls cache has been integrated in aac7b1d but not enabled when pdo_mysql is built for mysqlnd extension.
This was added due to configure option rename from --enable-pear to --with-pear: 2cf1b8d
This is configure time dependency for consistency.
* PHP-8.3: Fix phpGH-14639: Member access within null pointer in ext/spl/spl_observer.c
This wasn't activated due to inconsistent availability over the editline/readline versions and variants. This now checks whether the rl_erase_empty_line variable is available in library headers and enables it based on that. On Windows this is for now still disabled due to wineditline library, which doesn't have this yet. Documentation already mentions the erase_empty_line setting: https://www.php.net/manual/en/function.readline-info.php
to obtain status information pertaining termination, stop, and/or continue events in one the caller's child processes. close phpGH-14617
* PHP-8.3: Fix phpGH-14550: No warning message when Zend DTrace is enabled that opcache.jit is implictly disabled
HAVE_ERASE_EMPTY_LINE always gets the last AC_DEFINE help text, so it is simpler to have the same help message for both definitions (readline and editline). First text never got into header via autoheader anyway.
- AH_TEMPLATE sets the CPP macro help text on a single place - AC_DEFINE can be used instead of AC_DEFINE_UNQUOTED - AS_VAR_IF used and CS synced - crypt() function is at this point required as all required algorithm checks are depending on it and error is thrown if not found when using external crypt library
The PTHREADS_CHECK is using cache variables so it is run only once early during the configuration phase, before including SAPI and other M4 files. This removes the TSRM_CHECK_PTHREADS macro and moves the POSIX Threads check after the PHP_THREAD_SAFETY variable is set in configure.ac. The check and error throw in PHP_BUILD_THREAD_SAFE is also joing into this single check. This removes the redundant tsrm.m4 file and PHP_CONFIGURE_PART call for TSRM as it doesn't run any configuration checks anymore.
- AS_VAR_APPEND used for enabling Dmalloc check-funcs token - CS synced
Apache 2.2 has been marked as EOL in December 2017 and doesn't receive security patches any longer. Also, most *nix distributions and packages mostly support 2.4 as minimum by now. On Windows, this removes the configure option --enable-apache2-2handler and merges the --enable-apache2handler and --enable-apache2-4handler into a single option with favoring the --enable-apache2handler. - The upstream MODULE_MAGIC_NUMBER is deprecated in favor of MODULE_MAGIC_NUMBER_MAJOR in apache2/ap_mmn.h - The initial upstream MODULE_MAGIC_NUMBER_MAJOR was 20111025 in Apache 2.4.0 - The upstream APLOG_USE_MODULE is always available since Apache 2.3.6 - The upstream CORE_PRIVATE is unnecessary and ignored since Apache 2.4.0 See: https://forum.apachehaus.com/news-general-discussion/apache-2-2-users-your-time-is-running-out/ Discussion: https://news-web.php.net/php.internals/124067
This is not defined on Windows and isn't used. Also phpdbg doesn't install any headers to the public usage.
- AS_VAR_IF, AS_VAR_APPEND used and CS synced - Added one missing AC_MSG_RESULT to properly put the configure output log on each line - AH_TEMPLATE used for HAVE_USERFAULTFD_WRITEFAULT to have help text on lesser places - Redundant terminating semicolons removed - Redundant PTHREADS_CHECK call removed as it is already done in configure.ac and before including SAPI M4 stubs - Redundant CFLAGS and LIBS storing and restoring removed
* PHP-8.3: Fix memory leak in tidy_repair_file()
nielsdos
force-pushed
the
opt-typed-assign
branch
from
July 8, 2024 16:11
8459665
to
6c3e06d
Compare
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.