1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-30 19:38:12 +00:00
serenity/Libraries/LibJS
Andreas Kling 05c80cac20 LibJS: Make the GC marking phase cycle-proof
Don't visit cells that are already marked. This prevents the marking
phase from looping forever when two cells refer to each other.

Also do the marking directly from the CellVisitor, removing another
unnecessary phase of the collector. :^)
2020-03-09 22:18:03 +01:00
..
AST.cpp LibJS: Make FunctionDeclaration and CallExpression scope-aware 2020-03-09 21:53:39 +01:00
AST.h LibJS: Add a very simple ObjectExpression for "var x = {}" 2020-03-09 21:49:20 +01:00
Cell.cpp LibJS: Add a basic mark&sweep garbage collector :^) 2020-03-08 19:23:58 +01:00
Cell.h LibJS: Make the GC marking phase cycle-proof 2020-03-09 22:18:03 +01:00
Forward.h LibJS: Add a basic mark&sweep garbage collector :^) 2020-03-08 19:23:58 +01:00
Function.cpp LibJS: Start building a JavaScript engine for SerenityOS :^) 2020-03-07 19:42:11 +01:00
Function.h LibJS: Start building a JavaScript engine for SerenityOS :^) 2020-03-07 19:42:11 +01:00
Heap.cpp LibJS: Make the GC marking phase cycle-proof 2020-03-09 22:18:03 +01:00
Heap.h LibJS: Make the GC marking phase cycle-proof 2020-03-09 22:18:03 +01:00
HeapBlock.cpp LibJS: Add a basic mark&sweep garbage collector :^) 2020-03-08 19:23:58 +01:00
HeapBlock.h LibJS: Add a basic mark&sweep garbage collector :^) 2020-03-08 19:23:58 +01:00
Interpreter.cpp LibJS: Make sure we mark everything reachable from the scope stack 2020-03-09 21:49:20 +01:00
Interpreter.h LibJS: Make sure we mark everything reachable from the scope stack 2020-03-09 21:49:20 +01:00
Makefile LibJS: Add a basic mark&sweep garbage collector :^) 2020-03-08 19:23:58 +01:00
Object.cpp LibJS: Make the GC marking phase cycle-proof 2020-03-09 22:18:03 +01:00
Object.h LibJS: Make the GC marking phase cycle-proof 2020-03-09 22:18:03 +01:00
Value.cpp LibJS: Simplify LogStream::operator<<(JS::Value) and move to .cpp file 2020-03-07 23:17:07 +01:00
Value.h LibJS: Flesh out JS::Value a little bit more 2020-03-07 23:17:07 +01:00