Commit Graph

239 Commits

Author SHA1 Message Date
Alexey Andreev
5ee332c771 Fix crash when lambda is not used. Fix #500 2020-06-01 12:19:37 +03:00
Alexey Andreev
ecc4be2d25 Fix class initialization optimization 2020-05-19 13:27:26 +03:00
Alexey Andreev
c7c47f63ee Implement Math.nextDown, reimplement ulp and nextUp using bit operations 2020-04-30 14:19:50 +03:00
Adam J Ryan
e0fc5d834b Add ability to fine tune transpiler class substitutions. 2020-04-01 19:32:34 +03:00
Jörg Hohwiller
c2d27fdb1a
Add support for String.isBlank() (#482) 2020-03-10 11:28:54 +03:00
Alexey Andreev
b71a2b6c65 Compile tests with Java version 11 2020-03-02 17:19:15 +03:00
Alexey Andreev
ea1134d66b Trying to reduce number of classes for which name is provided in their metadata 2020-03-02 16:36:09 +03:00
Alexey Andreev
7f02ccdd87 Mark some tests with @WholeClassCompilation 2020-02-27 18:43:27 +03:00
Alexey Andreev
95426e2159 Add per-class compilation when running tests (requires @WholeClassCompilation annotation) 2020-02-27 18:43:08 +03:00
Colorize
a97bda3c1a
Support Collection.removeIf (#474) 2020-02-17 11:23:24 +03:00
Alexey Andreev
884fcfe538 Return accidentally removed annotation 2020-02-04 18:02:48 +03:00
Alexey Andreev
fa198244dd Fix bug in ArrayDeque implementation 2020-02-04 17:36:46 +03:00
Alexey Andreev
afa4e15846 Trying to fix #460
Actually, could not reproduce this, added some tests (they passed on initial version).
2020-01-27 16:03:51 +03:00
Alexey Andreev
2d2ef642a3 Fix virtual method resolution in code server mode 2020-01-23 19:03:47 +03:00
Alexey Andreev
72275a0877 Fix passing reflection tests with fast global analysis enabled 2020-01-23 18:58:18 +03:00
adamjryan
34aed76714 Add write replace method to lambdas that implement java.io.Serializable (#453)
Add write replace method to lambdas that implement java.io.Serializable

* Peripheral java library classes added as part of the toString method
of SerializedLambda to align functionality with the standard library.
* Test added that checks the SerializedLambda can be returned and that
it is populated with the correct values including it's toString method.
2020-01-15 11:11:48 +03:00
Adam J Ryan
42cd4c7cb4 Missing (un)boxing for long values in reflection method value marshalling. 2020-01-12 11:01:22 +03:00
Alexey Andreev
e064457fe7 Fix issues in Spliterators code 2019-12-09 11:53:40 +03:00
Alexey Andreev
477d8b2d69 Fix Stream.collect. Add some of the missing functional interfaces 2019-12-04 15:50:10 +03:00
Alexey Andreev
780a3a8cca Fix parsing dates without delimiters using SimpleDateFormat 2019-11-18 13:58:32 +03:00
Alexey Andreev
575ec4a415 Merge lambda tests 2019-11-18 12:37:22 +03:00
Alexey Andreev
d71aec7c40 Fix bug when boxing primitive value inside lambda to supertype (e.g. java.lang.Object) of corresponding wrapper type 2019-11-18 12:34:55 +03:00
Alexey Andreev
b090c2f47d Refactor stream implementation and tests, fix some bugs 2019-11-08 19:30:21 +03:00
Alexander Gusakov
74ee848e0c fix String#join, rm producing extra zero characters 2019-11-08 12:36:08 +03:00
Alexey Andreev
fb78377db8 Fix various issues reported by PVS Studio and LGTM 2019-10-31 14:36:37 +03:00
Alexey Andreev
8a91605c56 Add support for Class.getCanonicalName/getEnclosingClass 2019-10-18 15:10:16 +03:00
Artem Godin
e46f204b4e #431: Add support for char annotation methods
Fixes #431
2019-10-14 14:06:21 +03:00
Alexey Andreev
bffb50f0cd Implement array bounds checking in JavaScript 2019-10-07 16:55:30 +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
f0b6cc2f30 Update version to 0.7.0 2019-09-24 16:26:14 +03:00
Alexey Andreev
0a5ed2b4a5 Travis: add scripts to test if headless Chrome runs properly 2019-08-21 12:48:10 +03:00
Alexey Andreev
1d19562c49 Fix Double.parseDouble and Float.parseFloat for some cases of illegal input 2019-08-12 16:38:52 +03:00
Alexey Andreev
ec9fe5471d Fix Long.bitCount. Fix #413 2019-08-07 18:48: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
Alexey Andreev
a5ba6f247e Fix register allocator 2019-07-30 11:23:52 +03:00
Alexey Andreev
2d3d92f9a8 Update versions of Unicode data, CLDR, tzdata, asm and Rhino 2019-07-27 22:10:56 +03:00
Alexey Andreev
90e00f7eb4 C: add option to support exceptions via setjmp/longjmp 2019-07-22 16:53:47 +03:00
Alexey Andreev
6e71fa7e87 C: implement file IO in Windows 2019-06-14 15:32:20 +03:00
Alexey Andreev
91de1f6ca7 C: implement native file system 2019-05-31 15:05:23 +03:00
Alexey Andreev
2ba4ce0977 Fix inability to synchronize using array object
See #393
2019-05-29 22:49:13 +03:00
Alexey Andreev
80a12a164d Remove tests that don't pass in OpenJDK 12 2019-05-29 21:38:11 +03:00
Alexey Andreev
1ca635fac6 JS: fix rethrowing uncaught exception
See #394
2019-05-29 21:37:34 +03:00
Alexey Andreev
3364022313 classlib: add URLEncoder and URLDecoder 2019-05-24 17:34:33 +03:00
Alexey Andreev
8b3df6f730 C: fix bugs, introduce new virtual table builder 2019-05-23 15:18:25 +03:00
Alexey Andreev
da22256c1f C: compile into multiple .c and .h files 2019-05-08 17:36:46 +03:00
Alexey Andreev
1b23c9194b Remove tests that don't pass in JDK 11 2019-04-27 14:07:02 +03:00
Alexey Andreev
ec8bae1d40 C: fix bugs in RTTI. Support args parameter of main method 2019-04-04 18:34:30 +03:00
Alexey Andreev
45d31da85c Make clinit optimization weaker in order to properly handle case
when clinit method reads state that was set somewhere in main method
2019-03-27 19:34:30 +03:00
Alexey Andreev
955ac92035 Get rid of reflection code 2019-03-22 11:32:48 +03:00
Alexey Andreev
ac627580c6 JS: Support JSByRef annotation on method return types 2019-03-21 18:09:38 +03:00