Damien George
ab8012bd80
py/emitglue: Add include of unistd.h for read function.
2015-12-18 12:33:08 +00:00
Damien George
a83124361e
py/compile: Simplify compilation of comprehension iterators.
...
Saves 88 bytes on Thumb2, and 200 bytes on x86-64 archs.
2015-12-18 01:37:55 +00:00
Paul Sokolovsky
2eb844e0b4
ports: Rename "machine" module to "umachine".
...
To let unix port implement "machine" functionality on Python level, and
keep consistent naming in other ports (baremetal ports will use magic
module "symlinking" to still load it on "import machine").
Fixes #1701 .
2015-12-18 02:39:52 +02:00
Paul Sokolovsky
2195046365
windows/windows_mphal: Add basic support for raising KeyboardInterrupt.
...
Compiles with mingw32, tested to work erratically under Wine due to
not fully implemented emulation in it.
2015-12-18 01:12:59 +02:00
Paul Sokolovsky
5efd3f0dca
windows: Make keyboard_interrupt_obj available, it's standard feature.
2015-12-18 01:07:27 +02:00
Paul Sokolovsky
3c2b377711
unix/unix_mphal: Just consistently set sigaction.sa_flags to 0.
2015-12-18 01:07:27 +02:00
Damien George
2fe7e6bef0
py/parse: Include stddef.h for definition of size_t.
2015-12-17 22:17:26 +00:00
Paul Sokolovsky
3db2b23060
unix/unix_mphal: Properly initialize struct sigaction.
...
This solves long-standing non-deterministic bug, which manifested itself
on x86 32-bit (at least of reported cases) - segfault on Ctrl+C (i.e.
SIGINT).
2015-12-17 23:24:35 +02:00
Damien George
02fa8dff85
py/modgc: Remove obsolete extern declaration.
2015-12-17 13:20:40 +00:00
Damien George
831137b807
py/compile: Use size_t or uintptr_t instead of mp_uint_t.
2015-12-17 13:13:18 +00:00
Damien George
16a6a47a7b
py/parse: Replace mp_int_t/mp_uint_t with size_t etc, where appropriate.
2015-12-17 13:06:05 +00:00
Damien George
6e2fb56d40
py/qstr: Change type of qstr from mp_uint_t to size_t.
...
For builds where mp_uint_t is larger than size_t, it doesn't make
sense to use such a wide type for qstrs. There can only be as many
qstrs as there is address space on the machine, so size_t is the correct
type to use.
Saves about 3000 bytes of code size when building unix/ port with
MICROPY_OBJ_REPR_D.
2015-12-17 12:45:22 +00:00
Damien George
257848587f
py/qstr: Use size_t instead of mp_uint_t when counting allocated bytes.
2015-12-17 12:41:40 +00:00
Damien George
1d899e1783
py/bc: Use size_t instead of mp_uint_t to count size of state and args.
2015-12-17 12:33:42 +00:00
Damien George
7a30e87d2b
py: Fix MICROPY_STACKLESS mode to compile with MICROPY_OBJ_REPR_D.
2015-12-17 12:32:41 +00:00
Damien George
ab1e36dcf9
py/mpprint: Implement %llu and %lld format specifiers for mp_printf.
...
Only enabled for MICROPY_OBJ_REPR_D.
2015-12-17 11:41:10 +00:00
Damien George
d977d268e8
py/gc: Use size_t instead of mp_uint_t to count things related to heap.
...
size_t is the correct type to use to count things related to the size of
the address space. Using size_t (instead of mp_uint_t) is important for
the efficiency of ports that configure mp_uint_t to larger than the
machine word size.
2015-12-16 20:09:11 -05:00
Damien George
f7782f8082
py/gc: For finaliser, interpret a pointer into the heap as concrete obj.
2015-12-16 19:45:42 -05:00
Damien George
969e4bbe6a
py/gc: Scan GC blocks as an array of pointers, not an array of objects.
...
The GC should search for pointers within the heap. This patch makes a
difference when an object is larger than a pointer (eg 64-bit NaN
boxing).
2015-12-16 19:41:37 -05:00
Damien George
3911d5af32
py/modsys: Fix module globals table to use MP_ROM_QSTR.
2015-12-16 19:40:14 -05:00
danicampora
67a5bfc6d8
docs/library: Add network server example.
2015-12-16 22:35:14 +01:00
Damien George
0d7de08e06
unix: Change define logic of _DIRENT_HAVE_D_INO to match other macros.
2015-12-16 14:17:56 +00:00
pohmelie
64a909ef51
unix: Add FreeDos target
2015-12-16 13:28:12 +00:00
Damien George
a1528364b3
unix/modos: Fix silly bugs in ilistdir tuple creation.
2015-12-16 13:26:20 +00:00
Damien George
3386477b29
unix/modos: Allow to configure use of d_ino using _DIRENT_HAVE_D_INO.
...
Ports will need to #define _DIRENT_HAVE_D_INO (0) to disable d_ino use.
2015-12-16 13:21:09 +00:00