1. 30 Apr, 2017 1 commit
  2. 22 Apr, 2017 1 commit
    • Damien George's avatar
      py: Add LOAD_SUPER_METHOD bytecode to allow heap-free super meth calls. · dd11af20
      Damien George authored
      This patch allows the following code to run without allocating on the heap:
      
          super().foo(...)
      
      Before this patch such a call would allocate a super object on the heap and
      then load the foo method and call it right away.  The super object is only
      needed to perform the lookup of the method and not needed after that.  This
      patch makes an optimisation to allocate the super object on the C stack and
      discard it right after use.
      
      Changes in code size due to this patch are:
      
         bare-arm: +128
          minimal: +232
         unix x64: +416
      unix nanbox: +364
           stmhal: +184
          esp8266: +340
           cc3200: +128
      dd11af20
  3. 06 Apr, 2017 1 commit
  4. 05 Apr, 2017 1 commit
  5. 04 Apr, 2017 2 commits
    • Paul Sokolovsky's avatar
      tools/pyboard: execpty: Use shell=False to workaround some curdir issues. · 546ef301
      Paul Sokolovsky authored
      Without this, Zephyr's port "make test" doesn't work.
      546ef301
    • Paul Sokolovsky's avatar
      tools/pyboard: Add "exec" and "execpty" pseudo-devices support. · 647e72ca
      Paul Sokolovsky authored
      This allows to execute a command and communicate with its stdin/stdout
      via pipes ("exec") or with command-created pseudo-terminal ("execpty"),
      to emulate serial access. Immediate usecase is controlling a QEMU process
      which emulates board's serial via normal console, but it could be used
      e.g. with helper binaries to access real board over other hadware
      protocols, etc.
      
      An example of device specification for these cases is:
      
      	--device exec:../zephyr/qemu.sh
      	--device execpty:../zephyr/qemu2.sh
      
      Where qemu.sh contains long-long qemu startup line, or calls another
      command. There's a special support in this patch for running the command
      in a new terminal session, to support shell wrappers like that (without
      new terminal session, only wrapper script would be terminated, but its
      child processes would continue to run).
      647e72ca
  6. 02 Apr, 2017 1 commit
  7. 06 Mar, 2017 1 commit
  8. 02 Mar, 2017 1 commit
  9. 27 Feb, 2017 1 commit
  10. 22 Feb, 2017 1 commit
  11. 20 Feb, 2017 1 commit
    • Rami Ali's avatar
      tools: Add gen-cpydiff.py to generate docs differences. · b7fa63c7
      Rami Ali authored
      This patch introduces the a small framework to track differences between
      uPy and CPython.  The framework consists of:
      
      - A set of "tests" which test for an individual feature that differs between
        uPy and CPy.  Each test is like a normal uPy test in the test suite, but
        has a special comment at the start with some meta-data: a category (eg
        syntax, core language), a human-readable description of the difference, a
        cause, and a workaround.  Following the meta-data there is a short code
        snippet which demonstrates the difference.  See tests/cpydiff directory
        for the initial set of tests.
      
      - A program (this patch) which runs all the tests (on uPy and CPy) and
        generates nicely-formated .rst documenting the differences.
      
      - Integration into the docs build so that everything is automatic, and the
        differences appear in a way that is easy for users to read/reference (see
        latter commits).
      
      The idea with using this new framework is:
      
      - When a new difference is found it's easy to write a short test for it,
        along with a description, and add it to the existing ones.  It's also easy
        for contributors to submit tests for differences they find.
      
      - When something is no longer different the tool will give an error and
        difference can be removed (or promoted to a proper feature test).
      b7fa63c7
  12. 16 Feb, 2017 1 commit
  13. 10 Feb, 2017 1 commit
  14. 27 Jan, 2017 1 commit
    • Damien George's avatar
      qemu-arm: Don't compile tests in "REPL" mode. · f1db8a30
      Damien George authored
      Previous to this patch the qemu-arm tests were compiled with is_relp=true
      meaning that the __repl_print__ function was called for all lines of code
      in the outer scope.  This is not the right behaviour for scripts that are
      executed as though they were a file (eg tests).
      
      With this fix the micropython/heapalloc_str.py test now works so it is
      removed from the test blacklist.
      f1db8a30
  15. 26 Jan, 2017 1 commit
  16. 05 Jan, 2017 1 commit
  17. 15 Dec, 2016 1 commit
    • Damien George's avatar
      tools/pyboard.py: Refactor so target is not reset between scripts/cmd. · 29b58796
      Damien George authored
      Previous to this patch pyboard.py would open a new serial connection to
      the target for each script that was run, and for any command that was run.
      Apart from being inefficient, this meant that the board was soft-reset
      between scripts/commands, which precludes scripts from accessing variables
      set in a previous one.
      
      This patch changes the behaviour of pyboard.py so that the connection to
      the target is created only once, and it's not reset between scripts or any
      command that is sent with the -c option.
      29b58796
  18. 12 Nov, 2016 1 commit
  19. 07 Nov, 2016 1 commit
    • Paul Sokolovsky's avatar
      tools, unix: Replace upip tarball with just source files. · 61d74fde
      Paul Sokolovsky authored
      To make its inclusion as frozen modules in multiple ports less magic.
      Ports are just expected to symlink 2 files into their scripts/modules
      subdirs.
      
      Unix port updated to use this and in general follow frozen modules setup
      tested and tried on baremetal ports, where there's "scripts" predefined
      dir (overridable with FROZEN_DIR make var), and a user just drops Python
      files there.
      61d74fde
  20. 03 Nov, 2016 1 commit
    • Damien George's avatar
      qemu-arm: Enable software floating point support, and float tests. · ca973bd3
      Damien George authored
      This helps to test floating point code on Cortex-M hardware.
      
      As part of this patch the link-time-optimisation was disabled because it
      wasn't compatible with software FP support.  In particular, the linker
      could not find the __aeabi_f2d, __aeabi_d2f etc functions even though they
      were provided by lib/libm/math.c.
      ca973bd3
  21. 30 Oct, 2016 1 commit
  22. 27 Oct, 2016 1 commit
  23. 25 Oct, 2016 1 commit
  24. 24 Oct, 2016 2 commits
  25. 22 Oct, 2016 1 commit
  26. 13 Oct, 2016 1 commit
  27. 12 Oct, 2016 1 commit
  28. 04 Oct, 2016 1 commit
    • Paul Sokolovsky's avatar
      tools: Upgrade upip to 1.0. · cecf6bee
      Paul Sokolovsky authored
      Fully self-hosted release (without fallbacks), and uses stream gzip
      decompression (step towards support for limited-heap baremetal systems).
      cecf6bee
  29. 23 Sep, 2016 2 commits
  30. 02 Sep, 2016 3 commits
  31. 10 Aug, 2016 1 commit
  32. 27 May, 2016 1 commit
  33. 23 May, 2016 2 commits
  34. 21 May, 2016 1 commit