Commit Graph

100 Commits

Author SHA1 Message Date
Alexey Andreev
7acc81ce4d JS: remove lazy creation of primitive classes 2023-10-21 20:07:49 +02:00
Alexey Andreev
02b3c92912 JS: use native string to represent internals of java.lang.String 2023-10-21 19:30:16 +02:00
Alexey Andreev
772dd9eded JS: fix returning JSO objects from Async methods
Fix #805
2023-10-12 21:13:09 +02:00
Alexey Andreev
eed44998f0 jso: trying to improve optimization of JSWrapper 2023-09-27 13:50:30 +02:00
Alexey Andreev
b9f5e9be1c JS: optimize case when JS method returns java.lang.Object and then treated as JS object 2023-08-04 20:40:57 +02:00
Alexey Andreev
35f1284ac5 js: fix issue in obfuscated mode 2023-08-04 10:27:44 +02:00
Alexey Andreev
f30a050bfd JS: relax several JSO declarations to accept Object instead of JSObject 2023-08-03 20:50:22 +02:00
Alexey Andreev
334e2829b3 JS: supports module imports in JSBody 2023-08-03 15:42:15 +02:00
Alexey Andreev
a1ed797d73 JS: allow passing Object to JS methods 2023-07-31 20:42:09 +02:00
Alexey Andreev
4cfbca96b8 JS: fix visibility modifier for consistency 2023-07-31 13:13:35 +02:00
Alexey Andreev
c4c6b029e3 JS: add support for exporting Java methods as JS properties 2023-07-30 20:48:43 +02:00
Alexey Andreev
948244cbf4 JS: marshall JS object to Java in a wrapper 2023-07-29 18:54:23 +02:00
Alexey Andreev
8014c038c0 Migrate to gradle 2023-01-23 17:16:07 +01:00
Alexey Andreev
64ae44ee01 JS: store global object in a variable to avoid name clashes between generated declarations (in minified mode) and global declarations 2022-11-17 12:02:46 +01:00
Alexey Andreev
81bfe3f6e2 Improve pom.xml configuration 2021-03-18 11:16:41 +03:00
Alexey Andreev
195f4c8426 Fix checkstyle error 2021-03-18 00:12:42 +03:00
Alexey Andreev
4c0c7872a1 JS: add support for CCE in strict mode 2021-03-17 21:11:18 +03:00
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