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
.metallib
files. 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 build
npm install
npm run start
See MetalLibraryArchive.