1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:48:10 +00:00
serenity/Libraries/LibJS
Andreas Kling 6089d6566b LibJS: Make it possible to go from a Cell* to its Heap&
This patch makes all HeapBlock allocations aligned to their block size,
enabling us to find the HeapBlock* for a given Cell* by simply masking
bits off of the cell address.

Use this to make a simple Heap& getter for Cell, which lets us avoid
plumbing the Heap& everywhere.
2020-03-13 11:08:16 +01:00
..
AST.cpp LibJS: Split Function into subclasses NativeFunction and ScriptFunction 2020-03-13 11:08:16 +01:00
AST.h LibJS: Implement const variable declarations 2020-03-12 14:58:16 +01:00
Cell.cpp LibJS: Make it possible to go from a Cell* to its Heap& 2020-03-13 11:08:16 +01:00
Cell.h LibJS: Make it possible to go from a Cell* to its Heap& 2020-03-13 11:08:16 +01:00
Forward.h LibJS: Add NativeFunction, a callable wrapper around a C++ lambda 2020-03-12 19:54:47 +01:00
Function.cpp LibJS: Split Function into subclasses NativeFunction and ScriptFunction 2020-03-13 11:08:16 +01:00
Function.h LibJS: Split Function into subclasses NativeFunction and ScriptFunction 2020-03-13 11:08:16 +01:00
GlobalObject.cpp LibJS: Split Function into subclasses NativeFunction and ScriptFunction 2020-03-13 11:08:16 +01:00
GlobalObject.h LibJS: Move GlobalObject to its own Object subclass 2020-03-12 20:11:35 +01:00
Heap.cpp LibJS: Make it possible to go from a Cell* to its Heap& 2020-03-13 11:08:16 +01:00
Heap.h LibJS: Make the GC marking phase cycle-proof 2020-03-09 22:18:03 +01:00
HeapBlock.cpp LibJS: Make it possible to go from a Cell* to its Heap& 2020-03-13 11:08:16 +01:00
HeapBlock.h LibJS: Make it possible to go from a Cell* to its Heap& 2020-03-13 11:08:16 +01:00
Interpreter.cpp LibJS: Move GlobalObject to its own Object subclass 2020-03-12 20:11:35 +01:00
Interpreter.h LibJS: Add NativeFunction, a callable wrapper around a C++ lambda 2020-03-12 19:54:47 +01:00
Lexer.cpp LibJS: Fix some coding style mistakes in Lexer 2020-03-12 13:52:54 +01:00
Lexer.h LibJS: Parse === and !== binary operators 2020-03-12 13:42:23 +01:00
Makefile LibJS: Split Function into subclasses NativeFunction and ScriptFunction 2020-03-13 11:08:16 +01:00
NativeFunction.cpp LibJS: Split Function into subclasses NativeFunction and ScriptFunction 2020-03-13 11:08:16 +01:00
NativeFunction.h LibJS: Split Function into subclasses NativeFunction and ScriptFunction 2020-03-13 11:08:16 +01:00
Object.cpp LibJS: Add a convenience helper for visiting a JS::Value 2020-03-09 22:19:06 +01:00
Object.h LibJS: Add NativeFunction, a callable wrapper around a C++ lambda 2020-03-12 19:54:47 +01:00
Parser.cpp LibJS: Fix broken parsing of 0-argument CallExpression 2020-03-12 20:03:12 +01:00
Parser.h LibJS: Implement for statement 2020-03-12 13:42:23 +01:00
PrimitiveString.cpp LibJS: Add a new PrimitiveString class to hold GC-allocated strings 2020-03-11 19:00:22 +01:00
PrimitiveString.h LibJS: Add a new PrimitiveString class to hold GC-allocated strings 2020-03-11 19:00:22 +01:00
ScriptFunction.cpp LibJS: Split Function into subclasses NativeFunction and ScriptFunction 2020-03-13 11:08:16 +01:00
ScriptFunction.h LibJS: Split Function into subclasses NativeFunction and ScriptFunction 2020-03-13 11:08:16 +01:00
StringObject.cpp LibJS: Add StringObject, an Object wrapper around primitive strings 2020-03-11 19:00:26 +01:00
StringObject.h LibJS: Add StringObject, an Object wrapper around primitive strings 2020-03-11 19:00:26 +01:00
Token.cpp LibJS: Add Javascript lexer and parser 2020-03-12 09:25:49 +01:00
Token.h LibJS: Implement for statement 2020-03-12 13:42:23 +01:00
Value.cpp LibJS: Allow implicit Value construction from GC-allocated things 2020-03-12 19:57:40 +01:00
Value.h LibJS: Allow implicit Value construction from GC-allocated things 2020-03-12 19:57:40 +01:00