Commit Graph

3220 Commits

Author SHA1 Message Date
Alexey Andreev
8a55510d4f Fix bug in dependency analyzer 2018-10-19 14:47:34 +03:00
Xavier RENE-CORAIL
ac2bd7599b Add LGTM.com code quality badges 2018-10-15 16:49:20 +03:00
Alexey Andreev
f206cbe2d1 Reorder modifiers to get less metadata size 2018-10-04 19:07:23 +03:00
Alexey Andreev
4c4c589172 Various code size optimizations
1. Generate 'a' for 'this' instead of '$t'
2. Fix frequency-based identifier optimization
3. Generate less code in <clinit> callers
4. Generate one-letter identifier in most of constructors
   (instead of $r)
5. Use $ and _ chars in identifiers
2018-10-04 16:29:05 +03:00
Alexey Andreev
b66053f5ce Don't generate virtual wrappers for methods that aren't ever called virtually 2018-10-04 11:55:34 +03:00
Alexey Andreev
681e21ecca Store class names in metadata as a pair of package and simple name 2018-10-03 16:01:37 +03:00
Alexey Andreev
0a94c91ff2 Don't generate unused class names in metadata section 2018-10-03 14:46:52 +03:00
Alexey Andreev
be21e474c5 Generate shorter <clinit> caller names in minified mode 2018-10-03 12:48:14 +03:00
Alexey Andreev
6b063bc567 Some code size optimizations
1. Eliminate empty switch statements
2. Eliminate unnecessary == 0 and != 0 conditions in 'if'
2018-10-03 11:57:51 +03:00
Alexey Andreev
168bf1fa9c Add option to print size statistics of generated JS code 2018-10-03 11:08:15 +03:00
Alexey Andreev
614f95d376 Fix String.contains 2018-09-19 13:35:00 +03:00
Alexey Andreev
4b77a5d15f Fix String.contains. Fix crashing in rare cases or improper use of JSO 2018-09-19 12:47:32 +03:00
Alexey Andreev
55e0905518 IDEA: add facet option to skip TeaVM compilation 2018-09-04 18:30:15 +03:00
Alexey Andreev
0473020bc8 Prevent from generating functions with NaN identifier 2018-09-04 17:28:10 +03:00
Alexey Andreev
b74c501fa6 Add Float/Double.isFinite 2018-09-04 17:27:54 +03:00
Alexey Andreev
8c35ef0189 IDEA: fix starting daemon with specified amount of memory 2018-08-30 11:11:15 +03:00
Alexey Andreev
773d40aa37 IDEA: fix copying sources from dependant modules 2018-08-30 11:10:51 +03:00
Alexey Andreev
50573f4f06 Prevent minifier from generating NaN function 2018-08-30 11:10:23 +03:00
Alexey Andreev
f5c6ac9c5d Improve performance of dependency analyzer, decrease memory consumption 2018-08-29 13:20:16 +03:00
Alexey Andreev
d20accc20c Add support for Array.set 2018-08-29 13:20:16 +03:00
Alexey Andreev
365e47882a Avoid generation of too deeply nested expressions to fit into v8 parser stack 2018-08-27 22:08:03 +03:00
Alexey Andreev
174ac9e725 Fix translation of lambdas when class has subclass with lambdas 2018-08-27 19:44:44 +03:00
Alexey Andreev
d6363c5fbf Fix NPE in dependency analyzer. Fix excessive types propagating in dependency analyzer 2018-08-27 16:17:23 +03:00
Alexey Andreev
558c3f2f1e Fix bugs in dependency analyzer, introduced by previous optimizations 2018-08-23 13:26:26 +03:00
Alexey Andreev
0ebf8c2f6e Reduce memory consumption 2018-08-20 18:56:16 +03:00
Alexey Andreev
2dd145a731 Improve performance of dependency analysis 2018-08-20 18:41:08 +03:00
Alexey Andreev
8fbd3715d4 Update checkstyle IDEA configuration WRT changes to latest plugin 2018-08-13 12:26:33 +03:00
Alexey Andreev
7f46c301bd IDEA: allow to configure build daemon heap size 2018-07-31 16:31:09 +03:00
Alexey Andreev
67afe6173e Improve performance of compilation of large code bases 2018-07-31 12:14:53 +03:00
Alexey Andreev
5b5417d46b Improve performance of dependency analysis 2018-07-04 11:53:53 +03:00
Alexey Andreev
4e20a1de18 Properly handle checkcast to array type in dependency analyzer 2018-07-03 19:11:51 +03:00
Alexey Andreev
3653e39bec Add system property that triggers printing of dependency analyzer summary report 2018-06-29 17:32:26 +03:00
Alexey Andreev
f160ce2f2f Use class/method names to generate lambda class names. Reduce number of types propagated by dependency analyzer 2018-06-29 16:46:36 +03:00
Alexey Andreev
2eea5cba5e Fix AbstractList.removeRange 2018-06-29 16:45:21 +03:00
Alexey Andreev
7511eea1cb Fix boxing lambda return value 2018-06-28 19:07:29 +03:00
Alexey Andreev
d674b0b7de Add some missing stdlib methods 2018-06-28 19:07:04 +03:00
Alexey Andreev
fc13c10d98 Fix Logger.info 2018-06-28 18:54:36 +03:00
Alexey Andreev
243901ec10 Add more JS API wrappers 2018-06-19 22:38:21 +03:00
Alexey Andreev
f2adb9dbdd More wrappers for JavaScript APIs 2018-06-19 18:54:00 +03:00
Alexey Andreev
544eb4e827 IDEA plugin: don't load dependencies transitively, since IDEA provides all necessary dependencies 2018-06-19 18:53:38 +03:00
Alexey Andreev
dc99ead514 Fix compilation of Kotlin code when there's kotlin-reflect library in the classpath, but it's actually not used by Kotlin code. See #345 2018-06-18 22:56:11 +03:00
Alexey Andreev
cdffb779e0 Fix NPE when there are build errors related to lack of reflection support 2018-06-18 13:40:11 +03:00
Julian Kennedy
bb55089742 - added offsetTop and offsetLeft JSO methods to HTMLElement 2018-06-07 21:32:06 +03:00
Alexey Andreev
097820cc2b Wasm backend: implement remaining types of resources 2018-05-20 23:54:23 +03:00
Alexey Andreev
5ce48ce866 Wasm backend: fix issues related to instanceof expression 2018-05-19 22:56:16 +03:00
Comick
3ef3678ed0 Fix TSetFromMap#add return value 2018-05-19 21:24:41 +03:00
Alexey Andreev
27a4848947 Make more precise type inference. The old algorithm sometimes reported wrong results on multidimensional primitive arrays 2018-05-19 20:40:47 +03:00
Alexey Andreev
15b77ee752 Wasm backend: fix Array.get 2018-05-17 23:58:14 +03:00
Alexey Andreev
9b2e00cb9f Wasm backend: support reinterpret conversion in C wasm emulator 2018-05-17 23:58:01 +03:00
Alexey Andreev
dbe31c43bf Wasm backend: write function index in AST representation to make easier navigation and debugging 2018-05-17 19:39:22 +03:00