Commit Graph

300 Commits

Author SHA1 Message Date
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
Alexey Andreev
f079b5fbcc Fix hppc version in Eclipse plugin 2018-03-20 23:19:31 +03:00
Alexey Andreev
05d0220dcd C backend: initial commit 2018-03-20 23:18:52 +03:00
Mauro de Wit
2055df55b3 Minor fix for TeaVMRunner 'generate source maps' option (#325)
Use character 'G' in the parseDebugOptions for sourcemaps
2018-02-16 22:27:04 +03:00
Alexey Andreev
21411cd1d8 Update Scala IDEA plugin download URL 2018-01-22 23:32:33 +03:00
Alexey Andreev
bac8336709 Make set-version script to update Eclipse plugin version 2018-01-11 00:17:16 +03:00
Alexey Andreev
02f61b5d50 Never minify TeaVM output in Eclipse builder 2018-01-10 00:06:55 +03:00
Alexey Andreev
09d857f572 Support preserve-class option in CLI 2018-01-09 23:46:24 +03:00
Alexey Andreev
85c686c72a Remove outdated methodAliases build parameter
Replace classAliases with classesToPreserve
2018-01-09 23:38:30 +03:00
Alexey Andreev
10c706077a When a value in debugger represents plain JavaScript object, show its native fields in watch window 2018-01-08 14:45:46 +03:00
Alexey Andreev
2ae6c872db Fix error setting breakpoints. See #308 2018-01-08 14:44:43 +03:00
Alexey Andreev
a24d628603 Fix IDEA debugger exception. See #307 2018-01-08 14:43:53 +03:00
Alexey Andreev
2bbdf6caba Rename DependencyChecker to DependencyAnalyzer 2017-11-12 23:21:16 +03:00
Alexey Andreev
f401f24521 Revive Eclipse plugin 2017-11-09 20:10:15 +03:00
Alexey Andreev
d3134d3941 Fix running multi-configuration tests in HTMLUnit 2017-11-05 14:53:08 +03:00
Alexey Andreev
ffbfd7df79 Add minor stuff to classlib 2017-10-26 20:17:09 +03:00
Alexey Andreev
fecc087993 Print compilation statistics 2017-10-22 20:22:51 +03:00
Alexey Andreev
de14a57fe1 Change how method resolution work in DCE and devirtualization.
Since in Java 8 there are default methods in interface, method
resolution algorithm becomes more complicated. This alseocauses
several related changes.

1. Resolve methods as late as possible; do not resolve
   virtual call sites during DCE.
2. Due to several reasons we have to improve linking phase
   to preserve super methods that aren't actually ever called,
   but present in virtual call sites.

Related issue: #311
2017-10-22 17:56:31 +03:00
Alexey Andreev
19a003669b Working on CLI 2017-10-12 00:19:56 +03:00
Alexey Andreev
7f76d31330 Update IDEA files 2017-10-08 21:41:08 +03:00
Alexey Andreev
4171d468d4 JS: add reflection support for constructors 2017-07-17 22:21:17 +03:00
Alexey Andreev
e1234df7e1 Fix positioning error messages in JPS 2017-07-05 00:08:28 +03:00
Alexey Andreev
c84dcd366e Display breakpoint status in IDEA 2017-07-04 07:18:02 +03:00
Alexey Andreev
1581345e17 Properly report breakpoint hit event 2017-07-04 06:37:17 +03:00
Alexey Andreev
faec413cf0 Remove annoying tab in debug tool window 2017-07-04 00:46:58 +03:00
Alexey Andreev
db97b7f732 Fix various issues in debugger 2017-07-02 16:25:11 +03:00
Alexey Andreev
434a3dd207 Fix IDEA debugger issues 2017-07-01 23:41:21 +03:00
Alexey Andreev
f86e498898 Speed-up travis build 2017-07-01 15:48:07 +03:00
Alexey Andreev
cdec4560ba Remove dumb comments containing only @author annotation 2017-07-01 13:13:52 +03:00
Alexey Andreev
4948c37419 Fix build daemon not stopping after IDEA shutdown 2017-06-23 23:56:02 +03:00
Alexey Andreev
59e5c16b31 Update version to 0.6.0-SNAPSHOT 2017-06-19 20:50:19 +03:00