Commit Graph

3366 Commits

Author SHA1 Message Date
Alexey Andreev
4086aebc7b Fix deploy configuration 2019-03-25 13:48:15 +03:00
Alexey Andreev
0a283843ea Update build configuration for uploading to teavm.org 2019-03-25 13:13:41 +03:00
Alexey Andreev
70ff079113 Mark some JS native methods as not having side effects 2019-03-25 12:47:26 +03:00
Alexey Andreev
103affa392 Partially revert previous <clinit> commit.
Generate calls to <clinit> methods, since corresponding analyzer
guarantees proper initialization order.
2019-03-24 22:51:17 +03:00
Alexey Andreev
cd008f8a52 Revert to SIMPLE optimization level when running tests 2019-03-24 12:55:26 +03:00
Alexey Andreev
f33c90f778 Improve <clinit> elimination:
* Generate clinit instruction instead of calling <clinit>
  directly
* Rename annotation that indicates absence of side effects
* Don't apply this annotation automatically to all JSBody methods
2019-03-24 12:54:06 +03:00
Dylan
b8c73ae00c Fix IllegalStateException in TDeflater 2019-03-24 12:25:15 +03:00
Alexey Andreev
de84105241 Call <clinit> methods before main method when possible, eliminate
lazy class initialization for these <clinit> methods.
2019-03-22 19:40:56 +03:00
Alexey Andreev
955ac92035 Get rid of reflection code 2019-03-22 11:32:48 +03:00
Alexey Andreev
ac627580c6 JS: Support JSByRef annotation on method return types 2019-03-21 18:09:38 +03:00
Alexey Andreev
f664d94d74 Allow to exclude certain classes, fields and methods from compilation 2019-03-21 17:00:22 +03:00
Alexey Andreev
36041b4107 Fix issues with call graph serialization 2019-03-13 19:19:05 +03:00
Alexey Andreev
731beb5cd5 Fix bugs in threading in C backend 2019-03-13 18:47:30 +03:00
Alexey Andreev
eeaa71072a Fix IR serialization issue 2019-03-11 18:36:10 +03:00
Alexey Andreev
a8226ef6a3 Decrease memory consumption 2019-03-11 17:27:51 +03:00
Alexey Andreev
94322e5f6e Get rid of Mapper interface in favour of Function 2019-03-11 13:27:34 +03:00
Alexey Andreev
f08faba3d2 Fix compilation of IDEA plugin 2019-03-11 12:32:15 +03:00
Alexey Andreev
3acf1f9538 Fix issues with new IR serialization format 2019-03-11 12:14:10 +03:00
Alexey Andreev
abdd9b3270 C backend: support coroutines 2019-03-10 14:04:04 +03:00
Alexey Andreev
578912056b Reduce memory used by initial class reader 2019-03-07 19:27:07 +03:00
Alexey Andreev
fcfa998e1c Reduce memory used by call graph in dev server mode 2019-03-07 16:51:00 +03:00
Alexey Andreev
88dca1bd02 Decrease memory consumption during compilation 2019-03-06 16:51:01 +03:00
Alexey Andreev
2a1aca98da Use shared ReferenceCache between different stages of compilation 2019-03-05 19:32:50 +03:00
Alexey Andreev
3c9a3bb359 Store AST cash in binary format. Introduce more compact
AST serialization format.

Reduce memory consumption of incremental compilation on dev server
2019-03-05 19:06:21 +03:00
Alexey Andreev
573c5f6064 Reduce memory consumption of incremental compilation on dev server 2019-03-05 16:50:16 +03:00
Alexey Andreev
35730d665f Decrease memory consumption 2019-02-27 13:24:50 +03:00
Alexey Andreev
e8312021f2 IDEA: don't serialize call graph when dev server completes build 2019-02-27 13:24:12 +03:00
Alexey Andreev
ca017df6c9 Fix incremental compilation on Windows 2019-02-27 13:21:04 +03:00
Alexey Andreev
ade00cc984 C backend: fix bugs 2019-02-26 00:10:22 +03:00
Alexey Andreev
2c40c7d56e Trying to decrease compiler memory consumption 2019-02-25 18:31:34 +03:00
Alexey Andreev
84b4133989 Update IDEA inspections 2019-02-25 18:28:21 +03:00
Alexey Andreev
95092c4d82 Refactor things around decompiler, JS backend and control flow debug info 2019-02-25 16:10:35 +03:00
Alexey Andreev
3be32a5851 JS: don't generate square brackets in 'if' bodies, when possible.
Generate mangled name for $rt_wrapException
2019-02-25 11:30:30 +03:00
Alexey Andreev
a8f1940df3 Fix bugs in debugger 2019-02-22 17:19:19 +03:00
Alexey Andreev
2095e52dc2 Dev server: fix bug when proxying URLs with characters not allowed in URLs 2019-02-22 17:19:08 +03:00
Alexey Andreev
bd00575219 IDEA: fix dev server run configuration on Windows. Fix CORS issue with stack trace deobfuscator 2019-02-18 13:07:51 +03:00
Alexey Andreev
4a325a192e Update inlining thresholds due to changes in scoring algorithm 2019-02-13 19:31:57 +03:00
Alexey Andreev
463f24506d Fix Throwable.toString 2019-02-13 19:30:14 +03:00
Alexey Andreev
acc48f4532 JS: fix inability to re-attach to the same debugger 2019-02-13 19:00:37 +03:00
Alexey Andreev
ce13c05342 JS: add ability to set limit for top-level names.
The purpose of this option is JS engines are too sensible for number
of methods in closure, while they don't care about methods
in an object.
2019-02-13 17:03:13 +03:00
Alexey Andreev
1214534671 Reduce unnecessary usages of T-prefixed classes in classlib 2019-02-13 15:12:50 +03:00
Alexey Andreev
6790d724c7 Further improvements to inliner 2019-02-13 13:42:44 +03:00
Alexey Andreev
4de1c51e1a Improve inliner: use simlified heuristics in advanced optimization mode, remove methods that were fully inlined 2019-02-12 19:30:57 +03:00
Alexey Andreev
89189c7454 Fix bugs in debugger 2019-02-12 12:10:33 +03:00
Alexey Andreev
5c90d786a0 Fixes and improvements to JS APIs 2019-02-08 12:45:39 +03:00
Alexey Andreev
bc41b12f0e JS: fix bug in generating async functions in minified mode 2019-02-07 17:15:32 +03:00
Alexey Andreev
1b2c47407f Place classes to a single object in development server to improve debugger performance 2019-02-07 16:29:55 +03:00
Alexey Andreev
95a3a30a6e Fix html4j tests 2019-01-31 19:20:14 +03:00
Alexey Andreev
7d2c76f711 Fix compiler crash when using incremental pipeline 2019-01-30 19:36:00 +03:00
Alexey Andreev
35ca7fd152 Add lazy compilation pipeline that can work a little bit faster in incremental compiler 2019-01-30 19:00:07 +03:00