summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-11Meta: Update WebAssembly testsuite branch nameAli Mohammad Pur
The 'master' branch is no longer updated, they've switched to 'main'.
2021-11-11LibDSP: Optimize note processingkleines Filmröllchen
Previously, a collection of notes (Vector or Array) would be created and promptly deleted for every sample (at least 44 thousand times per second!). This was measured to be one of the most significant performance drawbacks as well as the most obvious performance improvement I could currently find here. Although it will not cause Piano to lag currently (at least on virtualized systems), I see an incoming issue once we get the capability to use more processors. Now, we use a HashMap correlating pitches to notes, and Track reuses the data structure in order to avoid reallocations. That is the reason for introducing the fast clear_with_capacity to HashMap.
2021-11-11LibDSP: Move to constexpr wherever possiblekleines Filmröllchen
2021-11-11LibDSP: Clean up ProcessorParameter headerkleines Filmröllchen
2021-11-11AK: Allow to clear HashTables/Maps with capacityHendiadyoin1
2021-11-10Solitaire: Fix 3 card draw from reversing after an undoCamron
Solitaire: Fix 3 card draw from reversing after an undo Co-Authored-By: Tim Flynn <trflynn89@pm.me>
2021-11-11LibCrypto: Pass AK::Bytes by valueAndreas Kling
2021-11-11Everywhere: Pass AK::ReadonlyBytes by valueAndreas Kling
2021-11-11Everywhere: Pass AK::StringView by valueAndreas Kling
2021-11-11Kernel/Ext2FS: Propagate HashMap errors instead of panickingAndreas Kling
2021-11-11AK: Make HashTable and HashMap try_* functions return ErrorOr<T>Andreas Kling
This allows us to use TRY() and MUST() with them.
2021-11-11LibJS: Add missing (void) to handle [[nodiscard]] TRY() resultLinus Groh
2021-11-10LibJS: Implement the rest of to_temporal_month_day()Linus Groh
Always throws at the moment, because parse_temporal_month_day_string() is basically a stub, and parse_iso_date_time() isn't functional either. The spec issue has been resolved though, so I figured we might as well get one small step further :^)
2021-11-10LibJS: Rename ZonedDateTime's MatchBehavior enum members to match specLinus Groh
2021-11-10Kernel/Ext2FS: Propagate errors from block list computation functionsAndreas Kling
2021-11-10Kernel: Propagate Vector append errors in two places in Ext2FSAndreas Kling
There are a bunch more of these, just taking care of some simple ones.
2021-11-10Kernel: Make Inode::traverse_as_directory() callback return ErrorOrAndreas Kling
This allows us to propagate errors from inside the callback with TRY().
2021-11-10AK: Make ByteBuffer::try_* functions return ErrorOr<void>Andreas Kling
Same as Vector, ByteBuffer now also signals allocation failure by returning an ENOMEM Error instead of a bool, allowing us to use the TRY() and MUST() patterns.
2021-11-10AK: Make Vector::try_* functions return ErrorOr<void>Andreas Kling
Instead of signalling allocation failure with a bool return value (false), we now use ErrorOr<void> and return ENOMEM as appropriate. This allows us to use TRY() and MUST() with Vector. :^)
2021-11-10AK+LibJS: Simplify MUST() and move it from LibJS to AK/Try.hAndreas Kling
This is generally useful so let's move it to AK. Also it seems that we don't need the temporary variable hack anymore, so let's lose that.
2021-11-10AK+Everywhere: Stop including Vector.h from StringView.hAndreas Kling
Preparation for using Error.h from Vector.h. This required moving some things out of line.
2021-11-10LibWeb: Make property_initial_value() return a NonnullRefPtrSam Atkins
The finale! Users can now be sure that the value is valid, which makes things simpler.
2021-11-10LibWeb: Ensure that CSS initial values are always valid :^)Sam Atkins
First off, this verifies that an initial value is always provided in Properties.json for each property. Second, it verifies that parsing that initial value succeeds. This means that a call to `property_initial_value()` will always return a valid StyleValue. :^)
2021-11-10LibWeb: Allow `none` value for `transform` propertySam Atkins
This is the initial value for `transform`. We already handle the value later, we just were not parsing it.
2021-11-10LibWeb: Add initial values for all CSS propertiesSam Atkins
It's a little verbose to repeat these in cases like the borders, but if everything has an initial value, we can guarantee that `property_initial_value()` will return something! :^)
2021-11-10LibWeb: Add initial values and longhands to `background` definitionSam Atkins
There is no specified initial value, but `transparent` is equivalent to setting all the background properties to their defaults.
2021-11-10LibWeb: Correct initial values in Properties.jsonSam Atkins
- `align-items`: `normal` is the initial value in the CSS-ALIGN spec, but `stretch` is in CSS-FLEXBOX. The FLEXBOX spec is the one we've actually implemented elsewhere, and ALIGN adds new values with special syntax, so it's not trivial to add it here. - `border-spacing`: `0` is equivalent to `0px 0px` and we don't yet parse the double-value syntax. - `text-decoration-thickness`: Had the wrong value.
2021-11-10LibJS: Remove left-over debug assertion from the Await AOIdan Horowitz
2021-11-10LibJS: Do not parse async methods with a new line after the "async"Idan Horowitz
This was already checked in normal function expressions, but was missing for Object Expressions.
2021-11-10Kernel: Make (f)statvfs report filesystem ID correctlyBen Wiederhake
2021-11-10Kernel: Fix TOCTOU in fstatvfsBen Wiederhake
In particular, fstatvfs used to assume that a file that was earlier opened using some path will forever be at that path. This is wrong, and in the meantime new mounts and new filesystems could take up the filename or directories, leading to a completely inaccurate result. This commit improves the situation: - All filesystem information is now always accurate. - The mount flags *might* be erroneously zero, if the custody for the open file is not available. I don't know when that might happen, but it is definitely not the typical case.
2021-11-10Ports: Use GNU patch instead of the OpenBSD versionTim Schumacher
The OpenBSD version is having some weird issues, so: Reject OpenBSD, return to GNU.
2021-11-10Utilities: tar: Always create parent directory when extractingTim Schumacher
2021-11-10LibSQL: Implement table joinsJan de Visser
This patch introduces table joins. It uses a pretty dumb algorithm- starting with a singleton '__unity__' row consisting of a single boolean value, a cartesian product of all tables in the 'FROM' clause is built. This cartesian product is then filtered through the 'WHERE' clause, again without any smarts just using brute force. This patch required a bunch of busy work to allow for example the ColumnNameExpression having to deal with multiple tables potentially having columns with the same name.
2021-11-10LibSQL: Relax assignment rules for Null ValuesJan de Visser
It should be possible to assign a Value of any type to a Value which currently is Null.
2021-11-10LibSQL: Add current statement to the ExecutionContextJan de Visser
Because SQL is the craptastic language that it is, sometimes expressions need to know details about the calling statement. For example the tables in the 'FROM' clause may be needed to determine which columns are referenced in 'WHERE' expressions. So the current statement is added to the ExecutionContext and a new 'execute' overload on Statement is created which takes the Database and the Statement and builds an ExecutionContaxt from those.
2021-11-10LibSQL: Add 'schema' and 'table' to TupleElementDescriptorJan de Visser
These are needed to distinguish columns from different tables with the same column name in one and the same (joined) Tuple. Not quite happy yet with this API; I think some sort of hierarchical structure would be better but we'll burn that bridge when we get there :^)
2021-11-10LibSQL: Add the 'extend' operation to the Tuple classJan de Visser
Tuple::extend is similar to the Vector method of the same name; it concatenates a second Tuple to the current one.
2021-11-10LibSQL: Add SQL files to assist in troubleshootingJan de Visser
These files contain the same SQL statements as the similarly named tests in Tests/LibSQL/TestSqlStatementExecution.cpp test suite. They can be fed to the sql utility to assist in troubleshooting failing tests.
2021-11-10strace: Interpret errno codes for pointer-like return codesBen Wiederhake
2021-11-10strace: Switch to new flag handler, support more flagsBen Wiederhake
In particular, strace now supports all O_*, MSG_*, MAP_*, and PROT_* flags, as well as a more context-dependent default value (e.g. "PROT_NONE").
2021-11-10strace: Better support for bitflags, show unrecognized flagsBen Wiederhake
2021-11-10CMake: Build serenity_lib libraries with a custom SONAMETim Schumacher
This allows libraries and binaries to explicitly link against `<library>.so.serenity`, which avoids some confusion if there are other libraries with the same name, such as OpenSSL's `libcrypto`.
2021-11-10CMake: Remove unused serenity_shared_lib functionTim Schumacher
2021-11-10FileIconProvider: Add soname libraries to the icon listTim Schumacher
2021-11-10Everywhere: Move shared library checks into a common functionTim Schumacher
While we're at it, unify the various different conditions that are scattered accross the codebase.
2021-11-10LibCoredump: Restrict library name check when querying symbolsTim Schumacher
`object_name()` already returns the cleaned library name, and we currently don't have any libraries with suffixes in /usr/lib, so we can convert this to an `ends_with()` check.
2021-11-10Emulator: Restrict library name check when querying symbolsTim Schumacher
Libraries in /usr/lib currently only end in .so, so no contains() is needed for now.
2021-11-10Emulator: Use existing queried library name in load checkTim Schumacher
We already asked the region about what its library name is, and we also use that value when maybe constructing a path, so let's make the check use that as well.
2021-11-10Profiler: Use existing path split when mmapping librariesTim Schumacher
We already extracted the `path` part of the segment name, so use that for checking if the filename looks like a shared library.