Shannon Booth 
								
							 
						 
						
							
							
							
							
								
							
							
								cb1c3e5ea5 
								
							 
						 
						
							
							
								
								LibJS: Use TimeZoneMethods in DisambiguatePossibleInstants  
							
							... 
							
							
							
							This commit partially updates the DisambiguatePossibleInstants AO to use
a time zone methods record in line with the latest spec. 
							
						 
						
							2024-03-02 12:27:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Shannon Booth 
								
							 
						 
						
							
							
							
							
								
							
							
								f95117f75d 
								
							 
						 
						
							
							
								
								LibJS: Use TimeZoneMethods in GetOffsetNanosecondsFor  
							
							... 
							
							
							
							Update to the latest version of the spec which was refactored to use
time zone methods record. This requires updating a whole bunch of
callers to pass through a record too.
This also ends up improving exceptions on a missing
getOffsetNanosecondsFor method. 
							
						 
						
							2024-03-02 12:27:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Shannon Booth 
								
							 
						 
						
							
							
							
							
								
							
							
								230ffc022c 
								
							 
						 
						
							
							
								
								LibJS: Update Temporal's GetPossibleInstantsFor to latest spec  
							
							... 
							
							
							
							The most noteworthy change is that we now pass through a Time Zone
Methods Record to this function instead of a raw object. 
							
						 
						
							2024-03-02 12:27:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Shannon Booth 
								
							 
						 
						
							
							
							
							
								
							
							
								aa9cdc2205 
								
							 
						 
						
							
							
								
								LibJS: Make DisambiguatePossibleInstants take a vector of NonullGCPtr  
							
							... 
							
							
							
							Instead of a raw pointer. Then deal with the fallout of making that
change. 
							
						 
						
							2024-03-02 12:27:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								3c74dc9f4d 
								
							 
						 
						
							
							
								
								LibJS: Segregate GC-allocated objects by type  
							
							... 
							
							
							
							This patch adds two macros to declare per-type allocators:
- JS_DECLARE_ALLOCATOR(TypeName)
- JS_DEFINE_ALLOCATOR(TypeName)
When used, they add a type-specific CellAllocator that the Heap will
delegate allocation requests to.
The result of this is that GC objects of the same type always end up
within the same HeapBlock, drastically reducing the ability to perform
type confusion attacks.
It also improves HeapBlock utilization, since each block now has cells
sized exactly to the type used within that block. (Previously we only
had a handful of block sizes available, and most GC allocations ended
up with a large amount of slack in their tails.)
There is a small performance hit from this, but I'm sure we can make
up for it elsewhere.
Note that the old size-based allocators still exist, and we fall back
to them for any type that doesn't have its own CellAllocator. 
							
						 
						
							2023-11-19 12:10:31 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								c911781c21 
								
							 
						 
						
							
							
								
								Everywhere: Remove needless trailing semi-colons after functions  
							
							... 
							
							
							
							This is a new option in clang-format-16. 
							
						 
						
							2023-07-08 10:32:56 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								70e8a9bc8b 
								
							 
						 
						
							
							
								
								LibJS: Remove unused is_valid_time_zone_numeric_utc_offset_syntax()  
							
							... 
							
							
							
							...as well as the underlying function:
parse_time_zone_numeric_utc_offset_syntax() 
							
						 
						
							2023-01-26 20:20:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								bb0362ec3b 
								
							 
						 
						
							
							
								
								LibJS: Port builtin_time_zone_get_offset_string_for() to String  
							
							
							
						 
						
							2023-01-26 20:20:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								95becb22ef 
								
							 
						 
						
							
							
								
								LibJS: Port format_iso_time_zone_offset_string() to String  
							
							
							
						 
						
							2023-01-26 20:20:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								c2656f4ee7 
								
							 
						 
						
							
							
								
								LibJS: Port format_time_zone_offset_string() to String  
							
							
							
						 
						
							2023-01-26 20:20:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								5a2dfc52f8 
								
							 
						 
						
							
							
								
								LibJS: Port create_temporal_time_zone() to String  
							
							
							
						 
						
							2023-01-26 20:20:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								0f5f9acc9c 
								
							 
						 
						
							
							
								
								LibJS: Port canonicalize_time_zone_name() to String  
							
							
							
						 
						
							2023-01-26 20:20:54 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								6e19ab2bbc 
								
							 
						 
						
							
							
								
								AK+Everywhere: Rename String to DeprecatedString  
							
							... 
							
							
							
							We have a new, improved string type coming up in AK (OOM aware, no null
state), and while it's going to use UTF-8, the name UTF8String is a
mouthful - so let's free up the String name by renaming the existing
class.
Making the old one have an annoying name will hopefully also help with
quick adoption :^) 
							
						 
						
							2022-12-06 08:54:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								57162ad510 
								
							 
						 
						
							
							
								
								LibJS: Rename IsValidTimeZoneName to IsAvailableTimeZoneName  
							
							... 
							
							
							
							This is an editorial change in the Temporal spec.
See: 873313b 
							
						 
						
							2022-10-17 12:56:05 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								72997c6b77 
								
							 
						 
						
							
							
								
								LibJS: Define IsValidTimeZoneName in terms of AvailableTimeZones  
							
							... 
							
							
							
							This is an editorial change in the Temporal spec.
See: d83dcf0 
							
						 
						
							2022-10-17 12:56:05 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								484c66125d 
								
							 
						 
						
							
							
								
								LibJS: Rename Get{IANA => Named}TimeZonePreviousTransition  
							
							... 
							
							
							
							This is an editorial change in the Temporal spec.
See: 6b759d1 
							
						 
						
							2022-10-16 14:45:09 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								8cc260107d 
								
							 
						 
						
							
							
								
								LibJS: Rename Get{IANA => Named}TimeZoneNextTransition  
							
							... 
							
							
							
							This is an editorial change in the Temporal spec.
See: 4b0246a 
							
						 
						
							2022-10-16 14:45:09 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								443ffab9dc 
								
							 
						 
						
							
							
								
								LibJS: Use infallible ParseTimeZoneOffsetString  
							
							... 
							
							
							
							This is an editorial change in the Temporal spec. See:
654e300 
							
						 
						
							2022-10-15 18:05:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								d992cba014 
								
							 
						 
						
							
							
								
								LibJS: Remove Temporal::DefaultTimeZone  
							
							... 
							
							
							
							This is an editorial change in the Temporal spec. See:
e232580 
							
						 
						
							2022-10-15 18:05:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								735e1c4e20 
								
							 
						 
						
							
							
								
								LibJS: Replace GetIANATimeZoneOffset[Ns] with GetNamedTimeZoneOffset[Ns]  
							
							... 
							
							
							
							This is an editorial change in the Temporal spec. See:
e44d36b 
							
						 
						
							2022-10-15 18:05:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								053cc90dbe 
								
							 
						 
						
							
							
								
								LibJS: Replace GetIANATimeZoneEpochValue with GetNamedTimeZoneEpoch[Ns]  
							
							... 
							
							
							
							This is an editorial change in the Temporal spec. See:
e834014 
							
						 
						
							2022-10-15 18:05:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								35c9aa7c05 
								
							 
						 
						
							
							
								
								LibJS: Hide all the constructors!  
							
							... 
							
							
							
							Now that the GC allocator is able to invoke Cell subclass constructors
directly via friendship, we no longer need to keep them public. :^) 
							
						 
						
							2022-08-29 03:24:54 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								694f66b5ca 
								
							 
						 
						
							
							
								
								LibJS: Replace GlobalObject with VM in Temporal AOs [Part 2/19]  
							
							
							
						 
						
							2022-08-23 13:58:30 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								0057d489bd 
								
							 
						 
						
							
							
								
								LibJS: Fix some clang-tidy warnings in Temporal  
							
							... 
							
							
							
							- Remove unused declarations of removed functions
- Remove unused includes
- Declare pointer values as `auto*` 
							
						 
						
							2022-04-04 19:22:58 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								a5ea066693 
								
							 
						 
						
							
							
								
								LibJS: Fix number types in GetISOPartsFromEpoch  
							
							... 
							
							
							
							This is an editorial change in the Temporal spec.
See: c5b645d 
							
						 
						
							2022-03-25 18:33:55 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								bc183dbbcb 
								
							 
						 
						
							
							
								
								LibJS: Replace uses of MarkedValueList with MarkedVector<Value>  
							
							... 
							
							
							
							This is effectively a drop-in replacement. 
							
						 
						
							2022-02-09 12:25:27 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								1d32ac7b8b 
								
							 
						 
						
							
							
								
								LibJS: Convert get_iana_time_zone_epoch_value() to MarkedVector<BigInt*>  
							
							
							
						 
						
							2022-02-09 12:25:27 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								af7003ebd2 
								
							 
						 
						
							
							
								
								LibJS: Convert 'possible instants' AOs to MarkedVector<Instant*>  
							
							... 
							
							
							
							Resolve TODOs suggesting the use of a strongly typed MarkedValueList
(a.k.a. MarkedVector<T>) in the following AOs:
- get_possible_instants_for()
- disambiguate_possible_instants() 
							
						 
						
							2022-02-09 12:25:27 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								31283b5e64 
								
							 
						 
						
							
							
								
								LibJS: Pass valid offset string directly to CreateTemporalTimeZone  
							
							... 
							
							
							
							This is an editorial change in the Temporal spec.
See:
- 75490b98b70e4b 
							
						 
						
							2022-01-23 00:22:10 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Luke Wilde 
								
							 
						 
						
							
							
							
							
								
							
							
								706296374b 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.ZonedDateTime.prototype.equals  
							
							
							
						 
						
							2021-11-07 15:35:16 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								38809f90d9 
								
							 
						 
						
							
							
								
								LibJS: Introduce & use FormatISOTimeZoneOffsetString  
							
							... 
							
							
							
							This is a normative change in the Temporal spec.
See: 6b7a993 
							
						 
						
							2021-11-04 16:45:54 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								97f6c6029f 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.TimeZone.prototype.getInstantFor()  
							
							
							
						 
						
							2021-11-01 21:39:45 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								92fdae178b 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.TimeZone.prototype.getPreviousTransition()  
							
							
							
						 
						
							2021-10-30 16:32:20 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								e9cbeeac45 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.TimeZone.prototype.getNextTransition()  
							
							
							
						 
						
							2021-10-30 16:32:20 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								5fde02184d 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.TimeZone.prototype.getPossibleInstantsFor()  
							
							
							
						 
						
							2021-10-30 16:32:20 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								cc00a726a8 
								
							 
						 
						
							
							
								
								LibJS: Convert TimeZone AOs to ThrowCompletionOr  
							
							
							
						 
						
							2021-09-16 13:53:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								830d484d78 
								
							 
						 
						
							
							
								
								LibJS: Change GetISOPartsFromEpoch's return type to ISODateTime  
							
							... 
							
							
							
							This AO can't throw so its optional is never empty. 
							
						 
						
							2021-09-16 13:53:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								e4c07c5b8f 
								
							 
						 
						
							
							
								
								LibJS: Make new_target parameter of all Temporal AOs a const*  
							
							... 
							
							
							
							These are passed to ordinary_create_from_constructor() in each case,
which takes the parameter as a const&, so these can also be const. 
							
						 
						
							2021-09-09 23:46:45 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								576be0f8e7 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.Instant.prototype.toString()  
							
							
							
						 
						
							2021-08-31 16:35:51 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								53c44bea00 
								
							 
						 
						
							
							
								
								LibJS: Mark getters of more Temporal objects [[nodiscard]]  
							
							... 
							
							
							
							PlainDate, PlainTime, and PlainDateTime already do this. All the others
should as well. 
							
						 
						
							2021-08-08 17:45:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								6c345c8107 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.ZonedDateTime.prototype.offset  
							
							
							
						 
						
							2021-08-05 19:19:40 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								1b9b995f93 
								
							 
						 
						
							
							
								
								LibJS: Use "T m_foo; // [[Foo]]" style for all Temporal internal slots  
							
							
							
						 
						
							2021-08-01 20:31:31 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								e511390423 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.TimeZone.prototype.getPlainDateTimeFor()  
							
							
							
						 
						
							2021-08-01 10:24:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								c4123d8aad 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.TimeZone.prototype.getOffsetStringFor()  
							
							
							
						 
						
							2021-08-01 10:24:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								c303bbde54 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.Now.plainDate()  
							
							... 
							
							
							
							...and ten required AOs we didn't have yet:
- BalanceISODate
- BalanceISODateTime
- BalanceISOYearMonth
- BalanceTime
- BuiltinTimeZoneGetPlainDateTimeFor
- GetISOPartsFromEpoch
- GetOffsetNanosecondsFor
- ParseTemporalTimeZone
- SystemDateTime
- ToTemporalTimeZone 
							
						 
						
							2021-07-27 19:51:44 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								96e63415b6 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.TimeZone.prototype.getOffsetNanosecondsFor()  
							
							
							
						 
						
							2021-07-25 23:44:36 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								bece2093f2 
								
							 
						 
						
							
							
								
								LibJS: Remove pointless 'explicit' from a couple of constructors  
							
							
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								7921d8ba91 
								
							 
						 
						
							
							
								
								LibJS: Start implementing Temporal.Duration  
							
							... 
							
							
							
							This patch adds the Duration object itself, its constructor and
prototype (currently empty), and three required abstract operations. 
							
						 
						
							2021-07-16 01:07:01 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								6c8f0fbb35 
								
							 
						 
						
							
							
								
								LibJS: Use more specific return types for some Temporal AOs  
							
							... 
							
							
							
							Instead of returning Object* we should be specific and return Instant*,
TimeZone* etc. 
							
						 
						
							2021-07-14 23:50:03 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								b816037739 
								
							 
						 
						
							
							
								
								LibJS: Add the ToTemporalInstant Abstract Operation & its requirements  
							
							... 
							
							
							
							This is Abstract Operation is required for the majority of
InstantConstructor's and InstantPrototype's methods.
The implementation is not entirely complete, (specifically 2 of the
underlying required abstract operations, ParseTemporalTimeZoneString
and ParseISODateTime are missing the required lexing, and as such are
TODO()-ed) but the majority of it is done. 
							
						 
						
							2021-07-12 19:05:17 +01:00