Commit Graph

430 Commits

Author SHA1 Message Date
Ulugbek
f57af7631b fix: don't terminate if the target directory already exists 2022-08-12 17:48:58 +03:00
Ulugbek
51603695f4 TeaVMTool: handle target directory creation error 2022-08-06 14:40:09 +03:00
Ulugbek
b3727191b4 TeaVMTool: resolveTransformers() doesn't need to take as an argument variable that it can access itself 2022-08-06 14:40:09 +03:00
Ulugbek
3ff1651184 TeaVMTool: use a single try-with-resources 2022-08-06 14:40:09 +03:00
Ulugbek
0068198abd TeaVMTool: re-use already created file 2022-08-06 14:40:09 +03:00
Alexey Andreev
ddddfcf217 Add option to disable assertions 2022-07-15 19:51:47 +03:00
Alexey Andreev
0d73478164 Maven: fix connection to compiler daemon in out-of-process mode 2022-06-24 12:09:30 +03:00
Alexey Andreev
b03518c493 Remove unnecessary hppc artifact versions from pom.xml 2022-06-01 17:25:33 +03:00
Alexey Andreev
8d02dc0f4a Code server: fix preflight request issues 2022-02-10 19:35:14 +03:00
Alexey Andreev
1fa48560c6 C: add option to generate shorter output file names to workaround msvc bug 2021-12-10 18:51:12 +03:00
Alexey Andreev
7025ea8e19 IDEA plugin: fix one more id issue 2021-10-14 16:00:08 +03:00
Alexey Andreev
04cbd07fb5 Fix build configuration for parallel builds 2021-10-14 11:06:36 +03:00
Alexey Andreev
1ef2d5d1c2 IDEA plugin: fix spamming exception 2021-10-14 10:48:23 +03:00
Alexey Andreev
7726d47795 C: don't run compiled tests simultaneously 2021-03-24 17:31:16 +03:00
Alexey Andreev
60e5c0bbce Use new commons-cli API, remove usages of deprecated one 2021-03-22 14:17:50 +03:00
Alexey Andreev
bd53c1a5a2 wasm: trying to implement coroutines 2021-03-21 22:13:09 +03:00
Alexey Andreev
c4c1408160 wasm: fix running tests, add in-browser test runners 2021-03-20 19:52:45 +03:00
Alexey Andreev
0cff9e104c Fix checkstyle warnings after migration to the new version 2021-03-18 11:51:20 +03:00
Alexey Andreev
43437fd9b2 Update checkstyle settings in IDEA 2021-03-18 11:36:23 +03:00
Alexey Andreev
81bfe3f6e2 Improve pom.xml configuration 2021-03-18 11:16:41 +03:00
Alexey Andreev
0b36010a19 C: fix running JUnit tests 2021-03-18 01:03:19 +03:00
Alexey Andreev
b5ad203631 JUnit: don't kill test runner after timeout 2021-03-18 00:12:42 +03:00
Alexey Andreev
a8eebd7e1a JUnit: support ignoring all tests in a class 2021-03-18 00:12:42 +03:00
Alexey Andreev
6c75ce7f68 Fix bug in TestNG annotation support 2021-03-16 23:10:18 +03:00
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
Alexey Andreev
2c8b0b55bb JUnit: Decode stack traces to StackTraceElement[] instead of string 2018-11-23 14:32:10 +03:00
Alexey Andreev
d50189ea3a Add decoding of stack trace in JUnit adapter 2018-11-23 12:09:26 +03:00
Alexey Andreev
6d2815bc5c Support running JUnit3 tests and improve support of JUnit4 2018-11-22 19:51:33 +03:00
Alexey Andreev
753755918d Update build config to avoid jar hell 2018-11-22 14:49:30 +03:00
Alexey Andreev
c7e7e3b3f0 Fix IDEA plugin build 2018-11-20 15:21:55 +03:00
Alexey Andreev
7588962212 Bind system properties to Maven properties.
Add heapSize property
2018-11-20 14:55:04 +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
0f951f8c86 Fix calculating class name in debugger 2018-11-19 15:29:02 +03:00
Alexey Andreev
148c07336c Generate entire code inside wrapper IIF 2018-11-15 12:47:25 +03:00
Alexey Andreev
064888c9a1 Support Java 11 2018-11-12 18:59:28 +03:00
Alexey Andreev
d4b145a523 IDEA: update project configuration 2018-11-06 14:49:14 +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
eff86f6239 Less output from Maven. Delete TeaVM artifacts from local repository before caching 2018-10-26 16:10:36 +03:00
Alexey Andreev
16ea944a87 Travis: fix build configuration 2018-10-26 15:21:04 +03:00
Alexey Andreev
7bef0f5bb8 Bump IDEA version to 2017.3 2018-10-25 13:15:28 +03:00
Alexey Andreev
55e0905518 IDEA: add facet option to skip TeaVM compilation 2018-09-04 18:30:15 +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
7f46c301bd IDEA: allow to configure build daemon heap size 2018-07-31 16:31:09 +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
d7b57ae938 Update asm version to 6.1.1 and versions of Maven plugins that use old asm in order to support Java 10 bytecode version. 2018-05-15 16:20:20 +03:00
Alexey Andreev konsoletyper@gmail.com
4d8f33d994 C backend: few fixes for MVSC 2018-05-14 01:15:29 +03:00
Alexey Andreev
a81eeeee03 Wasm backend: fix hanging tests, make more tests pass, change name generation scheme 2018-05-10 17:41:28 +03:00
Alexey Andreev
b087610c2c Wasm backend: make JUnit tests work 2018-05-08 23:31:51 +03:00
Alexey Andreev
38267980fb Run C test compilation in multiple threads 2018-04-21 12:24:31 +03:00
Alexey Andreev
4990dbe8e4 Add support for C backend in TeaVMTestRunner 2018-04-20 22:58:09 +03:00