| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2015-01-24 | py: Fix segfault in namedtuple when name is a non-interned string | stijn | |
| - namedtuple was wrongly using MP_OBJ_QSTR_VALUE instead of mp_obj_str_get_qstr, so when passed a non-interned string it would segfault; fix this by using mp_obj_str_get_qstr - store the namedtuple field names as qstrs so it is not needed to use mp_obj_str_get_qstr everytime the field name has to be accessed. This also slighty increases performance when fetching attributes | |||
| 2015-01-24 | stmhal: Bug fix for usocket's accept and setsockopt methods. | Damien George | |
| accept might raise an exception, in which case the new socket is not fully created. It has a finaliser so will run close() method when GC'd. Before this patch close would try to close an invalid socket. Now fixed. setsockopt took address of stack value which became out of scope. Now fixed. | |||
| 2015-01-24 | binary: Rework array accessors. They work with native, not stdint types. | Paul Sokolovsky | |
| 2015-01-24 | stream: readall(): Make sure there's a trailing NUL char. | Paul Sokolovsky | |
| 2015-01-23 | tests: Fix typo in file_long_read3.py. | Paul Sokolovsky | |
| 2015-01-23 | modujson: .loads(): Handle more whitespace characters. | Paul Sokolovsky | |
| 2015-01-23 | tests: Add extra test for reading multiple of internal chunk size. | Paul Sokolovsky | |
| 2015-01-23 | stream: Fix readall() implementation in respect to NUL terminator bytes. | Paul Sokolovsky | |
| After vstr refactor. Fixes #1084. | |||
| 2015-01-23 | tests: Add testcase for reading amounts bigger than buffer/chunk size. | Paul Sokolovsky | |
| 2015-01-23 | objstr: Remove code duplication and unbreak Windows build. | Paul Sokolovsky | |
| There was really weird warning (promoted to error) when building Windows port. Exact cause is still unknown, but it uncovered another issue: 8-bit and unicode str_make_new implementations should be mutually exclusive, and not built at the same time. What we had is that bytes_decode() pulled 8-bit str_make_new() even for unicode build. | |||
| 2015-01-23 | objstr*: Use separate names for locals_dict of 8-bit and unicode str's. | Paul Sokolovsky | |
| To somewhat unbreak -DSTATIC="" compile. | |||
| 2015-01-22 | py: Allow asmx64 to compile with -Wsign-compare. | Damien George | |
| See issue #699. | |||
| 2015-01-22 | lib/libm: Add frexp and modf functions; use in stmhal; add tests. | Damien George | |
| Addresses issue #1081. | |||
| 2015-01-22 | stmhal: Make CC3K object static, so it's only registered once as NIC. | Damien George | |
| 2015-01-22 | stmhal: Put mod_network_nic_list in global root-pointer state. | Damien George | |
| It needs to be scanned by GC. Thanks to Daniel Campora. | |||
| 2015-01-21 | py: Add comments for vstr_init and mp_obj_new_str. | Damien George | |
| 2015-01-21 | py: Remove mp_obj_str_builder and use vstr instead. | Damien George | |
| With this patch str/bytes construction is streamlined. Always use a vstr to build a str/bytes object. If the size is known beforehand then use vstr_init_len to allocate only required memory. Otherwise use vstr_init and the vstr will grow as needed. Then use mp_obj_new_str_from_vstr to create a str/bytes object using the vstr memory. Saves code ROM: 68 bytes on stmhal, 108 bytes on bare-arm, and 336 bytes on unix x64. | |||
| 2015-01-21 | py: Add mp_obj_new_str_from_vstr, and use it where relevant. | Damien George | |
| This patch allows to reuse vstr memory when creating str/bytes object. This improves memory usage. Also saves code ROM: 128 bytes on stmhal, 92 bytes on bare-arm, and 88 bytes on unix x64. | |||
| 2015-01-22 | modffi: Support return values of mp_obj_t type. | Paul Sokolovsky | |
| 2015-01-21 | builtinimport: Make sure that qstr is used properly to load frozen modules. | Paul Sokolovsky | |
| 2015-01-21 | py: Implement proper re-raising in native codegen's finally handler. | Damien George | |
| This allows an exception to propagate correctly through a finally handler. | |||
| 2015-01-21 | py: Implement __reversed__ slot. | Damien George | |
| Addresses issue #1073. | |||
| 2015-01-21 | stmhal: Add support for FEZ Cerb40 II board from ghielectronics.com. | Dave Hylands | |
| 2015-01-20 | docs: Fix frequency info for DAC.triangle. | Damien George | |
| 2015-01-20 | py: Prevent segfault for operations on closed StringIO. | stijn | |
| Addresses issue #1067. | |||
| 2015-01-21 | modffi: Support open own executable using open(None). | Paul Sokolovsky | |
| 2015-01-20 | py: Use mp_arg_check_num in some _make_new functions. | Damien George | |
| Reduces stmhal code size by about 250 bytes. | |||
| 2015-01-20 | py, unix: Allow to compile with -Wunused-parameter. | Damien George | |
| See issue #699. | |||
| 2015-01-20 | py, unix, stmhal: Allow to compile with -Wshadow. | Damien George | |
| See issue #699. | |||
| 2015-01-20 | py: Implement very simple frozen modules support. | Paul Sokolovsky | |
| Only modules (not packages) supported now. Source modules can be converted to frozen module structures using tools/make-frozen.py script. | |||
| 2015-01-18 | esp8266: Add missing hard_reset qstr. | Paul Sokolovsky | |
| 2015-01-18 | esp8266:modpyb: Implement hard_reset(). | Paul Sokolovsky | |
| 2015-01-16 | unix: Update .gitignore for "fast" and "minimal" builds. | Damien George | |
| 2015-01-16 | unix: Add target to build "minimal" uPy interpreter. | Damien George | |
| 2015-01-16 | py, unix: Allow to compile with -Wsign-compare. | Damien George | |
| See issue #699. | |||
| 2015-01-16 | esp8266: Implement task-based, event-driven interface with UART. | Paul Sokolovsky | |
| This enables proper interfacing with underlying OS - MicroPython doesn't run the main loop, OS does, MicroPython just gets called when some event takes place. | |||
| 2015-01-16 | py: Remove unnecessary id_flags argument from emitter's load_fast. | Damien George | |
| Saves 24 bytes in bare-arm. | |||
| 2015-01-16 | minimal: Make #if indent consistent. | Paul Sokolovsky | |
| 2015-01-16 | minimal: Support even-driven REPL. | Paul Sokolovsky | |
| 2015-01-16 | pyexec: Add event-driven variant pyexec_friendly_repl(). | Paul Sokolovsky | |
| pyexec_friendly_repl_process_char() and friends, useful for ports which integrate into existing cooperative multitasking system. Unlike readline() refactor before, this was implemented in less formal, trial&error process, minor functionality regressions are still known (like soft&hard reset support). So, original loop-based pyexec_friendly_repl() is left intact, specific implementation selectable by config setting. | |||
| 2015-01-15 | esp8266: Use dedicated heap allocated as static array. | Paul Sokolovsky | |
| We cannot assume that all memory belongs to us - it actually belongs to ESP8266 OS. | |||
| 2015-01-14 | py: Add "default" to switches to allow better code flow analysis. | Damien George | |
| This helps compiler produce smaller code. Saves 124 bytes on stmhal and bare-arm. | |||
| 2015-01-14 | py: Only allocate strings/bytes once for load_const_obj. | Damien George | |
| 2015-01-14 | unix, windows: Don't call mp_unix_mark_exec on windows. | Damien George | |
| 2015-01-14 | py: Allocate memory for assembled code at start of PASS_EMIT. | Damien George | |
| Previously was allocating at end of PASS_COMPUTE, and this pass was being run twice, so memory was being allocated twice. | |||
| 2015-01-14 | travis, minimal: Install gcc-multilib for -m32; use /bin/echo for test. | Damien George | |
| 2015-01-14 | py: Reluctantly add an extra pass to bytecode compiler. | Damien George | |
| Bytecode also needs a pass to compute the stack size. This is because the state size of the bytecode function is encoded as a variable uint, so we must know the value of this uint before we encode it (otherwise the size of the generated code changes from one pass to the next). Having an entire pass for this seems wasteful (in time). Alternative is to allocate fixed space for the state size (would need 3-4 bytes to be general, when 1 byte is usually sufficient) which uses a bit of extra RAM per bytecode function, and makes the code less elegant in places where this uint is encoded/decoded. So, for now, opt for an extra pass. | |||
| 2015-01-14 | py, unix: Trace root pointers with native emitter under unix port. | Damien George | |
| Native code has GC-heap pointers in it so it must be scanned. But on unix port memory for native functions is mmap'd, and so it must have explicit code to scan it for root pointers. | |||
| 2015-01-13 | py: Make compiler not crash when default except is not last. | Damien George | |
| 2015-01-13 | py/showbc.c: Handle new LOAD_CONST_OBJ opcode, and opcodes with cache. | Damien George | |
