1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:38:10 +00:00
serenity/Userland/Libraries/LibJS
Matthew Olsson a01bd35c67 LibJS: Add bytecode instruction handles
This change removes the mmap inside of Block in favor of a growing
vector of bytes. This is favorable for two reasons:
  - We don't take more space than we need
  - There is no limit to the growth of the vector (previously, if
    the Block overstepped its 64kb boundary, it would just crash)

However, if that vector happens to resize, any pointer pointing into
that vector would become invalid. To avoid this, this commit adds an
InstructionHandle<Op> class which just stores a block and an offset
into that block.
2021-06-09 00:37:17 +02:00
..
Bytecode LibJS: Add bytecode instruction handles 2021-06-09 00:37:17 +02:00
Heap LibJS: Add dbgln() to Heap::allocator_for_size() before crashing 2021-06-06 23:08:15 +01:00
Runtime LibJS: Handle Proxy with Array target in IsArray() abstract operation 2021-06-08 23:53:13 +02:00
Tests LibJS: Handle Proxy with Array target in IsArray() abstract operation 2021-06-08 23:53:13 +02:00
AST.cpp LibJS: Handle Proxy with Array target in IsArray() abstract operation 2021-06-08 23:53:13 +02:00
AST.h LibJS: Introduce an accumulator register to Bytecode::Interpreter 2021-06-08 21:00:12 +02:00
CMakeLists.txt LibJS: Move AST bytecode generation virtuals to separate cpp file 2021-06-07 18:11:59 +02: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 bytecode instruction handles 2021-06-09 00:37:17 +02:00
Interpreter.cpp LibJS: Return undefined from a with statement if no value was generated 2021-06-08 15:31:46 +01:00
Interpreter.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Lexer.cpp Everywhere: Use s.unverwerth@serenityos.org :^) 2021-05-29 12:30:08 +01:00
Lexer.h Everywhere: Use s.unverwerth@serenityos.org :^) 2021-05-29 12:30:08 +01:00
MarkupGenerator.cpp LibJS: Handle Proxy with Array target in IsArray() abstract operation 2021-06-08 23:53:13 +02:00
MarkupGenerator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Parser.cpp AK+LibWasm+LibJS: Disallow Variant.has() on types that aren't contained 2021-06-02 18:02:47 +02:00
Parser.h LibJS: Implement destructuring assignments and function parameters 2021-05-29 23:02:23 +04:30
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 Everywhere: Use s.unverwerth@serenityos.org :^) 2021-05-29 12:30:08 +01:00
Token.h Everywhere: Use s.unverwerth@serenityos.org :^) 2021-05-29 12:30:08 +01:00