History log of /PHP-8.3/Zend/zend_alloc.c (Results 1 – 25 of 523)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# bc57c77f 25-Jun-2024 Arnaud Le Blanc

Merge branch 'PHP-8.2' into PHP-8.3

* PHP-8.2:
[ci skip] NEWS for GH-14626
Fix is_zend_ptr() for huge blocks (#14626)


# 1ff277de 25-Jun-2024 Arnaud Le Blanc

Fix is_zend_ptr() for huge blocks (#14626)

is_zend_ptr() expected zend_mm_heap.huge_list to be circular, but it's in fact NULL-terminated. It could crash when at least one huge block exists

Fix is_zend_ptr() for huge blocks (#14626)

is_zend_ptr() expected zend_mm_heap.huge_list to be circular, but it's in fact NULL-terminated. It could crash when at least one huge block exists and the ptr did not belong to any block.

show more ...

# 85cb0816 06-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Merge branch 'PHP-8.2' into PHP-8.3

* PHP-8.2:
Fix unspecified behaviour in zend_alloc in heap->limit computation


# 7ac9578e 06-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix unspecified behaviour in zend_alloc in heap->limit computation


# 28110f8d 05-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix unspecified behaviour in zend_alloc in heap->limit computation

Right-shifting a negative number is unspecified (i.e.
implementation-defined) behaviour [1]. If we take a look at the

Fix unspecified behaviour in zend_alloc in heap->limit computation

Right-shifting a negative number is unspecified (i.e.
implementation-defined) behaviour [1]. If we take a look at the
generated assembly [2], we see that the wrong value is computed.
Fix it by using Z_UL instead of Z_L.

While we're at it, just change every occurrence of this pattern to use
Z_UL instead of casting.

[1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf §6.5.7.5
[2] https://godbolt.org/z/4Y1qKKjsh

Closes GH-12613.

show more ...

# 3148da8e 03-Aug-2023 Ilija Tovilo

Add block size support for tracked_malloc (#11856)

This does still deviate from USE_ZEND_ALLOC=0 in that we're not rounding up the
size of the allocation to fixed sizes. Doing so would s

Add block size support for tracked_malloc (#11856)

This does still deviate from USE_ZEND_ALLOC=0 in that we're not rounding up the
size of the allocation to fixed sizes. Doing so would suppress some
out-of-bounds errors checked by ASAN. Rounding up the size in
_zend_mm_block_size would not be good either as it would break code like
memset(ptr, 0 _zend_mm_block_size(ptr)).

show more ...

# a95316fc 01-Aug-2023 Dmitry Stogov

Merge branch 'PHP-8.2'

* PHP-8.2:
Fixed incorrect tracked malloc deallocation


# 5abf4f23 01-Aug-2023 Dmitry Stogov

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fixed incorrect tracked malloc deallocation


# 4553258d 01-Aug-2023 Dmitry Stogov

Fixed incorrect tracked malloc deallocation

Fixes ext/ffi/tests/list.phpt failure

# fc88f155 03-Apr-2023 Ilija Tovilo

Add zend_alloc XLEAK support

In the future we may want to use a different exit code to warn for tests that
didn't leak.

Closes GH-10999

# c0d89e54 18-Feb-2023 Max Kellermann

Zend/zend_alloc: make stderr_last_error() static (#10587)

This function is only used internally.

# 413844d6 18-Feb-2023 Max Kellermann

Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597)

These types are standard C99.

For compatibility with out-of-tree extensions, keep the typedefs
in

Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597)

These types are standard C99.

For compatibility with out-of-tree extensions, keep the typedefs
in main/php.h.

show more ...

# 2d3427c5 16-Jan-2023 Christoph M. Becker

Revert "#include cleanup (#10216)"

Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>.

This reverts commit e628c66f9d4173e585081ddef358505433f9a288.

# e628c66f 04-Jan-2023 Max Kellermann

#include cleanup (#10216)

Shift header include

In the C file, include the header first so missing #includes are
detected by the compiler, and use lighter header dependencies in

#include cleanup (#10216)

Shift header include

In the C file, include the header first so missing #includes are
detected by the compiler, and use lighter header dependencies in the
header, to speed up compile times.

show more ...

# c6204ac9 17-Nov-2022 Christoph M. Becker

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix GH-9650: Can't initialize heap: [0x000001e7]


# 8d65c2fe 14-Nov-2022 Michael Voříšek

Fix GH-9650: Can't initialize heap: [0x000001e7]

Closes GH-9721.

Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3
# 98bdb7f9 12-Aug-2022 Ilija Tovilo

Make pestr[n]dup infallible (#9295)

Fixes GH-9128
Closes GH-9295

Revision tags: php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2
# cd363a9b 21-Jun-2022 Ilija Tovilo

Specify unit in out of memory error (#8820)

Closes GH-8808

Revision tags: php-8.0.21RC1
# e67565f5 20-Jun-2022 Max Kellermann

Zend, ext/opcache: use PR_SET_VMA_ANON_NAME (Linux 5.17) (#8234)

The new Linux 5.17 feature PR_SET_VMA_ANON_NAME can give names to
anonymous private memory, see:

https://lwn.ne

Zend, ext/opcache: use PR_SET_VMA_ANON_NAME (Linux 5.17) (#8234)

The new Linux 5.17 feature PR_SET_VMA_ANON_NAME can give names to
anonymous private memory, see:

https://lwn.net/Articles/867818/

It can be useful while debugging, to identify which portion of the
process's memory belongs to which subsystem.

This is how /proc/PID/maps can look like:

555ccd400000-555ccdc00000 r-xp 00000000 00:00 0 [anon:huge_code_pages]
7f6ec6600000-7f6ec6800000 rw-p 00000000 00:00 0 [anon:zend_alloc]

The first mapping is the PHP executable copied to anonymous memory by
option "opcache.huge_code_pages". The second one is a memory area for
the "zend_alloc.h" memory allocator library.

Unfortunately, it is not possible to give names to shared memory
(MAP_SHARED), because Linux MAP_SHARED really maps /dev/zero (see
shmem_zero_setup()), which makes madvise_vma_anon_name() believe this
is a file mapping, failing the prctl() with EBADF.

show more ...

Revision tags: php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1
# 96838129 21-May-2022 Arnaud Le Blanc

Panic with abort() (#8590)

Revision tags: php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17, php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1
# 31692a16 21-Dec-2021 David CARLIER

Support zend alloc USE_ZEND_ALLOC_HUGE_PAGES option on MacOS

ZEND_MM_CHUNK_SIZE fits the VM_FLAGS_SUPERPAGE_SIZE_2MB special
file descriptor for mmap call.

# ca134f7a 20-Mar-2022 Ilija Tovilo

Remove unused include of stdbool.h

# a83cc9d3 20-Mar-2022 Max Kellermann

Zend/zend_alloc: use bool and make internal variable static (#8230)

* Zend/zend_alloc: make zend_mm_use_huge_pages static

This is an internal variable and it should not be exported.

Zend/zend_alloc: use bool and make internal variable static (#8230)

* Zend/zend_alloc: make zend_mm_use_huge_pages static

This is an internal variable and it should not be exported.

* Zend/zend_alloc: convert zend_mm_use_huge_pages to bool

* Zend/zend_alloc: convert has_free_pages to bool

* Zend/zend_alloc: convert empty to bool

show more ...

# c9385ee1 19-Mar-2022 David CARLIER

zend_mm_map_fixed using MAP_TRYFIXED on NetBSD.DragonFlyBSD

attempts to map on addr but does not replace it if already present.
Note on OpenBSD it has no effect, addr is used just as a h

zend_mm_map_fixed using MAP_TRYFIXED on NetBSD.DragonFlyBSD

attempts to map on addr but does not replace it if already present.
Note on OpenBSD it has no effect, addr is used just as a hint.

Closes GH-7923.

show more ...

# 67440096 04-Mar-2022 Patrick Allaert

Added: [zend_]memory_reset_peak_usage() (#8151)

12345678910>>...21