Commit Graph

589 Commits

Author SHA1 Message Date
Alexey Andreev
8256302c03 Fix ClassLoader.getResourceAsStream 2017-12-03 13:08:08 +03:00
Alexey Andreev
f14990eaeb Fix bug in base64 encoder 2017-11-26 20:18:39 +03:00
Alexey Andreev
a39e6eb47e Get rid of Base64 class in TeaVM compiler 2017-11-26 19:56:23 +03:00
Alexey Andreev
8fbf62ebac Fix infinite lock when overriding Thread.run and then joining it 2017-11-26 17:32:09 +03:00
Alexey Andreev
cc04c3446d Add support for several JDK classes and functions 2017-11-26 17:10:56 +03:00
Alexey Andreev
cc0f7583b0 Minor performance improvement 2017-11-26 14:53:56 +03:00
Alexey Andreev
c246bb6e1e Fix code that represents doubles as text in bootstrap mode 2017-11-26 13:14:02 +03:00
Alexey Andreev
ff19dc15c9 Further bootstrapping 2017-11-26 13:14:02 +03:00
Alexey Andreev
42be95959b Minor fixes for bootstrapping TeaVM 2017-11-26 13:14:02 +03:00
Alexey Andreev
cb355a85f5 Add BufferedOutputStream implementation 2017-11-26 13:14:02 +03:00
Alexey Andreev
5fa48c089a Add several unimplemented collection methods 2017-11-26 13:14:00 +03:00
Alexey Andreev
608e62ae3b Add support of stream API 2017-11-26 13:13:33 +03:00
Alexey Andreev
2fb6ca7001 Fix bug in LambdaMetafactory 2017-11-26 13:05:34 +03:00
Alexey Andreev
fc4425d7f4 Add missing method to Properties 2017-11-26 13:05:34 +03:00
Alexey Andreev
980a2d9e97 Add Optional implementation 2017-11-19 14:36:19 +03:00
Alexey Andreev
44e6feef0c Add support for functions that return true or false depending on whether they run from TeaVM 2017-11-16 18:30:04 +03:00
Alexey Andreev
2f73272ed7 Fix compiler crash when service enumerated in META-INF/service does not exist 2017-11-16 16:16:10 +03:00
Alexey Andreev
07f946e710 Add some useful JDK classes 2017-11-16 15:47:10 +03:00
Alexey Andreev
e96df3ef7e Add java.util.jar.* classes 2017-11-16 15:11:58 +03:00
Alexey Andreev
aa48a097d2 Fix bug in File.createTempFile 2017-11-16 15:11:58 +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
7f152c0137 Add FileReader and FileWriter 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
23c25c5d6e Add tests for java.io.File. Improve its implementation to pass tests 2017-11-15 00:13:07 +03:00
Alexey Andreev
c048b2ac6c Implement java.io.RandomAccessFile 2017-11-14 00:08:49 +03:00
Alexey Andreev
9ca09093a6 Improve virtual FS API 2017-11-13 23:22:54 +03:00
Alexey Andreev
99812d1bfa Call <clinit> from native System.currentTimeMillis 2017-11-13 00:37:20 +03:00
Alexey Andreev
e1c7acd8a1 Fix ResourceBundle.getBundle in case of .properties resource 2017-11-10 15:49:09 +03:00
Alexey Andreev
e2225941f8 Add java.lang.InternalError 2017-11-10 01:02:36 +03:00
Alexey Andreev
76590d759c Add preliminary support of file I/O 2017-11-10 01:02:21 +03:00
Alexey Andreev
86d151d953 Add support for more java.util.zip 2017-11-10 00:47:48 +03:00
Alexey Andreev
2a07e67423 Cache CLDRReader data between builds 2017-11-05 14:51:24 +03:00
Alexey Andreev
840b9dfe8b Fix message format tests 2017-11-03 21:59:21 +03:00
Alexey Andreev
90cc2c4677 Add implementation of java.text.MessageFormat 2017-11-03 00:32:16 +03:00
Alexey Andreev
6145afcbf8 Fix compact() operation on NIO buffers 2017-11-02 23:30:03 +03:00
Alexey Andreev
389b55be91 Implement AtomicBoolean and String.toLowerCase/toUpperCase(Locale) 2017-11-02 20:26:02 +03:00
Alexey Andreev
6d5b4a67e5 Implement String.format 2017-10-30 00:06:25 +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
a22eb43bde Fix Enum.getDeclaringClass 2017-10-26 16:16:27 +03:00
Alexey Andreev
f61567dfde Implement StringWriter and PrintWriter 2017-10-26 15:51:01 +03:00
Alexey Andreev
6848984a10 Provide independent implementation for ArrayList.add(E).
To improve performance. Also, see #310
2017-10-24 23:06:43 +03:00
Jaroslav Tulach
ba5342f860 Basic implementation of two basic JavaBeans classes 2017-10-24 22:56:22 +03:00
Jaroslav Tulach
8c7905e9cc Adjusting TeaVM to forthcoming release of Apache HTML/Java API version 1.5 2017-10-24 22:56:22 +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
adamjryan
8d2e468f44 TArrayDeque fix for .remove(Object) (#302)
* TArrayDeque fix for .remove(Object)

ArrayDeque removes items by shifting the existing items to overwrite
the removed item. It did not update the head/tail pointers once the
operation was complete leaving a null item at the head/tail of the
collection. This change updates the pointers so that the null element is
excluded and the correct size is returned.
2017-10-10 22:39:06 +03:00
Alexey Andreev
26824f1399 Add some properties-related methods to System class 2017-10-10 12:56:51 +03:00
Alexey Andreev
c057c7b78f Fix compilation 2017-10-08 21:50:41 +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
12dded73f6 JS: add support for Class.getModifiers 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
248d62ff12 Reformat classlib according to checkstyle rules 2017-07-01 14:08:29 +03:00
Alexey Andreev
cdec4560ba Remove dumb comments containing only @author annotation 2017-07-01 13:13:52 +03:00
Alexey Andreev
b477a7dcad Fix capacity calculation in ArrayList and StringBuilder.
See #289 and #290
2017-06-25 13:37:15 +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
daa5384e97 Upgrade versions of dependencies. Upgrade tzdata, CLDR and UnicodeData 2017-06-18 22:33:27 +03:00
Alexey Andreev
40b29cdfa1 Add support for altMetafactory 2017-06-18 21:22:44 +03:00
Alexey Andreev
27bb8fe9ed Rename object's $id field to $id$
To avoid clash with user-defined fields
2017-06-07 12:46:43 +03:00
Alexey Andreev
87f7ee4b72 Remove unnecessary @author comment from classes 2017-06-01 16:14:25 +03:00
Alexey Andreev
2e8e3a65bd Add IO bufferization 2017-06-01 16:14:24 +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
b8b3aa7a53 WASM: fix name section 2017-05-15 00:39:20 +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
653caa00b3 Fixes for html4j/ko4j
1. Replace Class.forName(cls.getName) with class initializer
2. Reduce set of compiled annotations to classes that actually
   get called getAnnotations()
2017-04-18 00:08:09 +03:00
Alexey Andreev
f347de44a9 WASM: fix metadata intrinsics 2017-04-17 00:09:14 +03:00
sertic
78a3aa29ec Added more WASM imports to Classlib for Double and Random class 2017-04-12 20:57:33 +03:00
Alexey Andreev
3ad16e80c7 WASM: add support for Enum.valueOf and Class.isEnum 2017-04-10 22:27:24 +03:00
Alexey Andreev
8330eae4ae WASM: support stack traces 2017-04-06 23:06:30 +03:00
Alexey Andreev
4847731328 Fix SOE when calling Throwable.getCause()
Fix https://github.com/konsoletyper/teavm/issues/249
2017-03-27 22:27:59 +03:00
Alexey Andreev
929e77bf69 Postpone execution code after wait method, since it's executed in a native callback which can't be async. When the code contains async calls, compiler produces error. 2017-02-25 19:52:05 +03:00
Davin McCall
5ff5b22529 Add implementation of Random.nextGaussian(). 2017-02-13 21:59:51 +00:00
Alexey Andreev
5c936878a7 Update JSO apis 2017-01-23 23:27:57 +03:00
Alexey Andreev
ae5e1e4962 Store instructions as double-linked list instead of ArrayList 2016-12-20 00:03:14 +03:00
Alexey Andreev
10bb4ef3da Fix range checking in AbstractList.subList. Add RandomAccess to object returned by Arrays.asList 2016-12-03 11:05:33 +03:00
Alexey Andreev
8c3f071f88 Fix updating size in LinkedList.remove (fix #226). 2016-11-04 13:28:34 +03:00
Alexey Andreev
499ce8c029 WASM: add some GC interop methods 2016-10-06 16:21:09 +03:00
Alexey Andreev
cc0c68e809 WASM: porting jbox2d benchmark to WebAssembly 2016-09-29 20:05:32 +03:00
Alexey Andreev
b67d243ad4 WASM: add transformation that converts exception handling to explicit guard checks 2016-09-22 16:27:28 +03:00
Alexey Andreev
0a00551af1 WASM: add support of Character.toLowerCase/toUpperCase. Add _ prefix to names in c output 2016-09-17 12:37:49 +03:00
Alexey Andreev
6c5a691fc9 Fixing minor bugs 2016-09-17 10:42:46 +03:00
Alexey Andreev
ed7e8ff7f4 javascript: refactor renderer 2016-09-17 09:21:26 +03:00
Alexey Andreev
bb2f23b19b Fix bugs in runtime. Add support for System.out 2016-09-17 09:19:34 +03:00
Alexey Andreev
67098a60ef Fix bugs in GC and runtime 2016-09-17 09:19:34 +03:00
Alexey Andreev
5caa400eb7 Mark several low-level methods as NoGC 2016-09-17 09:19:34 +03:00
Alexey Andreev
bb4040af23 Fix bugs 2016-09-17 09:19:31 +03:00
Alexey Andreev
1ae683ead3 System.arrayCopy works 2016-09-17 09:19:31 +03:00
Alexey Andreev
ca3258417b Implementing System.arraycopy 2016-09-17 09:19:31 +03:00
Alexey Andreev
1c1b0c69fa Propagating variable name via compiler's pipeline 2016-09-17 09:11:59 +03:00
Alexey Andreev
6483f518cf Remove unused classes 2016-09-17 09:00:48 +03:00
Alexey Andreev
9fb97fd53f Refactoring 2016-09-17 09:00:40 +03:00
Alexey Andreev
3dd76c9355 Fix bugs in WASM target 2016-09-17 08:59:03 +03:00
Alexey Andreev
06a96911a1 Further improvements in WASM target 2016-09-17 08:59:03 +03:00
Alexey Andreev
5479d24a21 Implementing reflection in WASM 2016-09-17 08:59:02 +03:00
Alexey Andreev
3f02cad9e7 Further development of WASM backend 2016-09-17 08:59:02 +03:00
Alexey Andreev
a1fe87ff70 Move several annotations 2016-09-17 08:59:01 +03:00
Alexey Andreev
47997cde87 Rename target package to backend to avoid gitignore 2016-09-17 08:59:00 +03:00
Alexey Andreev
52ace0c252 Refactor TeaVM to support pluggable targets like JavaScript, WebAssembly, LLVM, etc (with only JavaScript target for now) 2016-09-17 08:55:44 +03:00
Alexey Andreev
c5548dfa59 Merge pull request #218 from skapral/missing-runtime
Added missing classes/methods from Java SE Runtime
2016-08-27 10:22:16 +03:00
Sergey Kapralov
d1ade89ed4 TMap new methods are covered with tests 2016-08-25 17:12:03 +03:00
Sergey Kapralov
6b950e618e Applied minor remarks. 2016-08-25 11:30:53 +03:00
Sergey Kapralov
ec2a52900e TMap.compute fixed and tested 2016-08-25 11:13:08 +03:00
Sergey Kapralov
dc4a937262 Added missing map methods 2016-08-23 10:41:25 +03:00
Sergey Kapralov
035c616b5e added TStaskOverflowError 2016-08-23 10:41:18 +03:00
Sebastian Bauer
9a1c6fe5b9 Fix ms to ns conversion. 2016-08-19 20:35:34 +02:00
Alexey Andreev
50ac08fce4 Merge branch 'master' of https://github.com/konsoletyper/teavm 2016-08-18 21:34:56 +03:00
Alexey Andreev
559f7f7e42 Fix ByteArrayInputStream.read. Fix https://github.com/konsoletyper/teavm/issues/213 2016-08-18 21:34:18 +03:00
Sebastian Bauer
b03ba67a88 Use max() instead of min() when enlarging the array.
Adding n elements subsequently has now an O(n) running time while it was
O(n^2) before.
2016-08-18 20:09:48 +02:00
Alexey Andreev
02f414b61a Speed up allocation of objects and arrays 2016-05-12 22:25:31 +03:00
Alexey Andreev
88a1a39301 Add PrintStream methods 2016-05-11 21:16:01 +03:00
Alexey Andreev
5576275998 Improving JUnit test runner 2016-02-26 23:48:04 +03:00
Alexey Andreev
1bb36b98b2 Merge pull request #185 from shannah/master
Fixed NPE in LinkedList.remove(e)
2016-02-21 22:27:24 +03:00
Steve Hannah
9a52a277b9 Added Timer.scheduleTaskAtFixedRate() method 2016-02-17 11:46:10 -08:00
Alexey Andreev
5dad013cc7 Migration to IDEA 2016-02-07 14:28:51 +03:00
Steve Hannah
eb2e08da3f Fixed NPE in LinkedList.remove(e) 2016-02-05 15:03:53 -08:00
Alexey Andreev
d718177fe0 Improve resource loading contributed by Jaroslav:
* Implement base64 decoder instead of atob, which is not supported 
  by IE9
* Avoid direct usage of window identifier to prevent global namespace
  from spoiling
* Make customizable approach to supply list of resources to write
  into JavaScript
2015-12-26 13:26:34 +03:00
Alexey Andreev
de7f0910e9 Merge branch 'jtulach_resources' into release-0.4.x 2015-12-25 22:52:27 +03:00
Jaroslav Tulach
de117b61ed Converts the resource from base64 encoding before returning it 2015-12-24 07:59:41 +01:00
Jaroslav Tulach
ecfdcd34c3 Class.getResourceAsStream can find the generated resource 2015-12-24 07:53:36 +01:00
Jaroslav Tulach
4aec89967b Simple test to show expected behavior of resources 2015-12-24 06:47:43 +01:00
Alexey Andreev
b12404ee7e Fix emit API. Fix several JS wrappers. 2015-10-25 19:22:48 +03:00
Alexey Andreev
8702f7ee33 Repair incremental builder 2015-10-21 20:51:43 +03:00
Alexey Andreev
2640234391 Rename achieved -> reached. Fix - operator generation in minified mode 2015-10-21 12:08:30 +03:00
Alexey Andreev
a96ee8a647 Fix bug in synchronous monitor unlocking 2015-10-19 17:42:35 +03:00
Alexey Andreev
4082c6389a Fix LinkedList.push and .element methods 2015-10-08 19:59:38 +03:00
Alexey Andreev
a4e41fc6be Add hacks for scala classlib. Add DOM method for convenience. Improve
Scala example
2015-10-04 14:29:34 +03:00
Alexey Andreev
3341df3668 Change directory structure 2015-10-04 11:49:20 +03:00