164 Commits

Author SHA1 Message Date
Volker Berlin
5a22c94b29
Detect also marked as needed methods if the method was previous add as replacement 2022-05-22 18:36:36 +02:00
Volker Berlin
9c7b69b2a7 Block duplicate export names 2022-04-10 11:35:20 +02:00
Volker Berlin
a6b8862e25 Add support for callbacks in import annotations. 2022-04-03 13:58:43 +02:00
Volker Berlin
c2231241ab remove debug code 2022-03-20 18:28:37 +01:00
Volker Berlin
8d17e7cfc5 Use the Enum hack fpr all used enums. Before it was for the enums in the libraries 2022-03-19 22:12:30 +01:00
Volker Berlin
bf0b43fd1a The writer must be prepared before the types are written. 2022-03-19 22:08:43 +01:00
Volker Berlin
69b8db16d1 call class initializer before access to static fields 2022-03-08 15:13:19 +01:00
Volker Berlin
91fafe3d24 Reduce cycle of static constructors 2022-03-06 14:41:53 +01:00
Volker Berlin
3fd3c63351 share the LocaleVariableManager between multiple WasmCodeBuilder 2022-02-27 20:44:42 +01:00
Volker Berlin
d4cf26ee05 docu 2022-02-20 18:29:13 +01:00
Volker Berlin
2c176b9a3f scan also super interfaces for default methods of needed method 2021-11-14 13:41:20 +01:00
Volker Berlin
cc217841cb Add helpful hint to error message. 2021-11-02 19:14:25 +01:00
Volker Berlin
0ef00ba2ab hack for Enum.valueOf(String) 2021-08-29 13:44:29 +02:00
Volker Berlin
71fad44962 Handle call of Object methods from arrays 2021-05-30 21:29:50 +02:00
Volker Berlin
b35279a960 The needThis flag must be set already on marking a function as needing. If it will set on scan it is to late for stack calculation. 2021-04-17 20:27:28 +02:00
Volker Berlin
1771ab1f39 Add support for Lambda expressions with parameters 2021-04-03 22:06:39 +02:00
Volker Berlin
1f167d99b9 implements StructType.isSubTypeOf(x) 2021-03-28 15:16:45 +02:00
Volker Berlin
740b7a8c19 add a variable slot for THIS parameter to lambda methods to increment the variable index. 2021-01-24 18:41:01 +01:00
Volker Berlin
c1869baee5 add THIS parameter to lambda methods 2021-01-24 13:49:23 +01:00
Volker Berlin
cde24d98ed Fix Struct.NEW_DEFAULT for GC mode. 2021-01-16 17:38:11 +01:00
Volker Berlin
26ec7ece48 Handle different versions of a class in the library path 2020-12-12 20:42:46 +01:00
Volker Berlin
3e9a8b1460 fix findValueTypeFromStack after a CAST 2020-08-08 23:20:09 +02:00
Volker Berlin
890b3ec0df Adapt some GC changes 2020-06-13 19:51:33 +02:00
JCWasmx86
8cc81dcffe Typo, replaced crlf with lf in some files 2020-05-25 16:40:25 +02:00
Volker Berlin
5eb6f9aad6 enable class initializers (static constructors) 2020-04-26 20:30:49 +02:00
Volker Berlin
b251141f45 Scan also the types of used imports 2020-04-26 00:08:50 +02:00
Volker Berlin
4c5c41eb5c add method name to the WasmException 2020-04-10 22:22:45 +02:00
Volker Berlin
128ac19242 fix cyclic dependencies between static class initializers 2020-04-10 11:40:07 +02:00
Volker Berlin
87f986e30b Also static code from Java VM code must be registered. Disable static code to find a solution for the cyclic dependency between static code. 2020-04-05 21:03:13 +02:00
Volker Berlin
65a1f3ff76 implements support for static class constructors 2020-04-02 21:01:11 +02:00
Volker Berlin
645996ceb0 add support for static constructors, WIP 2020-03-30 22:27:30 +02:00
Volker Berlin
d3f7069cc8 pass the signature from synthetic functions to the wat parser. 2020-03-27 21:10:02 +01:00
Volker Berlin
ae0f1e3410 add FunctionType to differ between real and abstract methods 2020-03-20 20:35:13 +01:00
Volker Berlin
ff5b8f8442 add support for abstract methods, WIP 2020-03-18 21:37:56 +01:00
Volker Berlin
d73612715f recursive scan methods and type hierarchy 2020-03-15 20:51:19 +01:00
Volker Berlin
386c5adf28 Class replacement need also StringManager.stringsMemoryOffset. 2020-03-15 12:00:15 +01:00
Volker Berlin
259a7130f1 improve java.lang.Class replacement, WIP 2020-03-14 23:02:58 +01:00
Volker Berlin
946e911982 implementation of a a replacement for java.lang.Class 2020-03-14 19:21:37 +01:00
Volker Berlin
3d8f49c79a simplify the scan and the compiler structure, remove some old hacks. 2020-02-29 16:14:32 +01:00
Volker Berlin
02696a6488 use a synthetic function call to calculate the function id of a virtual call. 2020-02-25 18:05:12 +01:00
Volker Berlin
2f2c39a07a simplify the initializing 2020-02-24 21:08:29 +01:00
Volker Berlin
f2547bd0d2 duplicate THIS parameter also for interface calls 2020-02-24 18:16:36 +01:00
Volker Berlin
82e5f367b8 fix debug message on error 2020-02-23 20:17:37 +01:00
Volker Berlin
a57d3020f9 fix wrong debug information 2020-02-23 17:50:23 +01:00
Volker Berlin
4872dd137a Add support for partial classes 2020-01-19 15:15:01 +01:00
Volker Berlin
7247623dc6 use also registered replace methods if does not exists an original in the current search path. 2020-01-12 19:13:20 +01:00
Volker Berlin
b1e89a91ca add support for default methods 2020-01-12 17:13:52 +01:00
Volker Berlin
54d2deef4f add option WASM_USE_EH to ignore exception support because currently not supported 2020-01-12 12:42:31 +01:00
Volker Berlin
1998b2b5b2 Instead the static flag we need to handle if there is an additional "this" parameter. 2020-01-11 20:31:05 +01:00
Volker Berlin
396bafa234 api doc 2020-01-11 18:31:07 +01:00