{"push_id":883335922,"size":16,"distinct_size":16,"ref":"refs/heads/master","head":"bd33aa313e03a9b2f07178d5a22d9891598c309f","before":"19920e25f99dcae0559c7fcc142bbebe239c1e0e","commits":[{"sha":"698a6a9d7d8d9f4bf90287ddf60ebf5325167ec8","author":{"email":"9dc5061f178bb11813e14f1ed02ba27eaf21fa5d@users.sourceforge.net","name":"Paul Sokolovsky"},"message":"unix/moduselect: poll.register(): Reuse freed entries in poll array.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/698a6a9d7d8d9f4bf90287ddf60ebf5325167ec8"},{"sha":"9d0d6d38306e37e66938322024ea9784e7530801","author":{"email":"9dc5061f178bb11813e14f1ed02ba27eaf21fa5d@users.sourceforge.net","name":"Paul Sokolovsky"},"message":"examples/accel_i2c.py: Switch to \"machine\" module.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/9d0d6d38306e37e66938322024ea9784e7530801"},{"sha":"0bb57bf5bf1c9822abca524aabd00fe9b861d10d","author":{"email":"9dc5061f178bb11813e14f1ed02ba27eaf21fa5d@users.sourceforge.net","name":"Paul Sokolovsky"},"message":"unix/modtime: sleep(): Automatically restart after receiving EINTR.\n\nTHis is required to deal well with signals, signals being the closest\nanalogue of hardware interrupts for POSIX. This is also CPython 3.5\ncompliant behavior (PEP 475).\n\nThe main problem implementing this is to figure out how much time was\nspent in waiting so far/how much is remaining. It's well-known fact that\nLinux updates select()'s timeout value when returning with EINTR to the\nremaining wait time. Here's what POSIX-based standards say about this:\n(http://pubs.opengroup.org/onlinepubs/9699919799/functions/pselect.html):\n\n\"Upon successful completion, the select() function may modify the object\npointed to by the timeout argument.\"\n\nI.e. it allows to modify timeout value, but doesn't say how exactly it is\nmodified. And actually, it allows such modification only \"upon successful\ncompletion\", which returning with EINTR error hardly is.\n\nPOSIX also allows to request automatic EINTR restart for system calls using\nsigaction call with SA_RESTART flag, but here's what the same document says\nabout it:\n\n\"If SA_RESTART has been set for the interrupting signal, it is\nimplementation-defined whether the function restarts or returns with\n[EINTR].\"\n\nIn other words, POSIX doesn't leave room for both portable and efficient\nhandling of this matter, so the code just allows to manually select\nLinux-compatible behavior with MICROPY_SELECT_REMAINING_TIME option,\nor otherwise will just raise OSError. When systems with non-Linux behavior\nare found, they can be handled separately.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/0bb57bf5bf1c9822abca524aabd00fe9b861d10d"},{"sha":"fad7d9317b47330533ee6c84ffdaa3e53ad76e46","author":{"email":"9dc5061f178bb11813e14f1ed02ba27eaf21fa5d@users.sourceforge.net","name":"Paul Sokolovsky"},"message":"unix/modtime: Unbreak Windows build after changes to check select() result.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/fad7d9317b47330533ee6c84ffdaa3e53ad76e46"},{"sha":"4e7107a572b55321f3f483f0293dd19b4f752c9b","author":{"email":"f1ddc475aab11ab101b400b5353858ae05b0294a@gmail.com","name":"Damien George"},"message":"py: Change mp_print_strn_t func type to use size_t for the str length.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/4e7107a572b55321f3f483f0293dd19b4f752c9b"},{"sha":"c3f64d9799cdf8af88087eebe6628e83d658405c","author":{"email":"f1ddc475aab11ab101b400b5353858ae05b0294a@gmail.com","name":"Damien George"},"message":"py: Change qstr_* functions to use size_t as the type for str len arg.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/c3f64d9799cdf8af88087eebe6628e83d658405c"},{"sha":"5d66b427e22b6db5c73b74a6e9ba057ac5a38893","author":{"email":"f1ddc475aab11ab101b400b5353858ae05b0294a@gmail.com","name":"Damien George"},"message":"py/emit: Change type of arg of load_const_obj from void* to mp_obj_t.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/5d66b427e22b6db5c73b74a6e9ba057ac5a38893"},{"sha":"278f3592d40ac8826912b6587fe10ee0bc7c49a1","author":{"email":"f1ddc475aab11ab101b400b5353858ae05b0294a@gmail.com","name":"Damien George"},"message":"extmod/modmachine: Use uintptr_t instead of mp_uint_t for address type.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/278f3592d40ac8826912b6587fe10ee0bc7c49a1"},{"sha":"9f6976b74e352d01bbfbb4b4d32465f9db5f3390","author":{"email":"f1ddc475aab11ab101b400b5353858ae05b0294a@gmail.com","name":"Damien George"},"message":"py: Make mp_setup_code_state take concrete pointer for func arg.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/9f6976b74e352d01bbfbb4b4d32465f9db5f3390"},{"sha":"254cfa6c3189983050e66ccb4ec267b41299dd64","author":{"email":"f1ddc475aab11ab101b400b5353858ae05b0294a@gmail.com","name":"Damien George"},"message":"py: Use uintptr_t instead of mp_uint_t in MP_TAGPTR_* macros.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/254cfa6c3189983050e66ccb4ec267b41299dd64"},{"sha":"94fe6e523d42ecc342c1f6a9734ed2edf232ddbd","author":{"email":"f1ddc475aab11ab101b400b5353858ae05b0294a@gmail.com","name":"Damien George"},"message":"py/gc: Move away from using mp_uint_t, instead use uintptr_t and size_t.\n\nThe GC works with concrete pointers and so the types should reflect this.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/94fe6e523d42ecc342c1f6a9734ed2edf232ddbd"},{"sha":"cbf7674025814797f5c537d6d1c195efe58ccaaf","author":{"email":"f1ddc475aab11ab101b400b5353858ae05b0294a@gmail.com","name":"Damien George"},"message":"py: Add MP_ROM_* macros and mp_rom_* types and use them.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/cbf7674025814797f5c537d6d1c195efe58ccaaf"},{"sha":"999cedb90ff0827cdb9dfe0e4faa6ebc1739d271","author":{"email":"f1ddc475aab11ab101b400b5353858ae05b0294a@gmail.com","name":"Damien George"},"message":"py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR.\n\nThis allows the mp_obj_t type to be configured to something other than a\npointer-sized primitive type.\n\nThis patch also includes additional changes to allow the code to compile\nwhen sizeof(mp_uint_t) != sizeof(void*), such as using size_t instead of\nmp_uint_t, and various casts.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/999cedb90ff0827cdb9dfe0e4faa6ebc1739d271"},{"sha":"b8cfb0d7b2c91ea1e17f6caeabfc9cb23166cdc1","author":{"email":"f1ddc475aab11ab101b400b5353858ae05b0294a@gmail.com","name":"Damien George"},"message":"py: Add support for 64-bit NaN-boxing object model, on 32-bit machine.\n\nTo use, put the following in mpconfigport.h:\n\n    #define MICROPY_OBJ_REPR (MICROPY_OBJ_REPR_D)\n    #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_DOUBLE)\n    typedef int64_t mp_int_t;\n    typedef uint64_t mp_uint_t;\n    #define UINT_FMT \"%llu\"\n    #define INT_FMT \"%lld\"\n\nCurrently does not work with native emitter enabled.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/b8cfb0d7b2c91ea1e17f6caeabfc9cb23166cdc1"},{"sha":"5d8164167ee9911b25af5eb42e7d7190ba0c33f6","author":{"email":"3d0f3b9ddcacec30c4008c5e030e6c13a478cb4f@wipy.io","name":"danicampora"},"message":"cc3200: Correct buffer offset in serial flash diskio module.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/5d8164167ee9911b25af5eb42e7d7190ba0c33f6"},{"sha":"bd33aa313e03a9b2f07178d5a22d9891598c309f","author":{"email":"9dc5061f178bb11813e14f1ed02ba27eaf21fa5d@users.sourceforge.net","name":"Paul Sokolovsky"},"message":"unix/moduselect: Support growing of poll array.","distinct":true,"url":"https://api.github.com/repos/neilh10/micropython/commits/bd33aa313e03a9b2f07178d5a22d9891598c309f"}]}