From c9e7d452c5e152dbc30f65a7095aaf21511a6c71 Mon Sep 17 00:00:00 2001 From: Hendiadyoin1 Date: Sun, 30 Oct 2022 12:28:57 +0100 Subject: [PATCH] LibJS: Add a note about inaccuracies to UnifySameBlocks --- Userland/Libraries/LibJS/Bytecode/Pass/UnifySameBlocks.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Userland/Libraries/LibJS/Bytecode/Pass/UnifySameBlocks.cpp b/Userland/Libraries/LibJS/Bytecode/Pass/UnifySameBlocks.cpp index 70be9244e2..184c3fe86c 100644 --- a/Userland/Libraries/LibJS/Bytecode/Pass/UnifySameBlocks.cpp +++ b/Userland/Libraries/LibJS/Bytecode/Pass/UnifySameBlocks.cpp @@ -29,6 +29,8 @@ void UnifySameBlocks::perform(PassPipelineExecutable& executable) continue; auto candidate_bytes = candidate_block->instruction_stream(); + // FIXME: NewBigInt's value is not correctly reflected by its encoding in memory, + // this will yield false negatives for blocks containing that if (memcmp(candidate_bytes.data(), block_bytes.data(), candidate_block->size()) == 0) equal_blocks.set(&*candidate_block, &block); }