Commit graph

33710 commits

Author SHA1 Message Date
Andreas Kling
1c5ffaae41 Kernel: Only update page tables for faulting region
When a page fault led to the mapping of a new physical page, we were
updating the page tables for *every* region that shared the same
underlying VMObject.

Let's just not do that, avoiding a bunch of unnecessary page table
updates and TLB invalidations.
2022-02-02 02:16:49 +01:00
Easton Pillay
4389c7de25 Base: Add missing FileTypes for PixelPaint
As mentioned in today's monthly update video, the Open With menu
doesn't show Pixel Paint for most image file types.
This commit brings it in sync with Image Viewer,
since everything seems to open correctly anyway :)
2022-02-01 23:44:39 +00:00
Thitat Auareesuksakul
411251bae9 LibGUI: Rename Close to Discard in MessageBox::ask_about_unsaved_changes 2022-02-01 20:45:11 +01:00
Andreas Kling
a599f68cfe PixelPaint: Paint layer thumbnails with correct aspect ratio 2022-02-01 10:49:13 +01:00
Maciej
399d1ff961 LibGUI: Allow only one CommandPalette at once to be opened
Previously it was possible to open CommandPalette for
a CommandPalette :^)
2022-02-01 10:32:24 +01:00
Lucas CHOLLET
daec521010 Build: Remove hardcoded executable path
Let which find the fuse2fs executable path for us, as it is not in
`/usr/sbin` in every distro.
2022-02-01 10:20:54 +01:00
Brian Gianforcaro
13f92627b2 Base: Add open links to all of the game man pages 2022-02-01 10:07:10 +01:00
thankyouverycool
a593b83189 LibGfx+Applications: Add human readable name helper for fonts
This returns a more comprehensible name than raw weight and slope
metrics and is intended for use in UIs. Now displays human readable
font names in FontSettings, TerminalSettings and CharacterMap.
2022-02-01 10:06:26 +01:00
thankyouverycool
96895cd22c Everywhere: Fully qualify font names by including their slope
Fixes typefaces of the same weight but different slopes being
incorrectly returned for each other by FontDatabase.
2022-02-01 10:06:26 +01:00
thankyouverycool
87a149c9a4 LibGfx: Determine slope attributes for TrueTypeFonts from tables
First checks the OS/2 table for an oblique selection flag before
falling back on italic flags.
2022-02-01 10:06:26 +01:00
alexmajor
a79e730839 sleep: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
55496ab7fb shutdown: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
2f1717182e stty: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
e3dbe19018 sql: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
c72930fdef shot: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
ad7845ed7d sysctl: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
61f2b7434f syscall: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
6deb032335 sync: Port to LibMain 2022-02-01 04:58:24 +00:00
Jagger De Leo
742cca4bfe Starfield: Add app icon
Previously, Starfield used app-screensaver icon.
2022-02-01 04:11:56 +00:00
Lady Gegga
c5e1163c64 Base: Add Arabic Extended-A characters to font Katica Regular 10
08B8, 08A6, 08AE, 08C2, 08BB-08BD, 08B2, 08B4, 08B5
https://www.unicode.org/charts/PDF/U08A0.pdf
2022-02-01 00:17:02 +00:00
Lady Gegga
1efcc50071 Base: Add Arabic Supplement characters to font Katica Regular 10
077E, 075D, 075C, 0750-0758, 075A, 0760-076E, 0773-077F, 075B
https://www.unicode.org/charts/PDF/U0750.pdf
2022-02-01 00:17:02 +00:00
Lady Gegga
3b2bdcded8 Base: Add Arabic characters to font Katica Regular 10
0683, 0684, 0686, 06A7-06AA, 06C6-06CB, 06FA-06FC,
0674-0677, 06B9, 06BA, 06BD, 0615, 066F, 0670, 06A6,
06AC-06B0, 06FD, 06C4, 06C5, 06D0, 06D1
https://www.unicode.org/charts/PDF/U0600.pdf
2022-02-01 00:17:02 +00:00
Lady Gegga
b432bbe291 Base: Adjust 066E, 067A-0680, 0642, 06A5, 06A6 in Katica Regular 10
Adjust 066E, 067A-0680, make sure all characters based on BEH 0628
has the same base form.
Move 0642 up 1 px for alignment with the rest of the glyphs.
Change codepoint for 06A5 to 06A4 and 06A6 to 06A5
2022-02-01 00:17:02 +00:00
Idan Horowitz
2cd3d4a287 LibJS: Implement Intl %SegmentIteratorPrototype%.next ( ) 2022-01-31 21:05:04 +02:00
Idan Horowitz
366468f1de LibJS: Implement Intl %SegmentsPrototype%.containing 2022-01-31 21:05:04 +02:00
Idan Horowitz
96af50bbba LibJS: Implement the Intl CreateSegmentDataObject AO 2022-01-31 21:05:04 +02:00
Idan Horowitz
cea6c81c77 LibJS: Implement the Intl.Segmenter FindBoundary AO 2022-01-31 21:05:04 +02:00
Idan Horowitz
b1d19b5917 LibJS: Convert Intl.Segmenter, Segments and SegmentIterator to Utf16
This is a precursor to implementing the FindBoundary AO, which operates
on Utf16 code unit indexes.
2022-01-31 21:05:04 +02:00
Idan Horowitz
4967bcd4ce LibUnicode: Implement sentence segmentation 2022-01-31 21:05:04 +02:00
Idan Horowitz
a593a5c8ab LibUnicode: Implement word segmentation 2022-01-31 21:05:04 +02:00
Idan Horowitz
58b0eed6a7 LibUnicode: Implement grapheme segmentation 2022-01-31 21:05:04 +02:00
Idan Horowitz
44e8c05c67 AK: Add a Utf16View::code_unit_offset_of(Utf16CodePointIterator) helper
This helper can be used to used to retrieve the code unit offset of an
active Utf16CodePointIterator efficiently.
2022-01-31 21:05:04 +02:00
Idan Horowitz
2d50c08f34 LibUnicode: Download and parse {Grapheme,Word,Sentence} break props 2022-01-31 21:05:04 +02:00
Timothy Flynn
6efbafa6e0 Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
Timothy Flynn
02b7bf34c9 LibJS: Implement BigInt IsLessThan according to the spec 2022-01-31 17:50:54 +00:00
Timothy Flynn
9ad3debf35 LibJS: Implement BigInt loose-equality according to the spec 2022-01-31 17:50:54 +00:00
Timothy Flynn
281b0411f2 LibJS: Implement conversion of strings to BigInts according to the spec
The spec defines a StringToBigInt AO which allows for converting binary,
octal, decimal, and hexadecimal strings to a BigInt. Our conversion was
only allowing for decimal strings.
2022-01-31 17:50:54 +00:00
Timothy Flynn
94a346c9b9 AK: Add is_ascii_[binary,octal]_digit to CharacterTypes 2022-01-31 17:50:54 +00:00
Timothy Flynn
0013227377 LibCrypto: Change UnsignedBigInteger parser to use a StringView
SignedBigInteger already accepts a StringView; let's avoid the heap
allocation in UnsignedBigInteger.
2022-01-31 17:50:54 +00:00
Andreas Kling
6b5f6d6c0e LibJS: Add a 96-byte CellAllocator
Two of our most frequently allocated objects are Shape (88 bytes)
and DeclarativeEnvironment (80 bytes). Putting these into 128-byte
cells was quite wasteful, so let's add a more suitable allocator
for them.
2022-01-31 16:19:23 +01:00
Andreas Kling
8bdf6441b1 LibJS: Use u32 for the JS::Shape property count
We don't need to support more than 2^32 object properties anyway, so
there's no point in using 64-bit property counts.

This small reduction in memory usage makes test-js run ~10% faster on
x86_64 locally.
2022-01-31 16:19:23 +01:00
Andreas Kling
7a742b17da LibJS: Store ECMAScriptFunctionObject bytecode in an OwnPtr
Using an Optional was extremely wasteful for function objects that don't
even have a bytecode executable.

This allows ECMAScriptFunctionObject to fit in a smaller size class.
2022-01-31 16:19:23 +01:00
Andreas Kling
8d3f92c844 LibJS: Make JS::ECMAScriptFunctionObject smaller by reordering members
...and making heavy use of bitfields.
2022-01-31 16:19:23 +01:00
Andreas Kling
fc04465fa3 LibJS: Remove unnecessary GlobalObject pointer from Environment
As it turns out, we didn't actually need this pointer. :^)
2022-01-31 16:19:23 +01:00
Andreas Kling
4a51165f5f LibJS: Reorganize JS::Shape members a little bit
Now that AK::Weakable doesn't have a bunch of padding at the end,
let's move the smaller members of JS::Shape to the end, since there's
nothing to fold into at the start.
2022-01-31 16:19:23 +01:00
Andreas Kling
1469057033 LibJS: Make JS::Shape smaller by using OwnPtr<HashMap> for transitions
Many shapes don't have any forward transitions to cache, so we can save
a bunch of memory (and time) by only creating the cache maps when
actually needed.
2022-01-31 16:19:23 +01:00
Andreas Kling
51e5cc4e13 AK: Remove thread safety gunk from userspace WeakPtr
The implicit thread safety stuff is only needed by the kernel version
of WeakPtr, as userspace already makes no guarantees about this.
2022-01-31 16:19:23 +01:00
Andreas Kling
30fcb07fe8 LibJS: Make JS::Environment smaller by reordering members
By putting `m_permanently_screwed_by_eval` first, it folds into the
padding at the end of the base class (JS::Cell).
2022-01-31 16:19:23 +01:00
Luke Wilde
7431f6073b LibWeb: Implement ChildNode.replaceWith 2022-01-31 15:25:36 +01:00
Luke Wilde
5a5e3a6ec3 LibWeb: Implement ChildNode.after 2022-01-31 15:25:36 +01:00