1. 28 Sep, 2016 1 commit
  2. 16 Sep, 2016 1 commit
    • Kunshan Wang's avatar
      Added status flags (NZCV) to binOp. · 39604478
      Kunshan Wang authored
      In the text form, the NZCV flags are optional, so existing programs
      are still valid. In the bundle building API, `new_binop` remain
      unchanged, but an additional function `new_binop_with_status` is added,
      so existing programs are still valid.
      scripts/*.py are modified to adapt the MuBinOpStatus enum type.
  3. 12 Sep, 2016 1 commit
    • Kunshan Wang's avatar
      Clarification. · 39b629ad
      Kunshan Wang authored
      Not changing semantics, but changed the wording to make it clearer.
      - Provided an object hierarchy of objects in a Mu IR bundle. This
        describes the "has many" and "refers to" relations between things in a
      - Clarify what are "top-level entities". Specifically, "functions" are,
        but "function versions" are not. Stopped using "top-level definitions"
        because "definition" is too text-oriented. The API functions create
      - Stopped using the term "declaring a function", but use "creating a
        function" and "creating a function version" instead. Now "undefined
        function" and "defined function" simply refers to functions with 0
        versions and functions with 1+ versions, respectively.
      - Explicitly state the "function version lookup" when a function is
  4. 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.
  5. 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
  6. 11 Aug, 2016 2 commits
  7. 09 Aug, 2016 1 commit
  8. 21 Jul, 2016 1 commit
  9. 20 Jul, 2016 1 commit
  10. 23 Jun, 2016 1 commit
  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.
  12. 21 Jun, 2016 1 commit
  13. 14 Jun, 2016 1 commit
  14. 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.
  15. 26 May, 2016 1 commit
    • Kunshan Wang's avatar
      Deprecate binary form in favor for the IRBuilder. · 9900b7d7
      Kunshan Wang authored
      As we discussed, the bundle loading interface between the client and the
      micro VM should be a functional interface. The binary form is still a
      parsed format. This commit removes the binary format in the type system
      and the instruction set.
  16. 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.
  17. 13 Nov, 2015 1 commit
    • Kunshan Wang's avatar
      Use frame cursors in stack introspection. · 868f8fd4
      Kunshan Wang authored
      Introduced the framecursorref type. This is to solve performance problem
      when the stack is very deep. The API is still stateless, but a frame
      cursor is mutable. A frame cursor can only be created from a stack in
      the READY<Ts> state, may iterate downwards, and must be explicitly
      closed. Concurrent introspection that races with stack modification (pop
      frames/push frames/resuming a stack) has undefined behaviour.
      Also used "resumption point" to simplify the description of stack
      binding. The semantics is not changed. In the concrete syntax,
      resumption points are "beginning of function", "OSR point instruction"
      or "the appropriate place for native function". The Mu cases can be
      mapped to the resumption points in the formal model: entry of the %entry
      block, and the exit of the block where the OSR point instruction is in.
  18. 27 Oct, 2015 1 commit
  19. 21 Oct, 2015 2 commits
  20. 20 Oct, 2015 1 commit
  21. 09 Oct, 2015 1 commit
  22. 07 Oct, 2015 2 commits
  23. 01 Oct, 2015 1 commit
  24. 30 Sep, 2015 1 commit
  25. 24 Sep, 2015 1 commit
    • Kunshan Wang's avatar
      Renamed types. · 4199116d
      Kunshan Wang authored
      func->funcref, thread->threadref, stack->stackref,
      ptr->uptr, funcptr->ufuncptr.
  26. 01 Sep, 2015 1 commit
  27. 31 Aug, 2015 1 commit
  28. 24 Aug, 2015 1 commit
  29. 19 Mar, 2015 1 commit
  30. 12 Feb, 2015 1 commit
  31. 16 Jan, 2015 1 commit
  32. 15 Jan, 2015 1 commit
  33. 28 Oct, 2014 1 commit