History log of /ext-ds/src/ds/ds_htable.c (Results 1 – 25 of 55)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# daf9b1ec 19-Dec-2023 Rudi Theunissen

v1.5.0


# 4f062727 18-Dec-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix #200: Segmentation fault merging keys of maps containing maps

In `ds_htable_put` when found is true, but value is NULL, the old
bucket->value is not cleared out, resulting in a stale

Fix #200: Segmentation fault merging keys of maps containing maps

In `ds_htable_put` when found is true, but value is NULL, the old
bucket->value is not cleared out, resulting in a stale value being
stored. This means that further operations will keep destroying the
stale zval, resulting in a refcount underflow.

show more ...


# f4fee1ad 04-Sep-2020 Rudi Theunissen

First steps to PHP 8 support


Revision tags: v1.2.9, v1.2.8
# eb553965 24-Jan-2019 Rado

Fixed buffer outflow during deserialization of map objects


Revision tags: v1.2.7
# 9f1ba416 18-Nov-2018 Rudi Theunissen

Fix pair reflection bugs by avoiding __get and __set


# e6d8ded3 08-Oct-2018 Richard van Velzen

Make sure -0.0 and 0.0 generate the same hash


# 9e8fae91 08-Oct-2018 Richard van Velzen

Use spl_object_id instead of spl_object_hash to provide object hash values

This provides a significant speed boost on the Set::add benchmark (for 2**20 values the time went from 240ms to 100

Use spl_object_id instead of spl_object_hash to provide object hash values

This provides a significant speed boost on the Set::add benchmark (for 2**20 values the time went from 240ms to 100ms on my machine)

show more ...


# 4fbb4f69 08-Oct-2018 Richard van Velzen

Improve float/double hash values

Right now the hash value for floats is their integer component. Instead, use dark magic to map the bits to an int.


# 02455912 10-Jul-2018 Rudi Theunissen

Move next power of 2 to common


Revision tags: v1.2.6
# 7bbeb1af 24-May-2018 Rudi Theunissen

Replace allocation macros with safer functions


Revision tags: v1.2.5, v1.2.4, v1.2.3, v1.2.2
# 29178483 07-Aug-2017 Peter Gnodde

Reset the lookup table so that the htable can be used after it is cleared


Revision tags: v1.2.1
# 15ec3886 03-Aug-2017 Rudi Theunissen

htable should truncate when size is also equal to a quarter


Revision tags: v1.2.0
# a58b4e9f 19-Jul-2017 Rudi Theunissen

Adjustment to how htable lookup by position works


# e6fd502d 17-Jul-2017 Rudi Theunissen

Small refactor and adjustment to htable find by position


# df2e43c8 30-Jun-2017 Rudi Theunissen

Rename htable extended initialiser


Revision tags: v1.1.10, v1.1.9, v1.1.8
# 730e4d77 22-Mar-2017 Rudi Theunissen

Remove unserialize string termination check


Revision tags: v1.1.7
# 88b292fb 03-Sep-2016 Rudi Theunissen

Refactor of htable capacity increase


# 36b5151c 03-Sep-2016 Rudi Theunissen

Minor htable auto truncate refactor


Revision tags: v1.1.6
# a9428f5d 03-Sep-2016 Rudi Theunissen

Fix htable truncating capacity below minimum


Revision tags: v1.1.5
# 59f59ffb 31-Aug-2016 Rudi Theunissen

Another direct key cast from bucket


# f5adc1cb 31-Aug-2016 Rudi Theunissen

Casting bucket to key directly in compare func


# 3199f789 31-Aug-2016 Rudi Theunissen

Fix htable put distinct rehash


# f711d7bd 11-Aug-2016 Rudi Theunissen

Fix memory leaks, minor refactoring


Revision tags: v1.1.4
# cf98b0dc 08-Aug-2016 Rudi Theunissen

Fix divide by zero errors in deque and vector rotate


Revision tags: v1.1.3
# 31ad1f7d 08-Aug-2016 Rudi Theunissen

Partial refactor to fix wall


123