summaryrefslogtreecommitdiff
path: root/py/qstr.c
AgeCommit message (Collapse)Author
2014-04-17build: Simplify build directory layout by putting all headers in genhdr.Damien George
Any generated headers go in $(BUILD)/genhdr/, and are #included as 'genhdr/xxx.h'.
2014-04-16build directory can now be renamedAndrew Scheller
The autogenerated header files have been moved about, and an extra include dir has been added, which means you can give a custom BUILD=newbuilddir option to make, and everything "just works" Also tidied up the way the different Makefiles build their include- directory flags
2014-04-14qstr, objstr: Make sure that valid hash != 0, treat 0 as "not computed".Paul Sokolovsky
This feature was proposed with initial hashing RFC, and is prerequisite for seamless static str object definition.
2014-03-25py: Replace naive and teribble hash function with djb2.Damien George
2014-02-26py: Remove name of var arg from macros with var args.Damien George
2014-02-16Make DEBUG_printf() a proper function, implementation is port-dependent.Paul Sokolovsky
In particular, unix outputs to stderr, to allow to run testsuite against micropython built with debug output (by redirecting stderr to /dev/null).
2014-02-12Replace global "static" -> "STATIC", to allow "analysis builds". Part 2.Paul Sokolovsky
2014-01-29Add qstr_info() function and bindings for unix port.Damien George
2014-01-24Rework makefiles. Add proper dependency checking.Dave Hylands
2014-01-23py: Implement bool unary op; tidy up unary op dispatch.Damien George
2014-01-22Second stage of qstr revamp: uPy str object can be qstr or not.Damien George
2014-01-21Revamp qstrs: they now include length and hash.Damien George
Can now have null bytes in strings. Can define ROM qstrs per port using qstrdefsport.h
2014-01-05Make qstr_init reinitialize last_pool.Dave Hylands
This causes the pool to get reinitialized properly on a soft-reset.
2014-01-04Split qstr into pools, and put initial pool in ROM.Damien George
Qstr's are now split into a linked-list of qstr pools. This has 2 benefits: the first pool can be in ROM (huge benefit, since we no longer use RAM for the core qstrs), and subsequent pools use m_new for the next pool instead of m_renew (thus avoiding a huge single table for all the qstrs). Still would be better to use a hash table, but this scheme takes us part of the way (eventually convert the pools to hash tables). Also fixed bug with import. Also improved the way the module code is referenced (not magic number 1 anymore).
2013-12-29Change memory allocation API to require size for free and realloc.Damien
2013-10-23Fix func decls with no arguments: () -> (void).Damien
2013-10-04Initial commit.Damien