1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:08:12 +00:00

LibJS: Add placeholder bytecode block sealing mechanism

After compiling bytecode, we should mark the memory read-only.
This currently does not work because it breaks instruction destruction.

I'm adding this anyway with a FIXME so we don't forget about it. :^)
This commit is contained in:
Andreas Kling 2021-06-07 15:24:33 +02:00
parent 4ba2eb8fe5
commit 312297ac38
3 changed files with 9 additions and 0 deletions

View file

@ -36,6 +36,13 @@ Block::~Block()
}
}
void Block::seal()
{
// FIXME: mprotect the instruction stream as PROT_READ
// This is currently not possible because instructions can have destructors (that clean up strings)
// Instructions should instead be destructor-less and refer to strings in a string table on the Bytecode::Block.
}
void Block::dump() const
{
Bytecode::InstructionStreamIterator it(instruction_stream());