1. 30 Aug, 2016 1 commit
    • Kunshan Wang's avatar
      Support for symbols, relocs and primordial threads. · 5fd41775
      Kunshan Wang authored
      - The make_boot_image method is moved to MuCtx because it needs to refer
        to memory locations using handles of IRef types.
      
      - Let global cells be always pinned, and added the get_addr API/CommInst
        to get their addresses.
      5fd41775
  2. 22 Aug, 2016 1 commit
    • Kunshan Wang's avatar
      Fixed bugs in muapi.h · 8a7d96ba
      Kunshan Wang authored
      new_bb: parameter types must be explicit
      
      watchpoint: it has three destinations instead of just an ExcClause
      
      wpbranch: both destinations must be explicit
      8a7d96ba
  3. 11 Aug, 2016 2 commits
  4. 09 Aug, 2016 1 commit
  5. 05 Aug, 2016 1 commit
  6. 21 Jul, 2016 1 commit
  7. 20 Jul, 2016 1 commit
  8. 30 Jun, 2016 2 commits
  9. 24 Jun, 2016 1 commit
  10. 23 Jun, 2016 1 commit
    • Kunshan Wang's avatar
      Fixed muapi.h and improved parser. · b77d8636
      Kunshan Wang authored
      Fixed a bug where the last param of new_thread_nor should be
      MuArraySize.
      
      Removed MuIRNodeRefValue to make MuIRNode unique.
      
      muapi.h also includes the common instruction names in the comment after
      the macro. Improved the API parser for this purpose.
      b77d8636
  11. 22 Jun, 2016 1 commit
    • Kunshan Wang's avatar
      Map IR Builder functions to comminsts. · 8fb468bd
      Kunshan Wang authored
      Now the IR Builder API is also available as common instructions. We keep
      muapi.h as the canonical definition, and the semantics of common
      instructions maps to that of the API functions.
      8fb468bd
  12. 14 Jun, 2016 1 commit
    • Kunshan Wang's avatar
      Sync with refimpl2, added muapiparser.py · 9820e33b
      Kunshan Wang authored
      Improved the annotations in muapi.h so that it is easier to generate
      language bindings automatically.
      
      The muapiparser.py is copied from refimpl2 for convenience.
      9820e33b
  13. 09 Jun, 2016 2 commits
    • Kunshan Wang's avatar
      Add cast to macros. · 831315bd
      Kunshan Wang authored
      Cast constant macros to their respective types so that they will have
      proper sizes and signedness.
      
      MuAtomicRMWOp is renamed to MuAtomicRMWOptr, in order not to confuse
      "operator" and "operand".
      831315bd
    • Kunshan Wang's avatar
      Modified new_thread API and annotated muapi.h · 7efae3f0
      Kunshan Wang authored
      The new_thread API call is split into two functions, one continues
      normally and the other throws exception. This interface will be more
      C-style.
      
      It will be convenient if there is a program that parses the muapi.h and
      generates language bindings (for Python, Scala, etc.). Some annotations
      are added in the muapi.h file to make this process easier. For example,
      when passing an array, C functions usually take two parameters: a
      pointer and a size. The param:array:sz annotation tells the parser that
      the "param" parameter points to an array whose size is determined by the
      "sz" parameter. "param:bool" tells the parser that the "int param"
      parameter holds a boolean value (non-zero or zero). "param:optional"
      tells the parser that the "T* param" parameter may be NULL.
      7efae3f0
  14. 06 Jun, 2016 1 commit
  15. 03 Jun, 2016 1 commit
  16. 01 Jun, 2016 1 commit
  17. 31 May, 2016 1 commit
    • Kunshan Wang's avatar
      Functions for building IR. · 725df50e
      Kunshan Wang authored
      The 'irbuilderref' type is no longer used. 'irnoderef' is the only newly
      introduced Mu type. A bundle node now works as a namespace. All other
      nodes are children of the bundle node. After a bundle node is loaded
      into Mu (or aborted), Mu may de-allocate the bundle node and all of its
      children for space efficiency.
      725df50e
  18. 30 May, 2016 1 commit
  19. 29 Apr, 2016 1 commit
    • Kunshan Wang's avatar
      Added thread-local. · 94fe2b71
      Kunshan Wang authored
      The thread-local object reference gives each thread a reference to an
      arbitrary object, which can hold thread-local states. New API functions
      and new (common) instructions are added. It is also a thread states and
      a GC root.
      94fe2b71
  20. 13 Apr, 2016 1 commit
    • Kunshan Wang's avatar
      Added abstract types in muapi.h · 4e1c3202
      Kunshan Wang authored
      Added MuSeqValue and MuGenRefValue in the muapi.h. Although all MuValue
      subtypes are just aliases of void* in the C API, having some annotation
      makes the API more readable for the programmer as well as language
      binding makers.
      4e1c3202
  21. 03 Dec, 2015 1 commit
  22. 02 Dec, 2015 1 commit
    • Kunshan Wang's avatar
      Fixed trap handler and new_thread. · ce0b0d2e
      Kunshan Wang authored
      - Explicitly say in cmpxchg that "weak" is boolean.
      - The signature of the trap handler and the new_thread API are corrected
        so that input parameters are values and output parameters are pointers
        to values.
      - In trap handler, the "values" array is now a pointer to a
        client-allocated array. The client is also responsible for freeing it
        by providing a "freer". This is solely for working around the C
        programming language's limitation that "raw arrays (T*) do not know
        how to deallocate themselves". Garbage-collected languages (such as
        Haskell, Java, ...) and ownership-based languages (C++, rust) do not
        have such problems.
      ce0b0d2e
  23. 01 Dec, 2015 1 commit
  24. 26 Nov, 2015 1 commit
  25. 09 Nov, 2015 1 commit
  26. 21 Oct, 2015 2 commits
  27. 07 Oct, 2015 2 commits
  28. 30 Sep, 2015 1 commit
  29. 25 Sep, 2015 1 commit
  30. 24 Sep, 2015 4 commits
  31. 18 Sep, 2015 2 commits