[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Viuavm-commits] [SCM] Viua VM branch issue/ce6f5d82/rewrite-assembler u

From: git
Subject: [Viuavm-commits] [SCM] Viua VM branch issue/ce6f5d82/rewrite-assembler updated. v0.9.0-2119-g29ceeaa
Date: Thu, 13 Sep 2018 23:04:54 +0200 (CEST)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Viua VM".

The branch, issue/ce6f5d82/rewrite-assembler has been updated
       via  29ceeaa79d2c62ee9557f8769a37f9c24502d8ea (commit)
       via  02d1e65440723b8440891323e9ec275ec1542492 (commit)
       via  007ca54e0d2776baf0c1a64da9001067d5004032 (commit)
       via  1e28cd796c24a72ce98b4f901c6c5be8e87bbe7f (commit)
       via  d7cdb264dd9b1986d44645e1fd05d2eade78c81e (commit)
       via  8db9f27a289e3f2ba675573a8f3179484bd15ae0 (commit)
      from  5ae66c674bb6e33034b6fa075a843125795d96bc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 29ceeaa79d2c62ee9557f8769a37f9c24502d8ea
Author: Marek Marecki <address@hidden>
Date:   Thu Sep 13 23:04:39 2018 +0200

    Remove useless attribute: function state is no longer unused

commit 02d1e65440723b8440891323e9ec275ec1542492
Author: Marek Marecki <address@hidden>
Date:   Thu Sep 13 23:02:54 2018 +0200

    Add simple code for dumping human-readable snapshots of function's state

commit 007ca54e0d2776baf0c1a64da9001067d5004032
Author: Marek Marecki <address@hidden>
Date:   Thu Sep 13 23:02:30 2018 +0200

    Basic support for "move"

commit 1e28cd796c24a72ce98b4f901c6c5be8e87bbe7f
Author: Marek Marecki <address@hidden>
Date:   Thu Sep 13 22:55:49 2018 +0200

    Use value wrappers instead of unique "type of value" for every register
    This will help with implementing type inference, as the type of one
    value will be a part of another value - by virtue of being a pointer to
    an inside of the structure representing that type. If all types are
    represented as such wrappers then implementing inference is
    Assume we have the following in a local register 1:
        vector#0 of value#1
    and use the `vat` instruction, to extract an element to local register
    2; then the value in local register 2 will have the following type:
        pointer#2 of value#1
    This `value#1` is the same structure as in the first line due to the
    fact that types are sharing parts. Then, a few instructions further, we
    use the `iinc` instruction on the value in local register 2. Thus, we
    can deduce its type to be `pointer of integer`, and update the type
        pointer#2 of integer#1
    As you can see, the "id" of the type did not change, but its name did.
    Since the vector type also uses the same "id", local register 1 is now
    known to contain:
        vector#0 of integer#1
    Which is what we wanted all along.

commit d7cdb264dd9b1986d44645e1fd05d2eade78c81e
Author: Marek Marecki <address@hidden>
Date:   Thu Sep 13 20:36:13 2018 +0200

    Allow checking whether a register is defined or not

commit 8db9f27a289e3f2ba675573a8f3179484bd15ae0
Author: Marek Marecki <address@hidden>
Date:   Thu Sep 13 20:32:30 2018 +0200

    Add new error representing accessing empty registers


Summary of changes:
 include/viua/tooling/errors/compile_time.h         |   1 +
 .../tooling/libs/static_analyser/static_analyser.h |  39 ++++++-
 src/tooling/errors/compile_time.cpp                |   1 +
 .../libs/static_analyser/static_analyser.cpp       | 130 +++++++++++++++++++--
 4 files changed, 159 insertions(+), 12 deletions(-)

Viua VM

reply via email to

[Prev in Thread] Current Thread [Next in Thread]