1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:18:14 +00:00
serenity/Userland/Libraries/LibJS
Linus Groh f9705eb2f4 LibJS: Replace GlobalObject with VM in Intl AOs [Part 1/19]
Instead of passing a GlobalObject everywhere, we will simply pass a VM,
from which we can get everything we need: common names, the current
realm, symbols, arguments, the heap, and a few other things.

In some places we already don't actually need a global object and just
do it for consistency - no more `auto& vm = global_object.vm();`!

This will eventually automatically fix the "wrong realm" issue we have
in some places where we (incorrectly) use the global object from the
allocating object, e.g. in call() / construct() implementations. When
only ever a VM is passed around, this issue can't happen :^)

I've decided to split this change into a series of patches that should
keep each commit down do a somewhat manageable size.
2022-08-23 13:58:30 +01:00
..
Bytecode LibJS: Remove GlobalObject from VM::this_value() 2022-08-23 13:58:30 +01:00
Contrib/Test262 LibJS: Remove GlobalObject from VM::throw_completion() 2022-08-23 13:58:30 +01:00
Heap LibJS: Remove GlobalObject from VM::throw_completion() 2022-08-23 13:58:30 +01:00
Runtime LibJS: Replace GlobalObject with VM in Intl AOs [Part 1/19] 2022-08-23 13:58:30 +01:00
Tests LibJS: Use a synthetic constructor if class with parent doesn't have one 2022-08-20 23:53:55 +01:00
AST.cpp LibJS: Remove GlobalObject from VM::throw_completion() 2022-08-23 13:58:30 +01:00
AST.h LibJS: Remove GlobalObject from execute() and related AST functions 2022-08-23 13:58:30 +01:00
CMakeLists.txt LibJS: Implement a basic Intl mathematical value 2022-07-20 18:21:24 +01:00
Console.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Console.h LibJS: Convert Console to use MarkedVector<Value> 2022-05-07 01:22:09 +02:00
CyclicModule.cpp LibJS+LibWeb: Replace GlobalObject with Realm in create() functions 2022-08-23 13:58:30 +01:00
CyclicModule.h LibJS: Remove implicit wrapping/unwrapping of completion records 2022-05-03 01:09:29 +02:00
Forward.h LibJS: Hook up the 'v' (unicodeSets) RegExp flag 2022-07-20 21:25:59 +01:00
Interpreter.cpp LibJS: Remove GlobalObject from execute() and related AST functions 2022-08-23 13:58:30 +01:00
Interpreter.h LibJS+LibWeb: Replace GlobalObject with Realm in Heap::allocate<T>() 2022-08-23 13:58:30 +01:00
Lexer.cpp Everywhere: Use default StringView constructor over nullptr 2022-07-12 23:11:35 +02:00
Lexer.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
MarkupGenerator.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
MarkupGenerator.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Module.cpp LibJS+LibWeb: Replace GlobalObject with Realm in Heap::allocate<T>() 2022-08-23 13:58:30 +01:00
Module.h Libraries: Use default constructors/destructors in LibJS 2022-03-16 16:19:40 +00:00
Parser.cpp LibJS: Use a synthetic constructor if class with parent doesn't have one 2022-08-20 23:53:55 +01:00
Parser.h LibJS: Allow invalid string in tagged template literals 2022-08-17 23:56:24 +01:00
Script.cpp LibJS: Rename some variables from "script body" to "script" 2022-05-01 22:47:38 +02:00
Script.h Libraries: Use default constructors/destructors in LibJS 2022-03-16 16:19:40 +00:00
SourceRange.h LibJS: Add missing headers 2021-10-06 23:52:40 +01:00
SourceTextModule.cpp LibJS: Remove GlobalObject from VM::throw_completion() 2022-08-23 13:58:30 +01:00
SourceTextModule.h LibJS: Remove implicit wrapping/unwrapping of completion records 2022-05-03 01:09:29 +02:00
SyntaxHighlighter.cpp LibJS: Remove a bunch of gratuitous JS namespace qualifiers 2022-04-03 15:19:33 +01:00
SyntaxHighlighter.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
SyntheticModule.cpp LibJS+LibWeb: Replace GlobalObject with Realm in Heap::allocate<T>() 2022-08-23 13:58:30 +01:00
SyntheticModule.h LibJS: Add support for JSON modules 2022-01-30 17:40:20 +00:00
Token.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Token.h Everywhere: Explicitly specify the size in StringView constructors 2022-07-12 23:11:35 +02:00