Commit Graph

1768 Commits

Author SHA1 Message Date
Jaroslav Tulach
cda97ab96d Updating to HTML/Java API 1.4. Using JUnit & TeaVMTestRunner to execute tests. 2017-04-14 12:03:38 +03:00
sertic
78a3aa29ec Added more WASM imports to Classlib for Double and Random class 2017-04-12 20:57:33 +03:00
Alexey Andreev
6a1dd17af9 IDEA: refactor JPS plugin to allow proper redeployment in javaee plugin 2017-04-12 17:34:14 +03:00
Alexey Andreev
3ad16e80c7 WASM: add support for Enum.valueOf and Class.isEnum 2017-04-10 22:27:24 +03:00
Alexey Andreev
d09affce85 WASM: fix translation of lookupswitch when min and max values differ by
more than 2^31
2017-04-10 21:35:02 +03:00
mirko.sertic@web.de
6630175598 #264 Upgrade GWT version to 2.8.0 for performance benchmarks 2017-04-10 21:27:43 +03:00
Alexey Andreev
248a49c7dd WASM: when lookupswitch table has labels that diff by more 256,
translate it to binary search code.
See #261
2017-04-09 23:13:26 +03:00
Alexey Andreev
ef1618ec36 Merge remote-tracking branch 'origin/master' 2017-04-06 23:35:53 +03:00
Alexey Andreev
354883ab86 $rt_ustr handles null strings. $rt_s gets optimized in minified mode. 2017-04-06 23:35:40 +03:00
Alexey Andreev
8330eae4ae WASM: support stack traces 2017-04-06 23:06:30 +03:00
Mirko Sertic
09b3f18a2c #258 WASM: Unreferenced but exported methods are removed by dep checker (#259)
WASM: automatically mark as reachable methods of reachable classes which are exported to WASM via `@Export` annotation
See #258
2017-04-05 18:36:53 +03:00
Alexey Andreev
74eda7e63c Merge pull request #257 from mirkosertic/master
Made WASM benchmarks runable again in Firefox and Chrome
2017-04-05 11:22:00 +03:00
sertic
22670363f9 Made WASM benchmarks runable again in Firefox and Chrome 2017-04-05 08:49:44 +02:00
Alexey Andreev
473c35dafa WASM: Fix generation of types of 'if' blocks generated from conditional
expressions.
See #256
2017-04-04 23:16:59 +03:00
Alexey Andreev
5b4f9e6000 Merge pull request #255 from mirkosertic/master
#253 WASM Memory should be exported to make it accessible from JS
2017-04-04 18:29:11 +03:00
sertic
f84a646eae #253 WASM Memory should be exported to make it accessible from JS
Now a default export named "memory" is created to export the WASM memory.
2017-04-04 15:55:55 +02:00
Alexey Andreev
82e4b51e07 Merge pull request #254 from mirkosertic/master
#252 WASM binary version was reset to 0x01 for MVP official release
2017-04-04 14:22:20 +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
8144464b0e Add HTMLElement.className 2017-03-30 19:00:18 +03:00
Alexey Andreev
9e4e26ae18 Fix bug in metaprogramming API 2017-03-30 17:20:19 +03:00
Alexey Andreev
61a0fcfb9c Merge branch 'master' of https://github.com/konsoletyper/teavm 2017-03-27 22:30:07 +03:00
Alexey Andreev
4847731328 Fix SOE when calling Throwable.getCause()
Fix https://github.com/konsoletyper/teavm/issues/249
2017-03-27 22:27:59 +03:00
Alexey Andreev
a6447054bb Merge pull request #250 from shannah/suppress-sync-errors
Added annotation to suppress errors like * claimed to be synchronous,…
2017-03-27 22:14:02 +03:00
Steve Hannah
7491f1805a Added annotation to suppress errors like * claimed to be synchronous, but has invocations of synchronous methods. This is usesful in cases where the developer knows that the APIs are synchronous but might be mistakenly marked as async for some reason. This is a possible workaround for issues like https://github.com/konsoletyper/teavm/issues/248 2017-03-24 15:51:23 -07:00
Alexey Andreev
d49354bdac Fix another exception while rendering labels 2017-03-21 21:48:03 +03:00
Alexey Andreev
299485eb96 Fix bug in generation of block labels 2017-03-17 17:19:28 +03:00
Alexey Andreev
b28f5a6b71 Don't produce keywords for label names 2017-03-17 16:41:35 +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
56398f58f9 Make serializable some classes that are going to participate in remote build strategy 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
d654896833 Remove unnecessary arrays if possible after generating methods via metaprogramming API. Arrays are unnecessary if they are only indexed by constants and never escape method. 2017-02-26 20:04:00 +03:00
Alexey Andreev
c6d4265f8b Fix generation of JS labels 2017-02-26 20:02:45 +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
17113533fc Implement default annotation values and annotations of method parameters in IR binary serializer 2017-02-26 13:49:45 +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
af9a01628f Add support of Metaprogramming.getLocation to metaprogramming API 2017-02-26 00:07:40 +03:00
Alexey Andreev
929e77bf69 Postpone execution code after wait method, since it's executed in a native callback which can't be async. When the code contains async calls, compiler produces error. 2017-02-25 19:52:05 +03:00
Alexey Andreev
a94686ddf6 Fix nullness detection on exception variable 2017-02-25 19:52:05 +03:00
Davin McCall
6ef08ae709 Fix errors in hasAsyncMethods() which cause it to return an incorrect result.
Previously the method could only ever return false.
2017-02-25 19:06:56 +03:00
Davin McCall
95f07d80a7 Add a test for an issue which I believe is caused by failure to identify
an asynchronous method.

Unfortunately I am unable to actually produce a failing test; instead an
exception message is generated during test execution. This seems to be an
issue with the test runner mechanism.
2017-02-25 19:06:56 +03:00
Davin McCall
651532c203 Add test for asynchronous class initialisation from asynchronous constructor.
(cherry picked from commit 34961e4)
2017-02-22 23:10:07 +03:00
Alexey Andreev
891e3b8ea9 Don't generate call to <clinit> on each static method during AST rendering. Instead, extract from WASM transformation that adds InitClassInstruction to beginning of each method and reuse in in JS. This fixes some issues in async methods, without making AST renderer much more complicated. 2017-02-22 23:05:58 +03:00
Alexey Andreev
323911ffc9 Add kotlinc.xml to ignore list, since new Kotlin plugin generates this file 2017-02-22 23:03:19 +03:00
Alexey Andreev
e701cf90b0 Fix script that updates IDEA plugin repository. Update readme 2017-02-19 16:59:46 +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