ladybird/Libraries/LibJS
Andreas Kling bd5abbc454 LibJS: Fix fatal mistake in HeapBlock::cell_from_possible_pointer()
When scanning for potential heap pointers during conservative GC,
we look for any value that is an address somewhere inside a heap cell.

However, we were failing to account for the slack at the end of a
block (which occurs whenever the block storage size isn't an exact
multiple of the cell size.) Pointers inside the trailing slack were
misidentified as pointers into "last_cell+1".

Instead of skipping over them, we would treat this garbage data as a
live cell and try to mark it. I believe this is the test-js crash that
has been terrorizing Travis for a while. :^)
2020-10-01 21:07:12 +02:00
..
Heap LibJS: Fix fatal mistake in HeapBlock::cell_from_possible_pointer() 2020-10-01 21:07:12 +02:00
Runtime LibJS: Move Console from Interpreter to GlobalObject 2020-09-29 21:15:06 +02:00
Tests LibJS: Handle getter exception in JSONObject::serialize_json_property() 2020-09-19 14:17:22 +02:00
AST.cpp LibJS: Reduce use of Interpreter in Reference 2020-09-29 16:45:39 +02:00
AST.h LibJS: Mark more ASTNode classes as final 2020-09-18 20:49:35 +02:00
CMakeLists.txt LibJS+Clients: Add JS::VM object, separate Heap from Interpreter 2020-09-20 19:24:44 +02:00
Console.cpp LibJS: Move Console from Interpreter to GlobalObject 2020-09-29 21:15:06 +02:00
Console.h LibJS: Move Console from Interpreter to GlobalObject 2020-09-29 21:15:06 +02:00
Forward.h LibJS: Move Console from Interpreter to GlobalObject 2020-09-29 21:15:06 +02:00
Interpreter.cpp LibJS: Move Console from Interpreter to GlobalObject 2020-09-29 21:15:06 +02:00
Interpreter.h LibJS: Move Console from Interpreter to GlobalObject 2020-09-29 21:15:06 +02:00
Lexer.cpp LibJS: Fix start position of multi-line tokens 2020-09-12 00:13:29 +02:00
Lexer.h LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +02:00
MarkupGenerator.cpp LibJS+LibGUI+js: Handle UnterminatedRegexLiteral in syntax highlighters 2020-09-25 23:58:42 +02:00
MarkupGenerator.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
Parser.cpp LibJS: Add FIXMEs for parsing increment operators with function LHS/RHS 2020-09-18 20:49:35 +02:00
Parser.h LibJS: Parser refactored to use constexpr precedence table 2020-08-21 16:14:14 +02:00
Token.cpp LibJS: Add missing reserved words to Token::is_identifier_name() 2020-08-14 10:58:51 +02:00
Token.h LibJS: Parser refactored to use constexpr precedence table 2020-08-21 16:14:14 +02:00