1. 19 Feb, 2014 1 commit
  2. 16 Feb, 2014 2 commits
  3. 15 Feb, 2014 1 commit
    • Damien George's avatar
      Implement proper exception type hierarchy. · c5966128
      Damien George authored
      Each built-in exception is now a type, with base type BaseException.
      C exceptions are created by passing a pointer to the exception type to
      make an instance of.  When raising an exception from the VM, an
      instance is created automatically if an exception type is raised (as
      opposed to an exception instance).
      
      Exception matching (RT_BINARY_OP_EXCEPTION_MATCH) is now proper.
      
      Handling of parse error changed to match new exceptions.
      
      mp_const_type renamed to mp_type_type for consistency.
      c5966128
  4. 08 Feb, 2014 1 commit
  5. 06 Feb, 2014 1 commit
  6. 05 Feb, 2014 1 commit
  7. 04 Feb, 2014 1 commit
    • Paul Sokolovsky's avatar
      Implement support for sys.path when loading modules. · e11b17c2
      Paul Sokolovsky authored
      sys.path is not initialized by rt_init(), that's left for platform-specific
      startup code. (For example, bare metal port may have some hardcoded defaults,
      and let user change sys.path directly; while port for OS with environment
      feature can take path from environment). If it's not explicitly initialized,
      modules will be imported only from a current directory.
      e11b17c2
  8. 03 Feb, 2014 1 commit
  9. 25 Jan, 2014 1 commit
  10. 22 Jan, 2014 1 commit
  11. 21 Jan, 2014 1 commit
  12. 19 Jan, 2014 1 commit
    • Paul Sokolovsky's avatar
      Implement modules as singletons Python semantics. · d720ab52
      Paul Sokolovsky authored
      In Python, importing module several times returns same underlying module
      object. This also fixes import statement handling for builtin modules.
      
      There're still issues:
      1. CPython exposes set of loaded modules as sys.modules, we may want to
      do that either.
      2. Builtin modules are implicitly imported, which is not really correct.
      We should separate registering a (builtin) module and importing a module.
      CPython keeps builtin module names in sys.builtin_module_names .
      d720ab52
  13. 18 Jan, 2014 1 commit
  14. 15 Jan, 2014 1 commit
  15. 13 Jan, 2014 1 commit
  16. 06 Jan, 2014 2 commits
  17. 04 Jan, 2014 1 commit
    • Damien George's avatar
      Split qstr into pools, and put initial pool in ROM. · eb7bfcb2
      Damien George authored
      Qstr's are now split into a linked-list of qstr pools.  This has 2
      benefits: the first pool can be in ROM (huge benefit, since we no longer
      use RAM for the core qstrs), and subsequent pools use m_new for the next
      pool instead of m_renew (thus avoiding a huge single table for all the
      qstrs).
      
      Still would be better to use a hash table, but this scheme takes us part
      of the way (eventually convert the pools to hash tables).
      
      Also fixed bug with import.
      
      Also improved the way the module code is referenced (not magic number 1
      anymore).
      eb7bfcb2
  18. 03 Jan, 2014 2 commits