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
c78874f426
C/Wasm: don't generate names for classes when possible
2019-10-23 14:11:24 +03:00
Alexey Andreev
f7620704fc
C/Wasm: fix bugs in GC
2019-10-22 19:05:37 +03:00
Alexey Andreev
70cb67c8f0
Fix bug in WASM backend
2019-10-18 17:09:57 +03:00
Alexey Andreev
8a91605c56
Add support for Class.getCanonicalName/getEnclosingClass
2019-10-18 15:10:16 +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
Artem Godin
e46f204b4e
#431 : Add support for char annotation methods
...
Fixes #431
2019-10-14 14:06:21 +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
378111d767
C: fix generation of heap dump
2019-10-07 17:43:18 +03:00
Alexey Andreev
94a96f571b
C: support array bound checking
2019-10-07 16:55:31 +03:00
Alexey Andreev
6f50eefaf9
JS: add null check in strict mode
2019-10-07 16:55:30 +03:00
Alexey Andreev
bffb50f0cd
Implement array bounds checking in JavaScript
2019-10-07 16:55:30 +03:00
Alexey Andreev
a1d7153cab
Add instruction to perform array bound check
2019-10-07 16:55:30 +03:00
Matt McHenry
ec21f2d8e1
mark threading primitives unsupported on wasm
...
this gives much clearer feedback, at build time rather than runtime,
when attempting to use TeaVM with code that uses these operations.
2019-10-06 21:10:40 +03:00
Alexey Andreev
89ea97d00f
JS: revert $rt_compare implementation since new one does not work properly
2019-10-04 16:40:41 +03:00
Alexey Andreev
3194a403b8
C/Wasm: reduce memory consumption in GC
2019-10-02 13:55:23 +03:00
Alexey Andreev
ae896f3d90
WASM: bugfixes
2019-10-01 14:52:28 +03:00
Max Graey
e23293a8af
Minor improvements for javascript runtime ( #425 )
2019-10-01 11:29:30 +03:00
Alexey Andreev
810ee0f49e
JS: fix crash on some JavaScript constructs in hand-written runtime code
2019-09-30 18:36:05 +03:00
Alexey Andreev
3b170df2ca
Fix nullness information builder
2019-09-30 18:23:38 +03:00
Alexey Andreev
a2a9dbcbe3
Improve performance of inliner in FULL optimization level
...
The former implementation suffered from class inference.
The reason was in many nodes having too many possible classes in them.
The new implementation does not handle full set of classes in each node.
Instead, it introduces concept of 'overflow', i.e. node having
more types than the given upper limit.
These nodes behave as if there were all possible classes in them,
which allows to apply certain optimization for these nodes and
omit heavy computations of large type sets.
2019-09-27 16:36:55 +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
5643e82a3d
C: minor fixes for Linux
2019-09-07 22:08:32 +03:00
Alexey Andreev
5b739238c2
More efficient filesystem implementation
2019-09-05 17:11:43 +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
e33cc5a807
C: split runtime into smaller parts
2019-09-03 14:01:30 +03:00
Alexey Andreev
9e9866398b
C: generate return statement in main function
2019-08-29 14:34:06 +03:00
Alexey Andreev
6b0b30cb23
C: fix duplicate call of some <clinit> methods when using reflection
2019-08-29 14:33:23 +03:00
Alexey Andreev
5a8284222a
C: fix support of weak references in GC
2019-08-26 19:50:10 +03:00
Alexey Andreev
f028f8db37
JS: don't remove class name from metadata when it's referenced indirectly from array class
2019-08-26 16:44:10 +03:00
Alexey Andreev
7a03ad6c5e
Fix issue with <clinit> methods introduced by previous commit
2019-08-23 14:26:33 +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
97f9967153
Make SSA and non-SSA liveness analyses. Fix aliasing local variable names with special variables.
...
Fix #416
2019-08-14 12:40:58 +03:00
Alexey Andreev
6307a67f8f
C: allow to redefine directory where to write GC trace files
2019-08-13 13:40:25 +03:00
Alexey Andreev
67c86b089f
Fix bug in liveness analysis when running on non-SSA IR
2019-08-13 11:37:21 +03:00
Alexey Andreev
c5334e344d
C: add setting to generate code with lots of assertions
2019-08-12 15:12:48 +03:00
Alexey Andreev
0fdf58cbd8
C: implement heap defragmentation in GC
2019-08-12 15:12:27 +03:00
volth
d750847a19
teavm_printString: fix on linux
2019-08-07 19:11:56 +03:00
Alexey Andreev
dcd1f64c81
JS: fix instanceof T[], where T is non-primitive type
2019-08-07 18:34:06 +03:00
Alexey Andreev
e16ba8a6ca
C: don't treat primitives as subtypes of Object. Fix #411
2019-08-07 13:45:40 +03:00
volth
2e27a3c218
fix ci
2019-08-07 13:14:20 +03:00
volth
c7309c06d0
ClassGenerator.prepare: handle IsInstanceInstruction case
2019-08-07 13:14:20 +03:00
Alexey Andreev
a5ba6f247e
Fix register allocator
2019-07-30 11:23:52 +03:00
Alexey Andreev
1074293aad
C: properly print stack trace when application crashes in Windows
2019-07-30 11:23:52 +03:00
Alexey Andreev
d9361e339a
C: fix file IO in UWP
2019-07-26 17:00:13 +03:00
Alexey Andreev
c80e9ee431
C: don't add native functions to GC roots
2019-07-26 16:59:58 +03:00
Alexey Andreev
a9ba21889a
C: generate unreachable hint after throw statement to avoid compiler warnings
2019-07-23 18:19:40 +03:00