py: Change hash and len members of str from 16 bit to full word.

This allows to make strings longer than 64k.  It doesn't use any more
RAM with current GC because a str object still fits in a GC block.
nlr-macros
Damien George 2014-08-22 18:34:28 +01:00
parent 69b7dae362
commit 26a0d4f4f1
1 changed files with 2 additions and 3 deletions

View File

@ -26,10 +26,9 @@
typedef struct _mp_obj_str_t {
mp_obj_base_t base;
// XXX here we assume the hash size is 16 bits (it is at the moment; see qstr.c)
mp_uint_t hash : 16;
mp_uint_t hash;
// len == number of bytes used in data, alloc = len + 1 because (at the moment) we also append a null byte
mp_uint_t len : 16;
mp_uint_t len;
const byte *data;
} mp_obj_str_t;