Alexey Andreev
a78eec93d6
metaprogramming: use unprocessed class source to get program templates
...
This should prevent class transformations from applying twice, which can cause some errors.
2023-10-17 07:55:01 +02:00
Ivan Hetman
fdfd923ac6
Add info about Java 14 record to IR. Add support to Metaprogramming API
2023-02-11 23:05:07 +03:00
Alexey Andreev
bdbce01b9a
metaprogramming: fix crashing instead of fair error reporting
2023-02-06 11:14:49 +01:00
Alexey Andreev
d097350787
Bump ASM version, use common ASM API version everywhere, bump ASM API version to 9
2022-10-05 11:09:53 +02:00
Alexey Andreev
4c0c7872a1
JS: add support for CCE in strict mode
2021-03-17 21:11:18 +03:00
Alexey Andreev
fb78377db8
Fix various issues reported by PVS Studio and LGTM
2019-10-31 14:36:37 +03:00
Artem Godin
e46f204b4e
#431 : Add support for char annotation methods
...
Fixes #431
2019-10-14 14:06:21 +03:00
Alexey Andreev
92403f9ec0
Fix bug in metaprogramming API
2019-10-07 18:45:43 +03:00
Alexey Andreev
a1d7153cab
Add instruction to perform array bound check
2019-10-07 16:55:30 +03:00
Alexey Andreev
2c40c7d56e
Trying to decrease compiler memory consumption
2019-02-25 18:31:34 +03:00
Alexey Andreev
9305a532bb
Replace ArrayList with array to store arguments of InvokeInstruction
2019-01-09 12:51:52 +03:00
Alexey Andreev
f589b0035a
Decrease memory consumption
2018-12-29 19:02:03 +03:00
Alexey Andreev
bab0cd59a6
Improve performance and stability of development server and incremental compilation
2018-12-13 18:45:44 +03:00
Alexey Andreev
d74bcbe2b9
Fast dependency analyzer, fix bugs in incremental compiler
2018-12-07 17:41:21 +03:00
Alexey Andreev
1cf3cce076
Reduce minimum runtime size
2018-12-01 23:07:03 +03:00
Alexey Andreev
064888c9a1
Support Java 11
2018-11-12 18:59:28 +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
fe47fe19ce
Fix build under JDK9+
2018-03-28 22:54:55 +03:00
Alexey Andreev
ff19dc15c9
Further bootstrapping
2017-11-26 13:14:02 +03:00
Alexey Andreev
2e8e3a65bd
Add IO bufferization
2017-06-01 16:14:24 +03:00
Alexey Andreev
9e4e26ae18
Fix bug in metaprogramming API
2017-03-30 17:20:19 +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
af9a01628f
Add support of Metaprogramming.getLocation to metaprogramming API
2017-02-26 00:07:40 +03:00
Alexey Andreev
ccb4dff836
Fix bugs in metaprogramming. In JUnit runner reload about:blank page before every test
2017-02-13 23:43:49 +03:00
Alexey Andreev
edb3d2ff48
Fix generation of meta method when its discriminator class denotes array type
2017-02-12 00:23:53 +03:00
Alexey Andreev
816a17dfc0
When Value.get() called in metaprogramming lambda and not assigned anywhere, capture instance anyway so that if it's a lazy value, it will be computed
2017-02-10 23:49:03 +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
5e44c13caf
Fix bugs in metaprogramming. Add run configuration that rebuilds TeaVM
2017-02-04 18:24:23 +03:00
Alexey Andreev
ff059919a7
Eliminate exception joint in favour of phi functions with multiple inputs per source basic block
2017-01-08 23:43:12 +03:00
Alexey Andreev
ae5e1e4962
Store instructions as double-linked list instead of ArrayList
2016-12-20 00:03:14 +03:00
Alexey Andreev
37d4c3349e
Add AbstractInstructionReader, use it instead InstructionReader where possible
2016-10-22 16:25:38 +03:00
Alexey Andreev
4fd20794c1
Refactoring. Fix checkstyle errors
2016-09-17 09:11:07 +03:00
Alexey Andreev
1be9ffb19e
Rename InstructionLocation to TextLocation. Replace NodeLocation by TextLocation
2016-09-17 08:59:03 +03:00
Alexey Andreev
164ebeb629
Refactoring RTTI, add type annotation to array subscription instructions
2016-09-17 08:59:02 +03:00
Alexey Andreev
e82518b88f
Further refactoring of exception handling
2016-09-17 08:43:53 +03:00
Alexey Andreev
a26eed7c51
Change how exceptions handlers are represented
2016-09-17 08:42:55 +03:00
Alexey Andreev
4f8affcf6f
Fix bug in metaprogramming proxies
2016-09-17 08:42:55 +03:00
Alexey Andreev
66931401a8
Further work on incremental phi updater
2016-06-05 17:36:43 +03:00
Alexey Andreev
f63ec25ed3
Move metaprogramming API implementation into separate module
2016-04-12 22:54:32 +03:00