ladybird/Userland/Libraries/LibJS/Runtime/Intl
Andreas Kling 65717e3b75 LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive}
These functions all have a very common case that can be dealt with a
very simple inline check, often avoiding the need to call an out-of-line
function. This patch moves the common case to inline functions in a new
ValueInlines.h header (necessary due to header dependency issues..)

8% speed-up on the entire Kraken benchmark :^)
2023-10-07 07:13:52 +02:00
..
AbstractOperations.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
AbstractOperations.h LibJS: Stop propagating small OOM errors from Intl abstract operations 2023-09-05 08:08:09 +02:00
Collator.cpp LibJS: Remove Object(Object& prototype) footgun 2022-12-14 15:11:57 +01:00
Collator.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
CollatorCompareFunction.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
CollatorCompareFunction.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
CollatorConstructor.cpp LibJS: Stop propagating small OOM errors from Intl.Collator 2023-09-05 08:08:09 +02:00
CollatorConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
CollatorPrototype.cpp LibJS: Make PrimitiveString::create() infallible 2023-08-09 17:09:16 +02:00
CollatorPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
DateTimeFormat.cpp LibJS: Allow formatting UTC-offset time zones with Intl.DateTimeFormat 2023-10-05 17:01:02 +02:00
DateTimeFormat.h LibJS: Stop propagating small OOM errors from Intl.DateTimeFormat 2023-09-05 08:08:09 +02:00
DateTimeFormatConstructor.cpp LibJS: Correctly resolve locale hour cycles in Intl.DateTimeFormat 2023-10-05 17:01:02 +02:00
DateTimeFormatConstructor.h LibJS: Allow formatting UTC-offset time zones with Intl.DateTimeFormat 2023-10-05 17:01:02 +02:00
DateTimeFormatFunction.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
DateTimeFormatFunction.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
DateTimeFormatPrototype.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
DateTimeFormatPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
DisplayNames.cpp LibJS: Stop propagating small OOM errors from Intl abstract operations 2023-09-05 08:08:09 +02:00
DisplayNames.h LibJS: Port Intl locale resolution to String 2023-01-19 20:57:30 +00:00
DisplayNamesConstructor.cpp LibJS: Stop propagating small OOM errors from Intl abstract operations 2023-09-05 08:08:09 +02:00
DisplayNamesConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
DisplayNamesPrototype.cpp LibJS: Stop propagating small OOM errors from Intl abstract operations 2023-09-05 08:08:09 +02:00
DisplayNamesPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
DurationFormat.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
DurationFormat.h LibJS: Stop propagating small OOM errors from Intl.DurationFormat 2023-09-05 08:08:09 +02:00
DurationFormatConstructor.cpp LibJS: Stop propagating small OOM errors from Intl.DurationFormat 2023-09-05 08:08:09 +02:00
DurationFormatConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
DurationFormatPrototype.cpp LibJS: Stop propagating small OOM errors from Intl.DurationFormat 2023-09-05 08:08:09 +02:00
DurationFormatPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
Intl.cpp LibTimeZone+Userland: Include Link entries when returning all time zones 2023-10-05 17:01:02 +02:00
Intl.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
ListFormat.cpp LibJS: Stop propagating small OOM errors from Intl.ListFormat 2023-09-05 08:08:09 +02:00
ListFormat.h LibJS: Stop propagating small OOM errors from Intl.ListFormat 2023-09-05 08:08:09 +02:00
ListFormatConstructor.cpp LibJS: Stop propagating small OOM errors from Intl abstract operations 2023-09-05 08:08:09 +02:00
ListFormatConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
ListFormatPrototype.cpp LibJS: Stop propagating small OOM errors from Intl.ListFormat 2023-09-05 08:08:09 +02:00
ListFormatPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
Locale.cpp LibJS: Stop propagating small OOM errors from Intl.Locale 2023-09-05 08:08:09 +02:00
Locale.h LibJS: Stop propagating small OOM errors from Intl.Locale 2023-09-05 08:08:09 +02:00
LocaleConstructor.cpp LibJS: Stop propagating small OOM errors from Intl.Locale 2023-09-05 08:08:09 +02:00
LocaleConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
LocalePrototype.cpp LibJS: Stop propagating small OOM errors from Intl.Locale 2023-09-05 08:08:09 +02:00
LocalePrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
MathematicalValue.cpp LibJS: Stop propagating small OOM errors from Intl.MathematicalValue 2023-09-05 08:08:09 +02:00
MathematicalValue.h LibJS: Stop propagating small OOM errors from Intl.MathematicalValue 2023-09-05 08:08:09 +02:00
NumberFormat.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
NumberFormat.h LibJS: Stop propagating small OOM errors from Intl.NumberFormat 2023-09-05 08:08:09 +02:00
NumberFormatConstructor.cpp LibJS: Alphabetize handling some Intl.NumberFormat/PluralRules options 2023-10-05 17:01:02 +02:00
NumberFormatConstructor.h LibJS: Stop propagating small OOM errors from Intl.NumberFormat 2023-09-05 08:08:09 +02:00
NumberFormatFunction.cpp LibJS: Stop propagating small OOM errors from Intl.NumberFormat 2023-09-05 08:08:09 +02:00
NumberFormatFunction.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
NumberFormatPrototype.cpp LibJS: Alphabetize handling some Intl.NumberFormat/PluralRules options 2023-10-05 17:01:02 +02:00
NumberFormatPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PluralRules.cpp LibJS: Stop propagating small OOM errors from Intl.NumberFormat 2023-09-05 08:08:09 +02:00
PluralRules.h LibJS: Stop propagating small OOM errors from Intl.NumberFormat 2023-09-05 08:08:09 +02:00
PluralRulesConstructor.cpp LibJS: Stop propagating small OOM errors from Intl.NumberFormat 2023-09-05 08:08:09 +02:00
PluralRulesConstructor.h LibJS: Stop propagating small OOM errors from Intl.NumberFormat 2023-09-05 08:08:09 +02:00
PluralRulesPrototype.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
PluralRulesPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
RelativeTimeFormat.cpp LibJS: Stop propagating small OOM errors from Intl.RelativeTimeFormat 2023-09-05 08:08:09 +02:00
RelativeTimeFormat.h LibJS: Stop propagating small OOM errors from Intl.RelativeTimeFormat 2023-09-05 08:08:09 +02:00
RelativeTimeFormatConstructor.cpp LibJS: Stop propagating small OOM errors from Intl.RelativeTimeFormat 2023-09-05 08:08:09 +02:00
RelativeTimeFormatConstructor.h LibJS: Stop propagating small OOM errors from Intl.RelativeTimeFormat 2023-09-05 08:08:09 +02:00
RelativeTimeFormatPrototype.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
RelativeTimeFormatPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
Segmenter.cpp LibJS: Make Utf16String & related APIs infallible 2023-08-09 17:09:16 +02:00
Segmenter.h LibJS: Use iterative text segmentation algorithms for Intl.Segmenter 2023-02-16 11:18:53 +01:00
SegmenterConstructor.cpp LibJS: Stop propagating small OOM errors from Intl abstract operations 2023-09-05 08:08:09 +02:00
SegmenterConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SegmenterPrototype.cpp LibJS: Make PrimitiveString::create() infallible 2023-08-09 17:09:16 +02:00
SegmenterPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SegmentIterator.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SegmentIterator.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
SegmentIteratorPrototype.cpp LibJS: Make PrimitiveString::create() infallible 2023-08-09 17:09:16 +02:00
SegmentIteratorPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
Segments.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
Segments.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
SegmentsPrototype.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SegmentsPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SingleUnitIdentifiers.h LibJS+LibUnicode: Add "microsecond" and "nanosecond" as sanctioned units 2022-11-03 18:37:48 +00:00