diff options
| author | Alessandro Gatti <a.gatti@frob.it> | 2025-10-26 20:21:15 +0100 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2025-11-03 12:39:01 +1100 |
| commit | 385e4f3d0cb726a33beaca17bf403f1850bb3cbf (patch) | |
| tree | 7eb6b85969eea28d4f8d3623d828548ae5ee32f3 /py/objcode.h | |
| parent | 3da529554d013cce2eec7736dea3f2c561563a52 (diff) | |
py/emitinlinerv32: Refactor load/store opcodes validation.
This commit minimises the amount of code required to perform validation
of load/store opcodes, streamlining their validation and serialisation.
Load/store opcodes used to be handled as a special case due to how its
peculiar syntax yields parse node arguments that cannot be handled by
the regular validation and serialisation functions.
The changes in this commit attempt to reduce the amount of special code
needed for those opcodes to its bare minimum, by removing the special
opcode handling step, merging the validation and serialisation pass for
the combined offset + base register operand, and integrate said changes
in the existing argument handling structure.
That allowed to rework the special operand parsing function to make it
smaller, and remove the code that performed the special case validation
and emitted the opcode.
Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
Diffstat (limited to 'py/objcode.h')
0 files changed, 0 insertions, 0 deletions
