54 Commits

Author SHA1 Message Date
Daniel Wirtz
f551bc78e1
Implement bulk memory operations (#467) 2019-02-07 11:40:23 +01:00
dcode
2fe228ff00 Cache strings shared with Binaryen 2019-01-27 02:08:04 +01:00
Nidin Vinayakan
b7c7be1fe9 Add shared memory definitions and initial API (#435) 2019-01-25 10:50:55 +01:00
dcodeIO
d5f72e32d7 Add initial definitions for SIMD ops 2018-12-14 08:17:08 +01:00
Daniel Wirtz
c30c62e383
Cast to bool by comparing to zero (#343) 2018-11-23 15:20:52 +01:00
dcodeIO
b723ff3e88 Update Binaryen to latest 2018-11-22 17:15:22 +01:00
Daniel Wirtz
2bdc2a72f1
Use stack IR when emitting text format (#312) 2018-11-08 08:04:24 +01:00
Daniel Wirtz
f7c734789e
Update Binaryen to latest; Various fixes 2018-10-11 08:49:08 +02:00
dcodeIO
d90cd085e5 Update Binaryen 2018-09-13 23:10:49 +02:00
Daniel Wirtz
dc0f271fc2
Initial GC integration (#196) 2018-08-02 18:23:02 +02:00
dcodeIO
a1b75b69b7 Rename memory instructions; Rework constant handling 2018-07-18 23:49:32 +02:00
dcodeIO
e415377cda Avoid trampolines where optional arguments are constant literals, see #102; Fix temporary local flags not being cleared; Fix inlined temporary locals not being free'd; Fix inlined flows not breaking after returns; Allow changetype of u32s, i.e. function pointers 2018-05-11 16:31:56 +02:00
dcodeIO
ef9b43740d Eliminate leftover temporary function types using latest Binaryen 2018-05-09 16:33:42 +02:00
dcodeIO
1bf0ca6525 Add a mechanism to enable additional (experimental) features and start with sign extension operations; Hashing experimentation 2018-05-08 00:36:19 +02:00
Daniel Wirtz
50f6c1c460
Update internal ABI to zero/sign-extend where necessary only (#87) 2018-05-06 00:00:54 +02:00
dcodeIO
05117f9ee3 Make sure that contextual type arguments are passed when resolving the target of a new expression; Fix decoding of UTF8 strings with more than two code units in the Binaryen interface 2018-04-22 00:17:14 +02:00
Daniel Wirtz
623597c23a
Make the transition to ArrayBuffer backed Arrays (#70)
* Traverse base classes when resolving overloads
* Implement preliminary TypedArray accessors
* Extract decorator flags from common flags to make space
* Add '**' overload
* Implement basic explicit inlining
* Support inlining of instance methods
* Reduce number of required locals when inlining
* Implement inlining of operator overloads
* Fix issues when inlining generic functions
2018-04-11 23:35:19 +02:00
dcodeIO
0fef69e445 Set up documentation generation 2018-03-19 01:12:18 +01:00
dcodeIO
5eb10d404f Document the purpose of most files 2018-03-17 23:41:48 +01:00
dcodeIO
081ac768ae Give some love to the linter 2018-03-13 14:03:57 +01:00
dcodeIO
23a7db4dc3 Ensure consistent variable modifiers
'var' is a distinct local or mutable global, 'let' a shared local
2018-03-13 02:32:10 +01:00
Daniel Wirtz
423533c6b0
Implement function types / indirect calls / trampolines (#39) 2018-03-12 14:06:39 +01:00
dcodeIO
8dc517e352 Cleanup; Initial tslint integration 2018-02-25 00:13:39 +01:00
dcodeIO
48cbbbbd68 More cleanup 2018-02-16 18:57:51 +01:00
dcodeIO
b1c6ccab2a Use long.js in JS and native i64 in WASM; Compile literals more thoroughly 2018-02-14 09:18:43 +01:00
dcodeIO
4736227879 Update binaryen to latest nightly; Source map support 2018-02-02 03:07:54 +01:00
dcodeIO
2fa7fc7885 Take advantage of smaller integer load and store ops 2018-01-23 15:44:25 +01:00
dcodeIO
1c4b0ddc57 Moved noEmit to compiler frontend; Added I/O and compile time measuring 2018-01-18 15:45:34 +01:00
dcodeIO
fc40ed80f7 Update Binaryen and add optimize levels to asc 2018-01-18 05:56:45 +01:00
dcodeIO
ad469ca445 Polyfill move_memory and set_memory and remove Heap 2018-01-14 02:30:20 +01:00
dcodeIO
2df318a7ec Implicitly alias stdlib exports as program globals, see #8 2018-01-12 15:36:17 +01:00
dcodeIO
ae99adefce Better resolve infrastructure; Instance fields 2018-01-03 18:33:27 +01:00
dcodeIO
2888ba14ad PSON decoder example using namespaced imports 2017-12-30 05:11:58 +01:00
dcodeIO
c67f87a988 Update binaryen.js and enable tee optimizations 2017-12-29 04:42:20 +01:00
dcodeIO
4207f6460d Warn on constant locals not being actual constants; Simplify changetype 2017-12-28 17:16:37 +01:00
dcodeIO
2ed3c22031 Cleanup: Make use of type inference and use 'var' in functions to match actual WebAssembly semantics 2017-12-28 04:09:40 +01:00
dcodeIO
4baff99125 Refactoring; Add tslint fwiw 2017-12-24 03:19:47 +01:00
dcodeIO
9632777842 Type declaration parsing; Future feature references 2017-12-19 17:49:15 +01:00
dcodeIO
c6c36613e6 Accessor parsing; Cleanup 2017-12-14 11:55:35 +01:00
dcodeIO
f75b962c74 Smarter temp locals; Less binaryen boilerplate 2017-12-12 09:32:03 +01:00
dcodeIO
7a5f7dba50 Monday night decompiler shenenigans 2017-12-12 04:35:30 +01:00
dcodeIO
b5cc2f9924 Fix unsigned ops; Fix parenthesized conversion; Minor restructure 2017-12-11 18:46:11 +01:00
dcodeIO
d0b189b437 CString/CArray was an illusion; Update and test tsconfig files 2017-12-11 02:03:15 +01:00
dcodeIO
0228ab91d9 Minor restructure and fixes; README; Proposed binaryen additions 2017-12-10 21:59:45 +01:00
dcodeIO
732068e981 Add trapMode option to asc; Disable flatten/ssa passes for now 2017-12-09 02:38:17 +01:00
dcodeIO
bbc71ebe81 More options for asc; asm.js output 2017-12-09 00:45:12 +01:00
dcodeIO
0ebb99a33c Extract portable AS to its own definition and polyfill; Try running flatten/ssa before default optimizations, see WebAssembly/binaryen#1331 2017-12-08 19:08:03 +01:00
dcodeIO
9ae3328e58 Precompute and inline constant globals
This is necessary so that other constant globals referencing constant globals can be precomputed as well (NON_STANDALONE_FLOW in binaryen)
2017-12-06 23:38:17 +01:00
dcodeIO
81844a1fe7 Update binaryen 2017-12-05 15:28:01 +01:00
dcodeIO
df3e34f2aa More options for asc 2017-12-04 19:26:50 +01:00