1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 02:04:59 +00:00
serenity/Userland/Libraries/LibJS/Runtime/Temporal
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: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
Calendar.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
Calendar.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
CalendarConstructor.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
CalendarConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
CalendarPrototype.cpp LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
CalendarPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
Duration.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
Duration.h LibJS: Port temporal_duration_to_string() to String 2023-01-26 20:20:54 +00:00
DurationConstructor.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
DurationConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
DurationPrototype.cpp LibJS: Make PrimitiveString::create() infallible 2023-08-09 17:09:16 +02:00
DurationPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
Instant.cpp Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
Instant.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
InstantConstructor.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
InstantConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
InstantPrototype.cpp LibJS: Make PrimitiveString::create() infallible 2023-08-09 17:09:16 +02:00
InstantPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
ISO8601.cpp LibJS/Temporal: Allow annotations after YYYY-MM and MM-DD 2023-02-11 18:42:32 +00:00
ISO8601.h LibJS/Temporal: Allow annotations after YYYY-MM and MM-DD 2023-02-11 18:42:32 +00:00
Now.cpp LibJS: Implement time zone identifier AOs centrally within Date 2023-10-05 17:01:02 +02:00
Now.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainDate.cpp LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PlainDate.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PlainDateConstructor.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainDateConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainDatePrototype.cpp LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
PlainDatePrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainDateTime.cpp LibJS: Make the options arg of InterpretTemporalDateTimeFields nullable 2023-07-01 06:51:25 +02:00
PlainDateTime.h LibJS: Make the options arg of InterpretTemporalDateTimeFields nullable 2023-07-01 06:51:25 +02:00
PlainDateTimeConstructor.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainDateTimeConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainDateTimePrototype.cpp LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
PlainDateTimePrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainMonthDay.cpp LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PlainMonthDay.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PlainMonthDayConstructor.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainMonthDayConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainMonthDayPrototype.cpp LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
PlainMonthDayPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainTime.cpp AK: Make "foo"_string infallible 2023-08-07 16:03:27 +02:00
PlainTime.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PlainTimeConstructor.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainTimeConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainTimePrototype.cpp LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
PlainTimePrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainYearMonth.cpp LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PlainYearMonth.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PlainYearMonthConstructor.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainYearMonthConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
PlainYearMonthPrototype.cpp LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
PlainYearMonthPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
Temporal.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
Temporal.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
TimeZone.cpp LibJS+LibWeb: Move IteratorOperations.h AOs to Iterator.h 2023-07-19 14:11:43 +01:00
TimeZone.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
TimeZoneConstructor.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
TimeZoneConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
TimeZonePrototype.cpp LibJS: Make PrimitiveString::create() infallible 2023-08-09 17:09:16 +02:00
TimeZonePrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
ZonedDateTime.cpp LibJS: Make PrimitiveString::utf8_string() infallible 2023-08-09 17:09:16 +02:00
ZonedDateTime.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
ZonedDateTimeConstructor.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
ZonedDateTimeConstructor.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
ZonedDateTimePrototype.cpp LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
ZonedDateTimePrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00