Alexey Andreev
9e6061c3f1
WASM: implementing intrinsics to access resources
2017-04-17 00:09:14 +03:00
Alexey Andreev
05d4652c86
WASM: add intrinsic that writes metadata to static binary
2017-04-17 00:09:14 +03:00
Alexey Andreev
f716a4be62
WASM: refactoring resource generator
2017-04-17 00:09:14 +03:00
Alexey Andreev
f1da7a417e
WASM: preparing to implement metadata API
2017-04-17 00:09:14 +03:00
Alexey Andreev
530fe1d277
JS: remove references to window. See #269
2017-04-15 13:40:54 +03:00
Alexey Andreev
54accaff5b
WASM: use signed comparison for lookupswitch
2017-04-15 12:22:35 +03:00
Alexey Andreev
63025a57b7
WASM: fix reverse subtyping relation in exception handling
2017-04-15 12:04:09 +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
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
473c35dafa
WASM: Fix generation of types of 'if' blocks generated from conditional
...
expressions.
See #256
2017-04-04 23:16:59 +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
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
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
891b906a8c
Fix serialization of call graph. Fix minor bugs in build daemon
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
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
17113533fc
Implement default annotation values and annotations of method parameters in IR binary serializer
2017-02-26 13:49:45 +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
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
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
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
89f835540b
Add unused variable elimination to standard optimization levels
2017-02-15 22:16:14 +03:00
Alexey Andreev
19e8e06446
Fix creation of multi-dimensional arrays with zero dimensions. See https://github.com/konsoletyper/teavm/issues/239
2017-02-11 23:23:50 +03:00
Alexey Andreev
3402fd8ec9
Speed-up dependency analysis
2017-02-11 12:25:57 +03:00
Alexey Andreev
9271d71906
Fix compile-time error in metaprogramming API when body of emit
or lazy
throws exception instead of returning value
2017-02-05 17:28:40 +03:00
Alexey Andreev
751587bddc
Disabl redundant return elimination in async methods. Fix https://github.com/konsoletyper/teavm/issues/235
2017-01-31 22:45:17 +03:00
Alexey Andreev
e992297781
Eliminate unnecessary return statements
2017-01-29 23:45:48 +03:00
Alexey Andreev
fa0e884931
Optimize if statement to ternary conditional expression
2017-01-29 23:33:51 +03:00
Alexey Andreev
ecd58e3573
WASM: fix bugs
2017-01-29 22:17:04 +03:00
Alexey Andreev
2610fe5428
WASM: fix bugs
2017-01-29 19:01:18 +03:00
Alexey Andreev
055f39c1c8
WASM: fix exception handling
2017-01-28 23:25:13 +03:00
Alexey Andreev
f6103ec00b
Copy exception variables when splitting async programs. Fix https://github.com/konsoletyper/teavm/issues/230
2017-01-28 22:39:44 +03:00
Alexey Andreev
58563a3e2d
Fix liveness analysis in split AST optimizer
2017-01-25 22:46:15 +03:00
Alexey Andreev
02d8439920
When copying basic blocks in async splitter, copy exception variable as well. Fix https://github.com/konsoletyper/teavm/issues/230
2017-01-24 23:59:54 +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
8967f423eb
Increase inlining threshold. Add property to build TeaVM without additional artifacts (like samples)
2017-01-21 23:34:33 +03:00
Alexey Andreev
d3bed47b1d
Add tests for escape analysis/scalar replacement. Fix found bugs
2017-01-21 23:34:33 +03:00
Alexey Andreev
e4fab2be41
Add escape analysis
2017-01-21 23:34:33 +03:00
Alexey Andreev
6781dd0abb
Fix bug in nullness analysis
2017-01-18 21:30:04 +03:00
Alexey Andreev
149970f162
Fix infinite loop in inlining
2017-01-14 02:00:19 +03:00