Commit Graph

220 Commits

Author SHA1 Message Date
Alexey Andreev
d2a7e31eca Proper fix for recent bug in C backend. Fix Thread.daemon flag 2019-03-27 18:29:02 +03:00
Alexey Andreev
0dc170dad2 Fix bugs in C backend 2019-03-26 19:09:25 +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
731beb5cd5 Fix bugs in threading in C backend 2019-03-13 18:47:30 +03:00
Alexey Andreev
abdd9b3270 C backend: support coroutines 2019-03-10 14:04:04 +03:00
Alexey Andreev
2a1aca98da Use shared ReferenceCache between different stages of compilation 2019-03-05 19:32:50 +03:00
Alexey Andreev
2c40c7d56e Trying to decrease compiler memory consumption 2019-02-25 18:31:34 +03:00
Alexey Andreev
463f24506d Fix Throwable.toString 2019-02-13 19:30:14 +03:00
Alexey Andreev
1214534671 Reduce unnecessary usages of T-prefixed classes in classlib 2019-02-13 15:12:50 +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
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
1dd379551c Produce less names in top level scope in dev server mode in order to improve debugging performance in Chrome 2019-01-23 13:28:39 +03:00
Alexey Andreev
48227b24a0 Fix bootstrap mode 2019-01-20 17:50:46 +03:00
Alexey Andreev
f589b0035a Decrease memory consumption 2018-12-29 19:02:03 +03:00
Alexey Andreev
6900fd587c Fix Float/Double.parse for strings like '123.' 2018-12-24 18:16:05 +03:00
Alexey Andreev
4ffe74296d Limit max line size of generated JS code 2018-12-21 14:28:30 +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
c9c9c15dfe Fix Class.initialize. Fix html4j tests 2018-12-11 23:47:47 +03:00
Alexey Andreev
d74bcbe2b9 Fast dependency analyzer, fix bugs in incremental compiler 2018-12-07 17:41:21 +03:00
Alexey Andreev
eaf0f5a24e Fix bootstrap compiler 2018-12-07 17:41:20 +03:00
Alexey Andreev
2bb146af47 Improve float to string conversion 2018-12-07 00:21:18 +03:00
Alexey Andreev
f23c71cd97 Improve double to string conversion 2018-12-02 16:12:59 +03:00
Alexey Andreev
1cf3cce076 Reduce minimum runtime size 2018-12-01 23:07:03 +03:00
Alexey Andreev
45d0a13c9b In HtmlUnit, decode stack traces for all constructed exceptions 2018-11-26 15:58:51 +03:00
Alexey Andreev
cf9090e0fa Use JS typed arrays to reinterpret floats and ints.
Also, drop IE9 support
2018-11-23 17:14:06 +03:00
Alexey Andreev
b9ec21a667 Fix Long.reverse 2018-11-23 14:32:50 +03:00
Alexey Andreev
064888c9a1 Support Java 11 2018-11-12 18:59:28 +03:00
Alexey Andreev
63b2440e48 Remove $rt_global and indirect references to runtime function 2018-10-27 22:42:25 +03:00
Alexey Andreev
5035c58533 Fix Collections.reverse for non-random access lists. Make ArrayList random access. 2018-10-23 17:01:55 +03:00
Alexey Andreev
f206cbe2d1 Reorder modifiers to get less metadata size 2018-10-04 19:07:23 +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
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
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
b74c501fa6 Add Float/Double.isFinite 2018-09-04 17:27:54 +03:00
Alexey Andreev
d20accc20c Add support for Array.set 2018-08-29 13:20:16 +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
4e20a1de18 Properly handle checkcast to array type in dependency analyzer 2018-07-03 19:11:51 +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
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