85 Commits

Author SHA1 Message Date
Volker Berlin
1ee77584d9 write the vtable of objects to the data section. Use the vtable offset into the data section in the new operation of objects. 2019-06-09 17:17:47 +02:00
Volker Berlin
c410adc636 define the types in the prepare phase. 2019-06-04 18:09:34 +02:00
Volker Berlin
557c348ed7 extract writeMethodParamStart() from writeMethodStart() and prepareImport() 2019-06-02 11:44:28 +02:00
Volker Berlin
fd43aca97b Move the analyzing and writing of types in the TypeManager 2019-05-19 15:17:30 +02:00
Volker Berlin
8f09d4d04a detect all needed types in the prepare phase 2019-05-19 11:14:32 +02:00
Volker Berlin
5826d6dded add field vtable 2019-05-17 21:40:38 +02:00
Volker Berlin
983d78de54 next step in handling virtual methods 2019-05-14 21:47:49 +02:00
Volker Berlin
f0d3027553 Replace a function name in call with its supper method if real target name does not exists. 2019-05-12 18:38:11 +02:00
Volker Berlin
aa1ed68b3f scanning the Java methods on prepare 2019-05-11 20:53:30 +02:00
Volker Berlin
0b7fa50520 next step for scanning on prepare 2019-05-09 22:13:02 +02:00
Volker Berlin
a8d11b5b68 use weak cache for ClassFiles 2019-05-07 21:16:30 +02:00
Volker Berlin
fbc687ee92 Use ref types alps in globals 2019-04-27 21:14:55 +02:00
Volker Berlin
272fa76af0 Write the type of Object fields in structs as ref type instead of anyref. 2019-04-26 17:28:57 +02:00
Volker Berlin
b08a986945 Write the "this" parameter type of a method as ref type instead of anyref. 2019-04-24 21:41:33 +02:00
Volker Berlin
b7323776d1 Use index for fields of structs in text format until there are better naming rules. 2019-04-22 15:56:11 +02:00
Volker Berlin
02a2e9d8ff Write also the fields of super classes in the struct description. 2019-04-21 21:33:22 +02:00
Volker Berlin
2be6f1a3be Write the default/initial values before struct.new 2019-04-20 21:41:46 +02:00
Volker Berlin
09b817117a Generalize the usage of SyntheticFuctionName 2019-04-20 18:44:23 +02:00
Volker Berlin
9653520c2b Rewrite the LocalVariableManager to handle the Java reuse of a variable slot with different type. 2019-04-14 14:29:09 +02:00
Volker Berlin
ce93ce517e Write a source map if DebugNames is enabled. #6 2019-03-31 13:29:40 +02:00
Volker Berlin
7d8424a2b0 pass sourcefile for a source map. #6 2019-03-28 18:26:25 +01:00
Volker Berlin
97b7b9dafd passing code position for a source map. #6 2019-03-26 18:21:20 +01:00
Volker Berlin
4bb145d116 Error message for native methods 2019-03-12 22:36:43 +01:00
Volker Berlin
2d2a5f4b68 write event section if exception handling is used. 2019-02-27 21:55:55 +01:00
Volker Berlin
861ba5c62f Simplify the syntax for replace 2019-02-25 18:26:33 +01:00
Volker Berlin
7904f4026e Add support for Replace annotation to replace a single method. fix #4 2019-02-24 20:02:36 +01:00
Volker Berlin
6246840f90 Fix ArrayIndexOutOfRange with temp variable 2019-02-17 09:52:04 +01:00
Volker Berlin
99f7248fc8 fix NPE 2019-02-15 20:17:00 +01:00
Volker Berlin
c57e5d42cf fix local variable names 2019-02-15 20:02:13 +01:00
Volker Berlin
17acda9456 Start with the optimizer 2019-02-12 21:18:42 +01:00
Volker Berlin
0d0e606983 Pass the StructType of WasmStructInstruction to the LocalevariableManager 2019-01-23 20:27:57 +01:00
Volker Berlin
145a39079b use AnyType instead ValueType in the VariableManager 2019-01-20 19:58:23 +01:00
Volker Berlin
29911bc586 use synthetic method for dup instruction to handle the type dynamically 2019-01-20 10:41:33 +01:00
Volker Berlin
238a281757 Move the call to ValueTypeParser into the FunctionName 2019-01-18 18:17:19 +01:00
Volker Berlin
b677355c0f Convert ValueTypeParser to an Iterator 2019-01-18 17:48:12 +01:00
Volker Berlin
1376af2f3f Rename StorageType to AnyType. 2019-01-14 20:09:00 +01:00
Volker Berlin
caa59cab83 implements struct.get/set 2019-01-13 11:36:07 +01:00
Volker Berlin
9ac92316f6 Write the real type of StructType instead anytype 2019-01-11 22:21:59 +01:00
Volker Berlin
56fdf9018d write the struct type into the type section 2019-01-06 16:29:26 +01:00
Volker Berlin
bfc6cbb3f0 add TypeManager 2018-12-19 20:10:26 +01:00
Volker Berlin
bc2975683a add getType() to WasmInstruction 2018-12-16 18:22:44 +01:00
Volker Berlin
5d237c2ae1 remove unused code 2018-12-16 11:23:35 +01:00
Volker Berlin
7701ce6993 write extra parameter for instance methods (non static) 2018-12-13 22:32:51 +01:00
Volker Berlin
d4012a751f compile on the fly only the needed instead all given 2018-12-13 20:05:13 +01:00
Volker Berlin
01dcb85b36 reduce the preparing and write more on the fly 2018-12-11 22:38:53 +01:00
Volker Berlin
ae08d21281 reorganize 2018-12-03 21:09:22 +01:00
Volker Berlin
4104a87597 fix java signature parsing with multiple return types 2018-11-29 18:35:56 +01:00
Volker Berlin
e9b7597eda Write also missing library functions 2018-11-25 15:11:42 +01:00
Volker Berlin
51b58e2a79 Add a function manager to add functions on demand. 2018-11-24 21:54:30 +01:00
Volker Berlin
2c792f4a4f add method addLibrary 2018-11-21 19:44:05 +01:00