[llvm] [WebAssembly] Support disassembler for try_table (PR #108800)

Heejin Ahn via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 16 15:12:28 PDT 2024


================
@@ -289,6 +289,24 @@ MCDisassembler::DecodeStatus WebAssemblyDisassembler::getInstruction(
         return MCDisassembler::Fail;
       break;
     }
+    case WebAssembly::OPERAND_CATCH_LIST: {
+      if (!parseLEBImmediate(MI, Size, Bytes, false))
+        return MCDisassembler::Fail;
+      int64_t NumCatches = MI.getOperand(MI.getNumOperands() - 1).getImm();
----------------
aheejin wrote:

In those `parse***` functions. For example:
https://github.com/llvm/llvm-project/blob/6ca5c397a99aca2b9faa9b2d96238c5bda33010e/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp#L101-L108

Yeah it was a little confusing to me too so I had to look into those functions...

https://github.com/llvm/llvm-project/pull/108800


More information about the llvm-commits mailing list