ladybird/Libraries/LibIDL
Jelle Raaijmakers 2e910dd6e1 LibIDL: Change overload sets to be ordered
We fill these overload sets from vectors, which means that by the time
we iterated over them, any semblance of their original ordering was
lost. Their ordering is important, because we invoke
define_native_function() for them which eventually stores ordered
properties.

This should not be an issue as long as iterating over a HashMap that was
filled in exactly the same way results in the same ordering. However,
HashTable utilizes kmalloc_good_size() to determine a good allocation
size - and the implementation for kmalloc_good_size() on Linux and macOS
differs, causing a different capacity and ordering on those platforms.

This was not caught by CI, because we run that with sanitizers enabled
which overrides malloc_good_size() on macOS, resulting in the same
behavior as on Linux.

Change the overload sets to be OrderedHashMaps instead and rebaseline
the failing test.
2025-08-26 10:14:22 +02:00
..
CMakeLists.txt CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
ExposedTo.cpp LibIDL: Add LayoutWorklet and PaintWorklet parsing 2025-08-15 09:21:28 +02:00
ExposedTo.h LibIDL: Add LayoutWorklet and PaintWorklet parsing 2025-08-15 09:21:28 +02:00
IDLParser.cpp AK+Libraries: Reduce API surface of GenericLexer a bit 2025-08-13 09:56:13 -04:00
IDLParser.h IDLGenerators: Support generating dictionary to value converter helpers 2025-08-08 13:09:58 -04:00
Types.cpp Everywhere: Use HashMap::update() where applicable 2025-07-25 16:22:06 +02:00
Types.h LibIDL: Change overload sets to be ordered 2025-08-26 10:14:22 +02:00