80 Commits (d325ee4509d8f68e341d5efc5ddbe3c30f86089e)

Author SHA1 Message Date
Damien George 48ffd6596e py: Change MP_UNARY_OP_INT to MP_UNARY_OP_INT_MAYBE. 1 year ago
Andrew Leech 1e87b56219 py/obj: Add support for __float__ and __complex__ functions. 2 years ago
Damien George 360d972c16 py/nativeglue: Add new header file with native function table typedef. 5 years ago
Damien George b47e155bd0 py/persistentcode: Add ability to relocate loaded native code. 5 years ago
Damien George f2ecfe8b83 py/nativeglue: Remove unused mp_obj_new_cell from mp_fun_table. 5 years ago
Damien George 323d47887f py/runtime: Reorder some binary ops so they don't require conditionals. 5 years ago
Damien George 3504edc804 py/emitnative: Add support for using setjmp with native emitter. 5 years ago
Damien George b5ebfadbd6 py: Compress first part of bytecode prelude. 5 years ago
Damien George 96f2a38075 py/nativeglue: Make mp_fun_table fixed size regardless of config. 5 years ago
Damien George 5889cf58db py/bc0: Order opcodes into groups based on their size and format. 5 years ago
Damien George 2069c563f9 py: Add support for matmul operator @ as per PEP 465. 5 years ago
Damien George 6ce7c051e8 py/lexer: Reorder operator tokens to match corresponding binary ops. 5 years ago
Paul Sokolovsky b1d08726ee py/obj: Add support for __int__ special method. 6 years ago
Damien George de71035e02 py/emitnative: Put None/False/True in global native const table. 6 years ago
Damien George cc2bd63c57 py/emitnative: Implement yield and yield-from in native emitter. 6 years ago
Damien George 7d4b6cc868 py/emitnative: Place const objs for native code in separate const table. 6 years ago
Damien George 43f1848bfa py: Make viper functions have the same entry signature as native. 6 years ago
Damien George 07caf4f969 py/emit: Remove need to call set_native_type to set viper return type. 6 years ago
Damien George 4f3d9429b5 py: Fix native functions so they run with their correct globals context. 6 years ago
Damien George 436e0d4c54 py/emit: Merge build set/slice into existing build emit function. 7 years ago
Damien George 5e34a113ea py/runtime: Add MP_BINARY_OP_CONTAINS as reverse of MP_BINARY_OP_IN. 7 years ago
Damien George a3afa8cfc4 py/emitnative: Implement floor-division and modulo for viper emitter. 7 years ago
Damien George 0864a6957f py: Clean up unary and binary enum list to keep groups together. 7 years ago
Paul Sokolovsky 9d836fedbd py: Clarify which mp_unary_op_t's may appear in the bytecode. 7 years ago
Damien George 8edc2e4b14 py/runtime0: Add comments about unary/binary-op enums used in bytecode. 7 years ago
Paul Sokolovsky 9dce823cfd py/modbuiltins: Implement abs() by dispatching to MP_UNARY_OP_ABS. 7 years ago
Paul Sokolovsky eb84a830df py/runtime: Implement dispatch for "reverse op" special methods. 7 years ago
Paul Sokolovsky b8ee7ab5b9 py/runtime0.h: Put inplace arith ops in front of normal operations. 7 years ago
Paul Sokolovsky c460f6f15a py/runtime0.h: Regroup operations a bit. 7 years ago
Paul Sokolovsky 6d4cac088e py/objtype: Make sure mp_binary_op_method_name has full size again. 7 years ago
Paul Sokolovsky 50b9329eba py/runtime0.h: Move MP_BINARY_OP_DIVMOD to the end of mp_binary_op_t. 7 years ago
Paul Sokolovsky d4d1c45a55 py/runtime0.h: Move relational ops to the beginning of mp_binary_op_t. 7 years ago
Paul Sokolovsky bfc2092dc5 py/modsys: Initial implementation of sys.getsizeof(). 7 years ago
Alexander Steffen 55f33240f3 all: Use the name MicroPython consistently in comments 7 years ago
Alexander Steffen 299bc62586 all: Unify header guard usage. 7 years ago
Damien George dd11af209d py: Add LOAD_SUPER_METHOD bytecode to allow heap-free super meth calls. 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 5f3e005b67 py: Extend native type-sig to use 4 bits, so uint is separate to ptr. 9 years ago
Damien George bdbe8c9ae2 py: Make UNARY_OP_NOT a first-class op, to agree with Py not semantics. 9 years ago
Damien George 3a3db4dcf0 py: Put all bytecode state (arg count, etc) in bytecode. 9 years ago
Damien George 7f70b60f4d py: Remove unused compile scope flags, and irrelevant flag compute code. 9 years ago
Damien George 59fba2d6ea py: Remove mp_load_const_bytes and instead load precreated bytes object. 10 years ago
Damien George ed570e4b2a py: Remove mp_load_const_str and replace uses with inlined version. 10 years ago
Damien George c5029bcbf3 py: Add MP_BINARY_OP_DIVMOD to simplify and consolidate divmod builtin. 10 years ago
Damien George c2a4e4effc py: Convert hash API to use MP_UNARY_OP_HASH instead of ad-hoc function. 10 years ago
Damien George 9988618e0e py: Implement full func arg passing for native emitter. 10 years ago
Damien George 78772ada0d py: Implement calling functions with *args in native emitter. 10 years ago
Damien George 4cd9ced8dc py: Implement closures in native code generator. 10 years ago
Damien George 7d414a1b52 py: Parse big-int/float/imag constants directly in parser. 10 years ago
Paul Sokolovsky 8ab6f90674 py: Move to guarded includes for compile.h and related headers. 10 years ago