292 Commits (e30ba2f1c7d0cccaf62640aa97de9fd6e82dcab7)

Author SHA1 Message Date
Damien George ad6aae13a4 py/compile: Remove unused pn_colon code when compiling func params. 7 years ago
Alexander Steffen 55f33240f3 all: Use the name MicroPython consistently in comments 7 years ago
Damien George 0291a624cb py/compile: Fix enum variable declaration. 7 years ago
Krzysztof Blazewicz 91a385db98 py/compile: Use switch-case to match token and operator. 8 years ago
Krzysztof Blazewicz a040fb89e7 py/compile: Combine arith and bit-shift ops into 1 compile routine. 8 years ago
Damien George d94bc675e8 py/compile: Optimise emitter label indices to save a word of heap. 7 years ago
Damien George 4c5f108321 py/compile: Fix bug with break/continue in else of optimised for-range. 7 years ago
Damien George 1e70fda69f py/compile: Raise SyntaxError if positional args are given after */**. 8 years ago
Ville Skyttä ca16c38210 various: Spelling fixes 8 years ago
Damien George dd11af209d py: Add LOAD_SUPER_METHOD bytecode to allow heap-free super meth calls. 8 years ago
Damien George 5335942b59 py/compile: Refactor handling of special super() call. 8 years ago
Damien George 0dd6a59c89 py/compile: Don't do unnecessary check if iter parse node is a struct. 8 years ago
Damien George ae54fbf166 py/compile: Add COMP_RETURN_IF_EXPR option to enable return-if-else opt. 8 years ago
Damien George 40b40ffc98 py/compile: Extract parse-node kind at start of func for efficiency. 8 years ago
Damien George fa03bbf0fd py/compile: Don't do unnecessary check if parse node is a struct. 8 years ago
Damien George de9b53695d py: Raise a ValueError if range() step is zero. 8 years ago
Damien George f9b0e644e5 py/compile: Provide terse error message for invalid dict/set literals. 8 years ago
Damien George 18c059febf py: Shorten a couple of error messages. 8 years ago
Damien George f55a059e7a py/compile: Simplify syntax-error messages for illegal assignments. 8 years ago
Damien George 40c1272e55 py/compile: When compiling super(), handle closed-over self variable. 8 years ago
Damien George 60656eaea4 py: Define and use MP_OBJ_ITER_BUF_NSLOTS to get size of stack iter buf. 8 years ago
Damien George 5255255fb9 py: Create str/bytes objects in the parser, not the compiler. 8 years ago
Damien George 534b7c368d py: Do adjacent str/bytes literal concatenation in lexer, not compiler. 8 years ago
Damien George 71019ae4f5 py/grammar: Group no-compile grammar rules together to shrink tables. 8 years ago
Damien George 4d2bab1444 py/compile: Optimise list/dict/set comprehensions to use stack iter. 8 years ago
Damien George 30b42dd72d py: Remove unused "use_stack" argument from for_iter_end emit function. 8 years ago
Damien George 088740ecc4 py: Optimise storage of iterator so it takes only 4 slots on Py stack. 8 years ago
Damien George 6e769da0da py: Make FOR_ITER opcode pop 1+4 slots from the stack when finished. 8 years ago
Damien George f4df3aaa72 py: Allow bytecode/native to put iter_buf on stack for simple for loops. 9 years ago
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