ladybird/Userland/Libraries/LibJS
Linus Groh 317b88a8c3 LibJS: Replace Object's create_empty() with create() taking a prototype
This now matches the spec's OrdinaryObjectCreate() across the board:
instead of implicitly setting the created object's prototype to
%Object.prototype% and then in many cases setting it to a nullptr right
away, it now has an 'Object* prototype' parameter with _no default
value_. This makes the code easier to compare with the spec, very clear
in terms of what prototype is being used as well as avoiding unnecessary
shape transitions.

Also fixes a couple of cases were we weren't setting the correct
prototype.

There's no reason to assume that the object would not be empty (as in
having own properties), so let's follow our existing pattern of
Type::create(...) and simply call it 'create'.
2021-06-16 22:49:04 +01:00
..
Bytecode LibJS: Replace Object's create_empty() with create() taking a prototype 2021-06-16 22:49:04 +01:00
Heap LibJS: Don't generate unused HeapBlock names on non-SerenityOS systems 2021-06-13 19:11:29 +02:00
Runtime LibJS: Replace Object's create_empty() with create() taking a prototype 2021-06-16 22:49:04 +01:00
Tests LibJS/Tests: Use Object.prototype.toString() for values in test details 2021-06-16 22:49:04 +01:00
AST.cpp LibJS: Replace Object's create_empty() with create() taking a prototype 2021-06-16 22:49:04 +01:00
AST.h LibJS: Correctly parse yield-from expressions 2021-06-14 13:06:08 +01:00
CMakeLists.txt LibJS: Add the FinalizationRegistry built-in object 2021-06-15 23:59:21 +01:00
Console.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
Console.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Forward.h LibJS: Add the FinalizationRegistry built-in object 2021-06-15 23:59:21 +01:00
Interpreter.cpp LibJS: Add the FinalizationRegistry built-in object 2021-06-15 23:59:21 +01:00
Interpreter.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Lexer.cpp LibJS: Add support for hex, octal & binary big integer literals 2021-06-14 01:45:04 +01:00
Lexer.h Userland: Allow building SerenityOS with -funsigned-char 2021-06-13 18:52:58 +02:00
MarkupGenerator.cpp LibJS: Avoid lots of string-to-int during global object construction 2021-06-13 19:11:29 +02:00
MarkupGenerator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Parser.cpp LibJS: Correctly parse yield-from expressions 2021-06-14 13:06:08 +01:00
Parser.h LibJS: Correctly parse yield-from expressions 2021-06-14 13:06:08 +01:00
SourceRange.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SyntaxHighlighter.cpp LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
SyntaxHighlighter.h LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
Token.cpp LibJS: Use the new is_ascii_foo() helpers from AK 2021-06-13 19:11:29 +02:00
Token.h Everywhere: Use s.unverwerth@serenityos.org :^) 2021-05-29 12:30:08 +01:00