1. 01 Jun, 2014 4 commits
    • Damien George's avatar
      Rename bultins config variables to MICROPY_PY_BUILTINS_*. · fb510b3b
      Damien George authored
      This renames:
      MICROPY_PY_FROZENSET -> MICROPY_PY_BUILTINS_FROZENSET
      MICROPY_PY_PROPERTY -> MICROPY_PY_BUILTINS_PROPERTY
      MICROPY_PY_SLICE -> MICROPY_PY_BUILTINS_SLICE
      MICROPY_ENABLE_FLOAT -> MICROPY_PY_BUILTINS_FLOAT
      
      See issue #35 for discussion.
      fb510b3b
    • Damien George's avatar
      py, vm: Replace save_ip, save_sp with code_state->{ip, sp}. · c60a261e
      Damien George authored
      This may seem a bit of a risky change, in that it may introduce crazy
      bugs with respect to volatile variables in the VM loop.  But, I think it
      should be fine: code_state points to some external memory, so the
      compiler should always read/write to that memory when accessing the
      ip/sp variables (ie not put them in registers).
      
      Anyway, it passes all tests and improves on all efficiency fronts: about
      2-4% faster (64-bit unix), 16 bytes less stack space per call (64-bit
      unix) and slightly less executable size (unix and stmhal).
      
      The reason it's more efficient is save_ip and save_sp were volatile
      variables, so were anyway stored on the stack (in memory, not regs).
      Thus converting them to code_state->{ip, sp} doesn't cost an extra
      memory dereference (except maybe to get code_state, but that can be put
      in a register and then made more efficient for other uses of it).
      c60a261e
    • Damien George's avatar
      Merge branch 'pfalcon-vm-alloca' · c7969857
      Damien George authored
      c7969857
    • Damien George's avatar
      Merge branch 'vm-alloca' of github.com:pfalcon/micropython into pfalcon-vm-alloca · 1b87d109
      Damien George authored
      Conflicts:
      	py/vm.c
      
      Fixed stack underflow check.  Use UINT_FMT/INT_FMT where necessary.
      Specify maximum VM-stack byte size by multiple of machine word size, so
      that on 64 bit machines it has same functionality as 32 bit.
      1b87d109
  2. 31 May, 2014 17 commits
  3. 30 May, 2014 8 commits
  4. 29 May, 2014 3 commits
  5. 28 May, 2014 8 commits