ladybird/Userland/Libraries/LibJS/Bytecode
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
..
Pass LibJS: Add a basic pass manager and add some basic passes 2021-06-15 22:06:33 +04:30
ASTCodegen.cpp LibJS: Make EnterUnwindContext a terminator op 2021-06-15 22:06:33 +04:30
BasicBlock.cpp LibJS: Add a basic pass manager and add some basic passes 2021-06-15 22:06:33 +04:30
BasicBlock.h LibJS: Make basic block size customizable 2021-06-15 22:06:33 +04:30
Generator.cpp LibJS: Implement generator functions (only in bytecode mode) 2021-06-11 00:30:09 +02:00
Generator.h LibJS: Implement generator functions (only in bytecode mode) 2021-06-11 00:30:09 +02:00
Instruction.cpp LibJS: Move Instruction::length() to the Op.h header 2021-06-09 09:24:32 +02:00
Instruction.h LibJS: Add a basic pass manager and add some basic passes 2021-06-15 22:06:33 +04:30
Interpreter.cpp LibJS: Add a basic pass manager and add some basic passes 2021-06-15 22:06:33 +04:30
Interpreter.h LibJS: Add a basic pass manager and add some basic passes 2021-06-15 22:06:33 +04:30
Label.h LibJS: Add a basic pass manager and add some basic passes 2021-06-15 22:06:33 +04:30
Op.cpp LibJS: Replace Object's create_empty() with create() taking a prototype 2021-06-16 22:49:04 +01:00
Op.h LibJS: Add a basic pass manager and add some basic passes 2021-06-15 22:06:33 +04:30
PassManager.h LibJS: Add a basic pass manager and add some basic passes 2021-06-15 22:06:33 +04:30
Register.h LibJS: Always keep the global object in bytecode VM register $1 2021-06-10 21:59:49 +02:00
StringTable.cpp LibJS: Store strings in a string table 2021-06-09 17:42:52 +02:00
StringTable.h LibJS: Store strings in a string table 2021-06-09 17:42:52 +02:00