Commit Graph

87 Commits

Author SHA1 Message Date
bdad5298ba Merge branch 'master' into singlepass_multivalue 2022-06-16 16:28:58 +02:00
8f539d134b Move wasmer_compiler/{address_map, function, module, sourceloc, trap, unwind}.rs to wasmer_types 2022-06-16 16:57:45 +03:00
b1f1939bf7 Move wasmer_compiler/{section,relocation}.rs to wasmer_types 2022-06-16 16:57:45 +03:00
feee4e3587 Move wasmer_compiler errors to wasmer_types error module 2022-06-16 16:57:45 +03:00
02be85f610 Enable multi-value handling in Singlepass compiler 2022-06-16 11:12:52 +02:00
5339f7cdae Fix clippy lints
Fixes: #2926
2022-06-09 16:05:53 +02:00
00f9a3c8d7 Remove loupe dependency
Closes #2731
Closes #2744
2022-06-08 14:12:49 +03:00
e745ceab7a Moved TableStyle and MemoryStyle to wasmer-types (and compiler-single pass do not depend from vm anymore) 2022-05-03 09:32:34 +02:00
eb7ef52521 Move VMOffset (and a few friends) to wasmer_types, and adapted compiler-singlepass to use it 2022-05-03 09:32:34 +02:00
d5bbfd0768 Moved TrapCode enum to wasmer_types, and adapted compiler and wompiler-singlepass 2022-05-03 09:32:34 +02:00
408847ee75 Added support for Windows x64 in Singlepass for Unwind infos 2022-03-11 16:01:07 +01:00
187b7508c9 Added some infrastructure to generate EH_Frame in singlepass compiler 2022-03-02 12:21:55 +01:00
b6b07ba4e4 Fix singlepass Arm64 since #2775 2022-02-18 16:43:40 +01:00
82bc23e082 Merge branch 'master' into bat/feature/add-sse-singlepass 2022-01-31 11:46:47 +01:00
b32b5cfa53 [feat]: Adding the plumbing necessary for the singlepass to choose between different simd instruction sets. Partial work on supporting SSE4.2 2022-01-30 10:55:26 +01:00
74779f5e80 Merge branch 'master' into singlepass_aarch64 2022-01-21 11:08:43 +01:00
ffb9cd33b9 Use trampolines for all libcalls in engine-universal and engine-dylib
In both of these engines, the compiled code may be loaded in memory far
from the Wasmer runtime which means that libcalls may not be reachable
through the normal relocation types. Instead a trampoline is needed to
allow reaching any address in the 64-bit address space.

In the case of engine-dylib, this is even worse since the symbols are
not exported by the executable without some special linker flags. The
solution here is to manually patch in the addresses at load time into
a data table of function pointers.
2022-01-20 11:47:20 +00:00
005351ba31 improv(compiler) Added SDIV, UDIV and UREM operations (105 tests passes now) 2022-01-14 17:15:11 +01:00
26d334f4ac improv(compiler) Enabled aarch64 tests 2022-01-14 17:15:10 +01:00
69478cd575 improvement(compiler) Added squeleton for arm64 singlepass 2022-01-14 17:15:10 +01:00
6fd9d132b6 improvement(compiler) renammed codeGen_x64 to CodeGen, now that it's archetecture independant 2021-12-08 11:06:04 +01:00
3e52f770b2 improvement(compiler) CodeGen now completly abstracted, using Machine trait only 2021-12-08 11:01:25 +01:00
517f81b302 improvement(compiler) More x86_64 speicific code removed from CodeGen 2021-12-06 15:38:07 +01:00
6a33200218 improvement(compiler) abstraction of emit_memory_op 2021-12-03 17:51:40 +01:00
cb88b6db62 Avoid depending on the host target in compilers 2021-11-23 15:19:32 +00:00
44eef4964a feat(compiler) Fixed single-pass build 2021-10-05 14:19:08 +02:00
9c9c0beb6b feat(compiler) Adjust test for unsupported platforms 2021-09-16 12:16:18 +02:00
2e5dae0019 feat(compiler) Make CallingConvention a paramter in SinglePass 2021-09-16 11:03:39 +02:00
9f1dcfcb04 feat(compiler) Added windows x86_64 ABI to SinglePass compiler, but tests are not OK yet 2021-09-15 14:09:09 +02:00
98481f51fe Move ModuleInfo to wasmer-types 2021-07-16 15:42:39 -07:00
cb66b5293d Improved middleware logic 2021-04-27 14:00:25 -07:00
742b2baa15 Fixed singlepass 2021-04-27 09:45:59 -07:00
9ea745b6c3 Merge branch 'master' into middleware-refactor 2021-04-27 09:44:25 -07:00
2df5854e37 Make compilers to take non-mutable inputs 2021-04-26 21:14:23 -07:00
9be59f809f Use FunctionBinaryReader instead of Middleware 2021-04-26 16:40:54 -07:00
60348fc5e3 Make threading optional in single pass backend 2021-04-26 18:13:53 +03:00
7ad7543f89 Prepare to abstract rayon away by minimizing the API we use 2021-04-26 18:13:02 +03:00
2afed4d813 feat: Use latest version of loupe. 2021-03-22 11:43:46 +01:00
026520998c feat: Start implementing loupe::MemoryUsage on wasmer::Store. 2021-03-22 11:42:28 +01:00
c41451a547 Replace wasmparser::Result with wasmer::WasmResult in middleware 2020-12-23 00:07:00 +01:00
30f622fe36 Merge branch 'master' of github.com:wasmerio/wasmer into singlepass-addressmap 2020-12-07 16:56:56 -08:00
624f0ecc28 Use triple macro 2020-12-07 11:20:04 +01:00
249b955d71 Add CompileError::UnsupportedTarget error 2020-12-07 11:20:04 +01:00
13e6f29c29 Set compiler config to be owned (following wasm-c-api) 2020-12-04 02:39:19 -08:00
77458752f5 Added address map instructions for traps in singlepass 2020-12-03 21:17:46 -08:00
363a28cb55 Fix middleware with singlepass. 2020-11-23 14:39:26 -08:00
9d8f315d4c Update module info in-place. 2020-11-23 13:42:51 -08:00
e7dd725c6d Add module info transformation method to ModuleMiddleware. 2020-11-20 14:34:46 -08:00
b123f92f56 Simplified local_decl 2020-10-29 20:19:37 -07:00
6e974b92cd Run cargo fmt 2020-08-13 18:12:43 -07:00