Commit Graph

356 Commits

Author SHA1 Message Date
Alexey Andreev
71f87d79a5 JUnit: add support for TestNG annotations 2021-03-16 21:47:05 +03:00
Alexey Andreev
e5c3d144e8 Bump versions of dependencies 2021-03-12 20:12:30 +03:00
Alexey Andreev
2765a6344f Shade teavm-junit dependencies to avoid conflicts with project's jetty and jackson versions 2021-03-10 16:37:55 +03:00
Alexey Andreev
fb81153ad2 JS: allow running tests in multiple browser tabs 2021-03-09 10:59:56 +03:00
Alexey Andreev
1eab7e41b1 Fix tests. Add headless firefox test runner 2021-03-08 12:00:13 +03:00
Alexey Andreev
61db54e848 Add JS test runner that runs tests right in the browser 2021-03-07 15:56:48 +03:00
Alexey Andreev
d1606ea2a5 Display more readable stack trace in HTML file that runs single test 2021-02-27 22:07:34 +03:00
Alexey Andreev
ae1ec8ffe5 Make IDEA plugin work with recent IDEA versions, remove some deprecated API usages 2021-01-28 17:57:35 +03:00
Alexey Andreev
306c78459c JS: use symbol instead of string property to represent Java exception wrapper 2020-09-09 19:28:32 +03:00
Alexey Andreev
9f823ee450 Minor improvements to time zone support 2020-04-30 15:49:37 +03:00
Alexey Andreev
ea1134d66b Trying to reduce number of classes for which name is provided in their metadata 2020-03-02 16:36:09 +03:00
Alexey Andreev
46e786d957 JS: commit forgotten html test template file 2020-03-02 16:18:08 +03:00
Alexey Andreev
cb26a10251 JS: when running tests, create proper HTML files to allow debugging these tests 2020-03-02 15:58:28 +03:00
Alexey Andreev
aefdee2507 Fix checkstyle errors 2020-02-27 19:02:47 +03:00
Alexey Andreev
ea36a1fca8 Fix checkstyle errors 2020-02-27 18:57:45 +03:00
Alexey Andreev
95426e2159 Add per-class compilation when running tests (requires @WholeClassCompilation annotation) 2020-02-27 18:43:08 +03:00
Alexey Andreev
6790ad0818 Code server: fix proxying gzipped resources 2020-02-26 14:27:58 +03:00
Alexey Andreev
0e7c1e5ef9 Wasm: don't generate class metadata if it's not used. Don't generate names and call site metadata in minified mode 2020-02-21 17:29:31 +03:00
Alexey Andreev
7d95c0fb04 Wasm: fix GC 2020-02-21 16:22:25 +03:00
Alexey Andreev
fecdd6613a Use tab character to indent stack traces 2020-02-14 10:39:50 +03:00
Alexey Andreev
05ac4b62bf Add HTTP headers in code server to not cache content 2020-01-23 18:59:05 +03:00
Alexey Andreev
8237403161 Fix build of IDEA plugin 2019-12-04 18:45:22 +03:00
Alexey Andreev
96be75664c Fix build of IDEA plugin 2019-12-04 18:13:28 +03:00
Alexey Andreev
a36cd51c53 Fix build of IDEA plugin 2019-12-04 17:25:07 +03:00
Alexey Andreev
efa15936da Fix build of IDEA plugin 2019-12-04 16:56:47 +03:00
Alexey Andreev
0dbc4a22bb Set proper content type in code server 2019-12-04 16:18:00 +03:00
Alexey Andreev
037acc613c Update IDEA version to 2018.2.8 2019-12-04 15:29:10 +03:00
Alexey Andreev
b60d57ea73 Fix compilation of IDEA plugin 2019-10-31 15:35:19 +03:00
Alexey Andreev
fb78377db8 Fix various issues reported by PVS Studio and LGTM 2019-10-31 14:36:37 +03:00
Alexey Andreev
3b4cc43e79 C: add option to strip off information about call site locations.
This decreases executable size significantly. However, this produces
obfuscated stack traces which can be deobfuscated using JSON symbol table.
2019-10-23 17:34:23 +03:00
Alexey Andreev
e569eaa8a6 C: write test error to stderr rather than stdout 2019-10-15 11:53:31 +03:00
Alexey Andreev
8038f90fd8 Support new format of debug information in C and WASM
This allows to keep proper stack traces in FULL optimization mode,
when aggressive inlining is applied
2019-10-15 11:47:40 +03:00
Alexey Andreev
4ef231c7fa JS: preserve stack trace items when agressive inlining enabled 2019-10-14 14:05:06 +03:00
Alexey Andreev
e762f26a40 Keep location stack in IR when inlining methods 2019-10-08 16:09:07 +03:00
Alexey Andreev
c6f6125622 JS: remove unnecessary link to runtime.js from archetype HTML 2019-10-08 11:15:55 +03:00
Alexey Andreev
bffb50f0cd Implement array bounds checking in JavaScript 2019-10-07 16:55:30 +03:00
mauro
9314461fcf Minor fix for classpath value in CodeServlet 2019-09-26 00:15:41 +03:00
Alexey Andreev
fe3436f053 C/Wasm: resizable heap 2019-09-24 17:48:17 +03:00
Alexey Andreev
f0b6cc2f30 Update version to 0.7.0 2019-09-24 16:26:14 +03:00
Alexey Andreev
f47644d890 Move tool that generates JCL comparison into a separate project. Make this tool compatible with JRE9+ 2019-09-05 14:16:11 +03:00
Alexey Andreev
6e6783f93d C: regenerate only as small amount of classes as possible during incremental build 2019-09-04 19:04:12 +03:00
Alexey Andreev
ed627459c8 Fix issue with async methods in code server 2019-08-23 13:44:03 +03:00
Alexey Andreev
492fd004af C: add ability to write heap dump when application crashes 2019-08-19 15:51:41 +03:00
Alexey Andreev
90e00f7eb4 C: add option to support exceptions via setjmp/longjmp 2019-07-22 16:53:47 +03:00
Alexey Andreev
9ad0ddd891 C: fix File.mkdirs() on Windows 2019-07-11 18:06:15 +03:00
Alexey Andreev
90a5ad72d5 Fix incremental build on Windows 2019-06-26 20:15:42 +03:00
Alexey Andreev
aeb5f44922 C: allow to change main function name 2019-06-20 17:13:08 +03:00
Alexey Andreev
6e71fa7e87 C: implement file IO in Windows 2019-06-14 15:32:20 +03:00
Alexey Andreev
91de1f6ca7 C: implement native file system 2019-05-31 15:05:23 +03:00
Alexey Andreev
d17b459ecc C: fix MSVC support 2019-05-28 20:13:14 +03:00
Alexey Andreev
fdb3f5edb1 C: improve incremental compiler performance. Generate text file with list of c files to compile 2019-05-24 12:10:18 +03:00
Alexey Andreev
8b3df6f730 C: fix bugs, introduce new virtual table builder 2019-05-23 15:18:25 +03:00
Alexey Andreev
8e08cf6dcd C: improve generation of string pool for incremental mode 2019-05-16 16:53:40 +03:00
Alexey Andreev
0003ed0bb2 C: generate '#line' preprocessor directive 2019-05-16 11:12:35 +03:00
Alexey Andreev
7a99258cab C: allow to run external tool after successful incremental build 2019-05-15 16:37:51 +03:00
Alexey Andreev
054db3e8d1 C: incremental code generator 2019-05-15 15:16:18 +03:00
Alexey Andreev
da22256c1f C: compile into multiple .c and .h files 2019-05-08 17:36:46 +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
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
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
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
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
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
35ca7fd152 Add lazy compilation pipeline that can work a little bit faster in incremental compiler 2019-01-30 19:00:07 +03:00
Alexey Andreev
e404e2d37f Fix proxy bug in dev server 2019-01-27 23:00:20 +03:00
Alexey Andreev
78c55437e3 Add stack deobfuscation to dev server 2019-01-24 16:28:30 +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
85a71e832b Fix code server WS proxy issue 2019-01-14 15:19:08 +03:00
Alexey Andreev
97a1db1b79 Allow to delegate requests to dev server to another server 2018-12-29 14:28:06 +03:00
Alexey Andreev
830aa2c9b1 Fix bugs in Chrome extension, rewrite it in ES6 2018-12-26 18:57:30 +03:00
Alexey Andreev
58c19e3abc Minor fixes in development toolchain 2018-12-25 18:45:26 +03:00
Alexey Andreev
6900fd587c Fix Float/Double.parse for strings like '123.' 2018-12-24 18:16:05 +03:00
Alexey Andreev
f080526aca Update to latest version of HtmlUnit 2018-12-24 18:15:17 +03:00
Alexey Andreev
90c23e6686 Allow to customize debug port both in IDEA and Chrome 2018-12-20 12:09:32 +03:00
Alexey Andreev
27d81c4fe6 Send less commands over Chrome RDP 2018-12-20 11:43:04 +03:00
Alexey Andreev
a4b61bac19 Fix bugs in debugger 2018-12-19 19:28:35 +03:00
Alexey Andreev
75295f50e5 Make debugging API asynchronous 2018-12-19 18:13:15 +03:00
Alexey Andreev
66126856a2 IDEA: run debug server when running dev server in debug mode, connect to this server automatically from the web page 2018-12-17 19:31:53 +03:00
Alexey Andreev
b1e04da597 IDEA: improve dev server console 2018-12-17 15:46:29 +03:00
Alexey Andreev
d7d4dc1571 Add IDEA run configuration that runs dev server 2018-12-16 20:42:21 +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
5db4c11e10 Fix bugs in dev server 2018-12-11 16:07:43 +03:00
Alexey Andreev
eec458089f Implement development server 2018-12-10 19:03:18 +03:00
Alexey Andreev
952ed3f193 Fix diagnostics no printed from teavm-cli. Fix diagnostics of unavailable classes and methods 2018-12-09 19:54:04 +03:00
Alexey Andreev
d74bcbe2b9 Fast dependency analyzer, fix bugs in incremental compiler 2018-12-07 17:41:21 +03:00
Alexey Andreev
1b83519280 Reduce minumus JS runtime a little 2018-12-07 00:52:05 +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
1c09a52ef9 Add option to suppress decoding stack when running JUnit tests 2018-11-26 11:41:25 +03:00
Alexey Andreev
3e152f4bb8 JUnit: remove selenium runner 2018-11-23 14:32:35 +03:00