Commit Graph

83 Commits

Author SHA1 Message Date
Alexey Andreev
d76eeb9be3 Improve <clinit> elimination. Improve inlining in ADVANCED optimization mode 2020-02-14 12:46:57 +03:00
Alexey Andreev
fb78377db8 Fix various issues reported by PVS Studio and LGTM 2019-10-31 14:36:37 +03:00
Alexey Andreev
f0b6cc2f30 Update version to 0.7.0 2019-09-24 16:26:14 +03:00
Alexey Andreev
62b3c68a5b Don't report compile-0time error when there's possible way to reach suspension point. Generate runtime error instead. 2019-06-22 23:30:05 +03:00
Alexey Andreev
ca50f72fe9 Fix displaying diagnostics in out-of-process mode 2019-05-14 14:46:44 +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
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
ac627580c6 JS: Support JSByRef annotation on method return types 2019-03-21 18:09:38 +03:00
Alexey Andreev
68522811f2 Fix issue with incremental compilation and JSBody annotation 2019-01-23 19:24:42 +03:00
Alexey Andreev
9305a532bb Replace ArrayList with array to store arguments of InvokeInstruction 2019-01-09 12:51:52 +03:00
Alexey Andreev
f589b0035a Decrease memory consumption 2018-12-29 19:02:03 +03:00
Alexey Andreev
d74bcbe2b9 Fast dependency analyzer, fix bugs in incremental compiler 2018-12-07 17:41:21 +03:00
Alexey Andreev
a3dfc0c486 Add API to catch native JS exceptions 2018-11-23 19:54:37 +03:00
Alexey Andreev
753755918d Update build config to avoid jar hell 2018-11-22 14:49:30 +03:00
Alexey Andreev
fc799afcda Add Maven option to run TeaVM in a separate process 2018-11-20 14:22:35 +03:00
Alexey Andreev
e5c85dd3bd Prevent inlining of JSBody code in some complex cases 2018-11-16 19:04:15 +03:00
Alexey Andreev
4d2c075c07 Always embed runtime into generated file. Remove 'runtime' build property 2018-10-28 00:15:36 +03:00
Alexey Andreev
6551f3eb68 Make JS function out of JS object when casting to JSFunctor interface 2018-10-24 14:30:26 +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
4b77a5d15f Fix String.contains. Fix crashing in rare cases or improper use of JSO 2018-09-19 12:47:32 +03:00
Alexey Andreev konsoletyper@gmail.com
fe47fe19ce Fix build under JDK9+ 2018-03-28 22:54:55 +03:00
Alexey Andreev
8dea7e9035 Fix reporting error on calling async method from native method 2018-01-08 19:56:47 +03:00
Steve Hannah
b1b602f048 Fixed NPE when padding null arrays to JSO methods that accept arrays. 2017-12-01 19:19:04 +03:00
Alexey Andreev
cc0f7583b0 Minor performance improvement 2017-11-26 14:53:56 +03:00
Alexey Andreev
ff19dc15c9 Further bootstrapping 2017-11-26 13:14:02 +03:00
Alexey Andreev
25011ee7a6 Remove outdated hack when Class.parent could be non-null for root classes 2017-10-29 21:41:49 +03:00
Alexey Andreev
2aa9d5b24a Fix unwrapping null JS functions in JSO 2017-07-17 22:16:30 +03:00
Alexey Andreev
cdec4560ba Remove dumb comments containing only @author annotation 2017-07-01 13:13:52 +03:00
Alexey Andreev
59e5c16b31 Update version to 0.6.0-SNAPSHOT 2017-06-19 20:50:19 +03:00
Alexey Andreev
2992c6e406 Wrap function by an object if returning value of native method is
a JSFunctor interface.

See #280
2017-06-11 00:15:41 +03:00
Alexey Andreev
45ba247265 When Java class gets exported to JS, generate bridges for its
methods so that these bridges perform type conversion
between Java and JS
2017-06-09 00:02:28 +03:00
Alexey Andreev
933a5c3efc Code style fixes 2017-05-30 22:49:40 +03:00
marciodel
5ecfb3620c Support for default and static methods in Functors 2017-05-30 22:45:14 +03:00
Alexey Andreev
3791b806b9 Weaken rules for names of JSProperty methods
First, accept first character if it's a non-letter character.
Second, don't validate name of method when JSProperty specifies
name of the JS property explicitly.

See #277
2017-05-29 23:54:43 +03:00
Alexey Andreev
058566e731 Fix bug in JSO 2017-04-22 14:11:24 +03:00
Alexey Andreev
55453c9311 Set version to 0.5.0-SNAPSHOT. Add configuration to deploy to bintray. Update version number during Travis build. 2017-02-16 21:48:13 +03:00
Alexey Andreev
c7829a77cf Fix diagnostics tests 2017-01-24 23:42:41 +03:00
Alexey Andreev
c1cddc5a71 Add JSByRef annotation to specify which parameters to pass to JS by reference 2017-01-23 23:10:35 +03:00
Alexey Andreev
727c831467 Use new null checker in optimizer. Fix multiple bugs in optimizer and IR 2017-01-03 23:39:43 +03:00
Alexey Andreev
ae5e1e4962 Store instructions as double-linked list instead of ArrayList 2016-12-20 00:03:14 +03:00
Alexey Andreev
af10879a81 Remove unnecessary IDEA project files 2016-10-27 12:55:28 +03:00
Alexey Andreev
b3b1b54582 Remove unnecessary dependencies 2016-10-26 15:02:41 +03:00
Alexey Andreev
ed7e8ff7f4 javascript: refactor renderer 2016-09-17 09:21:26 +03:00
Alexey Andreev
1c1b0c69fa Propagating variable name via compiler's pipeline 2016-09-17 09:11:59 +03:00
Alexey Andreev
4fd20794c1 Refactoring. Fix checkstyle errors 2016-09-17 09:11:07 +03:00
Alexey Andreev
9fb97fd53f Refactoring 2016-09-17 09:00:40 +03:00
Alexey Andreev
1be9ffb19e Rename InstructionLocation to TextLocation. Replace NodeLocation by TextLocation 2016-09-17 08:59:03 +03:00
Alexey Andreev
a1fe87ff70 Move several annotations 2016-09-17 08:59:01 +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