Alexey Andreev
|
3f02cad9e7
|
Further development of WASM backend
|
2016-09-17 08:59:02 +03:00 |
|
Alexey Andreev
|
b83c33bcc6
|
Add support of WASM in TeaVMTool and CLI
|
2016-09-17 08:59:02 +03:00 |
|
Alexey Andreev
|
35b59ed916
|
Add support of Object.hashCode
|
2016-09-17 08:59:02 +03:00 |
|
Alexey Andreev
|
8c6cf1840b
|
Add support of clinit
|
2016-09-17 08:59:02 +03:00 |
|
Alexey Andreev
|
d2cdd5e1e9
|
Zero memory after allocation
|
2016-09-17 08:59:02 +03:00 |
|
Alexey Andreev
|
ca874d178d
|
Add variables and variable types to AST. Use types to properly render variables in WASM
|
2016-09-17 08:59:02 +03:00 |
|
Alexey Andreev
|
fc2c6b9e07
|
Add support of strings (breaks compilation for some reason)
|
2016-09-17 08:59:02 +03:00 |
|
Alexey Andreev
|
278b926c04
|
Fix support of primitive arrays
|
2016-09-17 08:59:02 +03:00 |
|
Alexey Andreev
|
164ebeb629
|
Refactoring RTTI, add type annotation to array subscription instructions
|
2016-09-17 08:59:02 +03:00 |
|
Alexey Andreev
|
73d4a389b7
|
Fix static fields
|
2016-09-17 08:59:02 +03:00 |
|
Alexey Andreev
|
38638bc560
|
Add compressed binary data to store RTTI
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
421eca8a49
|
Add support for array of objects
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
38aca08993
|
Add support for instanceof expressions
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
1aacbea4d0
|
Fix switch generation for general case
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
850609bb72
|
Provide more information in class header
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
fe5aca5139
|
Add support of virtual method invocation
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
45993091e4
|
Fix minor bugs in WASM backend
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
a1fe87ff70
|
Move several annotations
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
d5e9168323
|
Fix bug with JS long emulator
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
861742a2fb
|
Fix bug with JS operator precedence
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
675abe8740
|
Start supporting classes in WASM
|
2016-09-17 08:59:01 +03:00 |
|
Alexey Andreev
|
081efd2d60
|
Fix bugs in JavaScript backend
|
2016-09-17 08:59:00 +03:00 |
|
Alexey Andreev
|
055312055b
|
Minor optimization of expression negation
|
2016-09-17 08:59:00 +03:00 |
|
Alexey Andreev
|
964d2cdf5b
|
Minimal WASM example works
|
2016-09-17 08:59:00 +03:00 |
|
Alexey Andreev
|
4fa0669e9a
|
Move WasmTarget to another package visible to git
|
2016-09-17 08:59:00 +03:00 |
|
Alexey Andreev
|
47997cde87
|
Rename target package to backend to avoid gitignore
|
2016-09-17 08:59:00 +03:00 |
|
Alexey Andreev
|
89c16b9807
|
Fixing bugs in WASM emitter
|
2016-09-17 08:58:56 +03:00 |
|
Alexey Andreev
|
e5356fae27
|
Add WASM s-expr emitter
|
2016-09-17 08:55:59 +03:00 |
|
Alexey Andreev
|
1484e970dd
|
Add WASM generator
|
2016-09-17 08:55:59 +03:00 |
|
Alexey Andreev
|
888710102f
|
Refactoring
|
2016-09-17 08:55:59 +03:00 |
|
Alexey Andreev
|
4961e3d92d
|
Refactor AST
|
2016-09-17 08:55:59 +03:00 |
|
Alexey Andreev
|
d672fe068a
|
Continue developing decompiler
|
2016-09-17 08:55:59 +03:00 |
|
Alexey Andreev
|
96ba2bbf7d
|
Continue developing decompiler
|
2016-09-17 08:55:59 +03:00 |
|
Alexey Andreev
|
5f2019a9b6
|
Start creating WASM expression generator
|
2016-09-17 08:55:59 +03:00 |
|
Alexey Andreev
|
8c08136c9a
|
Start developing WebAssembly model. Implement mostly all expressions
|
2016-09-17 08:55:59 +03:00 |
|
Alexey Andreev
|
789119e6ea
|
Move ast package off javascript
|
2016-09-17 08:55:58 +03:00 |
|
Alexey Andreev
|
52ace0c252
|
Refactor TeaVM to support pluggable targets like JavaScript, WebAssembly, LLVM, etc (with only JavaScript target for now)
|
2016-09-17 08:55:44 +03:00 |
|
Alexey Andreev
|
1f30e5fd88
|
Add test to prove that all modification to a local variable are visible in a corresponding catch block
|
2016-09-17 08:55:19 +03:00 |
|
Alexey Andreev
|
6196dc80ed
|
Fix bug in phi updater. Fix tests
|
2016-09-17 08:43:56 +03:00 |
|
Alexey Andreev
|
e82518b88f
|
Further refactoring of exception handling
|
2016-09-17 08:43:53 +03:00 |
|
Alexey Andreev
|
a26eed7c51
|
Change how exceptions handlers are represented
|
2016-09-17 08:42:55 +03:00 |
|
Alexey Andreev
|
4f8affcf6f
|
Fix bug in metaprogramming proxies
|
2016-09-17 08:42:55 +03:00 |
|
Alexey Andreev
|
3ac7bd1c68
|
Fix bug in LoopInversion
|
2016-09-17 08:42:55 +03:00 |
|
Alexey Andreev
|
920a17ff63
|
Add redundant jump elimination
|
2016-09-17 08:42:55 +03:00 |
|
Alexey Andreev
|
0d6d4e7e41
|
Add constant condition elimination
|
2016-09-17 08:42:54 +03:00 |
|
Alexey Andreev
|
7b31def2b4
|
Improve GVN to evaluate constants
|
2016-09-17 08:42:54 +03:00 |
|
Alexey Andreev
|
ea9605e518
|
When removing empty if statements, extract expressions with side effects from its condition
|
2016-09-17 08:42:54 +03:00 |
|
Alexey Andreev
|
19625034c4
|
Implementing inlining
|
2016-09-17 08:42:54 +03:00 |
|
Alexey Andreev
|
b7072c1c10
|
Repeat optimizations until profitable. Add optimizations that removes unnecessary <clinit> invocations
|
2016-09-17 08:42:54 +03:00 |
|
Alexey Andreev
|
4bfc08e946
|
Fix bug in code that determines whether inversion of a loop is profitable
|
2016-09-17 08:42:54 +03:00 |
|