Commit e97df976 authored by Damien George's avatar Damien George
Browse files

py: Shrink mp_arg_t struct by using reduced-size integer members.

qstrs ids are restricted to fit within 2 bytes already (eg in persistent
bytecode) so it's safe to use a uint16_t to store them in mp_arg_t.  And
the flags member only needs a maximum of 2 bytes so can also use uint16_t.

Savings in code size can be significant when many mp_arg_t structs are
used for argument parsing.  Eg, this patch reduces stmhal by 480 bytes.
parent 46ab0422
...@@ -52,8 +52,8 @@ typedef union _mp_arg_val_t { ...@@ -52,8 +52,8 @@ typedef union _mp_arg_val_t {
} mp_arg_val_t; } mp_arg_val_t;
typedef struct _mp_arg_t { typedef struct _mp_arg_t {
qstr qst; uint16_t qst;
mp_uint_t flags; uint16_t flags;
mp_arg_val_t defval; mp_arg_val_t defval;
} mp_arg_t; } mp_arg_t;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment