Skip to content

Commit 1db5375

Browse files
committed
Merge branch 'master' into jit-dynasm
* master: (33 commits) Extend SCCP pass with support for elements of non-escaping arrays Fix symbol name Removed support for BeOS, development for BeOS was supported 17 years ago. Remove this old obsolete TODO file ext/sodium: the second parameter of sodium_hex2bin() is optional ext/sodium: AI_StringRef_And_String -> AI_StringRefAndString for consistency ext/sodium: sort functions list Fixed escaping instructions Update NEWS for 7.2.0RC2 Update NEWS for PHP 7.2.0RC1 Fixed tests titels Added few Optimizer tests Accurate handling of ZEND_ASSIGN_OBJ Check for user defined classes Escpaing objects can't have destructors, so their assignment don't make side effects and may be eliminated. Fix constant references in error messages in ext/sodium Aliased varaibles may escape Make assignment to elements of non-esaping arrays and objects removable by DCE pass. Enable escape analysis Include variables with false dependencies into equi escape sets. ...
2 parents fed0c64 + ce3dbb5 commit 1db5375

File tree

77 files changed

+1306
-459
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+1306
-459
lines changed

.appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ environment:
2424
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
2525
PHP_BUILD_OBJ_DIR: c:\obj
2626
PHP_BUILD_CACHE_SDK_DIR: c:\build-cache\sdk
27-
PHP_BUILD_SDK_BRANCH: php-sdk-2.0.9
27+
PHP_BUILD_SDK_BRANCH: php-sdk-2.0.10
2828
PHP_BUILD_CRT: vc15
2929
# ext and env setup for tests
3030
#MYSQL_TEST_PASSWD: Password12!

NEWS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,15 @@ PHP NEWS
66
. Redesigned the old ext_skel program written in PHP, run:
77
'php ext_skel.php' for all options. This means there is no dependencies
88
thrus making it work on Windows out of the box. (Kalle)
9+
. Removed support for BeOS. (Kalle)
910
. Fixed bug #75031 (support append mode in temp/memory streams). (adsr)
1011
. Fixed bug #74860 (Uncaught exceptions not being formatted properly when
1112
error_log set to "syslog"). (Philip Prindeville)
1213

14+
- Date:
15+
. Implemented FR #74668: Add DateTime::createFromImmutable() method.
16+
(majkl578, Rican7)
17+
1318
- cURL:
1419
. Fixed bug #74125 (Fixed finding CURL on systems with multiarch support).
1520
(cebe)

TSRM/TODO

Lines changed: 0 additions & 2 deletions
This file was deleted.

TSRM/TSRM.c

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,6 @@ static DWORD tls_key;
110110
# define tsrm_tls_set(what) TlsSetValue(tls_key, (void*)(what))
111111
# define tsrm_tls_get() TlsGetValue(tls_key)
112112

113-
#elif defined(BETHREADS)
114-
static int32 tls_key;
115-
# define tsrm_tls_set(what) tls_set(tls_key, (void*)(what))
116-
# define tsrm_tls_get() (tsrm_tls_entry*)tls_get(tls_key)
117-
118113
#else
119114
# define tsrm_tls_set(what)
120115
# define tsrm_tls_get() NULL
@@ -135,8 +130,6 @@ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debu
135130
st_key_create(&tls_key, 0);
136131
#elif defined(TSRM_WIN32)
137132
tls_key = TlsAlloc();
138-
#elif defined(BETHREADS)
139-
tls_key = tls_allocate();
140133
#endif
141134

142135
/* ensure singleton */
@@ -587,8 +580,6 @@ TSRM_API THREAD_T tsrm_thread_id(void)
587580
return pthread_self();
588581
#elif defined(TSRM_ST)
589582
return st_thread_self();
590-
#elif defined(BETHREADS)
591-
return find_thread(NULL);
592583
#endif
593584
}/*}}}*/
594585

@@ -608,10 +599,6 @@ TSRM_API MUTEX_T tsrm_mutex_alloc(void)
608599
pthread_mutex_init(mutexp,NULL);
609600
#elif defined(TSRM_ST)
610601
mutexp = st_mutex_new();
611-
#elif defined(BETHREADS)
612-
mutexp = (beos_ben*)malloc(sizeof(beos_ben));
613-
mutexp->ben = 0;
614-
mutexp->sem = create_sem(1, "PHP sempahore");
615602
#endif
616603
#ifdef THR_DEBUG
617604
printf("Mutex created thread: %d\n",mythreadid());
@@ -634,9 +621,6 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
634621
free(mutexp);
635622
#elif defined(TSRM_ST)
636623
st_mutex_destroy(mutexp);
637-
#elif defined(BETHREADS)
638-
delete_sem(mutexp->sem);
639-
free(mutexp);
640624
#endif
641625
}
642626
#ifdef THR_DEBUG
@@ -664,10 +648,6 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
664648
return pthread_mutex_lock(mutexp);
665649
#elif defined(TSRM_ST)
666650
return st_mutex_lock(mutexp);
667-
#elif defined(BETHREADS)
668-
if (atomic_add(&mutexp->ben, 1) != 0)
669-
return acquire_sem(mutexp->sem);
670-
return 0;
671651
#endif
672652
}/*}}}*/
673653

@@ -691,10 +671,6 @@ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
691671
return pthread_mutex_unlock(mutexp);
692672
#elif defined(TSRM_ST)
693673
return st_mutex_unlock(mutexp);
694-
#elif defined(BETHREADS)
695-
if (atomic_add(&mutexp->ben, -1) != 1)
696-
return release_sem(mutexp->sem);
697-
return 0;
698674
#endif
699675
}/*}}}*/
700676

TSRM/TSRM.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,6 @@ typedef int ts_rsrc_id;
7272
#elif defined(TSRM_ST)
7373
# define THREAD_T st_thread_t
7474
# define MUTEX_T st_mutex_t
75-
#elif defined(BETHREADS)
76-
# define THREAD_T thread_id
77-
typedef struct {
78-
sem_id sem;
79-
int32 ben;
80-
} beos_ben;
81-
# define MUTEX_T beos_ben *
8275
#endif
8376

8477
#ifdef HAVE_SIGNAL_H

TSRM/threads.m4

Lines changed: 38 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -103,52 +103,47 @@ dnl -threads gcc (HP-UX)
103103
dnl
104104
AC_DEFUN([PTHREADS_CHECK],[
105105
106-
if test "$beos_threads" = "1"; then
107-
pthreads_working="yes"
108-
ac_cv_pthreads_cflags=""
109-
else
110-
save_CFLAGS=$CFLAGS
111-
save_LIBS=$LIBS
112-
PTHREADS_ASSIGN_VARS
113-
PTHREADS_CHECK_COMPILE
114-
LIBS=$save_LIBS
115-
CFLAGS=$save_CFLAGS
106+
save_CFLAGS=$CFLAGS
107+
save_LIBS=$LIBS
108+
PTHREADS_ASSIGN_VARS
109+
PTHREADS_CHECK_COMPILE
110+
LIBS=$save_LIBS
111+
CFLAGS=$save_CFLAGS
116112
117-
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
118-
ac_cv_pthreads_cflags=
119-
if test "$pthreads_working" != "yes"; then
120-
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
121-
ac_save=$CFLAGS
122-
CFLAGS="$CFLAGS $flag"
123-
PTHREADS_CHECK_COMPILE
124-
CFLAGS=$ac_save
125-
if test "$pthreads_checked" = "yes"; then
126-
ac_cv_pthreads_cflags=$flag
127-
break
128-
fi
129-
done
130-
fi
131-
])
113+
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
114+
ac_cv_pthreads_cflags=
115+
if test "$pthreads_working" != "yes"; then
116+
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
117+
ac_save=$CFLAGS
118+
CFLAGS="$CFLAGS $flag"
119+
PTHREADS_CHECK_COMPILE
120+
CFLAGS=$ac_save
121+
if test "$pthreads_checked" = "yes"; then
122+
ac_cv_pthreads_cflags=$flag
123+
break
124+
fi
125+
done
126+
fi
127+
])
132128
133-
AC_CACHE_CHECK(for pthreads_lib, ac_cv_pthreads_lib,[
134-
ac_cv_pthreads_lib=
135-
if test "$pthreads_working" != "yes"; then
136-
for lib in pthread pthreads c_r; do
137-
ac_save=$LIBS
138-
LIBS="$LIBS -l$lib"
139-
PTHREADS_CHECK_COMPILE
140-
LIBS=$ac_save
141-
if test "$pthreads_checked" = "yes"; then
142-
ac_cv_pthreads_lib=$lib
143-
break
144-
fi
145-
done
146-
fi
147-
])
129+
AC_CACHE_CHECK(for pthreads_lib, ac_cv_pthreads_lib,[
130+
ac_cv_pthreads_lib=
131+
if test "$pthreads_working" != "yes"; then
132+
for lib in pthread pthreads c_r; do
133+
ac_save=$LIBS
134+
LIBS="$LIBS -l$lib"
135+
PTHREADS_CHECK_COMPILE
136+
LIBS=$ac_save
137+
if test "$pthreads_checked" = "yes"; then
138+
ac_cv_pthreads_lib=$lib
139+
break
140+
fi
141+
done
142+
fi
143+
])
148144
149-
if test "x$ac_cv_pthreads_cflags" != "x" -o "x$ac_cv_pthreads_lib" != "x"; then
150-
pthreads_working="yes"
151-
fi
145+
if test "x$ac_cv_pthreads_cflags" != "x" -o "x$ac_cv_pthreads_lib" != "x"; then
146+
pthreads_working="yes"
152147
fi
153148
154149
if test "$pthreads_working" = "yes"; then

TSRM/tsrm.m4

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -77,19 +77,15 @@ sinclude(threads.m4)
7777
AC_DEFUN([TSRM_CHECK_PTHREADS],[
7878
7979
PTHREADS_CHECK
80+
81+
if test "$pthreads_working" != "yes"; then
82+
AC_MSG_ERROR(Your system seems to lack POSIX threads.)
83+
fi
8084
81-
if test "$beos_threads" = "1"; then
82-
AC_DEFINE(BETHREADS, 1, Whether to use native BeOS threads)
83-
else
84-
if test "$pthreads_working" != "yes"; then
85-
AC_MSG_ERROR(Your system seems to lack POSIX threads.)
86-
fi
87-
88-
AC_DEFINE(PTHREADS, 1, Whether to use Pthreads)
85+
AC_DEFINE(PTHREADS, 1, Whether to use Pthreads)
8986
90-
AC_MSG_CHECKING(for POSIX threads)
91-
AC_MSG_RESULT(yes)
92-
fi
87+
AC_MSG_CHECKING(for POSIX threads)
88+
AC_MSG_RESULT(yes)
9389
])
9490

9591
AC_DEFUN([TSRM_THREADS_CHECKS],[

UPGRADING

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Core:
2323
. The ext_skel utility has been completely redesigned with new options and
2424
some old options removed. This is now written in PHP and have no external
2525
dependencies.
26+
. Support for BeOS has been dropped.
2627

2728
Standard:
2829
. getimagesize() and related functions now report the mime type of BMP images
@@ -49,6 +50,10 @@ Standard:
4950
6. New Functions
5051
========================================
5152

53+
Date:
54+
. Added the DateTime::createFromImmutable() method, which mirrors
55+
DateTimeImmutable::createFromMutable().
56+
5257
========================================
5358
7. New Classes and Interfaces
5459
========================================

0 commit comments

Comments
 (0)