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
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
Alexey Andreev
a8226ef6a3
Decrease memory consumption
2019-03-11 17:27:51 +03:00
Alexey Andreev
abdd9b3270
C backend: support coroutines
2019-03-10 14:04:04 +03:00
Alexey Andreev
88dca1bd02
Decrease memory consumption during compilation
2019-03-06 16:51:01 +03:00
Alexey Andreev
2a1aca98da
Use shared ReferenceCache between different stages of compilation
2019-03-05 19:32:50 +03:00
Alexey Andreev
3c9a3bb359
Store AST cash in binary format. Introduce more compact
...
AST serialization format.
Reduce memory consumption of incremental compilation on dev server
2019-03-05 19:06:21 +03:00
Alexey Andreev
95092c4d82
Refactor things around decompiler, JS backend and control flow debug info
2019-02-25 16:10:35 +03:00
Alexey Andreev
463f24506d
Fix Throwable.toString
2019-02-13 19:30:14 +03:00
Alexey Andreev
6900fd587c
Fix Float/Double.parse for strings like '123.'
2018-12-24 18:16:05 +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
d968b20e4c
Fix generation of integer multiplication in minified mode. Fix String.intern() (see #370 )
2018-12-11 17:42:14 +03:00
Alexey Andreev
d74bcbe2b9
Fast dependency analyzer, fix bugs in incremental compiler
2018-12-07 17:41:21 +03:00
Alexey Andreev
2bb146af47
Improve float to string conversion
2018-12-07 00:21:18 +03:00
Alexey Andreev
f23c71cd97
Improve double to string conversion
2018-12-02 16:12:59 +03:00
Alexey Andreev
1cf3cce076
Reduce minimum runtime size
2018-12-01 23:07:03 +03:00
Alexey Andreev
0c03379206
Fix inability to catch exception when calling just created lambda
2018-11-26 14:49:03 +03:00
Alexey Andreev
85f901362f
Wrap native JS exceptions as java.lang.RuntimeException
2018-11-26 14:01:50 +03:00
Alexey Andreev
a3dfc0c486
Add API to catch native JS exceptions
2018-11-23 19:54:37 +03:00
Alexey Andreev
b9ec21a667
Fix Long.reverse
2018-11-23 14:32:50 +03:00
Alexey Andreev
6d2815bc5c
Support running JUnit3 tests and improve support of JUnit4
2018-11-22 19:51:33 +03:00
Alexey Andreev
148c07336c
Generate entire code inside wrapper IIF
2018-11-15 12:47:25 +03:00
Alexey Andreev
064888c9a1
Support Java 11
2018-11-12 18:59:28 +03:00
Alexey Andreev
f8400279f8
Fix test runner
2018-10-28 00:22:24 +03:00
Alexey Andreev
4d2c075c07
Always embed runtime into generated file. Remove 'runtime' build property
2018-10-28 00:15:36 +03:00
Alexey Andreev
6551f3eb68
Make JS function out of JS object when casting to JSFunctor interface
2018-10-24 14:30:26 +03:00
Alexey Andreev
d20accc20c
Add support for Array.set
2018-08-29 13:20:16 +03:00
Alexey Andreev
c9ebe2e2e9
Wasm backend: fix more tests. Implement Array.get. Implement x instanceof C for all cases.
2018-05-13 19:17:45 +03:00
Alexey Andreev
f23128bb13
Wasm backend: fix many tests
2018-05-12 23:43:53 +03:00
Alexey Andreev
a81eeeee03
Wasm backend: fix hanging tests, make more tests pass, change name generation scheme
2018-05-10 17:41:28 +03:00
Alexey Andreev
b087610c2c
Wasm backend: make JUnit tests work
2018-05-08 23:31:51 +03:00
Alexey Andreev
37efbd742b
C backend: more bugfixes
...
* Fix cloning Object[] in 64-bit systems
* Fix generation of x instanceof Interface
* Fix a % b when a and b are float or double
* Fix generation of unreachable virtual calls
2018-05-05 23:35:17 +03:00
Michele Comignano
c11b868c0b
Add IdentityHashMap, improve distribution of identityHashCode
...
Add IdentityHashMap, improve distribution of identityHashCode
2018-05-05 22:05:22 +03:00
Alexey Andreev
d2aa37d6a4
C backend: fix more bugs, pass more tests
2018-05-05 15:17:35 +03:00
Alexey Andreev
540ad7f694
Uprage HPPC to 0.7.3
2018-03-20 19:10:36 +03:00
Alexey Andreev
52a23fcadd
Support '.<digits>' floating literals in Double.parseDouble
...
See #327
2018-02-16 23:17:17 +03:00
Alexey Andreev
51d87091cc
Fix TimeUnit.convert implementation
...
See #329
2018-02-16 22:40:56 +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
caaf2114bf
Fix error when superclass has final String fields
2018-01-25 21:53:28 +03:00
Alexey Andreev
28e17af500
Implement ArrayBlockingQueue
2018-01-22 23:32:10 +03:00
Alexey Andreev
8e4b84545f
Fix flaky test
2018-01-07 16:04:38 +03:00
Alexey Andreev
c46bfbc93c
Fix bugs in URL implementation
2018-01-03 19:47:00 +03:00
Alexey Andreev
422cb0462a
Add java.net.URL implementation
2018-01-01 14:53:44 +03:00
Alexey Andreev
c15709994f
Fix bug in decompiling nested catch blocks with complex control flow
2017-12-03 18:39:57 +03:00
Alexey Andreev
cc04c3446d
Add support for several JDK classes and functions
2017-11-26 17:10:56 +03:00
Alexey Andreev
608e62ae3b
Add support of stream API
2017-11-26 13:13:33 +03:00
Alexey Andreev
62f639f92b
Properly report missing virtual methods
2017-11-19 14:36:04 +03:00
Alexey Andreev
0e5b1a97c1
Add PipedInputStream and PipedOutputStream
2017-11-16 15:11:58 +03:00
Alexey Andreev
82b96da215
Add StreamTokenizer
2017-11-16 15:11:58 +03:00
Alexey Andreev
30da395304
Add BufferedWriter
2017-11-16 13:43:31 +03:00
Alexey Andreev
c9485ccbdc
Add tests for FileInputStream and FileOutputStream
2017-11-16 00:19:00 +03:00
Alexey Andreev
a96b5912c7
Uncomment previously failing File tests and fix bugs in File implementation
2017-11-16 00:19:00 +03:00
Alexey Andreev
105c188953
Fix nested exception handlers
2017-11-16 00:19:00 +03:00
Alexey Andreev
23c25c5d6e
Add tests for java.io.File. Improve its implementation to pass tests
2017-11-15 00:13:07 +03:00
Alexey Andreev
2bbdf6caba
Rename DependencyChecker to DependencyAnalyzer
2017-11-12 23:21:16 +03:00
Alexey Andreev
840b9dfe8b
Fix message format tests
2017-11-03 21:59:21 +03:00
Alexey Andreev
344cb4e42d
Fix T[].clone()
2017-11-03 21:58:48 +03:00
Alexey Andreev
90cc2c4677
Add implementation of java.text.MessageFormat
2017-11-03 00:32:16 +03:00
Alexey Andreev
5109691a8d
Implement java.util.Formatter for subset of available specifiers
2017-10-30 00:03:30 +03:00
Alexey Andreev
ffbfd7df79
Add minor stuff to classlib
2017-10-26 20:17:09 +03:00
Alexey Andreev
74be67038d
Implement ResourceBundle
2017-10-26 20:11:24 +03:00
Alexey Andreev
f61567dfde
Implement StringWriter and PrintWriter
2017-10-26 15:51:01 +03:00
Alexey Andreev
5c436c3391
Improve node.js test runner: send response after each test, update timeout after each test.
2017-10-26 14:11:56 +03:00
Alexey Andreev
de14a57fe1
Change how method resolution work in DCE and devirtualization.
...
Since in Java 8 there are default methods in interface, method
resolution algorithm becomes more complicated. This alseocauses
several related changes.
1. Resolve methods as late as possible; do not resolve
virtual call sites during DCE.
2. Due to several reasons we have to improve linking phase
to preserve super methods that aren't actually ever called,
but present in virtual call sites.
Related issue: #311
2017-10-22 17:56:31 +03:00
Alexey Andreev
daf0f03634
Fix Boolean.getBoolean(String). Fix various minor issues with system properties
...
See #306
2017-10-13 16:06:10 +03:00
Alexey Andreev
0b985b95d1
Implementing java.util.EnumMap
2017-10-12 15:13:55 +03:00
Alexey Andreev
e885ebdbbb
Move tests from TArrayDequeTests to proper location
2017-10-10 23:59:55 +03:00
Alexey Andreev
26824f1399
Add some properties-related methods to System class
2017-10-10 12:56:51 +03:00
Alexey Andreev
dfaeb46c5e
Implementing EnumSet
2017-10-08 21:40:45 +03:00
Alexey Andreev
669594fc9c
JS: add reflection support for methods
2017-07-17 22:21:17 +03:00
Alexey Andreev
4171d468d4
JS: add reflection support for constructors
2017-07-17 22:21:17 +03:00
Alexey Andreev
c4c5635f88
Add reflection support for constructors
2017-07-17 22:21:16 +03:00
Alexey Andreev
31f9ca57ce
Add reflection support for fields
2017-07-17 22:21:16 +03:00
Alexey Andreev
d4903d460b
Reformat test code to conform checkstyle settings
2017-07-01 15:47:46 +03:00
Alexey Andreev
cdec4560ba
Remove dumb comments containing only @author annotation
2017-07-01 13:13:52 +03:00
Alexey Andreev
d982f89ab6
Add missing folder to CLDR archive. Fix tests WRT changes in CLDR.
2017-06-25 13:36:35 +03:00
Alexey Andreev
40b29cdfa1
Add support for altMetafactory
2017-06-18 21:22:44 +03:00
Alexey Andreev
2992c6e406
Wrap function by an object if returning value of native method is
...
a JSFunctor interface.
See #280
2017-06-11 00:15:41 +03:00
Alexey Andreev
45ba247265
When Java class gets exported to JS, generate bridges for its
...
methods so that these bridges perform type conversion
between Java and JS
2017-06-09 00:02:28 +03:00
Alexey Andreev
d324847fe6
Fix flaky test (hopefully)
2017-06-07 14:36:44 +03:00
Alexey Andreev
ba7f07de4b
Copy default methods from interfaces to implementing classes
2017-06-06 22:42:21 +03:00
Alexey Andreev
ad14176277
Fix JSO tests from previous commits
2017-05-31 22:52:34 +03:00
Alexey Andreev
933a5c3efc
Code style fixes
2017-05-30 22:49:40 +03:00
marciodel
5ecfb3620c
Support for default and static methods in Functors
2017-05-30 22:45:14 +03:00
Alexey Andreev
3791b806b9
Weaken rules for names of JSProperty methods
...
First, accept first character if it's a non-letter character.
Second, don't validate name of method when JSProperty specifies
name of the JS property explicitly.
See #277
2017-05-29 23:54:43 +03:00
Alexey Andreev
c0ed3d54d7
Fix base64 support
...
(cherry picked from commit 5da32e3a6583493a36c87bc02c8177a7740faaf7)
# Conflicts:
# tests/src/test/java/org/teavm/classlib/java/lang/TestResourcesSupplier.java
2017-05-29 23:26:34 +03:00
Alexey Andreev
b1b98097ee
Improve ResourceSupplier API
...
(cherry picked from commit 539a12227f79abdb4ce22aac2dbc647f1c09f083)
# Conflicts:
# classlib/src/main/java/org/teavm/classlib/java/lang/ClassLoaderNativeGenerator.java
# tests/src/test/java/org/teavm/classlib/java/lang/TestResourcesSupplier.java
2017-05-29 23:22:59 +03:00
Alexey Andreev
25b298b1d0
JS: fix ClassLoader.getResourceBundle for non-existent resources
2017-05-29 23:19:07 +03:00
Alexey Andreev
2d5f6a81c2
Improve peformance of Long.hashCode
2017-05-07 22:18:10 +03:00
Alexey Andreev
48d14570b2
Make Long/Float/Double/Integer compare/hashCode methods cross-platform
2017-05-07 22:06:44 +03:00
Alexey Andreev
e884bb35c9
Fix System.setErr/setOut methods
2017-05-07 21:32:35 +03:00
Alexey Andreev
293e82a3c0
In class inference add rules for known types of method parameters
...
and method return value
2017-04-27 00:14:14 +03:00