263 Commits (1551309575e6d8f4595cdb3bca28257069049df4)

Author SHA1 Message Date
Damien George de9cd00b39 py/compile: Add an extra pass for Xtensa inline assembler. 8 years ago
Damien George e920bab976 py/emitinline: Move common code for end of final pass to compiler. 8 years ago
Damien George dd53b12193 py/emitinline: Move inline-asm align and data methods to compiler. 8 years ago
Damien George f76b1bfa9f py: Add inline Xtensa assembler. 8 years ago
Damien George ad297a1950 py: Allow inline-assembler emitter to be generic. 8 years ago
Damien George 8e5aced1fd py: Integrate Xtensa assembler into native emitter. 8 years ago
Damien George 080a78b15e py/compile: Simplify configuration of native emitter. 8 years ago
Damien George e6cf5fb2cc py/compile: Remove comment about TODO for short circuiting for if-stmt. 8 years ago
Damien George ed9c93f0f1 py/parse: Make mp_parse_node_new_leaf an inline function. 8 years ago
Damien George b0cbfb0492 py/parse: Move function to check for const parse node to parse.[ch]. 8 years ago
Damien George deaa57acf3 py/compile: Remove debugging code for compiler dispatch. 8 years ago
Damien George e49153fb98 py/compile: Remove unreachable code. 8 years ago
Damien George 216a711cd4 py/compile: Fix typo when checking for parse-node kind. 8 years ago
Damien George 0d10517a45 py/scope: Factor common code to find locals and close over them. 8 years ago
Damien George 3dea8c9e92 py/scope: Use lookup-table to determine a scope's simple name. 8 years ago
Damien George b32c01b748 py/compile: Fix async-for/async-with to work with simpler exc on stack. 8 years ago
Damien George f040685b0c py: Only store the exception instance on Py stack in bytecode try block. 8 years ago
Damien George a5624bf381 py: Combine 3 comprehension emit functions (list/dict/set) into 1. 8 years ago
Damien George 24df30c133 py/compile: Don't compile assert statements when optimisations enabled. 8 years ago
Damien George 3ff16ff52e py: Declare constant data as properly constant. 9 years ago
Damien George eacbd7aeba py: Fix constant folding and inline-asm to work with new async grammar. 9 years ago
pohmelie 81ebba7e02 py: add async/await/async for/async with syntax 9 years ago
Damien George 2c915e1ae6 py: Implement basic with support in native emitter. 9 years ago
Damien George ce8b4e8749 py: Combine continuous block of emit steps into with_cleanup emit call. 9 years ago
Damien George 3acaa28b52 py: Don't allocate an extra parse node for power exponent. 9 years ago
Damien George ea23520403 py: Add MICROPY_DYNAMIC_COMPILER option to config compiler at runtime. 9 years ago
Damien George 8f54c08691 py/inlineasm: Add ability to specify return type of asm_thumb funcs. 9 years ago
Damien George 93b3726240 py/parse: Optimise away parse node that's just parenthesis around expr. 9 years ago
Damien George dd5353a405 py: Add MICROPY_ENABLE_COMPILER and MICROPY_PY_BUILTINS_EVAL_EXEC opts. 9 years ago
Damien George a83124361e py/compile: Simplify compilation of comprehension iterators. 9 years ago
Damien George 831137b807 py/compile: Use size_t or uintptr_t instead of mp_uint_t. 9 years ago
Damien George 29e9db0c58 py: Fix compiler to handle lambdas used as default arguments. 9 years ago
Damien George 33ac0fd09f py: Don't try to optimise for+range when args are not simple expressions. 9 years ago
Damien George b8cfb0d7b2 py: Add support for 64-bit NaN-boxing object model, on 32-bit machine. 9 years ago
Damien George c3f64d9799 py: Change qstr_* functions to use size_t as the type for str len arg. 9 years ago
Damien George 9a56912ad1 py/compile: Do proper checking of * and ** in function definition. 9 years ago
Damien George d4dba88236 py/compile: Add mp_compile_to_raw_code() to return raw code object. 9 years ago
Damien George 2c83894257 py: Implement default and star args for lambdas. 9 years ago
Damien George cbd9ae5256 py/compile: Don't unnecessarily save state when compiling param list. 9 years ago
Damien George 3a3db4dcf0 py: Put all bytecode state (arg count, etc) in bytecode. 9 years ago
Damien George d7e3b36a09 py/compile: Remove unnecessary label in compilation of for statement. 9 years ago
Damien George 64f2b213bb py: Move constant folding from compiler to parser. 9 years ago
Damien George b948de36fb py: Don't generate unnecessary parse nodes for assignment or kwargs. 9 years ago
Damien George 7e12a601b8 py/compile: Fix edge case when constant-folding negation of integer. 9 years ago
Damien George 0496de26d3 py: Allow to enable inline assembler without native emitter. 9 years ago
Damien George 58e0f4ac50 py: Allocate parse nodes in chunks to reduce fragmentation and RAM use. 9 years ago
Damien George e5635f4ab3 py: Catch all cases of integer (big and small) division by zero. 9 years ago
Damien George 9d5e5c08ab py/compile: Put compiler state on the C stack. 9 years ago
Damien George fbcaf0ea18 py: Slightly simplify compile and emit of star/double-star arguments. 9 years ago
Delio Brignoli e6978a4e26 py: Fix call args when a stararg is followed by keyword args. 9 years ago