Remove read_info.rs entirely.
Add `to_compile_error` that converts a WasmResult into a Result<_, CompileError>, use it with `wptype_to_type`. This is a candidate for being moved into shared code.
Many functions had to change to deal with propagating CompileError.
This renames `func_sig_to_llvm` to `func_type_to_llvm` and deletes the old version in intrinsics::. The new version returns a list of attributes along with the type. Update callers to set these attributes on the function or call site.
In order to work with spectests, we need to change our function types to include a second fixed parameter, there are now two vmctx's (callee and caller) before any other arguments. Because we have a uniform call sequence for imported and local function calls (which we must have because we store both in the table and don't store what kind it is), we need to change the llvm function types for all our own functions and update how we call them and how we find our own arguments.
This updates to a newer inkwell to pick up a fix to Section::get_contents. Picking that up changed builder.build_struct_gep to return a Result, and there's many API updates scattered around to support that.
Compute the function names for all local and imported functions in the module in advance and pass that mapping to the function code generation.
debug_trap is added to Intrinsics, though all users are commented out.
Updates to new API for trampolines, taking two vmctx pointers and reusing the input space to write the returns.
Wasm values are padded to 128-bits.
Removes a pile of dead code.
Turning an LLVM module into a CompiledFunction should be refactored.
Bump to latest inkwell so that we can make use of object_file with the fixes.
Comment out accidentally committed debug code that writes to my home directory.
Start filling in the code to generate trampolines. Move func_type_to_llvm and type_to_llvm from code.rs to intrinsics.rs so that trampoline code can reuse them.