Linus Groh
790b21c8b5
LibJS: Convert Date::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
0eeb3164fa
LibJS: Convert DataView::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
efbd8ee072
LibJS: Convert BoundFunction::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
b48fa8756f
LibJS: Convert BooleanObject::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
cf0a24ff0c
LibJS: Convert BigIntObject::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
6528cbf51b
LibJS: Convert AsyncFromSyncIterator::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
4763cab323
LibJS: Convert ArrayIterator::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
947ea92bf6
LibJS: Convert ArrayBuffer::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
91b0123eaf
LibJS: Convert Array::create{,_from}() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
0c50751c13
LibJS: Convert AggregateError::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
2b92c15b34
LibJS: Convert Accessor::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Timothy Flynn
0ec433edce
LibJS: Explictly assert that a null GCPtr is not dereferenced
2022-12-14 09:59:35 +00:00
Luke Wilde
ce39c907fd
LibJS: Support MM/DD/YYYY HH:MM <timezone-offset> format for Date
...
Required by Discord to determine if it should show Christmas themed
loading tips on the loading screen.
Fixes #16473 .
2022-12-13 21:42:28 +00:00
Linus Groh
3b64610834
LibJS: Add spec comments to AggregateErrorConstructor
2022-12-12 21:26:12 +00:00
Linus Groh
172738222c
LibJS: Update get_substitution() section number & parameter name
2022-12-12 21:26:12 +00:00
Linus Groh
19ea0d8dcf
LibJS: Add spec comments to get_this_environment()
2022-12-12 21:26:12 +00:00
Linus Groh
c6638f53c0
LibJS: Add spec comments to new_object_environment()
2022-12-12 21:26:12 +00:00
Linus Groh
1cd46af7b0
LibJS: Add spec comments to new_declarative_environment()
2022-12-12 21:26:12 +00:00
Linus Groh
d51ab20aaa
LibJS: Add spec comment to length_of_array_like()
2022-12-12 21:26:12 +00:00
Linus Groh
e4b388ea5a
LibJS: Use modulo() for modulo operations in Value.cpp
2022-12-12 21:26:12 +00:00
Luke Wilde
2f3ebce7c8
LibJS: Keep GeneratorObject's stored execution context's internals alive
...
This would previously crash with a heap UAF when storing the result of
`yield 1` into `e` on the second `next` call:
```js
function* a() { const e = yield 1; }
b = a();
b.next();
gc();
b.next();
```
2022-12-12 13:58:32 +00:00
Luke Wilde
6431dd7904
LibJS: Make it possible to visit the edges of an ExecutionContext
2022-12-12 13:58:32 +00:00
Luke Wilde
40cc38869e
LibJS: Move ExecutionContext function implementations out of line
2022-12-12 13:58:32 +00:00
Linus Groh
ff5882291f
LibJS: Rename same_value_non_{numeric => number}() and handle BigInts
...
This is an editorial change in the ECMA-262 spec.
See: f660b14
Note that the explicit check for zero sign equality is no longer needed
as of b0d6399
, which removed the ability of Crypto::SignedBigInteger to
represent negative zero.
2022-12-10 11:35:20 +00:00
Linus Groh
78895984e9
LibJS: Add spec comments to Value::invoke_internal()
2022-12-10 11:23:23 +00:00
Linus Groh
14e5003ece
LibJS: Add spec comments to is_less_than()
2022-12-10 11:23:23 +00:00
Linus Groh
f1d8a64510
LibJS: Add spec comments to is_strictly_equal()
2022-12-10 11:23:23 +00:00
Linus Groh
abf1ba89cd
LibJS: Add spec comments to same_value_non_numeric()
2022-12-10 11:23:23 +00:00
Linus Groh
625ad4192f
LibJS: Add spec comments to same_value_zero()
2022-12-10 11:23:23 +00:00
Linus Groh
44a243cae4
LibJS: Add spec comments to same_value()
2022-12-10 11:23:23 +00:00
Linus Groh
c892b1c2b6
LibJS: Add spec comments to ordinary_has_instance()
2022-12-10 11:23:23 +00:00
Linus Groh
0b35c24c9c
LibJS: Add spec comments to instance_of()
2022-12-10 11:23:23 +00:00
Linus Groh
d74ce90e74
LibJS: Add spec comments to exp{,_double}()
2022-12-10 11:23:23 +00:00
Linus Groh
eb4ea557f1
LibJS: Add spec comments to mod()
2022-12-10 11:23:23 +00:00
Linus Groh
dc747b3dd4
LibJS: Add spec comments to div()
2022-12-10 11:23:23 +00:00
Linus Groh
f0f476079b
LibJS: Add spec comments to mul()
2022-12-10 11:23:23 +00:00
Linus Groh
51cdf2cdef
LibJS: Add spec comments to sub()
2022-12-10 11:23:23 +00:00
Linus Groh
d5359164b1
LibJS: Add spec comments to add()
2022-12-10 11:23:23 +00:00
Linus Groh
e27ef63217
LibJS: Add spec comments to unsigned_right_shift()
2022-12-10 11:23:23 +00:00
Linus Groh
b66f9a8718
LibJS: Add spec comments to right_shift()
2022-12-10 11:23:23 +00:00
Linus Groh
8aa19a8a60
LibJS: Add spec comments to left_shift()
2022-12-10 11:23:23 +00:00
Linus Groh
08f6be1715
LibJS: Add spec comments to unary_minus()
2022-12-10 11:23:23 +00:00
Linus Groh
4458b7bf19
LibJS: Add spec comments to unary_plus()
2022-12-10 11:23:23 +00:00
Linus Groh
c23d8c7486
LibJS: Add spec comments to bitwise_not()
2022-12-10 11:23:23 +00:00
Linus Groh
f0f2dd5850
LibJS: Add spec comments to bitwise_xor()
2022-12-10 11:23:23 +00:00
Linus Groh
07f9ae908c
LibJS: Add spec comments to bitwise_or()
2022-12-10 11:23:23 +00:00
Linus Groh
9d3d4a760f
LibJS: Add spec comments to bitwise_and()
2022-12-10 11:23:23 +00:00
Linus Groh
3a8c704d19
LibJS: Add spec comments to less_than_equals()
2022-12-10 11:23:23 +00:00
Linus Groh
e53c8ae593
LibJS: Add spec comments to less_than()
2022-12-10 11:23:23 +00:00
Linus Groh
27ed1f6d5e
LibJS: Add spec comments to greater_than_equals()
2022-12-10 11:23:23 +00:00