Commit Graph

288 Commits

Author SHA1 Message Date
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
Alexey Andreev
6653118dd8 Allow to edit TeaVM build properties from IDEA UI 2017-06-16 00:57:06 +03:00
Alexey Andreev
f0637fda41 Remove obsolete configuration properties 2017-06-12 22:25:13 +03:00
Alexey Andreev
45b0836ac6 Fix updating source map file during incremental build in IDEA 2017-06-11 00:41:06 +03:00
Alexey Andreev
0397bdced1 Report copied source files to JPS as changed files 2017-06-07 14:34:05 +03:00
Alexey Andreev
91a7f69bee Report error in JPS when TeaVM build crashes 2017-06-06 23:08:31 +03:00
Alexey Andreev
d8913f85d1 Improve incremental compilation in IDEA.
Fix bug in source copier.
2017-06-01 19:15:24 +03:00
Alexey Andreev
89eb87e8ca Improve performance of source file copier 2017-06-01 16:14:25 +03:00
Alexey Andreev
36f2932caa Add incremental build to JPS 2017-06-01 16:14:25 +03:00
Alexey Andreev
2e8e3a65bd Add IO bufferization 2017-06-01 16:14:24 +03:00
Alexey Andreev
d5db7270be Move expected exception handling off test runner.
Implement it in launcher genertor instead
2017-04-22 00:26:43 +03:00
Alexey Andreev
6a1dd17af9 IDEA: refactor JPS plugin to allow proper redeployment in javaee plugin 2017-04-12 17:34:14 +03:00
sertic
19b804b5fc #252 WASM binary version was reset to 0x01 for MVP official release
In current browsers and for the official MVP only WASM binary version 0x01 is supported.
All other binary versions are no longer required or supported, hence the generation
logic for them is no longer needed.
2017-04-04 12:48:00 +02:00
Alexey Andreev
9e4e26ae18 Fix bug in metaprogramming API 2017-03-30 17:20:19 +03:00
Alexey Andreev
6c97f8afe3 Refactor code to avoid duplication 2017-03-17 13:57:37 +03:00
Alexey Andreev
891b906a8c Fix serialization of call graph. Fix minor bugs in build daemon 2017-03-17 13:57:37 +03:00
Alexey Andreev
1ae4a95128 Add TeaVM build daemon to IDEA 2017-03-17 13:57:37 +03:00
Alexey Andreev
6b31e13cbb Add abstraction of build strategy. Implement in-process build strategy. Further step is to implement build strategy that communicates with build daemon 2017-03-17 13:57:36 +03:00
Alexey Andreev
6d3b329540 Remove unnecessary comments and eliminate duplicate code 2017-02-26 13:52:06 +03:00
Alexey Andreev
a48e3fbd61 Write debug information via buffered stream 2017-02-26 13:51:19 +03:00
Alexey Andreev
3821d29f1c Don't allow user to change minifier settings via IDEA facet UI 2017-02-26 07:36:07 +03:00
Alexey Andreev
3e3b25bddc Fix serialization of IR to binary format for incremental build 2017-02-26 07:07:02 +03:00
Alexey Andreev
1d0230b4c6 Fix bytecode class renamer. Remove unnecessary files 2017-02-26 00:08:17 +03:00
Alexey Andreev
7d876668c5 Rename org.ow2.asm to org.teavm.asm in class loader during JPS build. Fix IDEA plugin deployment in travis 2017-02-18 23:50:31 +03:00
Alexey Andreev
b3f52409a7 Fix build 2017-02-18 20:35:04 +03:00
Alexey Andreev
0900f82585 Fix build 2017-02-18 20:26:02 +03:00
Alexey Andreev
b4e88988f6 Build IDEA plugin via Maven 2017-02-18 16:57:52 +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
7b6013992c Embed metaprogramming implementation into uberjar for IDEA plugin 2017-02-15 22:49:22 +03:00
Alexey Andreev
d5dd608961 Fix ${project.version} in maven archetype. Add default value for optimizationLevel 2017-02-15 22:48:51 +03:00
Alexey Andreev
6c6e7c0d4d Fix build in travis. Seems they have old and buggy javac 2017-02-15 21:12:13 +03:00
Alexey Andreev
16c467f8e2 Merge pull request #244 from davmac314/cli-classaliases
Add a CLI option to set class aliases.
2017-02-15 21:08:13 +03:00
Davin McCall
d4b11e9817 Add a CLI option to set class aliases.
This adds the "--classalias" option which allows specifying a target
alias for a fully qualified class. The format is:

  --classalias fully.qualified.Name:TargetAlias
2017-02-14 00:06:59 +00:00
Alexey Andreev
ccb4dff836 Fix bugs in metaprogramming. In JUnit runner reload about:blank page before every test 2017-02-13 23:43:49 +03:00
Alexey Andreev
5e44c13caf Fix bugs in metaprogramming. Add run configuration that rebuilds TeaVM 2017-02-04 18:24:23 +03:00
Alexey Andreev
55836d6ed7 Fix async splitting of blocks with exception handlers in some cases. Fix https://github.com/konsoletyper/teavm/issues/234 2017-01-24 23:36:15 +03:00
Alexey Andreev
9532f9a32b Refactor phi updater 2017-01-06 21:13:12 +03:00
Alexey Andreev
a5eb9ac800 Add tests for phi updater 2017-01-04 22:09:56 +03:00
Alexey Andreev
ec3b88f77a Fix test runner behaviour when test fails 2016-12-04 20:53:23 +03:00
Alexey Andreev
f96aa54461 Fix attaching source maps to JS file 2016-12-03 14:05:13 +03:00
Alexey Andreev
ad39024795 Prevent PhiUpdater from placing e-phis with source variable equal to receiver 2016-12-03 13:46:02 +03:00
Alexey Andreev
c25dd1a99d Add JUnit test filtering 2016-11-30 00:25:26 +03:00
Alexey Andreev
0b4f8b9898 Fix concurrency issues in TeaVM test runner 2016-11-30 00:06:20 +03:00
Alexey Andreev
9364ad943a WASM: add support of 0x0D binary version 2016-11-20 22:22:33 +03:00
Alexey Andreev
8e2814f984 IDEA: fix building multi-platform projects (JS, WebAssembly) 2016-11-15 23:07:25 +03:00
Simon Ogorodnik
cf69cf2243 Fix IDEA Maven Importer to properly create facet on maven update project 2016-11-15 04:41:18 +03:00
Alexey Andreev
e93a0f1a6e IDEA: add WebAssembly facet 2016-11-06 22:00:15 +03:00
Alexey Andreev
156e7c98ee Merge branch 'idea-facet' 2016-11-06 21:13:28 +03:00
Alexey Andreev
eaf28d737e IDEA: replace module configuration with TeaVM facet 2016-11-04 23:41:54 +03:00
Alexey Andreev
2a3b0cd597 Fix generation of variable names in minified mode (fix #227). JUnit runner can be configured to run tests in minified and optimized modes. Apply these modes to travis config. 2016-11-04 13:21:01 +03:00
Alexey Andreev
dcef7fc996 IDEA: creating facet 2016-10-27 19:46:49 +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
37d4c3349e Add AbstractInstructionReader, use it instead InstructionReader where possible 2016-10-22 16:25:38 +03:00
Alexey Andreev
a30ac3cd83 Fix NPE when omitting WASM binary version in maven plugin 2016-10-20 12:52:31 +03:00
Alexey Andreev
b4916ee4e7 WASM: fix bugs in support of 0xC binary version 2016-10-09 12:57:11 +03:00
Alexey Andreev
386c703459 WASM: implementing support of 0xC binary version 2016-10-06 19:56:45 +03:00
Alexey Andreev
558bcf1137 Fixing building idea plugin 2016-09-17 11:45:15 +03:00
Alexey Andreev
6c5a691fc9 Fixing minor bugs 2016-09-17 10:42:46 +03:00
Alexey Andreev
1b78de9b40 Minor fixes after rebase 2016-09-17 09:59:13 +03:00
Alexey Andreev
7aaf67d16f Fix minor bugs 2016-09-17 09:33:53 +03:00
Alexey Andreev
ed7e8ff7f4 javascript: refactor renderer 2016-09-17 09:21:26 +03:00
Alexey Andreev
6aa8a6366f Fix default output file name 2016-09-17 09:19:33 +03:00
Alexey Andreev
40af27811f Allow to run WASM generator via maven. 2016-09-17 09:19:32 +03:00
Alexey Andreev
9143714168 Refactor target API. Add ability to generate wast and C from wasm target 2016-09-17 09:19:32 +03:00
Alexey Andreev
cc9af93021 Keep variable names in generated sources 2016-09-17 09:19:31 +03:00
Alexey Andreev
1c1b0c69fa Propagating variable name via compiler's pipeline 2016-09-17 09:11:59 +03:00
Alexey Andreev
0ac61919d5 Creating Wasm -> C translator 2016-09-17 09:11:10 +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
b83c33bcc6 Add support of WASM in TeaVMTool and CLI 2016-09-17 08:59:02 +03:00
Alexey Andreev
164ebeb629 Refactoring RTTI, add type annotation to array subscription instructions 2016-09-17 08:59:02 +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
Alexey Andreev
52ace0c252 Refactor TeaVM to support pluggable targets like JavaScript, WebAssembly, LLVM, etc (with only JavaScript target for now) 2016-09-17 08:55:44 +03:00
Alexey Andreev
1f30e5fd88 Add test to prove that all modification to a local variable are visible in a corresponding catch block 2016-09-17 08:55:19 +03:00
Alexey Andreev
fd7ff3d538 Add artifacts to the resolution process of debug sources 2016-09-12 16:37:31 +03:00
Zufar Fakhurtdinov
c3d5773e13 update archetype web.xml to version 3.1 2016-06-28 20:29:02 +03:00
Alexey Andreev
a2e1fbdeb8 Implement TeaVM debugger in IDEA 2016-06-25 23:43:29 +03:00
Alexey Andreev
bad97d70de Implement TeaVM debugger in IDEA 2016-06-25 23:04:53 +03:00
Alexey Andreev
feafa032df Merge branch 'master' into idea-plugin 2016-06-25 15:59:52 +03:00
Alexey Andreev
d196eb9864 Further work on incremental phi updater 2016-06-05 20:58:23 +03:00
Alexey Andreev
0dbe437266 Further work on IDEA debugger 2016-04-28 23:40:57 +03:00
Alexey Andreev
98efadc6fd Add proper breakpoint positioning in IDEA 2016-04-28 22:51:37 +03:00
Alexey Andreev
40e06a573c Add TeaVM debug server run configuration 2016-04-27 22:53:21 +03:00
Alexey Andreev
b99e032327 Start implementing TeaVM debugger 2016-04-26 22:48:53 +03:00
Alexey Andreev
aeca4c2df0 Merge branch 'idea-plugin' 2016-04-25 22:00:51 +03:00
Alexey Andreev
a2ebaf7d18 Add Maven importer to IDEA 2016-04-25 22:00:01 +03:00
Alexey Andreev
c9355a8eda When error found somewhere inside library, TeaVM builder reports problems with locations relative to source files which call library, with partial stack trace. 2016-04-24 23:26:37 +03:00
Alexey Andreev
87e1ae6fb8 Merge branch 'idea-plugin' 2016-04-23 16:16:14 +03:00
Alexey Andreev
9efed77d60 Add copying of source files in JPS. Add precise method location recognition for JPS diagnostics 2016-04-23 16:15:43 +03:00
Alexey Andreev
0d3d6e883d Improving build diagnostics in IDEA. Fix minor problems in JSO 2016-04-21 22:29:40 +03:00
Alexey Andreev
7f379eaeb7 Improving build diagnostics in IDEA 2016-04-20 23:40:17 +03:00
Alexey Andreev
93cc51c575 Start implementing RMI service that reports method locations to JPS builder 2016-04-18 23:25:44 +03:00
Alexey Andreev
894e39c59f Move static fields from class scope to global scope 2016-04-17 13:26:29 +03:00
Alexey Andreev
da8382271f JPS plugin runs only when one of significant classes change 2016-04-15 00:21:24 +03:00
Alexey Andreev
e557a25a04 Minor fixes 2016-04-12 23:38:45 +03:00
Alexey Andreev
f63ec25ed3 Move metaprogramming API implementation into separate module 2016-04-12 22:54:32 +03:00
Alexey Andreev
84d9899b3e Implement metaprogramming proxies 2016-04-06 23:02:15 +03:00
Alexey Andreev
3e562aa08a Simple metaprogramming test passes 2016-02-27 18:46:27 +03:00
Alexey Andreev
4819eee3ef Add support of TeaVMProperties annotation 2016-02-27 16:16:37 +03:00
Alexey Andreev
5576275998 Improving JUnit test runner 2016-02-26 23:48:04 +03:00
Alexey Andreev
c808f41a8f Improving JUnit test runner 2016-02-23 23:27:50 +03:00
Alexey Andreev
d103306c3e Improving JUnit test runner 2016-02-23 21:40:51 +03:00
Alexey Andreev
2b3cba69bc Run JUnit tests via JUnit runner instead of Maven plugin 2016-02-23 18:46:32 +03:00
Alexey Andreev
92dbed2593 Start porting metaprogramming API implementation 2016-02-22 23:59:54 +03:00
Alexey Andreev
8db424809a Update IDEA configuration. Add metaprogramming API 2016-02-21 23:35:17 +03:00
Alexey Andreev
7d7808bb13 Fix maven build 2016-02-21 22:36:45 +03:00
Alexey Andreev
97e83c7d8f Improving TeaVM module configuration UI 2016-02-21 01:02:35 +03:00
Alexey Andreev
0f9014103e Fix error when trying to edit TeaVM tab in module configuration 2016-02-19 23:50:39 +03:00
Alexey Andreev
8f734ba3b5 Remove duplication of configuration classes 2016-02-19 23:33:01 +03:00
Alexey Andreev
5706012d0e Ignore IDEA files 2016-02-19 22:17:57 +03:00