Commit Graph

570 Commits

Author SHA1 Message Date
J. Fronny
953c475b46
classlib: implement float support for String.format (#873) 2023-12-07 19:16:38 +01:00
Alexey Andreev
bb837bd020 classlib: replace usage of Math.log10 with custom implementation of int log10 algorithm
This fixes BigDecimal support on WASI, which does not support log10 at the moment
2023-12-07 19:14:55 +01:00
J. Fronny
9093ad2f8a
classlib: implement String.chars() (#872) 2023-12-05 13:26:39 +01:00
Alexey Andreev
a1355bb2f7 classlib: refactor LinkedHashMap
I found regression somewhere in LinkedHashMap, when certain operations cause cycle in entry list. Since updated logic was totally unclear to me, I rewrote it from scratch. Also, reverted mechanism to remove entries NOT by keys and used it where necessary to improve performance.
2023-11-23 21:19:28 +01:00
Alexey Andreev
3282ae3b59 Refactor mechanism that resolves methods and fields parsed from bytecode and reports errors about missing items 2023-11-20 19:50:20 +01:00
Alexey Andreev
810012872c Add couple native declarations to JSO APIs. Update sample 2023-11-19 20:25:29 +01:00
Alexey Andreev
7108dfbac7 classlib: fix Math exact operations in C and WebAssembly backends 2023-11-19 20:12:58 +01:00
Alexey Andreev
318d4bff93 Fix boxing/unboxing arguments and return values in method references 2023-11-19 20:12:58 +01:00
Jonathan Coates
4fc43a5597
classlib: fix toLowerCase/toUpperCase on Locale.ROOT (#862) 2023-11-19 21:45:32 +03:00
Alexey Andreev
6e46ae8eec classlib: get rid of Math polyfill in java.time implementation 2023-11-19 18:32:36 +01:00
Ivan Hetman
cd14ece14c
classlib: add Math methods for no-overflow addition/multiplication (#859)
Co-authored-by: Jörg Hohwiller <hohwille@users.sourceforge.net>
2023-11-19 20:14:23 +03:00
Jonathan Coates
8fa1a86728
classlib: add further nio stubs (#863)
- Add {FileAlreadyExists,NoSuchFile,NotADirectory}Exception.
 - Add OpenOption interface and StandardOpenOption enum.
2023-11-19 20:11:20 +03:00
Ivan Hetman
5336fc9b3c
classlib: implement String.to__Case with locale parameter in JS BE (#766) 2023-11-14 16:57:09 +01:00
Jonathan Coates
9469e4c0b4
Widen byte/short to ints in ObjectMethods (#853) 2023-11-08 10:28:13 +01:00
Jonathan Coates
2256b293ab
classlib: fix missing .shift() in ReferenceQueue.poll (#852) 2023-11-08 09:07:31 +01:00
Ivan Hetman
bd80c2dfce
classlib: fix parse and other issues in Long and Integer 2023-11-07 20:02:58 +01:00
Alexey Andreev
9c6f23d280 classlib: optimize console output in JS backend 2023-11-07 20:00:33 +01:00
Alexey Andreev
21137c57a3 JS: merge let statements to get better minification; rewrite some Array methods to generate less dependencies on runtime 2023-11-06 19:18:18 +01:00
Alexey Andreev
6738d6f1f8 JS: add remembering source writer, refactor PreparedMethod and Renderer to use it, get rid of $rt_globals 2023-11-02 19:03:10 +01:00
Alexey Andreev
23ad999bbd JS: get rid of IOException in SourceWriter and related classes 2023-10-31 20:09:55 +01:00
Alexey Andreev
32ee8943c1 JS: rewrite more natives with templates, get rid of runtime aliases in minification mode 2023-10-31 19:29:32 +01:00
Ivan Hetman
2756fe4384
classlib: more argument validation in Collections methods (#839) 2023-10-31 09:46:43 +01:00
Ivan Hetman
5b5c26cf99
classlib: minor improvements (#843)
* String.substring performance
* More argument validation in String methods
* Object.checkFromIndexSize corner case for large indexes
* ByteBuffer.wrap argument validation
2023-10-31 09:45:23 +01:00
Alexey Andreev
a1cc817504 JS: rewrite more native generators with templates, fix issues in template engine 2023-10-29 20:17:18 +01:00
Alexey Andreev
7c4aa522d3 Add missing file 2023-10-29 17:17:38 +01:00
Alexey Andreev
eb0f4fb090 Improve JS templating so that it could be used in native generators 2023-10-29 17:16:55 +01:00
Ivan Hetman
b006cbb206
classlib: various fixes in Character class (#831)
* fix bug in `codePointBefore`
* validate arguments in some methods
* support negative `codePointOffset` in `offsetByCodePoints`
* add tests
2023-10-27 17:25:32 +02:00
Ivan Hetman
fc49094d96
classlib: fix support of positive/negative zeros in Float/Double.toHexString (#830) 2023-10-27 16:52:33 +02:00
Alexey Andreev
c5768e07bc classlib: fix issue in InputStreamReader 2023-10-26 11:50:27 +02:00
Ivan Hetman
3ac0078e2a
classlib: add cache to Byte and Short valueOf; fix Byte.parseByte (#832) 2023-10-26 09:09:08 +03:00
Ivan Hetman
4b6c4bd3d3
classlib: fix issues in EnumSet and EnumMap (#834) 2023-10-26 09:04:26 +03:00
Alexey Andreev
7acc81ce4d JS: remove lazy creation of primitive classes 2023-10-21 20:07:49 +02:00
Alexey Andreev
02b3c92912 JS: use native string to represent internals of java.lang.String 2023-10-21 19:30:16 +02:00
Alexey Andreev
a59236cc7a Update unicode data 2023-10-17 19:32:28 +02:00
Alexey Andreev
368f8a5c23 Update tzdata 2023-10-17 19:32:21 +02:00
Alexey Andreev
fe0ced064b Update CLDR 2023-10-17 19:27:34 +02:00
Ivan Hetman
9242aeb750
classlib: Arrays corner cases fixes (#825) 2023-10-16 20:40:50 +03:00
Alexey Andreev
cd9db17d73 JS: improve performance float<->int reinterpretation conversion, improve performance of Double.equals. 2023-10-16 17:27:12 +02:00
Ivan Hetman
658ef711ab
classlib: additional stream collectors (#822) 2023-10-16 14:09:56 +02:00
Ivan Hetman
65681e74d8
classlib: small PriorityQueue fixes (#823) 2023-10-16 13:59:35 +02:00
Ivan Hetman
1900852cd8
classlib: fix for positioned addAll in sequential lists (#824) 2023-10-16 13:41:15 +02:00
Alexey Andreev
5bc398415d classlib: implement Atomic*FieldUpdater classes
Fix #750
2023-10-15 19:51:44 +02:00
Ivan Hetman
4e9d89b669
classlib: improve range checks for BitSet (#820) 2023-10-13 22:04:00 +03:00
Ivan Hetman
82cd9d9cdf
classlib: fix various issues in TreeMap (#813) 2023-10-13 22:01:40 +03:00
Ivan Hetman
6faecc91d2
classlib: more overrides for TreeMap keySet (#818) 2023-10-13 20:57:32 +03:00
Ludovic Dubost
4a81615749 class: fix LinkedList.offer method adding item incorrectly at the beginning
Fix #772
2023-10-13 19:52:47 +02:00
Ivan Hetman
0b2d1428fb
classlib: minor exceptions fix for lists (#819) 2023-10-13 20:45:02 +03:00
Ivan Hetman
bcc2c0ff35
classlib: implement last part of JEP-431 (#810)
TreeMap, TreeSet
2023-10-09 22:26:42 +03:00
Alexey Andreev
05454380d9 classlib: fix issue in TreeMap iterator remove method 2023-10-09 20:35:54 +02:00
Ivan Hetman
d47fea0b55
classlib: implement third part of JEP-431 (#771)
SequencedSet -> LinkedHashSet, SequencedMap -> LinkedHashMap
2023-10-08 18:05:11 +03:00