Parse and disassemble .metallib files in browser. https://yuao.github.io/MetalLibraryExplorer
This is a WebAssembly port of MetalLibraryArchive. In order to use this tool your browser must support WebAssembly.
-
Inspect
.metallibfiles. Get information about library type, target platform, Metal functions, etc. -
Disassemble Metal function bitcode.
-
Download Metal bitcode and assembly as a zip archive.
The parser uses a WebAssembly version of the MetalLibraryArchive core library, built with SwiftWasm.
wasmer-js is used as WASI polyfill. However due to wasmer/issues/2792, the parser has to run in a Web Worker.
wasm-strip from WABT and wasm-opt from binaryen are used mainly to reduce the .wasm binary size.
llvm-dis is used to convert the Metal bitcode into human-readable LLVM assembly language. This is also compiled to WebAssembly using this workflow.
The UI is built with React and tailwindcss
To build this library you will need to have installed in your system:
npm install
npm run buildnpm install
npm run startSee MetalLibraryArchive.