140 Commits

Author SHA1 Message Date
Volker Berlin
be56c02b15 improve array handling with GC 2020-08-09 19:19:58 +02:00
Volker Berlin
54ad287ed6 array bracket are not valid in Wasm identifiers. 2020-08-09 15:22:26 +02:00
Volker Berlin
6d2a90785c remove type annotation from ref.is_null. Disable node until a new v8 canary version is available. 2020-06-29 21:00:47 +02:00
Volker Berlin
1d3db1135b switch from anyref to eqref for GC code 2020-06-14 17:11:46 +02:00
Volker Berlin
890b3ec0df Adapt some GC changes 2020-06-13 19:51:33 +02:00
Volker Berlin
2b46b6dbdf In Java arrays extends from java/lang/Object that the ArrayType must be extends from the StructType. WIP 2020-06-01 11:17:47 +02:00
Volker Berlin
cfbadfa226 anyref --> externref, add kind to ref.null and ref.is_null, https://github.com/WebAssembly/reference-types/pull/87 2020-05-30 23:06:29 +02:00
Volker Berlin
87359fb497 Simplify the try/catch structure 2020-04-18 13:09:11 +02:00
Volker Berlin
02f41dd52a convert try/catch to block/br 0 if exception handling is disabled 2020-04-13 12:01:21 +02:00
Volker Berlin
f38d3033d8 use table names 2020-04-11 14:35:47 +02:00
Volker Berlin
bab77094c2 Write also for BR_ON_EXN an UNREACHABLE instruction 2020-04-10 16:33:32 +02:00
Volker Berlin
9bbc82bb6d Remove all special handling for SpiderMonkey. It is compatible now. 2020-04-04 11:40:35 +02:00
Volker Berlin
65a1f3ff76 implements support for static class constructors 2020-04-02 21:01:11 +02:00
Volker Berlin
93b32823f9 Remove obsolete hacks for SpiderMonkey 2020-03-24 19:54:37 +01:00
Volker Berlin
b3bef1570a write string constant in the text format for easer reading 2020-03-22 12:36:01 +01:00
Volker Berlin
548d701444 write string constant in the text format for easer reading 2020-03-21 22:57:42 +01:00
Volker Berlin
a3aa825ebc fix branch result with reference type 2020-03-21 11:59:05 +01:00
Volker Berlin
6e04ade375 abstract Methods and interfaces not counting as real WASM functions 2020-03-21 11:05:51 +01:00
Volker Berlin
ae0f1e3410 add FunctionType to differ between real and abstract methods 2020-03-20 20:35:13 +01:00
Volker Berlin
a6f1743109 simplify the string count 2020-03-11 20:03:00 +01:00
Volker Berlin
cc4a5e7858 add table for classes 2020-03-11 19:55:59 +01:00
Volker Berlin
9a157b74a2 Does not export memory. No JavaScript access is needed. 2020-03-11 19:34:49 +01:00
Volker Berlin
7ed9ee576a add the original method name as comment to a call_indirect. 2020-02-29 15:56:36 +01:00
Volker Berlin
f761e4bf44 add support for "instanceof", WIP 2020-02-26 10:35:20 +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
54d2deef4f add option WASM_USE_EH to ignore exception support because currently not supported 2020-01-12 12:42:31 +01:00
Volker Berlin
7bd7e82063 Code chars in data section directly and not escaped 2019-12-23 21:28:26 +01:00
Volker Berlin
aba8052de0 Move the exports after the imports in the wat format 2019-11-28 20:50:33 +01:00
Volker Berlin
7cbb8469e2 remove unused variable 2019-11-28 20:22:23 +01:00
Volker Berlin
947f66502b Add support for i32.load to the wat parser and some small bug fixes 2019-11-18 21:32:35 +01:00
Volker Berlin
86d239986e add memory instructions 2019-11-18 20:08:18 +01:00
Volker Berlin
8f36ed4d6d initial checkin for StringManager (WIP) 2019-11-10 12:57:58 +01:00
Volker Berlin
baf7fb9cf0 Add table.set/get 2019-11-03 19:00:49 +01:00
Volker Berlin
672574abd0 Rename anyfunc -> funcref 2019-11-03 10:14:29 +01:00
Volker Berlin
87039232eb export the memory with the name "memory" 2019-11-02 19:20:28 +01:00
Volker Berlin
6ddf5b1c85 write memory/data section also with nonGC polyfill 2019-09-14 21:26:46 +02:00
Volker Berlin
a458fd2c2a Move duplicated code from implementations of writeVirtualFunctionCall() into the caller WasmCallIndirectInstruction 2019-09-13 20:34:44 +02:00
Volker Berlin
d4a2214131 Move duplicated code from implementations of writeVirtualFunctionCall() into the caller WasmCallIndirectInstruction 2019-09-13 20:04:03 +02:00
Volker Berlin
b2f1fbc195 call ref_eq polyfill in non gc mode 2019-09-10 21:41:50 +02:00
Volker Berlin
b4d2f6caa2 use WasmOptions on more places for consistency 2019-09-10 17:49:05 +02:00
Volker Berlin
4e3c11553f prepare the polyfill of struct/Object instruction 2019-09-08 13:55:22 +02:00
Volker Berlin
7c2d276de2 If nonGC mode then StructType has also a negative code type of anyref. 2019-09-07 19:52:10 +02:00
Volker Berlin
7667c1a080 rename ArrayOpertion.LENGTH -> LEN for more consistency 2019-08-11 13:06:31 +02:00
Volker Berlin
5a08ecf122 fix copy paste error 2019-08-04 17:28:03 +02:00
Volker Berlin
ae489b2f5a handle infinity values 2019-08-03 20:49:45 +02:00
Volker Berlin
0f0928f4a8 handle duplicate function names/overloaded methods 2019-07-15 21:16:47 +02:00
Volker Berlin
abeec6cca4 NaN is written in lowercase in Wasm text format. 2019-07-14 17:24:39 +02:00
Volker Berlin
588ac6db47 implement reinterpret opcodes and use it in the WatParser. 2019-07-14 12:41:40 +02:00
Volker Berlin
c50c7d15c7 API doc 2019-06-30 15:18:09 +02:00
Volker Berlin
3709e9cc55 Generalize the usage of WasmTarget 2019-06-30 14:43:45 +02:00