Matthew Olsson
7c0c1c8f49
LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr
2023-03-15 08:48:49 +01:00
Timothy Flynn
f3db548a3d
AK+Everywhere: Rename FlyString to DeprecatedFlyString
...
DeprecatedFlyString relies heavily on DeprecatedString's StringImpl, so
let's rename it to A) match the name of DeprecatedString, B) write a new
FlyString class that is tied to String.
2023-01-09 23:00:24 +00: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
Andreas Kling
6e973ce69b
LibJS: Add JS_CELL macro and use it in all JS::Cell subclasses
...
This is similar to what we already had with JS_OBJECT (and also
JS_ENVIRONMENT) but sits at the top of the Cell inheritance hierarchy.
2022-08-29 03:24:54 +02:00
Lenny Maiorani
a0367aa43b
DevTools+LibJS+LibWeb: Change class_name to use StringView
...
This helps make the overall codebase consistent. `class_name()` in
`Kernel` is always `StringView`, but not elsewhere.
Additionally, this results in the `strlen` (which needs to be done
when printing or other operations) always being computed at
compile-time.
2022-03-19 00:20:46 +00:00
Andreas Kling
f25899ca34
LibJS: Mark entire private environment chains during GC
2021-12-08 10:29:54 +01:00
Andreas Kling
5f7d008791
AK+Everywhere: Stop including Vector.h from StringView.h
...
Preparation for using Error.h from Vector.h. This required moving some
things out of line.
2021-11-10 21:58:58 +01:00
Andreas Kling
a97d75bb63
LibJS: Add default constructor for PrivateName
...
This avoids a round-trip through FlyString("") for every Reference.
2021-10-25 13:29:44 +02:00
davidot
13ead80ee6
LibJS: Add PrivateEnvironment
2021-10-20 23:19:17 +01:00