Skip to content

Instantly share code, notes, and snippets.

Avatar

Xinchen Hui laruence

View GitHub Profile
View sse2_strtolower.php
<?php
function A() {
}
function Aaaa() {
}
function Aaaaaaaa() {
}
View bug76477.diff
diff --git a/ext/opcache/Optimizer/zend_call_graph.c b/ext/opcache/Optimizer/zend_call_graph.c
index 886a793..a0ea479 100644
--- a/ext/opcache/Optimizer/zend_call_graph.c
+++ b/ext/opcache/Optimizer/zend_call_graph.c
@@ -155,6 +155,7 @@ int zend_analyze_calls(zend_arena **arena, zend_script *script, uint32_t build_f
case ZEND_SEND_REF:
case ZEND_SEND_VAR_NO_REF:
case ZEND_SEND_VAR_NO_REF_EX:
+ case ZEND_SEND_USER:
if (call_info) {
View bug76466.diff
diff --git a/ext/opcache/Optimizer/sccp.c b/ext/opcache/Optimizer/sccp.c
index 5511313..0fc538b 100644
--- a/ext/opcache/Optimizer/sccp.c
+++ b/ext/opcache/Optimizer/sccp.c
@@ -1226,13 +1226,6 @@ static void sccp_visit_instr(scdf_ctx *scdf, zend_op *opline, zend_ssa_op *ssa_o
SKIP_IF_TOP(op2);
}
- /* We want to avoid keeping around intermediate arrays for each SSA variable in the
- * ADD_ARRAY_ELEMENT chain. We do this by only keeping the array on the last opcode
View record_conflicts.diff
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c
index 1d6519e..26d6448 100644
--- a/Zend/zend_hash.c
+++ b/Zend/zend_hash.c
@@ -40,6 +40,12 @@
#define HT_POISONED_PTR ((HashTable *) (intptr_t) -1)
+static void record_conflicts() {
+ FILE *fp = fopen("/tmp/conflicts.log", "a");
View remove_tolower.diff
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 9244579..9269fe8 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -2301,14 +2301,20 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, const zend_functio
return FAILURE;
}
}
- lowercase_name = zend_string_tolower_ex(internal_function->function_name, 1);
- lowercase_name = zend_new_interned_string(lowercase_name);
View bug76025.diff
diff --git a/Zend/tests/024.phpt b/Zend/tests/024.phpt
index f89c49e..c955d18 100644
--- a/Zend/tests/024.phpt
+++ b/Zend/tests/024.phpt
@@ -19,8 +19,6 @@ Notice: Undefined variable: a in %s on line %d
NULL
Notice: Undefined variable: %s in %s on line %d
-
-Notice: Undefined variable: %s in %s on line %d
View fast_copy_1.diff
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index 1c870e9..d9d2cdb 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -1358,7 +1358,7 @@ static zend_persistent_script *store_script_in_file_cache(zend_persistent_script
memory_used = zend_accel_script_persist_calc(new_persistent_script, NULL, 0, 0);
/* Allocate memory block */
-#ifdef __SSE2__
+#if defined(__AVX__) || defined(__SSE2__)
View bench_base64.php
<?php
$retry = 100;
$start = microtime(true);
while (--$retry) {
$length = (int)(1000/$retry);
$str = file_get_contents("/dev/urandom", false, NULL, 0, $length);
//echo "String lenght: ", $length, "\n";
$time = microtime(true);
for ($i = 0; $i < 1000000; $i++) {
base64_encode($str);
View base64_avx2.diff
diff --git a/Zend/zend_cpuinfo.h b/Zend/zend_cpuinfo.h
index d0d3a93..f0c298d 100644
--- a/Zend/zend_cpuinfo.h
+++ b/Zend/zend_cpuinfo.h
@@ -106,42 +106,42 @@ ZEND_API int zend_cpu_supports(zend_cpu_feature feature);
* before all PLT symbols are resloved. in other words,
* resolver functions should not depends any external
* functions */
-static zend_always_inline int zend_cpu_support_sse2() {
+static zend_always_inline int zend_cpu_supports_sse2() {
View base64_ssse3.diff
diff --git a/Zend/zend_portability.h b/Zend/zend_portability.h
index bd3e23e..5b91e5a 100644
--- a/Zend/zend_portability.h
+++ b/Zend/zend_portability.h
@@ -520,6 +520,30 @@ static zend_always_inline double _zend_get_nan(void) /* {{{ */
# define ZEND_INTRIN_HAVE_IFUNC_TARGET 1
#endif
+#ifdef __SSSE3__
+/* Instructions compiled directly. */
You can’t perform that action at this time.