1. 17 Dec, 2015 11 commits
  2. 16 Dec, 2015 7 commits
  3. 15 Dec, 2015 1 commit
  4. 14 Dec, 2015 3 commits
    • stijn's avatar
    • Paul Sokolovsky's avatar
      unix/modos: Implement ilistdir(). · d874702f
      Paul Sokolovsky authored
      ilistdir() returns iterator which yields triples of (name, type, ino)
      where ino is inode number for entry's data, type of entry (file/dir/etc.),
      and name of file/dir. listdir() can be easily implemented in terms of this
      iterator (which is otherwise more efficient in terms of memory use and may
      save expensive call to stat() for each returned entry).
      CPython has os.scandir() which also returns an iterator, but it yields
      more complex objects of DirEntry type. scandir() can also be easily
      implemented in terms of ilistdir().
    • Paul Sokolovsky's avatar
      py/objpolyiter: Implement instance-polymorphic iterator type. · 1a1cceaf
      Paul Sokolovsky authored
      This allows to have single itertaor type for various internal iterator
      types (save rodata space by not having repeating almost-empty type
      structures). It works by looking "iternext" method stored in particular
      object instance (should be first object field after "base").
  5. 13 Dec, 2015 2 commits
  6. 12 Dec, 2015 6 commits
  7. 11 Dec, 2015 4 commits
    • Paul Sokolovsky's avatar
      tools: Upgrade upip to 0.6.3. · bb7f5b55
      Paul Sokolovsky authored
      Updated for _os -> uos builtin module rename.
    • Paul Sokolovsky's avatar
    • stijn's avatar
      msvc: Use different output directories depending on build type · 967ceba5
      stijn authored
      This allows multiple versions (e.g. Debug/Release, x86/x64) of micropython.exe
      to co-exist instead and also solves potential problems where msbuild does not
      completely rebuild the output and/or pdb files when switching between builds,
      which in turn can cause linker errors in dependent projects.
      By default exe/map/... files go in windows/build/$(Configuration)$(Platform)
      After each build micropython.exe is still copied from the above directory to
      the windows directory though, as that is consistent with the other ports and
      the test runner by default uses that location as well.
      Also rename env.props -> path.props which is a clearer name,
      and add ample documentation in the affected build files.
      (also see discussion in #1538)
    • Paul Sokolovsky's avatar
      unix/moduselect: Implement "one-shot" flag for poll.poll(). · c1481bb0
      Paul Sokolovsky authored
      After an I/O event is triggered for fd, event flags are automatically reset,
      so no further events are reported until new event flags are set. This is
      an optimization for uasyncio, required to account for coroutine semantics:
      each coroutine issues explicit read/write async call, and once that trigger,
      no events should be reported to coroutine, unless it again explicitly
      requests it. One-shot mode saves one linear scan over the poll array.
  8. 10 Dec, 2015 5 commits
  9. 09 Dec, 2015 1 commit
    • Paul Sokolovsky's avatar
      py/mkrules.mk: Don't pass COPT to linker. · 645045a7
      Paul Sokolovsky authored
      Oftentimes, libc, libm, etc. don't come compiled with CPU compressed code
      option (Thumb, MIPS16, etc.), but we may still want to use such compressed
      code for MicroPython itself.