From b3fd31e95090062f21205b9724caed70f733cdff Mon Sep 17 00:00:00 2001 From: Max Bernstein Date: Tue, 28 Nov 2023 17:19:04 -0500 Subject: [PATCH] Add TODO --- runtime/bytecode.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/runtime/bytecode.cpp b/runtime/bytecode.cpp index f318387df..906f818a9 100644 --- a/runtime/bytecode.cpp +++ b/runtime/bytecode.cpp @@ -303,6 +303,11 @@ struct Edge { V(END_ASYNC_FOR) static Vector findEdges(const MutableBytes& bytecode) { + // TODO(max): Collapse edges for uninteresting opcodes. There shouldn't be + // edges for POP_TOP, etc; just control flow and anything that touches + // locals. But maybe this is analysis specific (definite assignment only + // cares about STORE_FAST and DELETE_FAST whereas constant propagation cares + // about LOAD_CONST and BINARY_ADD and stuff.) Vector edges; word num_opcodes = rewrittenBytecodeLength(bytecode); for (word i = 0; i < num_opcodes;) {