serenity/Userland
Daniel Bertalan 2b69af2dfe AK+LibJS: Handle NaN-boxing pointers on AArch64
JS::Value stores 48 bit pointers to separately allocated objects in its
payload. On x86-64, canonical addresses have their top 16 bits set to
the same value as bit 47, effectively meaning that the value has to be
sign-extended to get the pointer. AArch64, however, expects the topmost
bits to be all zeros.

This commit gates sign extension behind `#if ARCH(X86_64)`, and adds an
`#error` for unsupported architectures, so that we do not forget to
think about pointer handling when porting to a new architecture.

Fixes #15290
Fixes SerenityOS/ladybird#56
2022-09-21 11:55:57 +02:00
..
Applets Applets/ResourceGraph: Port to Core::Stream 2022-09-18 18:57:28 -07:00
Applications SystemMonitor: Save configuration of columns 2022-09-21 10:14:40 +01:00
Demos Everywhere: Fix order of includes and #pragma once 2022-09-18 18:30:05 -07:00
DevTools Profiler: Port to Core::Stream 2022-09-20 07:48:45 -04:00
DynamicLoader LibPthread: Implement named semaphores 2022-07-21 16:39:22 +02:00
Games MasterWord: Port to Core::Stream 2022-09-20 07:48:45 -04:00
Libraries AK+LibJS: Handle NaN-boxing pointers on AArch64 2022-09-21 11:55:57 +02:00
Services Calendar: Update month view on first_day_of_week setting change 2022-09-20 13:12:00 -04:00
Shell Shell: Fix 'Command:' output for built-in 'time' command 2022-09-16 05:38:09 +00:00
Utilities LibWeb+LibWebView+WebContent: Add Web::Platform::ImageCodecPlugin 2022-09-16 15:15:50 +02:00
CMakeLists.txt