diff --git a/parseinstrs.py b/parseinstrs.py index d5cfae8..c127004 100644 --- a/parseinstrs.py +++ b/parseinstrs.py @@ -193,8 +193,7 @@ class Table: self.mnemonics = set() self.instrs = {} - def compile(self): - mnemonics = sorted(list(self.mnemonics)) + def compile(self, mnemonics_lut): offsets = {} currentOffset = 0 stats = defaultdict(int) @@ -214,7 +213,7 @@ class Table: data += b"\0" * (offsets[name] - len(data)) assert len(data) == offsets[name] if kind == EntryKind.INSTR: - mnemonicIdx = mnemonics.index(value[0]) + mnemonicIdx = mnemonics_lut[value[0]] data += struct.pack("