Age | Commit message (Collapse) | Author |
|
This requires setting the FPEN field of the Architectural Feature Access
Control Register (CPACR_EL1) to 0b11.
|
|
The aarch64 processor is set up to trap on unaligned memory accesses, so
to enforce that the compiler correctly generates aligned accesses, the
-mstrict-align flag is needed. We also need the -Wno-cast-align as there
are some files in AK that don't build without the flag.
|
|
The SVC (supervisor call) instruction is used in userland to do
syscalls, and this commit adds the handling of syscalls to
Interrupts.cpp.
|
|
This commit adds R_AARCH64_RELATIVE to elf.h and uses it in
ELF::perform_relative_relocations to correctly verify the relocation
type. This is the only change needed to support relative relocations for
aarch64.
|
|
The code would access the __stack_chk_guard variable in main.cpp and
LibELF/Relocation.cpp before the loader was able to relocate itself, so
this commit disable the stack protector for the aarch64 build to make
sure that no accesses to __stack_chk_guard are inserted.
|
|
No behavior change.
|
|
|
|
|
|
|
|
|
|
This doesn't need to hold the string data.
|
|
|
|
`Rule::to_deprecated_string()` and
`DeclarationOrAtRule::to_deprecated_string()` are not used anywhere, so
we can just delete them.
|
|
|
|
|
|
|
|
|
|
|
|
Missed these before, oops.
|
|
Specifically, this uses FlyString, because the data gets held long-term
as a FlyString anyway.
|
|
While DeprecatedString and StringView use ASCII case-insensitivity when
matching, String uses the Unicode rules, so in order to match the spec,
we need to *not* use `String::equals_ignoring_case()`.
This function needs to be used everywhere that the spec refers to
an "ASCII case-insensitive match".
|
|
|
|
|
|
All it does is pass this to `URLParser::parse()` which takes a
StringView, so we might as well take one here too.
|
|
This doesn't need to be a full (Deprecated)String, so let's not force it
to be.
|
|
We don't need a full String/DeprecatedString inside this function, so we
might as well not force users to create one.
|
|
Reverts 5dce916a504.
Now:
> new RegExp('/').source
"\/"
This matches spec (and v8).
|
|
Strings include ASCII, UTF-8, and UTF-16
Co-authored-by: Andreas Krohn <hamburger1984@gmail.com>
|
|
On mouse move the pressed button is not present in the event argument
which causes the corresponding code to never fire. Instead it now stores
the original mouse down event and acts according to that on mouse move.
|
|
Note that for traversing words with ctrl+(left or right arrow) on the
keyboard, we want to "skip" some boundaries. Consider the text:
The ("quick") fox can't jump 32.3 feet, right?
Using "|" to denote word break boundaries, we will have:
|The| |(|"|quick|"|)| |fox| |can't| |jump| |32.3| |feet|,| |right|?|
When starting at "The" and using ctrl+right to move rightward in this
text, it is unlikely that users will want to break at every single one
of those boundaries. Most text editors, for example, will skip from the
end of "The" to the end of "quick", not breaking at the parentheses or
opening quotation marks.
We try to mimic such desired behavior here. It likely isn't perfect, but
we can improve upon it as we find edge cases.
|
|
For example the words "can't" and "32.3" should not have boundaries
detected on the "'" and "." code points, respectively.
The String test cases fixed here are because "b'ar" is now considered
one word.
|
|
|
|
This will be useful for e.g. finding the next boundary after a specific
index - we can just stop iterating once a condition is satisfied.
|
|
Similar to commit 6d710eeb431d4fc729e4692ac8db4270183cd039. Rather than
pick-and-chosing what to support, let's just support all encodings now,
as it is trivial. For example, LibGUI will want the UTF-32 overloads.
|
|
These algorithms are quite chonky, and more APIs around them are to be
added, so let's move them to their own files for a bit of organization.
|
|
Not quite there yet due to check_required_tags() / check_tag_types(),
but getting closer :^)
|
|
This one is slightly more involved: To make it nice, extract
all the Profile fields that belong to the header into a separate
struct.
|
|
|
|
|
|
If a block jumps before performing a compare, we'd need to recursively
find the first of the jumped-to block. While this is doable, it's not
really worth spending the time as most such cases won't actually qualify
for atomic loop rewrite anyway.
Fixes an invalid rewrite when `.+` is followed by an alternation, e.g.
/.+(a|b|c)/.
|
|
Previously we were only checking for overlap when the range wasn't in
inverse mode, which made us miss things like /[^x]x/; this patch makes
it so we don't miss that.
|
|
Previously we allowed it to match those, but the ECMA262 spec disallows
these (except in DotAll).
|
|
The default flag might not be zero, so don't assume masking off flags
will yield zero.
|
|
The spec doesn't require this, and no one else does so.
|
|
The current Meta/serenity.sh script only accepts the `gdb` subcommand,
not `debug`.
|
|
|
|
I had missed this in 21cc0c0cb2f because this tag is missing in
"Table 32 — Tag list" in the v2 ICC spec O_o. But it's in
"6.4.26 namedColorTag".
Also add a comment pointing to a page saying that all these tags
are very deprecated and not even recommended for new v2 profiles.
(That's how I noticed that namedColorTag was missing.)
|
|
|
|
|
|
Note that the default shellrc is most likely not valid posix sh code, so
passing --skip-shellrc is suggested until we come up with a separate
shellrc file for the POSIX parser to use when interactive.
|