Alexey Andreev
bffb50f0cd
Implement array bounds checking in JavaScript
2019-10-07 16:55:30 +03:00
Alexey Andreev
a2a9dbcbe3
Improve performance of inliner in FULL optimization level
...
The former implementation suffered from class inference.
The reason was in many nodes having too many possible classes in them.
The new implementation does not handle full set of classes in each node.
Instead, it introduces concept of 'overflow', i.e. node having
more types than the given upper limit.
These nodes behave as if there were all possible classes in them,
which allows to apply certain optimization for these nodes and
omit heavy computations of large type sets.
2019-09-27 16:36:55 +03:00
Alexey Andreev
2a1aca98da
Use shared ReferenceCache between different stages of compilation
2019-03-05 19:32:50 +03:00
Alexey Andreev
bab0cd59a6
Improve performance and stability of development server and incremental compilation
2018-12-13 18:45:44 +03:00
Alexey Andreev
d74bcbe2b9
Fast dependency analyzer, fix bugs in incremental compiler
2018-12-07 17:41:21 +03:00
Alexey Andreev
148c07336c
Generate entire code inside wrapper IIF
2018-11-15 12:47:25 +03:00
Alexey Andreev
540ad7f694
Uprage HPPC to 0.7.3
2018-03-20 19:10:36 +03:00
Alexey Andreev
2bbdf6caba
Rename DependencyChecker to DependencyAnalyzer
2017-11-12 23:21:16 +03:00
Alexey Andreev
645b2b7cd5
Add local type inference to use in optimizations
2017-01-09 19:16:51 +03:00
Alexey Andreev
9143714168
Refactor target API. Add ability to generate wast and C from wasm target
2016-09-17 09:19:32 +03:00
Alexey Andreev
9fb97fd53f
Refactoring
2016-09-17 09:00:40 +03:00
Alexey Andreev
47997cde87
Rename target package to backend to avoid gitignore
2016-09-17 08:59:00 +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
1826e04951
Add class handling in dependency checker
2016-02-22 19:29:51 +03:00