1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:08:12 +00:00
serenity/Meta/Lagom/Tools/CodeGenerators
Andreas Kling cfe663435e LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors
It's not safe to allocate from the GC heap while in the constructor of a
GC heap cell. (Because if this ends up triggering a collection, we may
end up trying to call through an uninitialized vtable).

This was already done safely in the initialize() virtual in much of
LibJS and LibWeb. This patch moves the logic for prototypes, mixins,
and CSSStyleDeclaration as well.

Fixes a long-standing GC crash that was pretty easy to reproduce by
refreshing https://vercel.com/
2023-05-21 14:23:58 +02:00
..
IPCCompiler LibIPC: Remove redundant IPC::Dictionary type 2023-05-21 07:53:45 +02:00
LibEDID CodeGenerators: Ensure that we always print the entire generated output 2023-03-13 15:16:20 +00:00
LibGL CodeGenerators: Ensure that we always print the entire generated output 2023-03-13 15:16:20 +00:00
LibLocale LibLocale: Avoid unnecessary HashMap copy 2023-05-19 22:33:57 +02:00
LibTimeZone AK: Add the Input word to input-only buffered streams 2023-05-09 11:18:46 +02:00
LibUnicode LibUnicode: Explicitly mark HashMap copy 2023-05-19 22:33:57 +02:00
LibWeb LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors 2023-05-21 14:23:58 +02:00
StateMachineGenerator LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
CMakeLists.txt LibGL: Generate the API wrappers 2022-12-20 10:42:31 +01:00