[WASM] Initial infrastructure

- New module ":compiler:backend.wasm"
    - Initial compiler infra (driver, phaser, context)
    - Subset of Wasm AST
    - Skeleton of IR -> Wasm AST
    - Wasm AST -> WAT transformer

- Testing infra

- SpiderMonkey jsshell tool
This commit is contained in:
Svyatoslav Kuzmich
2019-08-07 14:27:18 +03:00
parent 812083ee05
commit 6e6ffa12a6
106 changed files with 6418 additions and 584 deletions
@@ -0,0 +1,24 @@
// EXPECTED_REACHABLE_NODES: 1228
package foo
fun box(): String {
assertEquals(65536L, 1L shl 16)
assertEquals(1L, 65536L shr 16)
assertEquals(-1L, -1L shr 48)
assertEquals(65535L, -1L ushr 48)
assertEquals(-1L, 0L.inv())
assertEquals(0b1000L, 0b1100L and 0b1010L)
assertEquals(0b1110L, 0b1100L or 0b1010L)
assertEquals(0b0110L, 0b1100L xor 0b1010L)
assertEquals(0xab88ac0021L, 0xabcdef0123L and 0xefaabcdef1L)
assertEquals(0xefefffdff3L, 0xabcdef0123L or 0xefaabcdef1L)
assertEquals(0x446753dfd2L, 0xabcdef0123L xor 0xefaabcdef1L)
assertEquals(-737894400292, 0xabcdef0123L.inv())
return "OK"
}