1. 28 Apr, 2014 3 commits
  2. 27 Apr, 2014 9 commits
  3. 26 Apr, 2014 14 commits
  4. 25 Apr, 2014 5 commits
    • Damien George's avatar
      py: Add MICROPY_ENABLE_DOC_STRING, disabled by default. · 1463c1fa
      Damien George authored
      Also add a few STATIC's to some compile functions that should have them.
      
      Addresses issue #521.
      1463c1fa
    • Damien George's avatar
    • Damien George's avatar
      py, gc: Zero out newly allocated blocks in the GC. · daab651c
      Damien George authored
      Also add some more debugging output to gc_dump_alloc_table().
      
      Now that newly allocated heap is always zero'd, maybe we just make this
      a policy for the uPy API to keep it simple (ie any new implementation of
      memory allocation must zero all allocations).  This follows the D
      language philosophy.
      
      Before this patch, a previously used memory block which had pointers in
      it may still retain those pointers if the new user of that block does
      not actually use the entire block.  Eg, if I want 5 blocks worth of
      heap, I actually get 8 (round up to nearest 4).  Then I never use the
      last 3, so they keep their old values, which may be pointers pointing to
      the heap, hence preventing GC.
      
      In rare (or maybe not that rare) cases, this leads to long, unintentional
      "linked lists" within the GC'd heap, filling it up completely.  It's
      pretty rare, because you have to reuse exactly that memory which is part
      of this "linked list", and reuse it in just the right way.
      
      This should fix issue #522, and might have something to do with
      issue #510.
      daab651c
    • Paul Sokolovsky's avatar
      py: Support instance __call__ method. · 755565d2
      Paul Sokolovsky authored
      755565d2
    • Damien George's avatar
  5. 24 Apr, 2014 5 commits
  6. 23 Apr, 2014 4 commits