Alexey Andreev
c05f40cc6a
C: improve performance of heap dump to hprof converter
2019-11-05 14:01:56 +03:00
Alexey Andreev
9bdec1fdb2
C: fix the way how UWP env is detected in preprocessor
2019-10-31 14:37:49 +03:00
Alexey Andreev
fb78377db8
Fix various issues reported by PVS Studio and LGTM
2019-10-31 14:36:37 +03:00
Alexey Andreev
beef9e09ca
C: fix bug in exception handling
2019-10-31 14:18:29 +03:00
Alexey Andreev
81cc3c156e
Add optimization that eliminates repeated access to fields
2019-10-30 16:09:17 +03:00
Alexey Andreev
511160935f
C: add missing include
2019-10-30 16:08:11 +03:00
Alexey Andreev
2bfc5b5305
JS: fix error in strict mode when NPE is never instantiated directly
2019-10-30 15:40:28 +03:00
Alexey Andreev
6bfbd38e22
Fix bug in decompiler that causes expression statement containing || or && with side effects to be removed
2019-10-30 13:38:47 +03:00
Alexey Andreev
15be89a758
JS: fix source map generation in some cases
2019-10-28 14:33:53 +03:00
Alexey Andreev
6ed00f1af2
C/Wasm: fix heap corruption when GC hits on initializing stack trace of exception
2019-10-28 13:59:03 +03:00
Alexey Andreev
4f9567561c
Fix WASM backend
2019-10-23 18:30:16 +03:00
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