Skip to content

Commit

Permalink
Update binary expression inference, see AssemblyScript#35; Update dep…
Browse files Browse the repository at this point in the history
…endencies
  • Loading branch information
dcodeIO committed Mar 1, 2018
1 parent 02dce5a commit 4633fda
Show file tree
Hide file tree
Showing 26 changed files with 6,417 additions and 3,132 deletions.
8 changes: 2 additions & 6 deletions dist/asc.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions dist/asc.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/assemblyscript.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/assemblyscript.js.map

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions examples/game-of-life/assembly/game-of-life.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,12 @@ export function step(): void {
load<u8>(yp1 * w + xm1) + load<u8>(yp1 * w + x) + load<u8>(yp1 * w + xp1)
);
if (load<u8>(y * w + x)) {
if (n < 2 || n > 3)
if (n < 2 || n > 3) {
store<u8>(s + y * w + x, 0);
} else if (n == 3)
}
} else if (n == 3) {
store<u8>(s + y * w + x, 1);
}
}
}
}
Expand Down
18 changes: 9 additions & 9 deletions examples/game-of-life/game-of-life.optimized.wat
Original file line number Diff line number Diff line change
Expand Up @@ -320,31 +320,31 @@
(i32.const 0)
)
)
;;@ assembly/game-of-life.ts:32:13
;;@ assembly/game-of-life.ts:33:13
(if
;;@ assembly/game-of-life.ts:32:17
;;@ assembly/game-of-life.ts:33:17
(i32.eq
(get_local $2)
;;@ assembly/game-of-life.ts:32:22
;;@ assembly/game-of-life.ts:33:22
(i32.const 3)
)
;;@ assembly/game-of-life.ts:33:8
;;@ assembly/game-of-life.ts:34:8
(i32.store8
;;@ assembly/game-of-life.ts:33:18
;;@ assembly/game-of-life.ts:34:18
(i32.add
(i32.add
(get_global $assembly/game-of-life/s)
;;@ assembly/game-of-life.ts:33:22
;;@ assembly/game-of-life.ts:34:22
(i32.mul
(get_local $0)
;;@ assembly/game-of-life.ts:33:26
;;@ assembly/game-of-life.ts:34:26
(get_global $assembly/game-of-life/w)
)
)
;;@ assembly/game-of-life.ts:33:30
;;@ assembly/game-of-life.ts:34:30
(get_local $1)
)
;;@ assembly/game-of-life.ts:33:33
;;@ assembly/game-of-life.ts:34:33
(i32.const 1)
)
)
Expand Down
31 changes: 14 additions & 17 deletions examples/game-of-life/game-of-life.untouched.wat
Original file line number Diff line number Diff line change
Expand Up @@ -316,15 +316,12 @@
;;@ assembly/game-of-life.ts:30:12
(i32.and
(if (result i32)
(i32.ne
(tee_local $9
(i32.lt_s
(get_local $8)
;;@ assembly/game-of-life.ts:30:16
(i32.const 2)
)
(tee_local $9
(i32.lt_s
(get_local $8)
;;@ assembly/game-of-life.ts:30:16
(i32.const 2)
)
(i32.const 0)
)
(get_local $9)
;;@ assembly/game-of-life.ts:30:21
Expand Down Expand Up @@ -356,31 +353,31 @@
(i32.const 0)
)
)
;;@ assembly/game-of-life.ts:32:13
;;@ assembly/game-of-life.ts:33:13
(if
;;@ assembly/game-of-life.ts:32:17
;;@ assembly/game-of-life.ts:33:17
(i32.eq
(get_local $8)
;;@ assembly/game-of-life.ts:32:22
;;@ assembly/game-of-life.ts:33:22
(i32.const 3)
)
;;@ assembly/game-of-life.ts:33:8
;;@ assembly/game-of-life.ts:34:8
(i32.store8
;;@ assembly/game-of-life.ts:33:18
;;@ assembly/game-of-life.ts:34:18
(i32.add
(i32.add
(get_global $assembly/game-of-life/s)
;;@ assembly/game-of-life.ts:33:22
;;@ assembly/game-of-life.ts:34:22
(i32.mul
(get_local $2)
;;@ assembly/game-of-life.ts:33:26
;;@ assembly/game-of-life.ts:34:26
(get_global $assembly/game-of-life/w)
)
)
;;@ assembly/game-of-life.ts:33:30
;;@ assembly/game-of-life.ts:34:30
(get_local $5)
)
;;@ assembly/game-of-life.ts:33:33
;;@ assembly/game-of-life.ts:34:33
(i32.const 1)
)
)
Expand Down
9 changes: 6 additions & 3 deletions examples/pson/assembly/pson.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,9 @@ var offset: usize = 0;

export function decode(length: usize): void {
offset = 0;
while (offset < length)
while (offset < length) {
decodeValue();
}
assert(offset == length);
}

Expand Down Expand Up @@ -85,8 +86,9 @@ function decodeValue(): void {

case Token.ARRAY:
pson.onArray(size = readVarint32());
while (size--)
while (size--) {
decodeValue();
}
break;

case Token.INTEGER:
Expand Down Expand Up @@ -126,8 +128,9 @@ function decodeValue(): void {
break;

default: // small integer?
if (token > Token.MAX)
if (token > <u32>Token.MAX) {
throw new Error("unexpected token");
}
pson.onInteger((token >> 1) ^ -(token & 1));
break;
}
Expand Down
Loading

0 comments on commit 4633fda

Please sign in to comment.