summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-01LibJS: Change "Record {}" to "Iterator Record {}" in commentsLinus Groh
This is an editorial change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/85d910c
2022-05-01LibJS: Change "Completion {}" to "Completion Record {}" in commentsLinus Groh
This is an editorial change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/15a7d8a
2022-05-01LibJS: Change "as [the] argument[s]" to "with arguments" in commentsLinus Groh
This is an editorial change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/e671b96
2022-05-01LibJS: Update outdated table reference in BoundFunctionCreateLinus Groh
2022-05-01LibJS: Rename some variables from "script body" to "script"Linus Groh
This is an editorial change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/38a2584
2022-05-01LibJS: Rename scope to environmentLinus Groh
This is an editorial change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/3246553
2022-05-01LibJS: Update spec comments testing presence of a fieldLinus Groh
This is an editorial change in the ECMA-262 spec. See: - https://github.com/tc39/ecma262/commit/497f99a - https://github.com/tc39/ecma262/commit/0b35749
2022-05-01LibJS: Update ValidateAndApplyPropertyDescriptor implementationLinus Groh
These are editorial changes in the ECMA-262 spec. See: - https://github.com/tc39/ecma262/commit/b9efa97 - https://github.com/tc39/ecma262/commit/6f4ff96 - https://github.com/tc39/ecma262/commit/3d18997 - https://github.com/tc39/ecma262/commit/b3c29fd
2022-05-01LibJS: Simplify Array.prototype.splice()Linus Groh
This is an editorial change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/193211a
2022-05-01LibJS: Update a couple of outdated spec commentsLinus Groh
These are editorial changes in the ECMA-262 spec. See: - https://github.com/tc39/ecma262/commit/e080a7f - https://github.com/tc39/ecma262/commit/c5a9094 - https://github.com/tc39/ecma262/commit/5091520 - https://github.com/tc39/ecma262/commit/1c6564b - https://github.com/tc39/ecma262/commit/e06c80c
2022-05-01LibJS: Remove assertions that are now part of structured headersLinus Groh
This is an editorial change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/4fde514
2022-05-01LibJS: Add missing comment in OrdinaryToPrimitiveLinus Groh
2022-05-01Documentation: Fix Typo in TransferringFiles.mdpython-69
Changed typo in command from Meta/serenity.run to Meta/serenity.sh run
2022-05-01Kernel: Stop exposing gateway fieldMaciej
It doesn't make sense after introduction of routing table which allows having multiple gateways for every interface, and isn't used by any of the userspace programs now.
2022-05-01ifconfig: Stop supporting setting/displaying default gatewayMaciej
The `route` command allows more sophiscated control over routing tables now, and supporting this in ifconfig is no longer meaningful.
2022-05-01LibC: Implement a faster memset routine for x86-64 in assemblyDaniel Bertalan
This commit addresses the following shortcomings of our current, simple and elegant memset function: - REP STOSB/STOSQ has considerable startup overhead, it's impractical to use for smaller sizes. - Up until very recently, AMD CPUs didn't have support for "Enhanced REP MOVSB/STOSB", so it performed pretty poorly on them. With this commit applied, I could measure a ~5% decrease in `test-js`'s runtime when I used qemu's TCG backend. The implementation is based on the following article from Microsoft: https://msrc-blog.microsoft.com/2021/01/11/building-faster-amd64-memset-routines Two versions of the routine are implemented: one that uses the ERMS extension mentioned above, and one that performs plain SSE stores. The version appropriate for the CPU is selected at load time using an IFUNC.
2022-05-01readelf: Add printing for STT_GNU_IFUNCDaniel Bertalan
2022-05-01LibELF: Fail gracefully when IFUNC resolver's object has textrelsDaniel Bertalan
.text sections of objects that contain textrels have to be writable during the relocation procedure. Because of this, we would segfault if we tried to execute IFUNC resolvers defined in them. Let's print a meaningful error message instead. Additionally, a warning is now printed when we load objects with textrels, as in the future, additional security mitigations might interfere with them being loaded.
2022-05-01LibELF: Add support for IFUNCsDaniel Bertalan
IFUNC is a GNU extension to the ELF standard that allows a function to have multiple implementations. A resolver function has to be called at load time to choose the right one to use. The PLT will contain the entry to the resolved function, so branching and more indirect jumps can be avoided at run-time. This mechanism is usually used when a routine can be made faster using CPU features that are available in only some models, and a fallback implementation has to exist for others. We will use this feature to have two separate memset implementations for CPUs with and without ERMS (Enhanced REP MOVSB/STOSB) support.
2022-05-01LibELF: Keep track of whether the PLT contains REL or RELA relocationsDaniel Bertalan
2022-05-01LibELF: Perform .relr.dyn relocations before .rel.dynDaniel Bertalan
IFUNC resolvers depend on the resolved function's address having been relocated by the time they are called. This means that relative relocations have to be done first. The linker is kind enough to put R_*_RELATIVE before R_*_IRELATIVE in .rel.dyn, but .relr.dyn contains relative relocations too.
2022-05-01LibELF: Relax restriction on allowed values of EI_OSABI to allow GNUAndrew Kaster
This check is here to make sure we only try to load serenity binaries. However, with -fprofile-instr-generate -fcoverage-mapping, clang sets the EI_OSABI field to 3, for GNU. The instrumentation uses a lot of retained COMDAT sections for coverage instrumentation that get the SHF_GNU_RETAINED section header flag set on them, forcing llvm to set the ABI to GNU.
2022-04-30LibJS: Stop fetching GlobalObject from target's realm in ArrayBufferIdan Horowitz
A function object's realm is not necessarily non-null (like when called via the Reflect API), so we can't blindly dereference it. Instead use the object's own GlobalObject.
2022-04-30LibJS: Reject -00000 as extended year in Date parsingIdan Horowitz
2022-04-30LibJS: Do not negate zero into negative zero in ToIntegerOrInfinityIdan Horowitz
When the input value was in the range of [-1, 0] we would incorrectly negate the resulting integer, resulting in -0 instead of the expected 0
2022-04-30Base+Documentation: Add UsingFontEditor markdown filedjwisdom
Applied all document rewordings as stated for in the PRs conversation section.
2022-04-30LibJS: Reorder parsing for TimeSpecWithOptionalTimeZoneNotAmbiguousIdan Horowitz
Because `TimeHour TimeZoneNumericUTCOffsetNotAmbiguous[opt] TimeZoneBracketedAnnotation[opt]` can be a subset of `TimeHourNotValidMonth TimeZone` we would not exhaust the whole input in some cases, which would result in an incorrectly thrown exception.
2022-04-30Kernel+route: Support global routing table deletionbrapru
2022-04-30Kernel: Make Route's operator== overload constbrapru
2022-04-30Base: SatoriMono10 Regular add glyphs to widen coveragedjwisdom
Box Drawing 2500-257F https://www.unicode.org/charts/PDF/U2500.pdf
2022-04-30Base: SatoriMono10 Bold add glyphs to widen coveragedjwisdom
Box Drawing 2500-257F https://www.unicode.org/charts/PDF/U2500.pdf
2022-04-30Base: Ataraxia10 Light add glyphs to widen coveragedjwisdom
Box Drawing 2500-257F https://www.unicode.org/charts/PDF/U2500.pdf
2022-04-30Base: Ataraxia10 Bold add glyphs to widen coveragedjwisdom
Box Drawing 2500-257F https://www.unicode.org/charts/PDF/U2500.pdf
2022-04-30Base: Rename Estonian emoji flag code sequence to 'EE'Karol Kosek
Previously, the Estonian flag used just a single E.
2022-04-30Base: Add Adlam to Katica Regular 10Lady Gegga
1E900-1E95F https://www.unicode.org/charts/PDF/U1E900.pdf
2022-04-30Base: Add Bassa Vah to Katica Regular 10Lady Gegga
16AD0-16AF5 https://www.unicode.org/charts/PDF/U16AD0.pdf
2022-04-30Ports: Set the correct prefix for libxml2Tim Schumacher
The prefix should apply both inside and outside the system. Having the full host path there only confuses software that is built inside the system, as well as other ports that prepend the host path themselves additionally.
2022-04-30LibC: Add all the `POSIX_FADV_*` constantsTim Schumacher
2022-04-29Ports: Remove no longer needed fnmatch.patchKenneth Myhra
We already have LibC/fnmatch.h with the necessary defines so these patches are no longer needed.
2022-04-29LibJS: Replace U+2212 MINUS SIGN with U+002D HYPHEN-MINUSLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/bbcd37b
2022-04-29LibJS: Add notes about lifetime of surrounding agentLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/54e4abc
2022-04-29LibJS: Fix numeric type confusion in GetEpochFromISOParts return valueLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/2a59eac
2022-04-29LibJS: Update for structured headers added to various Temporal AOsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/e6a15a5
2022-04-29LibJS: Drop "integral part of" languageLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/6ec1608
2022-04-29LibJS: Fix one more instance of Number value / integer confusionLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/5b1b783
2022-04-29LibJS: Define IsBuiltinCalendar in terms of AvailableCalendarsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/896b72d
2022-04-29LibJS: Rename DateFromFields to CalendarDateFromFields, etcLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/fd27b54
2022-04-29LibC: Implement posix_fadvise() (as a harmless no-op)Andreas Kling
2022-04-29LibC: Add more _POSIX_FOO constants to unistd.hAndreas Kling
Let's advertise more of our POSIX capabilities. :^)
2022-04-29LibC: Add MIN, MAX and howmany macros to sys/param.hAndreas Kling