Alexey Andreev
8f0320e217
Fix bugs in C backend to make more tests pass
2018-04-21 00:55:43 +03:00
Alexey Andreev
4990dbe8e4
Add support for C backend in TeaVMTestRunner
2018-04-20 22:58:09 +03:00
Alexey Andreev
e77997c93f
Implement null check in C backend
...
Although initial purpose of this comment was null check,
it took much time to complete it and it caused many unrelated changes.
Besides just implementing null check in quite naive fashion
(I could not use the trick with memory protection, since I have to
maintain shadow stack, and support WebAssembly), I had to optimize
things. I relied on my existing nullness analysis to eliminate
as much null checks as possible. However, the whole nullness analysis
was wrong. After some thoughts I came up with solution very
close to range analysis, which required me to introduce extension
to IR sometimes called e-SSA form with so called sigma nodes.
Also, I found some bugs in few different places (by the time write this
message I could only remember escape analysis/scalar replacement and
after-inlining devirtualization) and fixed them.
2018-04-17 00:05:46 +03:00
Guus C. Bloemsma
744eb39e6d
JIRA #334 - check for null classreader
2018-04-09 20:56:44 +03:00
Alexey Andreev konsoletyper@gmail.com
d9c5b3fd04
C backend: compatibility with msvc
2018-03-29 00:44:31 +03:00
Alexey Andreev konsoletyper@gmail.com
fe47fe19ce
Fix build under JDK9+
2018-03-28 22:54:55 +03:00
Alexey Andreev
0d1cb85067
C backend: generate code to buffer, simplify generator
2018-03-27 23:16:38 +03:00
Alexey Andreev
dc227e1e42
C backend: add support for Array.get
2018-03-21 22:44:22 +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
Alexey Andreev
540ad7f694
Uprage HPPC to 0.7.3
2018-03-20 19:10:36 +03:00
Alexey Andreev
de88541b64
Another fix for evaluation order in AST optimizer
...
See #330
2018-02-17 10:29:33 +03:00
Alexey Andreev
788e506175
Fix evaluation order when eliminating redundant variables from AST
...
See #330
2018-02-17 01:29:26 +03:00
Alexey Andreev
52a23fcadd
Support '.<digits>' floating literals in Double.parseDouble
...
See #327
2018-02-16 23:17:17 +03:00
Alexey Andreev
0485930c1f
Add AtomicInteger
2018-02-16 23:08:29 +03:00
Alexey Andreev
51d87091cc
Fix TimeUnit.convert implementation
...
See #329
2018-02-16 22:40:56 +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
Mauro de Wit
c0d1714e0a
Added methods to expose the scrollY value and body offset ( #324 )
...
Add methods to expose the scrollY value of the window and the offset of the body.
2018-02-11 01:03:17 +03:00
Alexey Andreev
4f9110f7b1
Make graph.toString return dot representation of graph
2018-02-04 22:51:25 +03:00
Alexey Andreev
6d68010416
Improve speed of class inference during inlining
2018-02-04 22:29:51 +03:00
Alexander Gundermann
f548fc964c
WASM: fix opcodes
2018-01-28 19:21:45 +03:00
Alexey Andreev
96b2d4e7d6
Support o and x format specifiers in String.format
2018-01-28 19:19:45 +03:00
Alexey Andreev
4ebaf476fe
Fix to[Hex/Octal/Binary]String for unsigned values
2018-01-28 18:38:00 +03:00
Alexey Andreev
06f8ed6a7c
Include with-cli profile to IDEA run configuration that builds project
2018-01-27 00:23:12 +03:00
Alexey Andreev
ff7232ac3e
Improvements in reflection:
...
1. During dependency analysis, propagate class literals from
Class.forName return node
2. Use original class source to generate reflection metadata
3. Link classes when they appear in signature of reflectable methods
4. Turn Class.forName(string_literal) into class literal.
2018-01-27 00:21:50 +03:00
Alexey Andreev
f49ec16021
Replace non-strict equality comparisons with strict in runtime.js
2018-01-25 22:08:19 +03:00
Alexey Andreev
caaf2114bf
Fix error when superclass has final String fields
2018-01-25 21:53:28 +03:00
Alexey Andreev
a9f70b76a0
Rename profile to build without samples
2018-01-23 22:09:17 +03:00
Alexey Andreev
5ec05b9446
Fix lock on overflow/underflow in ArrayBlockingQueue
2018-01-23 22:08:44 +03:00
Alexey Andreev
21411cd1d8
Update Scala IDEA plugin download URL
2018-01-22 23:32:33 +03:00
Alexey Andreev
28e17af500
Implement ArrayBlockingQueue
2018-01-22 23:32:10 +03:00
Alexey Andreev
ec3724b2bc
Perform HTTP request as late as possible
2018-01-14 22:51:02 +03:00
Alexey Andreev
bbf9faee5b
Fix Eclipse plugin upload script
...
Don't upload CLI and IDEA artifacts to bintray
2018-01-11 11:37:14 +03:00
Alexey Andreev
71687e9591
Stop using pushd/popd in travis scripts
2018-01-11 00:29:06 +03:00
Alexey Andreev
4b1b702ce6
Fix travis build script
2018-01-11 00:21:18 +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
ac236f1ff8
When HTTP response invalid, return -1 as a responseCode
2018-01-09 22:15:37 +03:00
Alexey Andreev
8dea7e9035
Fix reporting error on calling async method from native method
2018-01-08 19:56:47 +03:00
Alexey Andreev
b38368b27d
Increase memory in IDEA run configuration
2018-01-08 14:48:13 +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
a9beef3a15
Fix behaviour of HttpUrlConnection responseCode/responseMessage
2018-01-07 18:45:00 +03:00
Alexey Andreev
8e4b84545f
Fix flaky test
2018-01-07 16:04:38 +03:00
Alexey Andreev
0c8013dfcf
When splitting async program, don't process same blocks twice
...
The old assumption was: if a block has instructions, it was already processed. However, that might be not true in some cases. This led to duplication of exception handlers in some blocks which in turn broken decompiler. From now on processed blocks are stored in a set.
2018-01-07 16:04:11 +03:00
Alexey Andreev
a445b1bef8
Ignore dependency-reduced-pom.xml
2018-01-07 14:22:11 +03:00
Alexey Andreev
477f491b25
Fix HttpUrlConnection responseCode/responseMessage properties
2018-01-07 14:20:08 +03:00