summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-28Kernel: Move kernel region checks from x86 page fault handler to MMAndreas Kling
Ideally the x86 fault handler would only do x86 specific things and delegate the rest of the work to MemoryManager. This patch moves some of the address checks to a more generic place.
2022-01-28Kernel: Quickly reject userspace addresses in kernel_region_from_vaddr()Andreas Kling
This avoids taking and releasing the MM lock just to reject an address that we can tell from just looking at it that it won't ever be in the kernel regions tree.
2022-01-28Userland: Remove a bunch of unnecessary Vector importskleines Filmröllchen
How silly :^)
2022-01-28Applets/Audio: Use Array for the volume level bitmapskleines Filmröllchen
2022-01-28HexEditor: Use Array in FindDialog's optionskleines Filmröllchen
2022-01-28Chess: Don't use Vector in a literal iteratorkleines Filmröllchen
2022-01-28LibAudio: Use ArrayLike concept to remove duplicate Buffer constructorkleines Filmröllchen
2022-01-28AK: Allow constructing a JsonArray from any array-like typekleines Filmröllchen
2022-01-28AK: Allow constructing a JsonValue from a StringView explicitlykleines Filmröllchen
The next commit will destroy overload detection otherwise, so let's add this constructor. Currently, the same work is already done implicitly through the implicit `String(StringView)` constructor.
2022-01-28AK: Introduce the ArrayLike conceptkleines Filmröllchen
The ArrayLike type concept focuses on array-like data accesses. This means the ability to randomly index, obtain size information, as well as being able to expose the storage pointer. The last two already have the standard APIs `size` and `data`, respectively. The ArrayLike concept should always be fulfilled by Vector, FixedArray and Array as the three main array-like types. C-style arrays themselves of course can't fulfil ArrayLike (which could be considered ironic), but as we don't use them much anyways this isn't a problem.
2022-01-28LibTextCodec: Do not allocate the various decodersDaniel Bertalan
These objects contain no data members, so there is no point in creating 1-byte heap allocations for them. We don't need to have them as static local variables, as they are trivially constructible, so they can simply be global variables.
2022-01-28Userland: Fix unnecessary heap allocation of singleton objectsDaniel Bertalan
In order to avoid having multiple instances, we were keeping a pointer to these singleton objects and only allocating them when it was null. We have `__cxa_guard_{acquire,release}` in the userland, so there's no need to do this dance, as the compiler will ensure that the constructors are only called once.
2022-01-28RequestServer: Replace disconnected sockets in the grace period tooAli Mohammad Pur
We previously only replaced disconnected sockets on the queued-request path, leading to attempts to send requests on a disconnected socket if the disconnection happened in the deletion grace period.
2022-01-28LibCore: Change DateTime format strings to be StringViewsTimothy Flynn
There's no need to allocate a String for these. Note the "string" parameter of DateTime::parse is left as a String for now; the parser is currently using strtol which needs a NUL-terminated string. This method can likely be rewritten with GenericLexer.
2022-01-28LibCore: Remove time zone from default format stringTimothy Flynn
The default format string is used in many applications/services like FileManager/FileSystemAccessServer. Showing the time zone in e.g. the last modified time for every file in FileManager is feeling a bit over the top, so let's revert this change and assume the user is smart enough to know what time zone they are in.
2022-01-28date: Use an explicit time format string for default optionTimothy Flynn
This is to prepare for removing the time zone from DateTime's default format string. The date utility on most system show time zone by default so let's keep that.
2022-01-28run-tests: Dump a backtrace for crashed testsAli Mohammad Pur
It only makes sense to see what a crashed test was up to, so generate a backtrace if we can find the coredump and read it.
2022-01-28js: Use generic reference instead of Variant<A,B>Ali Mohammad Pur
As the two types are used in exactly the same way, just make the lambda generic over the type instead of explicitly moving them into a variant and then visiting with a generic lambda.
2022-01-28Documentation: Document setting UUID for VDI imageSergei Reznikov
2022-01-28LibJS: Implement Intl.PluralRules.prototype.resolvedOptionsTimothy Flynn
2022-01-28LibJS: Implement Intl.PluralRules.supportedLocalesOfTimothy Flynn
2022-01-28js: Implement pretty-printing of Intl.PluralRulesTimothy Flynn
2022-01-28LibJS: Implement the Intl.PluralRules constructorTimothy Flynn
2022-01-28LibJS: Implement a nearly empty Intl.PluralRules objectTimothy Flynn
This adds plumbing for the Intl.PluralRules object, constructor, and prototype.
2022-01-28LibJS: Move some Intl.NumberFormat fields into a NumberFormatBase classTimothy Flynn
Other Intl objects, such as PluralRules, are to be treated as a NumberFormat object in some AOs. There's only a handful of fields which are to be shared between those objects - move them to a base class for shared reuse. This also updates the couple of NumberFormat AOs that are meant to operate on these NumberFormat-like objects. Alternatively, we could just have objects like PluralRules inherit from NumberFormat directly. But that messes up the is<NumberFormat> runtime checks, so this feels safer.
2022-01-28Kernel: Remove unimplemented AHCIPort::is_hot_pluggable declarationIdan Horowitz
2022-01-28Kernel: Convert MemoryManager::allocate_user_physical_page to ErrorOrIdan Horowitz
This allows is to use the TRY macro at the call sites, instead of using clunky null checks.
2022-01-28Kernel: Make allocate_supervisor_physical_page OOM-fallibleIdan Horowitz
2022-01-28Kernel: Make allocate_contiguous_supervisor_physical_pages OOM-fallibleIdan Horowitz
2022-01-28Kernel: Use memset instead of fast_u32_fill in MemoryManager zero fillsIdan Horowitz
When the values we're setting are not actually u32s and the size of the area we're setting is PAGE_SIZE-aligned and a multiple of PAGE_SIZE in size, there's no point in using fast_u32_fill, as that forces us to use STOSDs instead of STOSQs.
2022-01-28Kernel: Make UHCIController::spawn_port_process OOM-fallibleIdan Horowitz
2022-01-28Kernel: Rename UHCIController::{spawn_port_proc => spawn_port_process}Idan Horowitz
There's no need to use this non-standard shorthand mnemonic. (This commit also removes the unimplemented do_debug_transfer while we're here.)
2022-01-28zip: Ignore symlinks when recursively zipping filesIdan Horowitz
This prevents infinite loops when symlinks point to a parent directory.
2022-01-28Meta: Set correct boot drive when running with SERENITY_NVME_ENABLEIdan Horowitz
2022-01-28CharacterMap: Move display name strings into the search results objectTimothy Flynn
Now that we're passing the display name directly to the search results structure, let's move() the string instead of copying it.
2022-01-28CharacterMap: Change the search widget to display results in a TableViewTimothy Flynn
Code points that have a bidirectional attribute of right-to-left (e.g. some Arabic and Hebrew code points) were causing the code point to render at the end of the search result, rather than the beginning. To keep the results consistent, split the search results into two columns: the first for the code point, the second for its name.
2022-01-28Revert "FileSystemAccessServer: Display times in the local time zone"Timothy Flynn
This reverts commit fa016a72fd8f0288de02f3aa8e7834b08b8f2238.
2022-01-28Revert "FileManager: Display times in the user's local time zone"Timothy Flynn
This reverts commit 080b054695f03df2f731d9a519432e3f196f48e6.
2022-01-28Revert "ls: Display times in the user's local time zone"Timothy Flynn
This reverts commit 0c13a3a8ff07a7dde8acc30ede885685c224ef64.
2022-01-28Revert "Userland: Invoke tzset in apps that care about time zones"Timothy Flynn
This reverts most of commit ede5c9548e55d8216dba21ed431b9e53d085a248. The one change not reverted is ClockWidget.h, so that the taskbar clock can continue to notice time zone changes.
2022-01-28LibMain: Invoke tzset in LibMain so all apps can have time zone infoTimothy Flynn
Rather than finding apps that benefit from time zone awareness one-by- one, and calling tzset in their serenity_main, let's do it in LibMain.
2022-01-28LibSoftGPU: Simplify clipping logicLenny Maiorani
The clipping logic is not DRY (Don't Repeat Yourself). The same logic is repeated in multiple parts of an `if-else` statement. This can be simplified to contain fewer branches and eliminate the redundant code.
2022-01-28FileSystemAccessServer: Display times in the user's local time zoneTimothy Flynn
2022-01-28FileManager: Display times in the user's local time zoneTimothy Flynn
2022-01-28ls: Display times in the user's local time zoneTimothy Flynn
ls is already using local time, but needs tzset() for that to actually work.
2022-01-28BrowserSettings: Use standard text placement for check box textTimothy Flynn
2022-01-28MailSettings: Use standard text placement for check box textTimothy Flynn
2022-01-28MouseSettings: Use standard text placement for check box textTimothy Flynn
2022-01-28HackStudio: Fix path to language-server IPC socketItamar
The path to the language server local socket was accidentally broken in 2e1bbcb.
2022-01-28Base: Add the Monokai terminal color schemekleines Filmröllchen