From 74ed06828f4f8d4ec5c04f5b551e90f2fccbd0f3 Mon Sep 17 00:00:00 2001 From: Damien George Date: Mon, 8 Apr 2019 15:20:56 +1000 Subject: [PATCH] tools/mpy-tool.py: Fix init of QStrWindow, and remove unused variable. The qstr window size is not log-2 encoded, it's just the actual number (but in mpy-tool.py this didn't lead to an error because the size is just used to truncate the window so it doesn't grow arbitrarily large in memory). Addresses issue #4635. --- tools/mpy-tool.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/mpy-tool.py b/tools/mpy-tool.py index b8e5297aa4..c8216bb603 100755 --- a/tools/mpy-tool.py +++ b/tools/mpy-tool.py @@ -75,9 +75,9 @@ for n in qstrutil.static_qstr_list: global_qstrs.append(QStrType(n)) class QStrWindow: - def __init__(self, size_log2): + def __init__(self, size): self.window = [] - self.size = 1 << size_log2 + self.size = size def push(self, val): self.window = [val] + self.window[:self.size - 1] @@ -633,7 +633,6 @@ def read_qstr_and_pack(f, bytecode, qstr_win): bytecode.append(qst >> 8) def read_bytecode(file, bytecode, qstr_win): - QSTR_LAST_STATIC = len(qstrutil.static_qstr_list) while not bytecode.is_full(): op = read_byte(file, bytecode) f, sz = mp_opcode_format(bytecode.buf, bytecode.idx - 1, False)