[webkit-changes] [WebKit/WebKit] 964f4b: REGRESSION(284376 at main)[WPE]: Build broken with GC...
Carlos Alberto Lopez Perez
noreply at github.com
Mon Sep 30 12:08:32 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 964f4b1be9b5c53988d71c1029b2dc27c198cf16
https://github.com/WebKit/WebKit/commit/964f4b1be9b5c53988d71c1029b2dc27c198cf16
Author: Carlos Alberto Lopez Perez <clopez at igalia.com>
Date: 2024-09-30 (Mon, 30 Sep 2024)
Changed paths:
M Source/JavaScriptCore/heap/MarkedBlock.cpp
Log Message:
-----------
REGRESSION(284376 at main)[WPE]: Build broken with GCC and ARM64
https://bugs.webkit.org/show_bug.cgi?id=280614
Reviewed by Michael Catanzaro and Keith Miller.
GCC is failing to build on ARM64 after 284376 at main with this error:
"error: address of explicit register variable ‘savedActualVM’ requested"
And that is because the variables `savedActualVM` and `savedBitfield` are
marked as register storage variables, but is not possible to take the
address of a register variable, which is needed to pass them into the
lambda by reference.
Not sure how Clang deals with this, I guess it automatically decides to
use heap storage for this two variables.
I tried to manually do that for this two variables but then GCC warns with:
"warning: optimization may eliminate reads and/or writes to register variables [-Wvolatile-register-var]"
due to the conflicting usage of "volatile register" in DEFINE_SAVED_VALUE()
for ARM64, so just fix this by using the version of DEFINE_SAVED_VALUE()
that uses heap variables when the compiler is GCC.
* Source/JavaScriptCore/heap/MarkedBlock.cpp:
Canonical link: https://commits.webkit.org/284460@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list