_ZN4wabt3ClzEj:
  120|  1.36k|inline int Clz(unsigned x) { return x ? __builtin_clz(x) : sizeof(x) * 8; }
  ------------------
  |  Branch (120:37): [True: 1.36k, False: 0]
  ------------------
_ZN4wabt3ClzEm:
  121|    320|inline int Clz(unsigned long x) { return x ? __builtin_clzl(x) : sizeof(x) * 8; }
  ------------------
  |  Branch (121:42): [True: 320, False: 0]
  ------------------

_ZN4wabt15BinaryReaderNop18BeginCustomSectionEjmNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
   41|   132k|                            std::string_view section_name) override {
   42|   132k|    return Result::Ok;
   43|   132k|  }
_ZN4wabt15BinaryReaderNop10OnFuncTypeEjjPNS_4TypeEjS2_:
   53|    443|                    Type* result_types) override {
   54|    443|    return Result::Ok;
   55|    443|  }
_ZN4wabt15BinaryReaderNop12OnImportFuncEjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEES5_jj:
   77|  8.29k|                      Index sig_index) override {
   78|  8.29k|    return Result::Ok;
   79|  8.29k|  }
_ZN4wabt15BinaryReaderNop13OnImportTableEjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEES5_jNS_4TypeEPKNS_6LimitsE:
   85|  4.12k|                       const Limits* elem_limits) override {
   86|  4.12k|    return Result::Ok;
   87|  4.12k|  }
_ZN4wabt15BinaryReaderNop14OnImportGlobalEjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEES5_jNS_4TypeEb:
  101|  1.05k|                        bool mutable_) override {
  102|  1.05k|    return Result::Ok;
  103|  1.05k|  }
_ZN4wabt15BinaryReaderNop11OnImportTagEjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEES5_jj:
  108|  2.21k|                     Index sig_index) override {
  109|  2.21k|    return Result::Ok;
  110|  2.21k|  }
_ZN4wabt15BinaryReaderNop8OnExportEjNS_12ExternalKindEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  158|  5.12k|                  std::string_view name) override {
  159|  5.12k|    return Result::Ok;
  160|  5.12k|  }
_ZN4wabt15BinaryReaderNop12OnModuleNameENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  421|  23.4k|  Result OnModuleName(std::string_view name) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnFunctionNameEjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  431|  3.22k|                        std::string_view function_name) override {
  432|  3.22k|    return Result::Ok;
  433|  3.22k|  }
_ZN4wabt15BinaryReaderNop11OnLocalNameEjjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  448|  10.2k|                     std::string_view local_name) override {
  449|  10.2k|    return Result::Ok;
  450|  10.2k|  }
_ZN4wabt15BinaryReaderNop11OnNameEntryENS_21NameSectionSubsectionEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  461|  15.5k|                     std::string_view name) override {
  462|  15.5k|    return Result::Ok;
  463|  15.5k|  }
_ZN4wabt15BinaryReaderNop7OnRelocENS_9RelocTypeEmjj:
  473|  20.7k|                 uint32_t addend) override {
  474|  20.7k|    return Result::Ok;
  475|  20.7k|  }
_ZN4wabt15BinaryReaderNop13OnSymbolCountEj:
  542|  30.3k|  Result OnSymbolCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnDataSymbolEjjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEjjj:
  548|  1.90k|                      uint32_t size) override {
  549|  1.90k|    return Result::Ok;
  550|  1.90k|  }
_ZN4wabt15BinaryReaderNop16OnFunctionSymbolEjjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEj:
  554|  42.8k|                          Index func_index) override {
  555|  42.8k|    return Result::Ok;
  556|  42.8k|  }
_ZN4wabt15BinaryReaderNop14OnGlobalSymbolEjjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEj:
  560|  22.8k|                        Index global_index) override {
  561|  22.8k|    return Result::Ok;
  562|  22.8k|  }
_ZN4wabt15BinaryReaderNop15OnSectionSymbolEjjj:
  565|  39.0k|                         Index section_index) override {
  566|  39.0k|    return Result::Ok;
  567|  39.0k|  }
_ZN4wabt15BinaryReaderNop11OnTagSymbolEjjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEj:
  571|  11.1k|                     Index tag_index) override {
  572|  11.1k|    return Result::Ok;
  573|  11.1k|  }
_ZN4wabt15BinaryReaderNop13OnTableSymbolEjjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEj:
  577|  6.17k|                       Index table_index) override {
  578|  6.17k|    return Result::Ok;
  579|  6.17k|  }
_ZN4wabt15BinaryReaderNop13OnSegmentInfoEjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEmj:
  584|  23.2k|                       uint32_t flags) override {
  585|  23.2k|    return Result::Ok;
  586|  23.2k|  }
_ZN4wabt15BinaryReaderNop9EndModuleEv:
   30|  2.60k|  Result EndModule() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16EndCustomSectionEv:
   44|   161k|  Result EndCustomSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16BeginTypeSectionEm:
   47|  5.46k|  Result BeginTypeSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11OnTypeCountEj:
   48|  1.35k|  Result OnTypeCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnStructTypeEjjPNS_7TypeMutE:
   58|    376|                      TypeMut* fields) override {
   59|    376|    return Result::Ok;
   60|    376|  }
_ZN4wabt15BinaryReaderNop11OnArrayTypeEjNS_7TypeMutE:
   61|     78|  Result OnArrayType(Index index, TypeMut field) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14EndTypeSectionEv:
   62|    290|  Result EndTypeSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18BeginImportSectionEm:
   65|  2.81k|  Result BeginImportSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnImportCountEj:
   66|    724|  Result OnImportCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop8OnImportEjNS_12ExternalKindENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_:
   70|   115k|                  std::string_view field_name) override {
   71|   115k|    return Result::Ok;
   72|   115k|  }
_ZN4wabt15BinaryReaderNop14OnImportMemoryEjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEES5_jPKNS_6LimitsEj:
   93|  14.4k|                        uint32_t page_size) override {
   94|  14.4k|    return Result::Ok;
   95|  14.4k|  }
_ZN4wabt15BinaryReaderNop16EndImportSectionEv:
  111|    330|  Result EndImportSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop20BeginFunctionSectionEm:
  114|  22.8k|  Result BeginFunctionSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnFunctionCountEj:
  115|  5.05k|  Result OnFunctionCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop10OnFunctionEjj:
  116|  17.1k|  Result OnFunction(Index index, Index sig_index) override {
  117|  17.1k|    return Result::Ok;
  118|  17.1k|  }
_ZN4wabt15BinaryReaderNop18EndFunctionSectionEv:
  119|  5.34k|  Result EndFunctionSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17BeginTableSectionEm:
  122|  2.04k|  Result BeginTableSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnTableCountEj:
  123|    408|  Result OnTableCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop7OnTableEjNS_4TypeEPKNS_6LimitsE:
  126|    154|                 const Limits* elem_limits) override {
  127|    154|    return Result::Ok;
  128|    154|  }
_ZN4wabt15BinaryReaderNop15EndTableSectionEv:
  129|     70|  Result EndTableSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18BeginMemorySectionEm:
  132|  1.67k|  Result BeginMemorySection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnMemoryCountEj:
  133|    464|  Result OnMemoryCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop8OnMemoryEjPKNS_6LimitsEj:
  136|  12.8k|                  uint32_t page_size) override {
  137|  12.8k|    return Result::Ok;
  138|  12.8k|  }
_ZN4wabt15BinaryReaderNop16EndMemorySectionEv:
  139|    180|  Result EndMemorySection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18BeginGlobalSectionEm:
  142|  4.01k|  Result BeginGlobalSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnGlobalCountEj:
  143|  1.42k|  Result OnGlobalCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11BeginGlobalEjNS_4TypeEb:
  144|  1.76k|  Result BeginGlobal(Index index, Type type, bool mutable_) override {
  145|  1.76k|    return Result::Ok;
  146|  1.76k|  }
_ZN4wabt15BinaryReaderNop19BeginGlobalInitExprEj:
  147|  1.76k|  Result BeginGlobalInitExpr(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17EndGlobalInitExprEj:
  148|    886|  Result EndGlobalInitExpr(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop9EndGlobalEj:
  149|  2.21k|  Result EndGlobal(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16EndGlobalSectionEv:
  150|     80|  Result EndGlobalSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18BeginExportSectionEm:
  153|  4.55k|  Result BeginExportSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnExportCountEj:
  154|  1.58k|  Result OnExportCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16EndExportSectionEv:
  161|    230|  Result EndExportSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17BeginStartSectionEm:
  164|    875|  Result BeginStartSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnStartFunctionEj:
  165|    266|  Result OnStartFunction(Index func_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15EndStartSectionEv:
  166|    665|  Result EndStartSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16BeginCodeSectionEm:
  169|  17.3k|  Result BeginCodeSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop19OnFunctionBodyCountEj:
  170|  6.56k|  Result OnFunctionBodyCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17BeginFunctionBodyEjm:
  171|  5.12k|  Result BeginFunctionBody(Index index, Offset size) override {
  172|  5.12k|    return Result::Ok;
  173|  5.12k|  }
_ZN4wabt15BinaryReaderNop16OnLocalDeclCountEj:
  174|  19.6k|  Result OnLocalDeclCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11OnLocalDeclEjjNS_4TypeE:
  175|  8.92k|  Result OnLocalDecl(Index decl_index, Index count, Type type) override {
  176|  8.92k|    return Result::Ok;
  177|  8.92k|  }
_ZN4wabt15BinaryReaderNop13EndLocalDeclsEv:
  178|  22.3k|  Result EndLocalDecls() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnOpcodeBareEv:
  183|  1.34M|  Result OnOpcodeBare() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnOpcodeUint32Ej:
  188|  75.3k|  Result OnOpcodeUint32(uint32_t value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnOpcodeIndexEj:
  184|  86.2k|  Result OnOpcodeIndex(Index value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop20OnOpcodeUint32Uint32Ejj:
  189|  51.9k|  Result OnOpcodeUint32Uint32(uint32_t value, uint32_t value2) override {
  190|  51.9k|    return Result::Ok;
  191|  51.9k|  }
_ZN4wabt15BinaryReaderNop26OnOpcodeUint32Uint32Uint32Ejjj:
  194|  12.8k|                                    uint32_t value3) override {
  195|  12.8k|    return Result::Ok;
  196|  12.8k|  }
_ZN4wabt15BinaryReaderNop32OnOpcodeUint32Uint32Uint32Uint32Ejjjj:
  200|    604|                                          uint32_t value4) override {
  201|    604|    return Result::Ok;
  202|    604|  }
_ZN4wabt15BinaryReaderNop14OnOpcodeUint64Em:
  203|  35.3k|  Result OnOpcodeUint64(uint64_t value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11OnOpcodeF32Ej:
  204|  43.5k|  Result OnOpcodeF32(uint32_t value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11OnOpcodeF64Em:
  205|  10.2k|  Result OnOpcodeF64(uint64_t value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnOpcodeV128E4v128:
  206|    260|  Result OnOpcodeV128(v128 value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16OnOpcodeBlockSigENS_4TypeE:
  207|   763k|  Result OnOpcodeBlockSig(Type sig_type) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnOpcodeTypeENS_4TypeE:
  208|  3.30k|  Result OnOpcodeType(Type type) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16OnAtomicLoadExprENS_6OpcodeEjmm:
  212|    927|                          Address offset) override {
  213|    927|    return Result::Ok;
  214|    927|  }
_ZN4wabt15BinaryReaderNop17OnAtomicStoreExprENS_6OpcodeEjmm:
  218|  1.36k|                           Address offset) override {
  219|  1.36k|    return Result::Ok;
  220|  1.36k|  }
_ZN4wabt15BinaryReaderNop15OnAtomicRmwExprENS_6OpcodeEjmm:
  224|  8.97k|                         Address offset) override {
  225|  8.97k|    return Result::Ok;
  226|  8.97k|  }
_ZN4wabt15BinaryReaderNop22OnAtomicRmwCmpxchgExprENS_6OpcodeEjmm:
  230|  1.28k|                                Address offset) override {
  231|  1.28k|    return Result::Ok;
  232|  1.28k|  }
_ZN4wabt15BinaryReaderNop16OnAtomicWaitExprENS_6OpcodeEjmm:
  233|    595|  Result OnAtomicWaitExpr(Opcode, Index, Address, Address) override {
  234|    595|    return Result::Ok;
  235|    595|  }
_ZN4wabt15BinaryReaderNop17OnAtomicFenceExprEj:
  236|    200|  Result OnAtomicFenceExpr(uint32_t) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18OnAtomicNotifyExprENS_6OpcodeEjmm:
  237|    969|  Result OnAtomicNotifyExpr(Opcode, Index, Address, Address) override {
  238|    969|    return Result::Ok;
  239|    969|  }
_ZN4wabt15BinaryReaderNop12OnBinaryExprENS_6OpcodeE:
  240|   329k|  Result OnBinaryExpr(Opcode opcode) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11OnBlockExprENS_4TypeE:
  241|  14.2k|  Result OnBlockExpr(Type sig_type) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop8OnBrExprEj:
  242|  8.61k|  Result OnBrExpr(Index depth) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop10OnBrIfExprEj:
  243|  2.67k|  Result OnBrIfExpr(Index depth) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnBrTableExprEjPjj:
  246|  7.52k|                       Index default_target_depth) override {
  247|  7.52k|    return Result::Ok;
  248|  7.52k|  }
_ZN4wabt15BinaryReaderNop10OnCallExprEj:
  249|  8.63k|  Result OnCallExpr(Index func_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18OnCallIndirectExprEjj:
  250|  5.09k|  Result OnCallIndirectExpr(Index sig_index, Index table_index) override {
  251|  5.09k|    return Result::Ok;
  252|  5.09k|  }
_ZN4wabt15BinaryReaderNop13OnCallRefExprEv:
  253|  3.11k|  Result OnCallRefExpr() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11OnCatchExprEj:
  254|  4.94k|  Result OnCatchExpr(Index tag_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnCatchAllExprEv:
  255|  4.59k|  Result OnCatchAllExpr() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnCompareExprENS_6OpcodeE:
  256|   226k|  Result OnCompareExpr(Opcode opcode) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnConvertExprENS_6OpcodeE:
  257|   155k|  Result OnConvertExpr(Opcode opcode) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnDelegateExprEj:
  258|  11.0k|  Result OnDelegateExpr(Index depth) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop10OnDropExprEv:
  259|  3.05k|  Result OnDropExpr() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop10OnElseExprEv:
  260|  15.5k|  Result OnElseExpr() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop9OnEndExprEv:
  261|  80.0k|  Result OnEndExpr() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnF32ConstExprEj:
  262|  22.1k|  Result OnF32ConstExpr(uint32_t value_bits) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnF64ConstExprEm:
  263|  5.49k|  Result OnF64ConstExpr(uint64_t value_bits) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnV128ConstExprE4v128:
  264|    130|  Result OnV128ConstExpr(v128 value_bits) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnGlobalGetExprEj:
  265|  7.09k|  Result OnGlobalGetExpr(Index global_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnGlobalSetExprEj:
  266|  4.60k|  Result OnGlobalSetExpr(Index global_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnI32ConstExprEj:
  267|  6.06k|  Result OnI32ConstExpr(uint32_t value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnI64ConstExprEm:
  268|  13.9k|  Result OnI64ConstExpr(uint64_t value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop8OnIfExprENS_4TypeE:
  269|   881k|  Result OnIfExpr(Type sig_type) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop10OnLoadExprENS_6OpcodeEjmm:
  273|  37.8k|                    Address offset) override {
  274|  37.8k|    return Result::Ok;
  275|  37.8k|  }
_ZN4wabt15BinaryReaderNop14OnLocalGetExprEj:
  276|  5.76k|  Result OnLocalGetExpr(Index local_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnLocalSetExprEj:
  277|  6.87k|  Result OnLocalSetExpr(Index local_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnLocalTeeExprEj:
  278|  2.94k|  Result OnLocalTeeExpr(Index local_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop10OnLoopExprENS_4TypeE:
  279|  24.0k|  Result OnLoopExpr(Type sig_type) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16OnMemoryCopyExprEjj:
  280|  2.93k|  Result OnMemoryCopyExpr(Index destmemidx, Index srcmemidx) override {
  281|  2.93k|    return Result::Ok;
  282|  2.93k|  }
_ZN4wabt15BinaryReaderNop14OnDataDropExprEj:
  283|     57|  Result OnDataDropExpr(Index segment_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16OnMemoryFillExprEj:
  284|  12.5k|  Result OnMemoryFillExpr(Index memidx) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16OnMemoryGrowExprEj:
  285|  6.80k|  Result OnMemoryGrowExpr(Index memidx) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16OnMemoryInitExprEjj:
  286|     68|  Result OnMemoryInitExpr(Index segment_index, Index memidx) override {
  287|     68|    return Result::Ok;
  288|     68|  }
_ZN4wabt15BinaryReaderNop16OnMemorySizeExprEj:
  289|  4.34k|  Result OnMemorySizeExpr(Index memidx) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnTableCopyExprEjj:
  290|    110|  Result OnTableCopyExpr(Index dst_index, Index src_index) override {
  291|    110|    return Result::Ok;
  292|    110|  }
_ZN4wabt15BinaryReaderNop14OnElemDropExprEj:
  293|    153|  Result OnElemDropExpr(Index segment_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnTableInitExprEjj:
  294|    982|  Result OnTableInitExpr(Index segment_index, Index table_index) override {
  295|    982|    return Result::Ok;
  296|    982|  }
_ZN4wabt15BinaryReaderNop14OnTableGetExprEj:
  297|  19.5k|  Result OnTableGetExpr(Index table_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnTableSetExprEj:
  298|  3.85k|  Result OnTableSetExpr(Index table_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnTableGrowExprEj:
  299|  4.26k|  Result OnTableGrowExpr(Index table_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnTableSizeExprEj:
  300|    912|  Result OnTableSizeExpr(Index table_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnTableFillExprEj:
  301|     87|  Result OnTableFillExpr(Index table_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnRefFuncExprEj:
  302|  11.3k|  Result OnRefFuncExpr(Index func_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnRefNullExprENS_4TypeE:
  303|  1.05k|  Result OnRefNullExpr(Type type) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15OnRefIsNullExprEv:
  304|    759|  Result OnRefIsNullExpr() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop9OnNopExprEv:
  305|  82.3k|  Result OnNopExpr() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnRethrowExprEj:
  306|  23.8k|  Result OnRethrowExpr(Index depth) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnReturnExprEv:
  311|  5.81k|  Result OnReturnExpr() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16OnReturnCallExprEj:
  307|  1.84k|  Result OnReturnCallExpr(Index sig_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop24OnReturnCallIndirectExprEjj:
  308|  2.04k|  Result OnReturnCallIndirectExpr(Index sig_index, Index table_index) override {
  309|  2.04k|    return Result::Ok;
  310|  2.04k|  }
_ZN4wabt15BinaryReaderNop12OnSelectExprEjPNS_4TypeE:
  312|  9.85k|  Result OnSelectExpr(Index result_count, Type* result_types) override {
  313|  9.85k|    return Result::Ok;
  314|  9.85k|  }
_ZN4wabt15BinaryReaderNop11OnStoreExprENS_6OpcodeEjmm:
  318|  10.1k|                     Address offset) override {
  319|  10.1k|    return Result::Ok;
  320|  10.1k|  }
_ZN4wabt15BinaryReaderNop11OnThrowExprEj:
  321|  10.9k|  Result OnThrowExpr(Index depth) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnThrowRefExprEv:
  322|  6.52k|  Result OnThrowRefExpr() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop9OnTryExprENS_4TypeE:
  323|  37.9k|  Result OnTryExpr(Type sig_type) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnTryTableExprENS_4TypeERKNSt3__16vectorINS_11CatchClauseENS2_9allocatorIS4_EEEE:
  325|  1.61k|                        const CatchClauseVector& catches) override {
  326|  1.61k|    return Result::Ok;
  327|  1.61k|  }
_ZN4wabt15BinaryReaderNop11OnUnaryExprENS_6OpcodeE:
  328|   116k|  Result OnUnaryExpr(Opcode opcode) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnTernaryExprENS_6OpcodeE:
  329|  2.62k|  Result OnTernaryExpr(Opcode opcode) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17OnUnreachableExprEv:
  330|   760k|  Result OnUnreachableExpr() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15EndFunctionBodyEj:
  331|  18.5k|  Result EndFunctionBody(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14EndCodeSectionEv:
  332|    725|  Result EndCodeSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16OnSimdLaneOpExprENS_6OpcodeEm:
  333|  10.3k|  Result OnSimdLaneOpExpr(Opcode opcode, uint64_t value) override {
  334|  10.3k|    return Result::Ok;
  335|  10.3k|  }
_ZN4wabt15BinaryReaderNop19OnSimdShuffleOpExprENS_6OpcodeE4v128:
  350|    229|  Result OnSimdShuffleOpExpr(Opcode opcode, v128 value) override {
  351|    229|    return Result::Ok;
  352|    229|  }
_ZN4wabt15BinaryReaderNop18OnSimdLoadLaneExprENS_6OpcodeEjmmm:
  340|  4.18k|                            uint64_t value) override {
  341|  4.18k|    return Result::Ok;
  342|  4.18k|  }
_ZN4wabt15BinaryReaderNop19OnSimdStoreLaneExprENS_6OpcodeEjmmm:
  347|  1.08k|                             uint64_t value) override {
  348|  1.08k|    return Result::Ok;
  349|  1.08k|  }
_ZN4wabt15BinaryReaderNop15OnLoadSplatExprENS_6OpcodeEjmm:
  356|  2.14k|                         Address offset) override {
  357|  2.14k|    return Result::Ok;
  358|  2.14k|  }
_ZN4wabt15BinaryReaderNop14OnLoadZeroExprENS_6OpcodeEjmm:
  362|  1.70k|                        Address offset) override {
  363|  1.70k|    return Result::Ok;
  364|  1.70k|  }
_ZN4wabt15BinaryReaderNop16BeginElemSectionEm:
  367|  16.4k|  Result BeginElemSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18OnElemSegmentCountEj:
  368|  6.43k|  Result OnElemSegmentCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16BeginElemSegmentEjjh:
  371|  10.8k|                          uint8_t flags) override {
  372|  10.8k|    return Result::Ok;
  373|  10.8k|  }
_ZN4wabt15BinaryReaderNop24BeginElemSegmentInitExprEj:
  374|  10.1k|  Result BeginElemSegmentInitExpr(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop22EndElemSegmentInitExprEj:
  375|  5.07k|  Result EndElemSegmentInitExpr(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop21OnElemSegmentElemTypeEjNS_4TypeE:
  376|  5.60k|  Result OnElemSegmentElemType(Index index, Type elem_type) override {
  377|  5.60k|    return Result::Ok;
  378|  5.60k|  }
_ZN4wabt15BinaryReaderNop26OnElemSegmentElemExprCountEjj:
  379|  5.43k|  Result OnElemSegmentElemExprCount(Index index, Index count) override {
  380|  5.43k|    return Result::Ok;
  381|  5.43k|  }
_ZN4wabt15BinaryReaderNop13BeginElemExprEjj:
  382|  13.2k|  Result BeginElemExpr(Index elem_index, Index expr_index) override {
  383|  13.2k|    return Result::Ok;
  384|  13.2k|  }
_ZN4wabt15BinaryReaderNop11EndElemExprEjj:
  385|  12.6k|  Result EndElemExpr(Index elem_index, Index expr_index) override {
  386|  12.6k|    return Result::Ok;
  387|  12.6k|  }
_ZN4wabt15BinaryReaderNop14EndElemSegmentEj:
  388|  12.1k|  Result EndElemSegment(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14EndElemSectionEv:
  389|    140|  Result EndElemSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16BeginDataSectionEm:
  392|  6.95k|  Result BeginDataSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18OnDataSegmentCountEj:
  393|  2.44k|  Result OnDataSegmentCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16BeginDataSegmentEjjh:
  396|  7.10k|                          uint8_t flags) override {
  397|  7.10k|    return Result::Ok;
  398|  7.10k|  }
_ZN4wabt15BinaryReaderNop24BeginDataSegmentInitExprEj:
  399|  5.92k|  Result BeginDataSegmentInitExpr(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop22EndDataSegmentInitExprEj:
  400|  4.19k|  Result EndDataSegmentInitExpr(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17OnDataSegmentDataEjPKvm:
  403|  5.24k|                           Address size) override {
  404|  5.24k|    return Result::Ok;
  405|  5.24k|  }
_ZN4wabt15BinaryReaderNop14EndDataSegmentEj:
  406|  13.1k|  Result EndDataSegment(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14EndDataSectionEv:
  407|    225|  Result EndDataSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop21BeginDataCountSectionEm:
  410|    825|  Result BeginDataCountSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11OnDataCountEj:
  411|    294|  Result OnDataCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop19EndDataCountSectionEv:
  412|    735|  Result EndDataCountSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17BeginNamesSectionEm:
  415|   228k|  Result BeginNamesSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop22OnModuleNameSubsectionEjjm:
  418|   129k|                                Offset subsection_size) override {
  419|   129k|    return Result::Ok;
  420|   129k|  }
_ZN4wabt15BinaryReaderNop24OnFunctionNameSubsectionEjjm:
  424|  7.14k|                                  Offset subsection_size) override {
  425|  7.14k|    return Result::Ok;
  426|  7.14k|  }
_ZN4wabt15BinaryReaderNop20OnFunctionNamesCountEj:
  427|  6.53k|  Result OnFunctionNamesCount(Index num_functions) override {
  428|  6.53k|    return Result::Ok;
  429|  6.53k|  }
_ZN4wabt15BinaryReaderNop21OnLocalNameSubsectionEjjm:
  436|  47.0k|                               Offset subsection_size) override {
  437|  47.0k|    return Result::Ok;
  438|  47.0k|  }
_ZN4wabt15BinaryReaderNop24OnLocalNameFunctionCountEj:
  439|  46.1k|  Result OnLocalNameFunctionCount(Index num_functions) override {
  440|  46.1k|    return Result::Ok;
  441|  46.1k|  }
_ZN4wabt15BinaryReaderNop21OnLocalNameLocalCountEjj:
  443|  64.1k|                               Index num_locals) override {
  444|  64.1k|    return Result::Ok;
  445|  64.1k|  }
_ZN4wabt15BinaryReaderNop16OnNameSubsectionEjNS_21NameSectionSubsectionEm:
  455|   219k|                          Offset subsection_size) override {
  456|   219k|    return Result::Ok;
  457|   219k|  }
_ZN4wabt15BinaryReaderNop11OnNameCountEj:
  458|  27.9k|  Result OnNameCount(Index num_names) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15EndNamesSectionEv:
  451|  10.2k|  Result EndNamesSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17BeginRelocSectionEm:
  466|  31.3k|  Result BeginRelocSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15EndRelocSectionEv:
  476|  13.1k|  Result EndRelocSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18BeginDylinkSectionEm:
  500|  49.6k|  Result BeginDylinkSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnDylinkInfoEjjjj:
  504|  7.53k|                      uint32_t table_align) override {
  505|  7.53k|    return Result::Ok;
  506|  7.53k|  }
_ZN4wabt15BinaryReaderNop19OnDylinkImportCountEj:
  511|  3.62k|  Result OnDylinkImportCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop19OnDylinkExportCountEj:
  512|  4.50k|  Result OnDylinkExportCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnDylinkImportENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEES5_j:
  515|  2.72k|                        uint32_t flags) override {
  516|  2.72k|    return Result::Ok;
  517|  2.72k|  }
_ZN4wabt15BinaryReaderNop14OnDylinkExportENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEj:
  518|  2.09k|  Result OnDylinkExport(std::string_view name, uint32_t flags) override {
  519|  2.09k|    return Result::Ok;
  520|  2.09k|  }
_ZN4wabt15BinaryReaderNop19OnDylinkNeededCountEj:
  507|  7.22k|  Result OnDylinkNeededCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnDylinkNeededENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  508|  6.10k|  Result OnDylinkNeeded(std::string_view so_name) override {
  509|  6.10k|    return Result::Ok;
  510|  6.10k|  }
_ZN4wabt15BinaryReaderNop16EndDylinkSectionEv:
  521|  13.0k|  Result EndDylinkSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop26BeginTargetFeaturesSectionEm:
  524|  12.0k|  Result BeginTargetFeaturesSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnFeatureCountEj:
  525|  11.9k|  Result OnFeatureCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop9OnFeatureEhNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  526|  8.81k|  Result OnFeature(uint8_t prefix, std::string_view name) override {
  527|  8.81k|    return Result::Ok;
  528|  8.81k|  }
_ZN4wabt15BinaryReaderNop24EndTargetFeaturesSectionEv:
  529|  3.86k|  Result EndTargetFeaturesSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop25BeginGenericCustomSectionEm:
  532|   661k|  Result BeginGenericCustomSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop22OnGenericCustomSectionENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEPKvm:
  535|   661k|                                Offset size) override {
  536|   661k|    return Result::Ok;
  537|   661k|  };
_ZN4wabt15BinaryReaderNop23EndGenericCustomSectionEv:
  538|   661k|  Result EndGenericCustomSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop19BeginLinkingSectionEm:
  541|   190k|  Result BeginLinkingSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18OnSegmentInfoCountEj:
  580|  10.7k|  Result OnSegmentInfoCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop19OnInitFunctionCountEj:
  587|  1.71k|  Result OnInitFunctionCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnInitFunctionEjj:
  588|  10.6k|  Result OnInitFunction(uint32_t priority, Index symbol_index) override {
  589|  10.6k|    return Result::Ok;
  590|  10.6k|  }
_ZN4wabt15BinaryReaderNop13OnComdatCountEj:
  591|  6.93k|  Result OnComdatCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnComdatBeginENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEjj:
  594|  6.34k|                       Index count) override {
  595|  6.34k|    return Result::Ok;
  596|  6.34k|  }
_ZN4wabt15BinaryReaderNop13OnComdatEntryENS_10ComdatTypeEj:
  597|  69.0k|  Result OnComdatEntry(ComdatType kind, Index index) override {
  598|  69.0k|    return Result::Ok;
  599|  69.0k|  }
_ZN4wabt15BinaryReaderNop17EndLinkingSectionEv:
  600|  8.75k|  Result EndLinkingSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15BeginTagSectionEm:
  479|    565|  Result BeginTagSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop10OnTagCountEj:
  480|    106|  Result OnTagCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop9OnTagTypeEjj:
  481|  2.14k|  Result OnTagType(Index index, Index sig_index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13EndTagSectionEv:
  482|     90|  Result EndTagSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop24BeginCodeMetadataSectionENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEm:
  485|  39.0k|  Result BeginCodeMetadataSection(std::string_view name, Offset size) override {
  486|  39.0k|    return Result::Ok;
  487|  39.0k|  }
_ZN4wabt15BinaryReaderNop23OnCodeMetadataFuncCountEj:
  488|  31.8k|  Result OnCodeMetadataFuncCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop19OnCodeMetadataCountEjj:
  489|  26.5k|  Result OnCodeMetadataCount(Index function_index, Index count) override {
  490|  26.5k|    return Result::Ok;
  491|  26.5k|  }
_ZN4wabt15BinaryReaderNop14OnCodeMetadataEmPKvm:
  494|  30.5k|                        Address size) override {
  495|  30.5k|    return Result::Ok;
  496|  30.5k|  }
_ZN4wabt15BinaryReaderNop22EndCodeMetadataSectionEv:
  497|  2.67k|  Result EndCodeMetadataSection() override { return Result::Ok; }

_ZN4wabt17ReadBinaryOptionsC2ERKNS_8FeaturesEPNS_6StreamEbbb:
   41|  75.3k|      : features(features),
   42|  75.3k|        log_stream(log_stream),
   43|  75.3k|        read_debug_names(read_debug_names),
   44|  75.3k|        stop_on_first_error(stop_on_first_error),
   45|  75.3k|        fail_on_custom_section_error(fail_on_custom_section_error) {}
_ZN4wabt20BinaryReaderDelegate5StateC2EPKhm:
   73|  75.3k|        : data(data), size(size), offset(0) {}
_ZN4wabt20BinaryReaderDelegateD2Ev:
   80|   150k|  virtual ~BinaryReaderDelegate() {}
_ZN4wabt20BinaryReaderDelegate10OnSetStateEPKNS0_5StateE:
   83|  75.3k|  virtual void OnSetState(const State* s) { state = s; }

_ZN4wabt17MemcpyEndianAwareEPvPKvmmmmm:
   95|    136|                              size_t len) {
   96|       |#if WABT_BIG_ENDIAN
   97|       |  memcpy(static_cast<char*>(dst) + (dsize) - (len) - (doff),
   98|       |         static_cast<const char*>(src) + (ssize) - (len) - (soff), (len));
   99|       |#else
  100|    136|  memcpy(static_cast<char*>(dst) + (doff),
  101|    136|         static_cast<const char*>(src) + (soff), (len));
  102|    136|#endif
  103|    136|}
_ZNK4v1283u32Ei:
  122|    136|  uint32_t u32(int lane) const { return To<uint32_t>(lane); }
_ZN4wabt8LocationC2Em:
  220|  11.0M|  explicit Location(size_t offset) : offset(offset) {}
_ZNK4v1282ToIjEET_i:
  141|    136|  T To(int lane) const {
  142|    136|    static_assert(sizeof(T) <= sizeof(v), "Invalid cast!");
  143|    136|    assert((lane + 1) * sizeof(T) <= sizeof(v));
  144|    136|    T result;
  145|    136|    wabt::MemcpyEndianAware(&result, v, sizeof(result), sizeof(v), 0,
  146|    136|                            lane * sizeof(T), sizeof(result));
  147|    136|    return result;
  148|    136|  }
_ZN4wabt10ZeroMemoryIA14_mEEvRT_:
  172|  75.3k|void ZeroMemory(T& v) {
  173|  75.3k|  WABT_STATIC_ASSERT(std::is_trivial<T>::value);
  ------------------
  |  |   89|  75.3k|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
  174|  75.3k|  memset(&v, 0, sizeof(v));
  175|  75.3k|}
binary-reader-objdump.cc:_ZN4wabtL16GetRelocTypeNameENS_9RelocTypeE:
  421|  47.7k|static inline const char* GetRelocTypeName(RelocType reloc) {
  422|  47.7k|  return static_cast<size_t>(reloc) < kRelocTypeCount
  ------------------
  |  Branch (422:10): [True: 47.7k, False: 0]
  ------------------
  423|  47.7k|             ? g_reloc_type_name[static_cast<size_t>(reloc)]
  424|  47.7k|             : "<error_reloc_type>";
  425|  47.7k|}
binary-reader-objdump.cc:_ZN4wabtL11GetKindNameENS_12ExternalKindE:
  411|  15.3k|static inline const char* GetKindName(ExternalKind kind) {
  412|  15.3k|  return static_cast<size_t>(kind) < kExternalKindCount
  ------------------
  |  Branch (412:10): [True: 15.3k, False: 0]
  ------------------
  413|  15.3k|             ? g_kind_name[static_cast<size_t>(kind)]
  414|  15.3k|             : "<error_kind>";
  415|  15.3k|}
binary-reader.cc:_ZN4wabtL16GetRelocTypeNameENS_9RelocTypeE:
  421|  5.66k|static inline const char* GetRelocTypeName(RelocType reloc) {
  422|  5.66k|  return static_cast<size_t>(reloc) < kRelocTypeCount
  ------------------
  |  Branch (422:10): [True: 0, False: 5.66k]
  ------------------
  423|  5.66k|             ? g_reloc_type_name[static_cast<size_t>(reloc)]
  424|  5.66k|             : "<error_reloc_type>";
  425|  5.66k|}
_ZN4wabt6LimitsC2Ev:
  380|  91.2k|  Limits() = default;
_ZN4wabt10ZeroMemoryI4v128EEvRT_:
  172|    164|void ZeroMemory(T& v) {
  173|    164|  WABT_STATIC_ASSERT(std::is_trivial<T>::value);
  ------------------
  |  |   89|    164|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
  174|    164|  memset(&v, 0, sizeof(v));
  175|    164|}

_ZN4wabt5ErrorC2ENS_10ErrorLevelENS_8LocationENSt3__117basic_string_viewIcNS3_11char_traitsIcEEEE:
   47|  11.0M|      : error_level(error_level), loc(loc), message(message) {}
binary-reader.cc:_ZN4wabtL17GetErrorLevelNameENS_10ErrorLevelE:
   33|  2.21M|static inline const char* GetErrorLevelName(ErrorLevel error_level) {
   34|  2.21M|  switch (error_level) {
  ------------------
  |  Branch (34:11): [True: 0, False: 2.21M]
  ------------------
   35|   100k|    case ErrorLevel::Warning:
  ------------------
  |  Branch (35:5): [True: 100k, False: 2.11M]
  ------------------
   36|   100k|      return "warning";
   37|  2.11M|    case ErrorLevel::Error:
  ------------------
  |  Branch (37:5): [True: 2.11M, False: 100k]
  ------------------
   38|  2.11M|      return "error";
   39|  2.21M|  }
   40|      0|  WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
   41|  2.21M|}

_ZN4wabt8Features9EnableAllEv:
   30|  75.3k|  void EnableAll() {
   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
   32|  75.3k|#include "wabt/feature.def"
  ------------------
  |  |    1|       |/*
  |  |    2|       | * Copyright 2017 WebAssembly Community Group participants
  |  |    3|       | *
  |  |    4|       | * Licensed under the Apache License, Version 2.0 (the "License");
  |  |    5|       | * you may not use this file except in compliance with the License.
  |  |    6|       | * You may obtain a copy of the License at
  |  |    7|       | *
  |  |    8|       | *     http://www.apache.org/licenses/LICENSE-2.0
  |  |    9|       | *
  |  |   10|       | * Unless required by applicable law or agreed to in writing, software
  |  |   11|       | * distributed under the License is distributed on an "AS IS" BASIS,
  |  |   12|       | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  |  |   13|       | * See the License for the specific language governing permissions and
  |  |   14|       | * limitations under the License.
  |  |   15|       | */
  |  |   16|       |
  |  |   17|       |#ifndef WABT_FEATURE
  |  |   18|       |#error "You must define WABT_FEATURE before including this file."
  |  |   19|       |#endif
  |  |   20|       |
  |  |   21|       |/*
  |  |   22|       | *           variable          flag                       default  help
  |  |   23|       | * ========================================================================= */
  |  |   24|       |
  |  |   25|  75.3k|WABT_FEATURE(exceptions,          "exceptions",              false,   "Experimental exception handling")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   26|  75.3k|WABT_FEATURE(mutable_globals,     "mutable-globals",         true,    "Import/export mutable globals")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   27|  75.3k|WABT_FEATURE(sat_float_to_int,    "saturating-float-to-int", true,    "Saturating float-to-int operators")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   28|  75.3k|WABT_FEATURE(sign_extension,      "sign-extension",          true,    "Sign-extension operators")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   29|  75.3k|WABT_FEATURE(simd,                "simd",                    true,    "SIMD support")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   30|  75.3k|WABT_FEATURE(threads,             "threads",                 false,   "Threading support")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   31|  75.3k|WABT_FEATURE(function_references, "function-references",     false,   "Typed function references")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   32|  75.3k|WABT_FEATURE(multi_value,         "multi-value",             true,    "Multi-value")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   33|  75.3k|WABT_FEATURE(tail_call,           "tail-call",               false,   "Tail-call support")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   34|  75.3k|WABT_FEATURE(bulk_memory,         "bulk-memory",             true,    "Bulk-memory operations")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   35|  75.3k|WABT_FEATURE(reference_types,     "reference-types",         true,    "Reference types (externref)")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   36|  75.3k|WABT_FEATURE(annotations,         "annotations",             false,   "Custom annotation syntax")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   37|  75.3k|WABT_FEATURE(code_metadata,       "code-metadata",           false,   "Code metadata")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   38|  75.3k|WABT_FEATURE(gc,                  "gc",                      false,   "Garbage collection")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   39|  75.3k|WABT_FEATURE(memory64,            "memory64",                false,   "64-bit memory")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   40|  75.3k|WABT_FEATURE(multi_memory,        "multi-memory",            false,   "Multi-memory")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   41|  75.3k|WABT_FEATURE(extended_const,      "extended-const",          false,   "Extended constant expressions")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   42|  75.3k|WABT_FEATURE(relaxed_simd,        "relaxed-simd",            false,   "Relaxed SIMD")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  |  |   43|  75.3k|WABT_FEATURE(custom_page_sizes,   "custom-page-sizes",       false,   "Custom page sizes")
  |  |  ------------------
  |  |  |  |   31|  75.3k|#define WABT_FEATURE(variable, flag, default_, help) enable_##variable();
  |  |  ------------------
  ------------------
   33|  75.3k|#undef WABT_FEATURE
   34|  75.3k|  }
_ZNK4wabt8Features18exceptions_enabledEv:
   37|   118k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features17enable_exceptionsEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features22set_exceptions_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZN4wabt8Features22enable_mutable_globalsEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features27set_mutable_globals_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features24sat_float_to_int_enabledEv:
   37|  6.63k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features23enable_sat_float_to_intEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features28set_sat_float_to_int_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features22sign_extension_enabledEv:
   37|  9.54k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features21enable_sign_extensionEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features26set_sign_extension_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features12simd_enabledEv:
   37|   101k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features11enable_simdEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features16set_simd_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features15threads_enabledEv:
   37|  28.9k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features14enable_threadsEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features19set_threads_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features27function_references_enabledEv:
   37|  15.5k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features26enable_function_referencesEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features31set_function_references_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features19multi_value_enabledEv:
   37|   924k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features18enable_multi_valueEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features23set_multi_value_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features17tail_call_enabledEv:
   37|  4.05k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features16enable_tail_callEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features21set_tail_call_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features19bulk_memory_enabledEv:
   37|  22.1k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features18enable_bulk_memoryEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features23set_bulk_memory_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features23reference_types_enabledEv:
   37|  56.7k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features22enable_reference_typesEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features27set_reference_types_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZN4wabt8Features18enable_annotationsEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features23set_annotations_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features21code_metadata_enabledEv:
   37|   148k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features20enable_code_metadataEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features25set_code_metadata_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features10gc_enabledEv:
   37|  8.33k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features9enable_gcEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features14set_gc_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features16memory64_enabledEv:
   37|   168k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features15enable_memory64Ev:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features20set_memory64_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features20multi_memory_enabledEv:
   37|  40.4k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features19enable_multi_memoryEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features24set_multi_memory_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZN4wabt8Features21enable_extended_constEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features26set_extended_const_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features20relaxed_simd_enabledEv:
   37|  3.08k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features19enable_relaxed_simdEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features24set_relaxed_simd_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }
_ZNK4wabt8Features25custom_page_sizes_enabledEv:
   37|  1.31k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZN4wabt8Features24enable_custom_page_sizesEv:
   38|  75.3k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features29set_custom_page_sizes_enabledEb:
   40|  75.3k|  void set_##variable##_enabled(bool value) {                     \
   41|  75.3k|    variable##_enabled_ = value;                                  \
   42|  75.3k|    UpdateDependencies();                                         \
   43|  75.3k|  }

_ZN4wabt6OpcodeC2ENS0_4EnumE:
   52|  3.26M|  Opcode(Enum e) : enum_(e) {}
_ZNK4wabt6OpcodecvNS0_4EnumEEv:
   53|  5.39M|  operator Enum() const { return enum_; }
_ZNK4wabt6Opcode9HasPrefixEv:
   57|   300k|  bool HasPrefix() const { return GetInfo().prefix != 0; }
_ZNK4wabt6Opcode9GetPrefixEv:
   58|  20.1k|  uint8_t GetPrefix() const { return GetInfo().prefix; }
_ZNK4wabt6Opcode7GetCodeEv:
   59|   300k|  uint32_t GetCode() const { return GetInfo().code; }
_ZNK4wabt6Opcode9GetLengthEv:
   60|   296k|  size_t GetLength() const { return GetBytes().size(); }
_ZNK4wabt6Opcode7GetNameEv:
   61|   260k|  const char* GetName() const { return GetInfo().name; }
_ZN4wabt6Opcode12IsPrefixByteEh:
   86|  3.16M|  static bool IsPrefixByte(uint8_t byte) {
   87|  3.16M|    return byte == kMathPrefix || byte == kThreadsPrefix || byte == kSimdPrefix;
  ------------------
  |  Branch (87:12): [True: 29.1k, False: 3.14M]
  |  Branch (87:35): [True: 15.3k, False: 3.12M]
  |  Branch (87:61): [True: 132k, False: 2.99M]
  ------------------
   88|  3.16M|  }
_ZN4wabt6Opcode10PrefixCodeEhj:
  109|  3.17M|  static uint32_t PrefixCode(uint8_t prefix, uint32_t code) {
  110|  3.17M|    if (code >= (1 << MAX_OPCODE_BITS)) {
  ------------------
  |  |   32|  3.17M|#define MAX_OPCODE_BITS 9
  ------------------
  |  Branch (110:9): [True: 611, False: 3.17M]
  ------------------
  111|       |      // Clamp to (2^bits - 1), since we know that it is an invalid code.
  112|    611|      code = (1 << MAX_OPCODE_BITS) - 1;
  ------------------
  |  |   32|    611|#define MAX_OPCODE_BITS 9
  ------------------
  113|    611|    }
  114|  3.17M|    return (prefix << MAX_OPCODE_BITS) | code;
  ------------------
  |  |   32|  3.17M|#define MAX_OPCODE_BITS 9
  ------------------
  115|  3.17M|  }
_ZN4wabt6Opcode19EncodeInvalidOpcodeEj:
  129|  3.70k|  static Enum EncodeInvalidOpcode(uint32_t prefix_code) {
  130|  3.70k|    Enum result = static_cast<Enum>(~prefix_code + 1);
  131|  3.70k|    assert(result >= Invalid);
  132|  3.70k|    return result;
  133|  3.70k|  }
_ZN4wabt6Opcode19DecodeInvalidOpcodeENS0_4EnumEPhPj:
  137|  9.36k|                                  uint32_t* out_code) {
  138|  9.36k|    uint32_t prefix_code = ~static_cast<uint32_t>(e) + 1;
  139|  9.36k|    *out_prefix = prefix_code >> MAX_OPCODE_BITS;
  ------------------
  |  |   32|  9.36k|#define MAX_OPCODE_BITS 9
  ------------------
  140|  9.36k|    *out_code = prefix_code & 0xff;
  141|  9.36k|  }
_ZN4wabt6Opcode8FromCodeEj:
  150|  2.99M|inline Opcode Opcode::FromCode(uint32_t code) {
  151|  2.99M|  return FromCode(0, code);
  152|  2.99M|}
_ZN4wabt6Opcode8FromCodeEhj:
  155|  3.16M|inline Opcode Opcode::FromCode(uint8_t prefix, uint32_t code) {
  156|  3.16M|  uint32_t prefix_code = PrefixCode(prefix, code);
  157|       |
  158|  3.16M|  if (WABT_LIKELY(prefix_code < WABT_ARRAY_SIZE(WabtOpcodeCodeTable))) {
  ------------------
  |  |   73|  3.16M|#define WABT_LIKELY(x) __builtin_expect(!!(x), 1)
  |  |  ------------------
  |  |  |  Branch (73:24): [True: 3.16M, False: 0]
  |  |  ------------------
  ------------------
  159|  3.16M|    uint32_t value = WabtOpcodeCodeTable[prefix_code];
  160|       |    // The default value in the table is 0. That's a valid value, but only if
  161|       |    // the code is 0 (for nop).
  162|  3.16M|    if (WABT_LIKELY(value != 0 || code == 0)) {
  ------------------
  |  |   73|  3.93M|#define WABT_LIKELY(x) __builtin_expect(!!(x), 1)
  |  |  ------------------
  |  |  |  Branch (73:24): [True: 3.16M, False: 3.70k]
  |  |  |  Branch (73:44): [True: 2.40M, False: 764k]
  |  |  |  Branch (73:44): [True: 760k, False: 3.70k]
  |  |  ------------------
  ------------------
  163|  3.16M|      return Opcode(static_cast<Enum>(value));
  164|  3.16M|    }
  165|  3.16M|  }
  166|       |
  167|  3.70k|  return Opcode(EncodeInvalidOpcode(prefix_code));
  168|  3.16M|}

_ZN4wabt6ResultC2ENS0_4EnumE:
   29|   193M|  Result(Enum e) : enum_(e) {}
_ZNK4wabt6ResultcvNS0_4EnumEEv:
   30|   181M|  operator Enum() const { return enum_; }
_ZN4wabtorENS_6ResultES0_:
   37|   105k|inline Result operator|(Result lhs, Result rhs) {
   38|   105k|  return (lhs == Result::Error || rhs == Result::Error) ? Result::Error
  ------------------
  |  Branch (38:11): [True: 43.1k, False: 62.4k]
  |  Branch (38:35): [True: 55.7k, False: 6.67k]
  ------------------
   39|   105k|                                                        : Result::Ok;
   40|   105k|}
_ZN4wabt6ResultoRES0_:
   42|   105k|inline Result& Result::operator|=(Result rhs) {
   43|   105k|  enum_ = *this | rhs;
   44|   105k|  return *this;
   45|   105k|}
_ZN4wabt9SucceededENS_6ResultE:
   47|  38.1M|inline bool Succeeded(Result result) {
   48|  38.1M|  return result == Result::Ok;
   49|  38.1M|}
_ZN4wabt6FailedENS_6ResultE:
   50|   143M|inline bool Failed(Result result) {
   51|   143M|  return result == Result::Error;
   52|   143M|}

_ZN4wabt6Stream7WriteU8EjPKcNS_10PrintCharsE:
   88|  18.8M|               PrintChars print_chars = PrintChars::No) {
   89|  18.8M|    assert(value <= UINT8_MAX);
   90|  18.8M|    Write(static_cast<uint8_t>(value), desc, print_chars);
   91|  18.8M|  }
_ZN4wabt6Stream9WriteCharEcPKcNS_10PrintCharsE:
  110|  18.8M|                 PrintChars print_chars = PrintChars::No) {
  111|  18.8M|    WriteU8(static_cast<unsigned char>(c), desc, print_chars);
  112|  18.8M|  }
_ZN4wabt6Stream5WriteIhEEvRKT_PKcNS_10PrintCharsE:
  143|  18.8M|  void Write(const T& data, const char* desc, PrintChars print_chars) {
  144|       |#if WABT_BIG_ENDIAN
  145|       |    char tmp[sizeof(T)];
  146|       |    memcpy(tmp, &data, sizeof(tmp));
  147|       |    SwapBytesSized(tmp, sizeof(tmp));
  148|       |    WriteData(tmp, sizeof(tmp), desc, print_chars);
  149|       |#else
  150|  18.8M|    WriteData(&data, sizeof(data), desc, print_chars);
  151|  18.8M|#endif
  152|  18.8M|  }
_ZN4wabt6StreamD2Ev:
   38|   120k|  virtual ~Stream() = default;

_ZN4wabt12StringPrintfEPKcz:
   53|  28.1k|    StringPrintf(const char* format, ...) {
   54|  28.1k|  va_list args;
   55|  28.1k|  va_list args_copy;
   56|  28.1k|  va_start(args, format);
   57|  28.1k|  va_copy(args_copy, args);
   58|  28.1k|  size_t len = wabt_vsnprintf(nullptr, 0, format, args) + 1;  // For \0.
  ------------------
  |  |  288|  28.1k|#define wabt_vsnprintf vsnprintf
  ------------------
   59|  28.1k|  std::vector<char> buffer(len);
   60|  28.1k|  va_end(args);
   61|  28.1k|  wabt_vsnprintf(buffer.data(), len, format, args_copy);
  ------------------
  |  |  288|  28.1k|#define wabt_vsnprintf vsnprintf
  ------------------
   62|  28.1k|  va_end(args_copy);
   63|  28.1k|  return std::string(buffer.data(), len - 1);
   64|  28.1k|}

_ZN4wabtplERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEENS0_17basic_string_viewIcS3_EE:
   38|  15.6k|inline std::string operator+(const std::string& x, std::string_view y) {
   39|  15.6k|  return std::string_view(x) + y;
   40|  15.6k|}
_ZN4wabtplENSt3__117basic_string_viewIcNS0_11char_traitsIcEEEES4_:
   30|  31.3k|inline std::string operator+(std::string_view x, std::string_view y) {
   31|  31.3k|  std::string s;
   32|  31.3k|  s.reserve(x.size() + y.size());
   33|  31.3k|  s.append(x.data(), x.size());
   34|  31.3k|  s.append(y.data(), y.size());
   35|  31.3k|  return s;
   36|  31.3k|}
_ZN4wabtplENSt3__117basic_string_viewIcNS0_11char_traitsIcEEEEPKc:
   50|  15.6k|inline std::string operator+(std::string_view x, const char* y) {
   51|  15.6k|  return x + std::string_view(y);
   52|  15.6k|}

_ZN4wabt4TypeC2Ei:
   63|  1.05M|      : enum_(static_cast<Enum>(code)), type_index_(0) {
   64|  1.05M|    assert(!EnumIsReferenceWithIndex(enum_));
   65|  1.05M|  }
_ZN4wabt4TypeC2ENS0_4EnumE:
   66|  43.6k|  Type(Enum e) : enum_(e), type_index_(0) {
   67|  43.6k|    assert(!EnumIsReferenceWithIndex(enum_));
   68|  43.6k|  }
_ZN4wabt4TypeC2ENS0_4EnumEj:
   69|  13.5k|  Type(Enum e, Index type_index) : enum_(e), type_index_(type_index) {
   70|  13.5k|    assert(EnumIsReferenceWithIndex(e));
   71|  13.5k|  }
_ZNK4wabt4TypecvNS0_4EnumEEv:
   72|  1.04M|  constexpr operator Enum() const { return enum_; }
_ZN4wabteqENS_4TypeENS0_4EnumE:
   80|   948k|  friend constexpr bool operator==(const Type ty, const Enum code) {
   81|   948k|    return ty.enum_ == code;
   82|   948k|  }
_ZN4wabtneENS_4TypeENS0_4EnumE:
   83|  22.3k|  friend constexpr bool operator!=(const Type ty, const Enum code) {
   84|  22.3k|    return !(ty == code);
   85|  22.3k|  }
_ZNK4wabt4Type5IsRefEv:
   91|  25.2k|  bool IsRef() const {
   92|  25.2k|    return enum_ == Type::ExternRef || enum_ == Type::FuncRef ||
  ------------------
  |  Branch (92:12): [True: 21.1k, False: 4.16k]
  |  Branch (92:40): [True: 827, False: 3.33k]
  ------------------
   93|  25.2k|           enum_ == Type::Reference || enum_ == Type::ExnRef;
  ------------------
  |  Branch (93:12): [True: 1.10k, False: 2.23k]
  |  Branch (93:40): [True: 820, False: 1.41k]
  ------------------
   94|  25.2k|  }
_ZNK4wabt4Type7GetNameEv:
  103|  26.2k|  std::string GetName() const {
  104|  26.2k|    switch (enum_) {
  105|  3.86k|      case Type::I32:       return "i32";
  ------------------
  |  Branch (105:7): [True: 3.86k, False: 22.4k]
  ------------------
  106|  1.30k|      case Type::I64:       return "i64";
  ------------------
  |  Branch (106:7): [True: 1.30k, False: 24.9k]
  ------------------
  107|  1.31k|      case Type::F32:       return "f32";
  ------------------
  |  Branch (107:7): [True: 1.31k, False: 24.9k]
  ------------------
  108|  2.36k|      case Type::F64:       return "f64";
  ------------------
  |  Branch (108:7): [True: 2.36k, False: 23.9k]
  ------------------
  109|  1.51k|      case Type::V128:      return "v128";
  ------------------
  |  Branch (109:7): [True: 1.51k, False: 24.7k]
  ------------------
  110|     18|      case Type::I8:        return "i8";
  ------------------
  |  Branch (110:7): [True: 18, False: 26.2k]
  ------------------
  111|      9|      case Type::I16:       return "i16";
  ------------------
  |  Branch (111:7): [True: 9, False: 26.2k]
  ------------------
  112|    735|      case Type::ExnRef:    return "exnref";
  ------------------
  |  Branch (112:7): [True: 735, False: 25.5k]
  ------------------
  113|  1.10k|      case Type::FuncRef:   return "funcref";
  ------------------
  |  Branch (113:7): [True: 1.10k, False: 25.1k]
  ------------------
  114|     87|      case Type::Func:      return "func";
  ------------------
  |  Branch (114:7): [True: 87, False: 26.2k]
  ------------------
  115|     70|      case Type::Void:      return "void";
  ------------------
  |  Branch (115:7): [True: 70, False: 26.2k]
  ------------------
  116|     75|      case Type::Any:       return "any";
  ------------------
  |  Branch (116:7): [True: 75, False: 26.2k]
  ------------------
  117|  13.1k|      case Type::ExternRef: return "externref";
  ------------------
  |  Branch (117:7): [True: 13.1k, False: 13.1k]
  ------------------
  118|    414|      case Type::Reference:
  ------------------
  |  Branch (118:7): [True: 414, False: 25.8k]
  ------------------
  119|    414|        return StringPrintf("(ref %d)", type_index_);
  120|    290|      default:
  ------------------
  |  Branch (120:7): [True: 290, False: 25.9k]
  ------------------
  121|    290|        return StringPrintf("<type_index[%d]>", enum_);
  122|  26.2k|    }
  123|  26.2k|  }
_ZNK4wabt4Type14GetRefKindNameEv:
  125|    178|  const char* GetRefKindName() const {
  126|    178|    switch (enum_) {
  127|     20|      case Type::FuncRef:   return "func";
  ------------------
  |  Branch (127:7): [True: 20, False: 158]
  ------------------
  128|     79|      case Type::ExternRef: return "extern";
  ------------------
  |  Branch (128:7): [True: 79, False: 99]
  ------------------
  129|     30|      case Type::ExnRef:    return "exn";
  ------------------
  |  Branch (129:7): [True: 30, False: 148]
  ------------------
  130|      0|      case Type::Struct:    return "struct";
  ------------------
  |  Branch (130:7): [True: 0, False: 178]
  ------------------
  131|      0|      case Type::Array:     return "array";
  ------------------
  |  Branch (131:7): [True: 0, False: 178]
  ------------------
  132|     49|      default:              return "<invalid>";
  ------------------
  |  Branch (132:7): [True: 49, False: 129]
  ------------------
  133|    178|    }
  134|    178|  }
_ZNK4wabt4Type7IsIndexEv:
  148|   968k|  bool IsIndex() const { return static_cast<int32_t>(enum_) >= 0; }
_ZNK4wabt4Type8GetIndexEv:
  150|  21.8k|  Index GetIndex() const {
  151|  21.8k|    assert(IsIndex());
  152|  21.8k|    return static_cast<Index>(enum_);
  153|  21.8k|  }
_ZN4wabt4Type24EnumIsReferenceWithIndexENS0_4EnumE:
  183|  1.10M|  static bool EnumIsReferenceWithIndex(Enum value) {
  184|  1.10M|    return value == Type::Reference;
  185|  1.10M|  }

_ZN4wabt19BinaryReaderLoggingC2EPNS_6StreamEPNS_20BinaryReaderDelegateE:
   53|  75.3k|    : stream_(stream), reader_(forward), indent_(0) {}

_ZNK4wabt12ObjdumpNames3GetEj:
 2470|  7.24M|std::string_view ObjdumpNames::Get(Index index) const {
 2471|  7.24M|  auto iter = names.find(index);
 2472|  7.24M|  if (iter == names.end())
  ------------------
  |  Branch (2472:7): [True: 6.35M, False: 887k]
  ------------------
 2473|  6.35M|    return std::string_view();
 2474|   887k|  return iter->second;
 2475|  7.24M|}
_ZN4wabt12ObjdumpNames3SetEjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
 2477|   220k|void ObjdumpNames::Set(Index index, std::string_view name) {
 2478|   220k|  names[index] = std::string(name);
 2479|   220k|}
_ZNK4wabt17ObjdumpLocalNames3GetEjj:
 2482|  1.15k|                                        Index local_index) const {
 2483|  1.15k|  auto iter = names.find(std::pair<Index, Index>(function_index, local_index));
 2484|  1.15k|  if (iter == names.end())
  ------------------
  |  Branch (2484:7): [True: 1.03k, False: 119]
  ------------------
 2485|  1.03k|    return std::string_view();
 2486|    119|  return iter->second;
 2487|  1.15k|}
_ZN4wabt17ObjdumpLocalNames3SetEjjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
 2491|  10.2k|                            std::string_view name) {
 2492|  10.2k|  names[std::pair<Index, Index>(function_index, local_index)] =
 2493|  10.2k|      std::string(name);
 2494|  10.2k|}
_ZN4wabt17ReadBinaryObjdumpEPKhmPNS_14ObjdumpOptionsEPNS_12ObjdumpStateE:
 2499|  75.3k|                         ObjdumpState* state) {
 2500|  75.3k|  Features features;
 2501|  75.3k|  features.EnableAll();
 2502|  75.3k|  const bool kReadDebugNames = true;
 2503|  75.3k|  const bool kStopOnFirstError = false;
 2504|  75.3k|  const bool kFailOnCustomSectionError = false;
 2505|  75.3k|  ReadBinaryOptions read_options(features, options->log_stream, kReadDebugNames,
 2506|  75.3k|                                 kStopOnFirstError, kFailOnCustomSectionError);
 2507|       |
 2508|  75.3k|  switch (options->mode) {
 2509|  15.0k|    case ObjdumpMode::Prepass: {
  ------------------
  |  Branch (2509:5): [True: 15.0k, False: 60.2k]
  ------------------
 2510|  15.0k|      read_options.skip_function_bodies = true;
 2511|  15.0k|      BinaryReaderObjdumpPrepass reader(data, size, options, state);
 2512|  15.0k|      return ReadBinary(data, size, &reader, read_options);
 2513|      0|    }
 2514|  15.0k|    case ObjdumpMode::Disassemble: {
  ------------------
  |  Branch (2514:5): [True: 15.0k, False: 60.2k]
  ------------------
 2515|  15.0k|      BinaryReaderObjdumpDisassemble reader(data, size, options, state);
 2516|  15.0k|      return ReadBinary(data, size, &reader, read_options);
 2517|      0|    }
 2518|  45.1k|    default: {
  ------------------
  |  Branch (2518:5): [True: 45.1k, False: 30.1k]
  ------------------
 2519|  45.1k|      read_options.skip_function_bodies = true;
 2520|  45.1k|      BinaryReaderObjdump reader(data, size, options, state);
 2521|  45.1k|      return ReadBinary(data, size, &reader, read_options);
 2522|      0|    }
 2523|  75.3k|  }
 2524|  75.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_123BinaryReaderObjdumpBaseC2EPKhmPNS_14ObjdumpOptionsEPNS_12ObjdumpStateE:
   92|  75.3k|    : options_(options),
   93|  75.3k|      objdump_state_(objdump_state),
   94|  75.3k|      data_(data),
   95|  75.3k|      size_(size),
   96|  75.3k|      err_stream_(FileStream::CreateStderr()) {
   97|  75.3k|  ZeroMemory(section_starts_);
   98|  75.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase12BeginSectionEjNS_13BinarySectionEm:
  102|  10.9M|                                             Offset size) {
  103|  10.9M|  section_starts_[static_cast<size_t>(section_code)] = state->offset;
  104|  10.9M|  section_types_.push_back(section_code);
  105|  10.9M|  return Result::Ok;
  106|  10.9M|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase7OnErrorERKNS_5ErrorE:
  108|  11.0M|bool BinaryReaderObjdumpBase::OnError(const Error&) {
  109|       |  // Tell the BinaryReader that this error is "handled" for all passes other
  110|       |  // than the prepass. When the error is handled the default message will be
  111|       |  // suppressed.
  112|  11.0M|  return options_->mode != ObjdumpMode::Prepass;
  113|  11.0M|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase11BeginModuleEj:
  115|  74.9k|Result BinaryReaderObjdumpBase::BeginModule(uint32_t version) {
  116|  74.9k|  switch (options_->mode) {
  ------------------
  |  Branch (116:11): [True: 0, False: 74.9k]
  ------------------
  117|  14.9k|    case ObjdumpMode::Headers:
  ------------------
  |  Branch (117:5): [True: 14.9k, False: 59.9k]
  ------------------
  118|  14.9k|      printf("\n");
  119|  14.9k|      printf("Sections:\n\n");
  120|  14.9k|      break;
  121|  14.9k|    case ObjdumpMode::Details:
  ------------------
  |  Branch (121:5): [True: 14.9k, False: 59.9k]
  ------------------
  122|  14.9k|      printf("\n");
  123|  14.9k|      printf("Section Details:\n\n");
  124|  14.9k|      break;
  125|  14.9k|    case ObjdumpMode::Disassemble:
  ------------------
  |  Branch (125:5): [True: 14.9k, False: 59.9k]
  ------------------
  126|  14.9k|      printf("\n");
  127|  14.9k|      printf("Code Disassembly:\n\n");
  128|  14.9k|      break;
  129|  14.9k|    case ObjdumpMode::Prepass: {
  ------------------
  |  Branch (129:5): [True: 14.9k, False: 59.9k]
  ------------------
  130|  14.9k|      std::string_view basename = GetBasename(options_->filename);
  131|  14.9k|      if (basename == "-") {
  ------------------
  |  Branch (131:11): [True: 0, False: 14.9k]
  ------------------
  132|      0|        basename = "<stdin>";
  133|      0|      }
  134|  14.9k|      printf("%s:\tfile format wasm %#x\n", std::string(basename).c_str(),
  135|  14.9k|             version);
  136|  14.9k|      break;
  137|      0|    }
  138|  14.9k|    case ObjdumpMode::RawData:
  ------------------
  |  Branch (138:5): [True: 14.9k, False: 59.9k]
  ------------------
  139|  14.9k|      break;
  140|  74.9k|  }
  141|       |
  142|  74.9k|  return Result::Ok;
  143|  74.9k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass12BeginSectionEjNS_13BinarySectionEm:
  243|  2.19M|                      Offset size) override {
  244|  2.19M|    BinaryReaderObjdumpBase::BeginSection(section_index, section_code, size);
  245|  2.19M|    if (section_code != BinarySection::Custom) {
  ------------------
  |  Branch (245:9): [True: 17.2k, False: 2.17M]
  ------------------
  246|  17.2k|      objdump_state_->section_names.Set(section_index,
  247|  17.2k|                                        wabt::GetSectionName(section_code));
  248|  17.2k|    }
  249|  2.19M|    return Result::Ok;
  250|  2.19M|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass18BeginCustomSectionEjmNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  254|   132k|                            std::string_view section_name) override {
  255|   132k|    objdump_state_->section_names.Set(section_index, section_name);
  256|   132k|    return Result::Ok;
  257|   132k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass10OnFuncTypeEjjPNS_4TypeEjS3_:
  268|    443|                    Type* result_types) override {
  269|    443|    objdump_state_->function_param_counts[index] = param_count;
  270|    443|    return Result::Ok;
  271|    443|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass12OnImportFuncEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jj:
  388|  8.29k|                      Index sig_index) override {
  389|  8.29k|    SetFunctionName(func_index, module_name + "." + field_name);
  390|  8.29k|    return Result::Ok;
  391|  8.29k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass15SetFunctionNameEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  473|  17.3k|                                                 std::string_view name) {
  474|  17.3k|  objdump_state_->function_names.Set(index, name);
  475|  17.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass13OnImportTableEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jNS_4TypeEPKNS_6LimitsE:
  417|  4.12k|                       const Limits* elem_limits) override {
  418|  4.12k|    SetTableName(table_index, module_name + "." + field_name);
  419|  4.12k|    return Result::Ok;
  420|  4.12k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass12SetTableNameEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  494|  7.24k|                                              std::string_view name) {
  495|  7.24k|  objdump_state_->table_names.Set(index, name);
  496|  7.24k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass14OnImportGlobalEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jNS_4TypeEb:
  407|  1.05k|                        bool mutable_) override {
  408|  1.05k|    SetGlobalName(global_index, module_name + "." + field_name);
  409|  1.05k|    return Result::Ok;
  410|  1.05k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass13SetGlobalNameEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  478|  4.51k|                                               std::string_view name) {
  479|  4.51k|  objdump_state_->global_names.Set(index, name);
  480|  4.51k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass11OnImportTagEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jj:
  397|  2.21k|                     Index sig_index) override {
  398|  2.21k|    SetTagName(tag_index, module_name + "." + field_name);
  399|  2.21k|    return Result::Ok;
  400|  2.21k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass10SetTagNameEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  489|  6.50k|                                            std::string_view name) {
  490|  6.50k|  objdump_state_->tag_names.Set(index, name);
  491|  6.50k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass8OnExportEjNS_12ExternalKindEjNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEE:
  425|  5.12k|                  std::string_view name) override {
  426|  5.12k|    if (kind == ExternalKind::Func) {
  ------------------
  |  Branch (426:9): [True: 4.05k, False: 1.07k]
  ------------------
  427|  4.05k|      SetFunctionName(item_index, name);
  428|  4.05k|    } else if (kind == ExternalKind::Global) {
  ------------------
  |  Branch (428:16): [True: 232, False: 838]
  ------------------
  429|    232|      SetGlobalName(item_index, name);
  430|    232|    }
  431|  5.12k|    return Result::Ok;
  432|  5.12k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase8OnOpcodeENS_6OpcodeE:
  221|  3.19M|Result BinaryReaderObjdumpBase::OnOpcode(Opcode opcode) {
  222|  3.19M|  current_opcode = opcode;
  223|  3.19M|  return Result::Ok;
  224|  3.19M|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass12OnModuleNameENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  439|  23.4k|  Result OnModuleName(std::string_view name) override {
  440|  23.4k|    if (options_->mode == ObjdumpMode::Prepass) {
  ------------------
  |  Branch (440:9): [True: 23.4k, False: 0]
  ------------------
  441|  23.4k|      printf("module name: <" PRIstringview ">\n",
  442|  23.4k|             WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  23.4k|  static_cast<int>((x).length()), (x).data()
  ------------------
  443|  23.4k|    }
  444|  23.4k|    return Result::Ok;
  445|  23.4k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass14OnFunctionNameEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  259|  3.22k|  Result OnFunctionName(Index index, std::string_view name) override {
  260|  3.22k|    SetFunctionName(index, name);
  261|  3.22k|    return Result::Ok;
  262|  3.22k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass11OnLocalNameEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  307|  10.2k|                     std::string_view local_name) override {
  308|  10.2k|    SetLocalName(function_index, local_index, local_name);
  309|  10.2k|    return Result::Ok;
  310|  10.2k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass12SetLocalNameEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  484|  10.2k|                                              std::string_view name) {
  485|  10.2k|  objdump_state_->local_names.Set(function_index, local_index, name);
  486|  10.2k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass11OnNameEntryENS_21NameSectionSubsectionEjNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEE:
  275|  15.5k|                     std::string_view name) override {
  276|  15.5k|    switch (type) {
  277|       |      // TODO(sbc): remove OnFunctionName in favor of just using
  278|       |      // OnNameEntry so that this works
  279|       |      /*
  280|       |      case NameSectionSubsection::Function:
  281|       |        SetFunctionName(index, name);
  282|       |        break;
  283|       |      */
  284|    406|      case NameSectionSubsection::Type:
  ------------------
  |  Branch (284:7): [True: 406, False: 15.1k]
  ------------------
  285|    406|        SetTypeName(index, name);
  286|    406|        break;
  287|    561|      case NameSectionSubsection::Global:
  ------------------
  |  Branch (287:7): [True: 561, False: 15.0k]
  ------------------
  288|    561|        SetGlobalName(index, name);
  289|    561|        break;
  290|    645|      case NameSectionSubsection::Table:
  ------------------
  |  Branch (290:7): [True: 645, False: 14.9k]
  ------------------
  291|    645|        SetTableName(index, name);
  292|    645|        break;
  293|  11.8k|      case NameSectionSubsection::DataSegment:
  ------------------
  |  Branch (293:7): [True: 11.8k, False: 3.75k]
  ------------------
  294|  11.8k|        SetSegmentName(index, name);
  295|  11.8k|        break;
  296|    703|      case NameSectionSubsection::Tag:
  ------------------
  |  Branch (296:7): [True: 703, False: 14.8k]
  ------------------
  297|    703|        SetTagName(index, name);
  298|    703|        break;
  299|  1.44k|      default:
  ------------------
  |  Branch (299:7): [True: 1.44k, False: 14.1k]
  ------------------
  300|  1.44k|        break;
  301|  15.5k|    }
  302|  15.5k|    return Result::Ok;
  303|  15.5k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass11SetTypeNameEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  468|    406|                                             std::string_view name) {
  469|    406|  objdump_state_->type_names.Set(index, name);
  470|    406|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass14SetSegmentNameEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
  499|  35.0k|                                                std::string_view name) {
  500|  35.0k|  objdump_state_->segment_names.Set(index, name);
  501|  35.0k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase12OnRelocCountEjj:
  226|  30.0k|Result BinaryReaderObjdumpBase::OnRelocCount(Index count, Index section_index) {
  227|  30.0k|  if (section_index >= section_types_.size()) {
  ------------------
  |  Branch (227:7): [True: 11.8k, False: 18.1k]
  ------------------
  228|  11.8k|    err_stream_->Writef("invalid relocation section index: %" PRIindex "\n",
  229|  11.8k|                        section_index);
  230|  11.8k|    reloc_section_ = BinarySection::Invalid;
  231|  11.8k|    return Result::Error;
  232|  11.8k|  }
  233|  18.1k|  reloc_section_ = section_types_[section_index];
  234|  18.1k|  return Result::Ok;
  235|  30.0k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass7OnRelocENS_9RelocTypeEmjj:
  506|  10.3k|                                           uint32_t addend) {
  507|  10.3k|  BinaryReaderObjdumpBase::OnReloc(type, offset, index, addend);
  508|  10.3k|  if (reloc_section_ == BinarySection::Code) {
  ------------------
  |  Branch (508:7): [True: 628, False: 9.75k]
  ------------------
  509|    628|    objdump_state_->code_relocations.emplace_back(type, offset, index, addend);
  510|  9.75k|  } else if (reloc_section_ == BinarySection::Data) {
  ------------------
  |  Branch (510:14): [True: 1.39k, False: 8.35k]
  ------------------
  511|  1.39k|    objdump_state_->data_relocations.emplace_back(type, offset, index, addend);
  512|  1.39k|  }
  513|  10.3k|  return Result::Ok;
  514|  10.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass13OnSymbolCountEj:
  312|  30.3k|  Result OnSymbolCount(Index count) override {
  313|  30.3k|    objdump_state_->symtab.resize(count);
  314|  30.3k|    return Result::Ok;
  315|  30.3k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass12OnDataSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEjjj:
  322|  1.90k|                      uint32_t size) override {
  323|  1.90k|    objdump_state_->symtab[index] = {SymbolType::Data, std::string(name), 0};
  324|  1.90k|    return Result::Ok;
  325|  1.90k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass16OnFunctionSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
  330|  42.8k|                          Index func_index) override {
  331|  42.8k|    if (!name.empty()) {
  ------------------
  |  Branch (331:9): [True: 1.81k, False: 41.0k]
  ------------------
  332|  1.81k|      SetFunctionName(func_index, name);
  333|  1.81k|    }
  334|  42.8k|    objdump_state_->symtab[index] = {SymbolType::Function, std::string(name),
  335|  42.8k|                                     func_index};
  336|  42.8k|    return Result::Ok;
  337|  42.8k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass14OnGlobalSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
  342|  22.8k|                        Index global_index) override {
  343|  22.8k|    if (!name.empty()) {
  ------------------
  |  Branch (343:9): [True: 2.66k, False: 20.1k]
  ------------------
  344|  2.66k|      SetGlobalName(global_index, name);
  345|  2.66k|    }
  346|  22.8k|    objdump_state_->symtab[index] = {SymbolType::Global, std::string(name),
  347|  22.8k|                                     global_index};
  348|  22.8k|    return Result::Ok;
  349|  22.8k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass15OnSectionSymbolEjjj:
  353|  39.0k|                         Index section_index) override {
  354|  39.0k|    objdump_state_->symtab[index] = {SymbolType::Section,
  355|  39.0k|                                     std::string(GetSectionName(section_index)),
  356|  39.0k|                                     section_index};
  357|  39.0k|    return Result::Ok;
  358|  39.0k|  }
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase14GetSectionNameEj:
  163|  6.77M|std::string_view BinaryReaderObjdumpBase::GetSectionName(Index index) const {
  164|  6.77M|  return objdump_state_->section_names.Get(index);
  165|  6.77M|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass11OnTagSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
  363|  11.1k|                     Index tag_index) override {
  364|  11.1k|    if (!name.empty()) {
  ------------------
  |  Branch (364:9): [True: 3.58k, False: 7.53k]
  ------------------
  365|  3.58k|      SetTagName(tag_index, name);
  366|  3.58k|    }
  367|  11.1k|    objdump_state_->symtab[index] = {SymbolType::Tag, std::string(name),
  368|  11.1k|                                     tag_index};
  369|  11.1k|    return Result::Ok;
  370|  11.1k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass13OnTableSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
  375|  6.17k|                       Index table_index) override {
  376|  6.17k|    if (!name.empty()) {
  ------------------
  |  Branch (376:9): [True: 2.47k, False: 3.69k]
  ------------------
  377|  2.47k|      SetTableName(table_index, name);
  378|  2.47k|    }
  379|  6.17k|    objdump_state_->symtab[index] = {SymbolType::Table, std::string(name),
  380|  6.17k|                                     table_index};
  381|  6.17k|    return Result::Ok;
  382|  6.17k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_126BinaryReaderObjdumpPrepass13OnSegmentInfoEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEmj:
  450|  23.2k|                       uint32_t flags) override {
  451|  23.2k|    SetSegmentName(index, name);
  452|  23.2k|    return Result::Ok;
  453|  23.2k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble10OnFunctionEjj:
  998|  17.1k|                                                  Index sig_index) {
  999|  17.1k|  objdump_state_->function_types[index] = sig_index;
 1000|  17.1k|  return Result::Ok;
 1001|  17.1k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble17BeginFunctionBodyEjm:
 1004|  4.02k|                                                         Offset size) {
 1005|  4.02k|  printf("%06" PRIzx " func[%" PRIindex "]", GetPrintOffset(state->offset),
 1006|  4.02k|         index);
 1007|  4.02k|  auto name = GetFunctionName(index);
 1008|  4.02k|  if (!name.empty()) {
  ------------------
  |  Branch (1008:7): [True: 19, False: 4.00k]
  ------------------
 1009|     19|    printf(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|     19|  static_cast<int>((x).length()), (x).data()
  ------------------
 1010|     19|  }
 1011|  4.02k|  printf(":\n");
 1012|       |
 1013|  4.02k|  last_opcode_end = 0;
 1014|  4.02k|  in_function_body = true;
 1015|  4.02k|  current_function_index = index;
 1016|  4.02k|  auto type_index = objdump_state_->function_types[index];
 1017|  4.02k|  local_index_ = objdump_state_->function_param_counts[type_index];
 1018|  4.02k|  return Result::Ok;
 1019|  4.02k|}
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase14GetPrintOffsetEm:
  215|   156k|Offset BinaryReaderObjdumpBase::GetPrintOffset(Offset offset) const {
  216|   156k|  return options_->section_offsets
  ------------------
  |  Branch (216:10): [True: 0, False: 156k]
  ------------------
  217|   156k|             ? offset - GetSectionStart(BinarySection::Code)
  218|   156k|             : offset;
  219|   156k|}
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase15GetSectionStartENS_13BinarySectionE:
   68|  47.7k|  Offset GetSectionStart(BinarySection section_code) const {
   69|  47.7k|    return section_starts_[static_cast<size_t>(section_code)];
   70|  47.7k|  }
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase15GetFunctionNameEj:
  149|   300k|std::string_view BinaryReaderObjdumpBase::GetFunctionName(Index index) const {
  150|   300k|  return objdump_state_->function_names.Get(index);
  151|   300k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble16OnLocalDeclCountEj:
  615|  3.95k|Result BinaryReaderObjdumpDisassemble::OnLocalDeclCount(Index count) {
  616|  3.95k|  if (!in_function_body) {
  ------------------
  |  Branch (616:7): [True: 0, False: 3.95k]
  ------------------
  617|      0|    return Result::Ok;
  618|      0|  }
  619|  3.95k|  current_opcode_offset = state->offset;
  620|  3.95k|  return Result::Ok;
  621|  3.95k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble11OnLocalDeclEjjNS_4TypeE:
  625|  1.97k|                                                   Type type) {
  626|  1.97k|  if (!in_function_body) {
  ------------------
  |  Branch (626:7): [True: 0, False: 1.97k]
  ------------------
  627|      0|    return Result::Ok;
  628|      0|  }
  629|  1.97k|  Offset offset = current_opcode_offset;
  630|  1.97k|  size_t data_size = state->offset - offset;
  631|       |
  632|  1.97k|  printf(" %06" PRIzx ":", GetPrintOffset(offset));
  633|  6.25k|  for (size_t i = 0; i < data_size && i < IMMEDIATE_OCTET_COUNT;
  ------------------
  |  |  613|  4.27k|#define IMMEDIATE_OCTET_COUNT 9
  ------------------
  |  Branch (633:22): [True: 4.27k, False: 1.97k]
  |  Branch (633:39): [True: 4.27k, False: 1]
  ------------------
  634|  4.27k|       i++, offset++) {
  635|  4.27k|    printf(" %02x", data_[offset]);
  636|  4.27k|  }
  637|  15.4k|  for (size_t i = data_size; i < IMMEDIATE_OCTET_COUNT; i++) {
  ------------------
  |  |  613|  15.4k|#define IMMEDIATE_OCTET_COUNT 9
  ------------------
  |  Branch (637:30): [True: 13.5k, False: 1.97k]
  ------------------
  638|  13.5k|    printf("   ");
  639|  13.5k|  }
  640|  1.97k|  printf(" | local[");
  641|  1.97k|  if (count > 0) {
  ------------------
  |  Branch (641:7): [True: 1.91k, False: 63]
  ------------------
  642|  1.91k|    printf("%" PRIindex, local_index_);
  ------------------
  |  |   84|  1.91k|#define PRIindex "u"
  ------------------
  643|       |
  644|  1.91k|    if (count != 1) {
  ------------------
  |  Branch (644:9): [True: 1.67k, False: 239]
  ------------------
  645|  1.67k|      printf("..%" PRIindex "", local_index_ + count - 1);
  646|  1.67k|    }
  647|  1.91k|    local_index_ += count;
  648|  1.91k|  }
  649|  1.97k|  printf("] type=%s\n", type.GetName().c_str());
  650|       |
  651|  1.97k|  last_opcode_end = current_opcode_offset + data_size;
  652|  1.97k|  current_opcode_offset = last_opcode_end;
  653|       |
  654|  1.97k|  return Result::Ok;
  655|  1.97k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble8OnOpcodeENS_6OpcodeE:
  582|   682k|Result BinaryReaderObjdumpDisassemble::OnOpcode(Opcode opcode) {
  583|   682k|  BinaryReaderObjdumpBase::OnOpcode(opcode);
  584|   682k|  if (!in_function_body) {
  ------------------
  |  Branch (584:7): [True: 531k, False: 150k]
  ------------------
  585|   531k|    return Result::Ok;
  586|   531k|  }
  587|   150k|  if (options_->debug) {
  ------------------
  |  Branch (587:7): [True: 0, False: 150k]
  ------------------
  588|      0|    const char* opcode_name = opcode.GetName();
  589|      0|    err_stream_->Writef("on_opcode: %#" PRIzx ": %s\n", state->offset,
  590|      0|                        opcode_name);
  591|      0|  }
  592|       |
  593|   150k|  if (last_opcode_end) {
  ------------------
  |  Branch (593:7): [True: 147k, False: 3.52k]
  ------------------
  594|       |    // Takes care of cases where opcode's bytes was a non-canonical leb128
  595|       |    // encoding. In this case, opcode.GetLength() under-reports the length,
  596|       |    // since it canonicalizes the opcode.
  597|   147k|    if (state->offset < last_opcode_end + opcode.GetLength()) {
  ------------------
  |  Branch (597:9): [True: 0, False: 147k]
  ------------------
  598|      0|      Opcode missing_opcode = Opcode::FromCode(data_[last_opcode_end]);
  599|      0|      const char* opcode_name = missing_opcode.GetName();
  600|      0|      fprintf(stderr,
  601|      0|              "error: %#" PRIzx " missing opcode callback at %#" PRIzx
  602|      0|              " (%#02x=%s)\n",
  603|      0|              state->offset, last_opcode_end + 1, data_[last_opcode_end],
  604|      0|              opcode_name);
  605|      0|      return Result::Error;
  606|      0|    }
  607|   147k|  }
  608|       |
  609|   150k|  current_opcode_offset = state->offset;
  610|   150k|  return Result::Ok;
  611|   150k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble12OnOpcodeBareEv:
  737|   374k|Result BinaryReaderObjdumpDisassemble::OnOpcodeBare() {
  738|   374k|  if (!in_function_body) {
  ------------------
  |  Branch (738:7): [True: 276k, False: 97.5k]
  ------------------
  739|   276k|    return Result::Ok;
  740|   276k|  }
  741|  97.5k|  LogOpcode(0, nullptr);
  742|  97.5k|  return Result::Ok;
  743|   374k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble9LogOpcodeEPKcz:
  657|   150k|void BinaryReaderObjdumpDisassemble::LogOpcode(const char* fmt, ...) {
  658|       |  // BinaryReaderObjdumpDisassemble is only used to disassembly function bodies
  659|       |  // so this should never be called for instructions outside of function bodies
  660|       |  // (i.e. init expresions).
  661|   150k|  assert(in_function_body);
  662|   150k|  if (skip_next_opcode_) {
  ------------------
  |  Branch (662:7): [True: 1.30k, False: 149k]
  ------------------
  663|  1.30k|    skip_next_opcode_ = false;
  664|  1.30k|    return;
  665|  1.30k|  }
  666|   149k|  const Offset immediate_len = state->offset - current_opcode_offset;
  667|   149k|  const Offset opcode_size = current_opcode.GetLength();
  668|   149k|  const Offset total_size = opcode_size + immediate_len;
  669|       |  // current_opcode_offset has already read past this opcode; rewind it by the
  670|       |  // size of this opcode, which may be more than one byte.
  671|   149k|  Offset offset = current_opcode_offset - opcode_size;
  672|   149k|  const Offset offset_end = offset + total_size;
  673|       |
  674|   149k|  bool first_line = true;
  675|   299k|  while (offset < offset_end) {
  ------------------
  |  Branch (675:10): [True: 150k, False: 149k]
  ------------------
  676|       |    // Print bytes, but only display a maximum of IMMEDIATE_OCTET_COUNT on each
  677|       |    // line.
  678|   150k|    printf(" %06" PRIzx ":", GetPrintOffset(offset));
  679|   150k|    size_t i;
  680|   416k|    for (i = 0; offset < offset_end && i < IMMEDIATE_OCTET_COUNT;
  ------------------
  |  |  613|   267k|#define IMMEDIATE_OCTET_COUNT 9
  ------------------
  |  Branch (680:17): [True: 267k, False: 149k]
  |  Branch (680:40): [True: 265k, False: 1.81k]
  ------------------
  681|   265k|         ++i, ++offset) {
  682|   265k|      printf(" %02x", data_[offset]);
  683|   265k|    }
  684|       |    // Fill the rest of the remaining space with spaces.
  685|  1.24M|    for (; i < IMMEDIATE_OCTET_COUNT; ++i) {
  ------------------
  |  |  613|  1.24M|#define IMMEDIATE_OCTET_COUNT 9
  ------------------
  |  Branch (685:12): [True: 1.09M, False: 150k]
  ------------------
  686|  1.09M|      printf("   ");
  687|  1.09M|    }
  688|   150k|    printf(" | ");
  689|       |
  690|   150k|    if (first_line) {
  ------------------
  |  Branch (690:9): [True: 149k, False: 1.81k]
  ------------------
  691|   149k|      first_line = false;
  692|       |
  693|       |      // Print disassembly.
  694|   149k|      int indent_level = this->indent_level;
  695|   149k|      switch (current_opcode) {
  696|    327|        case Opcode::Else:
  ------------------
  |  Branch (696:9): [True: 327, False: 148k]
  ------------------
  697|    662|        case Opcode::Catch:
  ------------------
  |  Branch (697:9): [True: 335, False: 148k]
  ------------------
  698|  1.18k|        case Opcode::CatchAll:
  ------------------
  |  Branch (698:9): [True: 518, False: 148k]
  ------------------
  699|  1.18k|          indent_level--;
  700|  1.18k|          break;
  701|   147k|        default:
  ------------------
  |  Branch (701:9): [True: 147k, False: 1.18k]
  ------------------
  702|   147k|          break;
  703|   149k|      }
  704|  24.1M|      for (int j = 0; j < indent_level; j++) {
  ------------------
  |  Branch (704:23): [True: 24.0M, False: 149k]
  ------------------
  705|  24.0M|        printf("  ");
  706|  24.0M|      }
  707|       |
  708|   149k|      const char* opcode_name = current_opcode.GetName();
  709|   149k|      printf("%s", opcode_name);
  710|   149k|      if (fmt) {
  ------------------
  |  Branch (710:11): [True: 48.9k, False: 100k]
  ------------------
  711|  48.9k|        printf(" ");
  712|  48.9k|        va_list args;
  713|  48.9k|        va_start(args, fmt);
  714|  48.9k|        vprintf(fmt, args);
  715|  48.9k|        va_end(args);
  716|  48.9k|      }
  717|   149k|    }
  718|       |
  719|   150k|    printf("\n");
  720|   150k|  }
  721|       |
  722|   149k|  last_opcode_end = state->offset;
  723|       |
  724|       |  // Print relocation after then full (potentially multi-line) instruction.
  725|   149k|  if (options_->relocs &&
  ------------------
  |  Branch (725:7): [True: 0, False: 149k]
  ------------------
  726|   149k|      next_reloc < objdump_state_->code_relocations.size()) {
  ------------------
  |  Branch (726:7): [True: 0, False: 0]
  ------------------
  727|      0|    const Reloc& reloc = objdump_state_->code_relocations[next_reloc];
  728|      0|    Offset code_start = GetSectionStart(BinarySection::Code);
  729|      0|    Offset abs_offset = code_start + reloc.offset;
  730|      0|    if (last_opcode_end > abs_offset) {
  ------------------
  |  Branch (730:9): [True: 0, False: 0]
  ------------------
  731|      0|      PrintRelocation(reloc, abs_offset);
  732|      0|      next_reloc++;
  733|      0|    }
  734|      0|  }
  735|   149k|}
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase13GetSymbolNameEj:
  180|   105k|    Index symbol_index) const {
  181|   105k|  if (symbol_index >= objdump_state_->symtab.size())
  ------------------
  |  Branch (181:7): [True: 74.5k, False: 30.4k]
  ------------------
  182|  74.5k|    return "<illegal_symbol_index>";
  183|  30.4k|  ObjdumpSymbol& sym = objdump_state_->symtab[symbol_index];
  184|  30.4k|  switch (sym.kind) {
  ------------------
  |  Branch (184:11): [True: 0, False: 30.4k]
  ------------------
  185|  16.7k|    case SymbolType::Function:
  ------------------
  |  Branch (185:5): [True: 16.7k, False: 13.7k]
  ------------------
  186|  16.7k|      return GetFunctionName(sym.index);
  187|    270|    case SymbolType::Data:
  ------------------
  |  Branch (187:5): [True: 270, False: 30.2k]
  ------------------
  188|    270|      return sym.name;
  189|  3.51k|    case SymbolType::Global:
  ------------------
  |  Branch (189:5): [True: 3.51k, False: 26.9k]
  ------------------
  190|  3.51k|      return GetGlobalName(sym.index);
  191|  2.42k|    case SymbolType::Section:
  ------------------
  |  Branch (191:5): [True: 2.42k, False: 28.0k]
  ------------------
  192|  2.42k|      return GetSectionName(sym.index);
  193|  2.49k|    case SymbolType::Tag:
  ------------------
  |  Branch (193:5): [True: 2.49k, False: 27.9k]
  ------------------
  194|  2.49k|      return GetTagName(sym.index);
  195|  5.05k|    case SymbolType::Table:
  ------------------
  |  Branch (195:5): [True: 5.05k, False: 25.4k]
  ------------------
  196|  5.05k|      return GetTableName(sym.index);
  197|  30.4k|  }
  198|      0|  WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
  199|  30.4k|}
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase13GetGlobalNameEj:
  153|  71.6k|std::string_view BinaryReaderObjdumpBase::GetGlobalName(Index index) const {
  154|  71.6k|  return objdump_state_->global_names.Get(index);
  155|  71.6k|}
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase10GetTagNameEj:
  167|  31.8k|std::string_view BinaryReaderObjdumpBase::GetTagName(Index index) const {
  168|  31.8k|  return objdump_state_->tag_names.Get(index);
  169|  31.8k|}
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase12GetTableNameEj:
  175|  17.6k|std::string_view BinaryReaderObjdumpBase::GetTableName(Index index) const {
  176|  17.6k|  return objdump_state_->table_names.Get(index);
  177|  17.6k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble14OnOpcodeUint32Ej:
  783|  20.1k|Result BinaryReaderObjdumpDisassemble::OnOpcodeUint32(uint32_t value) {
  784|  20.1k|  if (!in_function_body) {
  ------------------
  |  Branch (784:7): [True: 15.2k, False: 4.92k]
  ------------------
  785|  15.2k|    return Result::Ok;
  786|  15.2k|  }
  787|  4.92k|  std::string_view name;
  788|  4.92k|  if (current_opcode == Opcode::DataDrop &&
  ------------------
  |  Branch (788:7): [True: 52, False: 4.87k]
  |  Branch (788:7): [True: 3, False: 4.92k]
  ------------------
  789|  4.92k|      !(name = GetSegmentName(value)).empty()) {
  ------------------
  |  Branch (789:7): [True: 3, False: 49]
  ------------------
  790|      3|    LogOpcode("%d <" PRIstringview ">", value,
  791|      3|              WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|      3|  static_cast<int>((x).length()), (x).data()
  ------------------
  792|  4.92k|  } else {
  793|  4.92k|    LogOpcode("%u", value);
  794|  4.92k|  }
  795|  4.92k|  return Result::Ok;
  796|  20.1k|}
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase14GetSegmentNameEj:
  171|  46.6k|std::string_view BinaryReaderObjdumpBase::GetSegmentName(Index index) const {
  172|  46.6k|  return objdump_state_->segment_names.Get(index);
  173|  46.6k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble13OnOpcodeIndexEj:
  745|  26.7k|Result BinaryReaderObjdumpDisassemble::OnOpcodeIndex(Index value) {
  746|  26.7k|  if (!in_function_body) {
  ------------------
  |  Branch (746:7): [True: 19.6k, False: 7.02k]
  ------------------
  747|  19.6k|    return Result::Ok;
  748|  19.6k|  }
  749|  7.02k|  std::string_view name;
  750|  7.02k|  if (current_opcode == Opcode::Call &&
  ------------------
  |  Branch (750:7): [True: 1.09k, False: 5.93k]
  |  Branch (750:7): [True: 121, False: 6.90k]
  ------------------
  751|  7.02k|      !(name = GetFunctionName(value)).empty()) {
  ------------------
  |  Branch (751:7): [True: 121, False: 976]
  ------------------
  752|    121|    LogOpcode("%d <" PRIstringview ">", value,
  753|    121|              WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|    121|  static_cast<int>((x).length()), (x).data()
  ------------------
  754|  6.90k|  } else if (current_opcode == Opcode::Throw &&
  ------------------
  |  Branch (754:14): [True: 1.40k, False: 5.49k]
  |  Branch (754:14): [True: 258, False: 6.65k]
  ------------------
  755|  6.90k|             !(name = GetTagName(value)).empty()) {
  ------------------
  |  Branch (755:14): [True: 258, False: 1.15k]
  ------------------
  756|    258|    LogOpcode("%d <" PRIstringview ">", value,
  757|    258|              WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|    258|  static_cast<int>((x).length()), (x).data()
  ------------------
  758|  6.65k|  } else if ((current_opcode == Opcode::GlobalGet ||
  ------------------
  |  Branch (758:14): [True: 18, False: 6.63k]
  |  Branch (758:15): [True: 440, False: 6.21k]
  ------------------
  759|  6.65k|              current_opcode == Opcode::GlobalSet) &&
  ------------------
  |  Branch (759:15): [True: 1.01k, False: 5.19k]
  ------------------
  760|  6.65k|             !(name = GetGlobalName(value)).empty()) {
  ------------------
  |  Branch (760:14): [True: 18, False: 1.43k]
  ------------------
  761|     18|    LogOpcode("%d <" PRIstringview ">", value,
  762|     18|              WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|     18|  static_cast<int>((x).length()), (x).data()
  ------------------
  763|  6.63k|  } else if ((current_opcode == Opcode::LocalGet ||
  ------------------
  |  Branch (763:14): [True: 100, False: 6.53k]
  |  Branch (763:15): [True: 518, False: 6.11k]
  ------------------
  764|  6.63k|              current_opcode == Opcode::LocalSet) &&
  ------------------
  |  Branch (764:15): [True: 632, False: 5.48k]
  ------------------
  765|  6.63k|             !(name = GetLocalName(current_function_index, value)).empty()) {
  ------------------
  |  Branch (765:14): [True: 100, False: 1.05k]
  ------------------
  766|    100|    LogOpcode("%d <" PRIstringview ">", value,
  767|    100|              WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|    100|  static_cast<int>((x).length()), (x).data()
  ------------------
  768|  6.53k|  } else {
  769|  6.53k|    LogOpcode("%d", value);
  770|  6.53k|  }
  771|  7.02k|  return Result::Ok;
  772|  26.7k|}
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase12GetLocalNameEjj:
  159|  1.15k|    Index local_index) const {
  160|  1.15k|  return objdump_state_->local_names.Get(function_index, local_index);
  161|  1.15k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble20OnOpcodeUint32Uint32Ejj:
  799|  15.5k|                                                            uint32_t value2) {
  800|  15.5k|  if (!in_function_body) {
  ------------------
  |  Branch (800:7): [True: 10.9k, False: 4.57k]
  ------------------
  801|  10.9k|    return Result::Ok;
  802|  10.9k|  }
  803|  4.57k|  std::string_view name;
  804|  4.57k|  if (current_opcode == Opcode::MemoryInit &&
  ------------------
  |  Branch (804:7): [True: 48, False: 4.52k]
  |  Branch (804:7): [True: 0, False: 4.57k]
  ------------------
  805|  4.57k|      !(name = GetSegmentName(value)).empty()) {
  ------------------
  |  Branch (805:7): [True: 0, False: 48]
  ------------------
  806|      0|    LogOpcode("%u %u <" PRIstringview ">", value, value2,
  807|      0|              WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|      0|  static_cast<int>((x).length()), (x).data()
  ------------------
  808|  4.57k|  } else {
  809|  4.57k|    LogOpcode("%u %u", value, value2);
  810|  4.57k|  }
  811|  4.57k|  return Result::Ok;
  812|  15.5k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble26OnOpcodeUint32Uint32Uint32Ejjj:
  842|  3.47k|    uint32_t value3) {
  843|  3.47k|  if (!in_function_body) {
  ------------------
  |  Branch (843:7): [True: 2.53k, False: 938]
  ------------------
  844|  2.53k|    return Result::Ok;
  845|  2.53k|  }
  846|    938|  LogOpcode("%u %u %u", value, value2, value3);
  847|    938|  return Result::Ok;
  848|  3.47k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble32OnOpcodeUint32Uint32Uint32Uint32Ejjjj:
  854|    170|    uint32_t value4) {
  855|    170|  if (!in_function_body) {
  ------------------
  |  Branch (855:7): [True: 143, False: 27]
  ------------------
  856|    143|    return Result::Ok;
  857|    143|  }
  858|     27|  LogOpcode("%u %u %u %u", value, value2, value3, value4);
  859|     27|  return Result::Ok;
  860|    170|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble14OnOpcodeUint64Em:
  862|  9.27k|Result BinaryReaderObjdumpDisassemble::OnOpcodeUint64(uint64_t value) {
  863|  9.27k|  if (!in_function_body) {
  ------------------
  |  Branch (863:7): [True: 7.37k, False: 1.90k]
  ------------------
  864|  7.37k|    return Result::Ok;
  865|  7.37k|  }
  866|  1.90k|  LogOpcode("%" PRIu64, value);
  867|  1.90k|  return Result::Ok;
  868|  9.27k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble11OnOpcodeF32Ej:
  870|  11.2k|Result BinaryReaderObjdumpDisassemble::OnOpcodeF32(uint32_t value) {
  871|  11.2k|  if (!in_function_body) {
  ------------------
  |  Branch (871:7): [True: 6.09k, False: 5.13k]
  ------------------
  872|  6.09k|    return Result::Ok;
  873|  6.09k|  }
  874|  5.13k|  char buffer[WABT_MAX_FLOAT_HEX];
  875|  5.13k|  WriteFloatHex(buffer, sizeof(buffer), value);
  876|  5.13k|  LogOpcode(buffer);
  877|  5.13k|  return Result::Ok;
  878|  11.2k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble11OnOpcodeF64Em:
  880|  2.91k|Result BinaryReaderObjdumpDisassemble::OnOpcodeF64(uint64_t value) {
  881|  2.91k|  if (!in_function_body) {
  ------------------
  |  Branch (881:7): [True: 2.19k, False: 726]
  ------------------
  882|  2.19k|    return Result::Ok;
  883|  2.19k|  }
  884|    726|  char buffer[WABT_MAX_DOUBLE_HEX];
  885|    726|  WriteDoubleHex(buffer, sizeof(buffer), value);
  886|    726|  LogOpcode(buffer);
  887|    726|  return Result::Ok;
  888|  2.91k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble12OnOpcodeV128E4v128:
  890|     99|Result BinaryReaderObjdumpDisassemble::OnOpcodeV128(v128 value) {
  891|     99|  if (!in_function_body) {
  ------------------
  |  Branch (891:7): [True: 65, False: 34]
  ------------------
  892|     65|    return Result::Ok;
  893|     65|  }
  894|       |  // v128 is always dumped as i32x4:
  895|     34|  LogOpcode("0x%08x 0x%08x 0x%08x 0x%08x", value.u32(0), value.u32(1),
  896|     34|            value.u32(2), value.u32(3));
  897|     34|  return Result::Ok;
  898|     99|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble16OnOpcodeBlockSigENS_4TypeE:
 1027|   193k|Result BinaryReaderObjdumpDisassemble::OnOpcodeBlockSig(Type sig_type) {
 1028|   193k|  if (!in_function_body) {
  ------------------
  |  Branch (1028:7): [True: 171k, False: 22.0k]
  ------------------
 1029|   171k|    return Result::Ok;
 1030|   171k|  }
 1031|  22.0k|  if (sig_type != Type::Void) {
  ------------------
  |  Branch (1031:7): [True: 21.9k, False: 107]
  ------------------
 1032|  21.9k|    LogOpcode("%s", BlockSigToString(sig_type).c_str());
 1033|  21.9k|  } else {
 1034|    107|    LogOpcode(nullptr);
 1035|    107|  }
 1036|  22.0k|  indent_level++;
 1037|  22.0k|  return Result::Ok;
 1038|   193k|}
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble16BlockSigToStringENS_4TypeE:
  572|  22.2k|std::string BinaryReaderObjdumpDisassemble::BlockSigToString(Type type) const {
  573|  22.2k|  if (type.IsIndex()) {
  ------------------
  |  Branch (573:7): [True: 21.8k, False: 401]
  ------------------
  574|  21.8k|    return StringPrintf("type[%d]", type.GetIndex());
  575|  21.8k|  } else if (type == Type::Void) {
  ------------------
  |  Branch (575:14): [True: 0, False: 401]
  ------------------
  576|      0|    return "";
  577|    401|  } else {
  578|    401|    return type.GetName();
  579|    401|  }
  580|  22.2k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble12OnOpcodeTypeENS_4TypeE:
  900|  1.03k|Result BinaryReaderObjdumpDisassemble::OnOpcodeType(Type type) {
  901|  1.03k|  if (!in_function_body) {
  ------------------
  |  Branch (901:7): [True: 668, False: 362]
  ------------------
  902|    668|    return Result::Ok;
  903|    668|  }
  904|    362|  if (current_opcode == Opcode::SelectT) {
  ------------------
  |  Branch (904:7): [True: 184, False: 178]
  ------------------
  905|    184|    LogOpcode(type.GetName().c_str());
  906|    184|  } else {
  907|    178|    LogOpcode(type.GetRefKindName());
  908|    178|  }
  909|    362|  return Result::Ok;
  910|  1.03k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble13OnBrTableExprEjPjj:
  959|  2.43k|    Index default_target_depth) {
  960|  2.43k|  if (!in_function_body) {
  ------------------
  |  Branch (960:7): [True: 1.40k, False: 1.03k]
  ------------------
  961|  1.40k|    return Result::Ok;
  962|  1.40k|  }
  963|       |
  964|  1.03k|  std::string buffer = std::string();
  965|  15.4k|  for (Index i = 0; i < num_targets; i++) {
  ------------------
  |  Branch (965:21): [True: 14.3k, False: 1.03k]
  ------------------
  966|  14.3k|    buffer.append(std::to_string(target_depths[i])).append(" ");
  967|  14.3k|  }
  968|  1.03k|  buffer.append(std::to_string(default_target_depth));
  969|       |
  970|  1.03k|  LogOpcode("%s", buffer.c_str());
  971|  1.03k|  return Result::Ok;
  972|  2.43k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble18OnCallIndirectExprEjj:
  816|  2.18k|    uint32_t table_index) {
  817|  2.18k|  if (!in_function_body) {
  ------------------
  |  Branch (817:7): [True: 874, False: 1.30k]
  ------------------
  818|    874|    return Result::Ok;
  819|    874|  }
  820|  1.30k|  std::string_view table_name = GetTableName(table_index);
  821|  1.30k|  std::string_view type_name = GetTypeName(sig_index);
  822|  1.30k|  if (!type_name.empty() && !table_name.empty()) {
  ------------------
  |  Branch (822:7): [True: 24, False: 1.28k]
  |  Branch (822:29): [True: 3, False: 21]
  ------------------
  823|      3|    LogOpcode("%u <" PRIstringview "> (type %u <" PRIstringview ">)",
  824|      3|              table_index, WABT_PRINTF_STRING_VIEW_ARG(table_name), sig_index,
  ------------------
  |  |   28|      3|  static_cast<int>((x).length()), (x).data()
  ------------------
  825|      3|              WABT_PRINTF_STRING_VIEW_ARG(type_name));
  ------------------
  |  |   28|      3|  static_cast<int>((x).length()), (x).data()
  ------------------
  826|  1.30k|  } else if (!table_name.empty()) {
  ------------------
  |  Branch (826:14): [True: 33, False: 1.27k]
  ------------------
  827|     33|    LogOpcode("%u <" PRIstringview "> (type %u)", table_index,
  828|     33|              WABT_PRINTF_STRING_VIEW_ARG(table_name), sig_index);
  ------------------
  |  |   28|     33|  static_cast<int>((x).length()), (x).data()
  ------------------
  829|  1.27k|  } else if (!type_name.empty()) {
  ------------------
  |  Branch (829:14): [True: 21, False: 1.25k]
  ------------------
  830|     21|    LogOpcode("%u (type %u <" PRIstringview ">)", table_index, sig_index,
  831|     21|              WABT_PRINTF_STRING_VIEW_ARG(type_name));
  ------------------
  |  |   28|     21|  static_cast<int>((x).length()), (x).data()
  ------------------
  832|  1.25k|  } else {
  833|  1.25k|    LogOpcode("%u (type %u)", table_index, sig_index);
  834|  1.25k|  }
  835|  1.30k|  skip_next_opcode_ = true;
  836|  1.30k|  return Result::Ok;
  837|  2.18k|}
binary-reader-objdump.cc:_ZNK4wabt12_GLOBAL__N_123BinaryReaderObjdumpBase11GetTypeNameEj:
  145|  1.30k|std::string_view BinaryReaderObjdumpBase::GetTypeName(Index index) const {
  146|  1.30k|  return objdump_state_->type_names.Get(index);
  147|  1.30k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble14OnDelegateExprEj:
  974|  2.83k|Result BinaryReaderObjdumpDisassemble::OnDelegateExpr(Index depth) {
  975|  2.83k|  if (!in_function_body) {
  ------------------
  |  Branch (975:7): [True: 2.73k, False: 103]
  ------------------
  976|  2.73k|    return Result::Ok;
  977|  2.73k|  }
  978|       |  // Because `delegate` ends the block we need to dedent here, and
  979|       |  // we don't need to dedent it in LogOpcode.
  980|    103|  if (indent_level > 0) {
  ------------------
  |  Branch (980:7): [True: 103, False: 0]
  ------------------
  981|    103|    indent_level--;
  982|    103|  }
  983|    103|  return Result::Ok;
  984|  2.83k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble9OnEndExprEv:
  986|  21.0k|Result BinaryReaderObjdumpDisassemble::OnEndExpr() {
  987|  21.0k|  if (!in_function_body) {
  ------------------
  |  Branch (987:7): [True: 18.5k, False: 2.41k]
  ------------------
  988|  18.5k|    return Result::Ok;
  989|  18.5k|  }
  990|  2.41k|  if (indent_level > 0) {
  ------------------
  |  Branch (990:7): [True: 1.49k, False: 921]
  ------------------
  991|  1.49k|    indent_level--;
  992|  1.49k|  }
  993|  2.41k|  LogOpcode(0, nullptr);
  994|  2.41k|  return Result::Ok;
  995|  21.0k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble14OnTryTableExprENS_4TypeERKNSt3__16vectorINS_11CatchClauseENS3_9allocatorIS5_EEEE:
  914|    677|    const CatchClauseVector& catches) {
  915|    677|  if (!in_function_body) {
  ------------------
  |  Branch (915:7): [True: 370, False: 307]
  ------------------
  916|    370|    return Result::Ok;
  917|    370|  }
  918|       |
  919|    307|  std::string buffer = std::string();
  920|       |
  921|    307|  if (sig_type != Type::Void) {
  ------------------
  |  Branch (921:7): [True: 284, False: 23]
  ------------------
  922|    284|    buffer.append(BlockSigToString(sig_type).c_str()).append(" ");
  923|    284|  }
  924|       |
  925|    993|  for (auto& catch_ : catches) {
  ------------------
  |  Branch (925:21): [True: 993, False: 307]
  ------------------
  926|    993|    switch (catch_.kind) {
  ------------------
  |  Branch (926:13): [True: 0, False: 993]
  ------------------
  927|    761|      case CatchKind::Catch:
  ------------------
  |  Branch (927:7): [True: 761, False: 232]
  ------------------
  928|    761|        buffer.append("catch ");
  929|    761|        break;
  930|     75|      case CatchKind::CatchRef:
  ------------------
  |  Branch (930:7): [True: 75, False: 918]
  ------------------
  931|     75|        buffer.append("catch_ref ");
  932|     75|        break;
  933|    121|      case CatchKind::CatchAll:
  ------------------
  |  Branch (933:7): [True: 121, False: 872]
  ------------------
  934|    121|        buffer.append("catch_all ");
  935|    121|        break;
  936|     36|      case CatchKind::CatchAllRef:
  ------------------
  |  Branch (936:7): [True: 36, False: 957]
  ------------------
  937|     36|        buffer.append("catch_all_ref ");
  938|     36|        break;
  939|    993|    }
  940|    993|    if (catch_.kind == CatchKind::Catch || catch_.kind == CatchKind::CatchRef) {
  ------------------
  |  Branch (940:9): [True: 761, False: 232]
  |  Branch (940:44): [True: 75, False: 157]
  ------------------
  941|    836|      buffer.append(std::to_string(catch_.tag));
  942|    836|    }
  943|    993|    buffer.append(" ").append(std::to_string(catch_.depth)).append(" ");
  944|    993|  }
  945|       |
  946|    307|  if (!buffer.empty()) {
  ------------------
  |  Branch (946:7): [True: 289, False: 18]
  ------------------
  947|       |    // remove trailing space
  948|    289|    buffer.pop_back();
  949|    289|  }
  950|       |
  951|    307|  LogOpcode("%s", buffer.c_str());
  952|    307|  indent_level++;
  953|    307|  return Result::Ok;
  954|    307|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_130BinaryReaderObjdumpDisassemble15EndFunctionBodyEj:
 1021|    751|Result BinaryReaderObjdumpDisassemble::EndFunctionBody(Index index) {
 1022|    751|  assert(in_function_body);
 1023|    751|  in_function_body = false;
 1024|    751|  return Result::Ok;
 1025|    751|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdumpC2EPKhmPNS_14ObjdumpOptionsEPNS_12ObjdumpStateE:
 1329|  45.1k|    : BinaryReaderObjdumpBase(data, size, options, objdump_state),
 1330|  45.1k|      out_stream_(FileStream::CreateStdout()) {}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump9EndModuleEv:
 1423|  3.87k|Result BinaryReaderObjdump::EndModule() {
 1424|  3.87k|  if (options_->section_name && !section_found_) {
  ------------------
  |  Branch (1424:7): [True: 0, False: 3.87k]
  |  Branch (1424:33): [True: 0, False: 0]
  ------------------
 1425|      0|    err_stream_->Writef("Section not found: %s\n", options_->section_name);
 1426|      0|    return Result::Error;
 1427|      0|  }
 1428|       |
 1429|  3.87k|  if (options_->relocs && ShouldPrintDetails()) {
  ------------------
  |  Branch (1429:7): [True: 0, False: 3.87k]
  |  Branch (1429:27): [True: 0, False: 0]
  ------------------
 1430|      0|    if (next_data_reloc_ != objdump_state_->data_relocations.size()) {
  ------------------
  |  Branch (1430:9): [True: 0, False: 0]
  ------------------
 1431|      0|      err_stream_->Writef("Data reloctions outside of segments!:\n");
 1432|      0|      for (size_t i = next_data_reloc_;
 1433|      0|           i < objdump_state_->data_relocations.size(); i++) {
  ------------------
  |  Branch (1433:12): [True: 0, False: 0]
  ------------------
 1434|      0|        const Reloc& reloc = objdump_state_->data_relocations[i];
 1435|      0|        PrintRelocation(reloc, reloc.offset);
 1436|      0|      }
 1437|       |
 1438|      0|      return Result::Error;
 1439|      0|    }
 1440|      0|  }
 1441|       |
 1442|  3.87k|  return Result::Ok;
 1443|  3.87k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump18ShouldPrintDetailsEv:
 1396|  3.53M|bool BinaryReaderObjdump::ShouldPrintDetails() {
 1397|  3.53M|  if (options_->mode != ObjdumpMode::Details) {
  ------------------
  |  Branch (1397:7): [True: 2.30M, False: 1.22M]
  ------------------
 1398|  2.30M|    return false;
 1399|  2.30M|  }
 1400|  1.22M|  return print_details_;
 1401|  3.53M|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump12BeginSectionEjNS_13BinarySectionEm:
 1346|  6.58M|                                         Offset size) {
 1347|  6.58M|  BinaryReaderObjdumpBase::BeginSection(section_index, section_code, size);
 1348|       |
 1349|       |  // |section_name| and |match_name| are identical for known sections. For
 1350|       |  // custom sections, |section_name| is "Custom", but |match_name| is the name
 1351|       |  // of the custom section.
 1352|  6.58M|  const char* section_name = wabt::GetSectionName(section_code);
 1353|  6.58M|  std::string match_name(GetSectionName(section_index));
 1354|       |
 1355|  6.58M|  bool section_match = !options_->section_name ||
  ------------------
  |  Branch (1355:24): [True: 6.58M, False: 0]
  ------------------
 1356|  6.58M|                       !strcasecmp(options_->section_name, match_name.c_str());
  ------------------
  |  Branch (1356:24): [True: 0, False: 0]
  ------------------
 1357|  6.58M|  if (section_match) {
  ------------------
  |  Branch (1357:7): [True: 6.58M, False: 0]
  ------------------
 1358|  6.58M|    section_found_ = true;
 1359|  6.58M|  }
 1360|       |
 1361|  6.58M|  switch (options_->mode) {
  ------------------
  |  Branch (1361:11): [True: 0, False: 6.58M]
  ------------------
 1362|  2.19M|    case ObjdumpMode::Headers:
  ------------------
  |  Branch (1362:5): [True: 2.19M, False: 4.38M]
  ------------------
 1363|  2.19M|      printf("%9s start=%#010" PRIzx " end=%#010" PRIzx " (size=%#010" PRIoffset
 1364|  2.19M|             ") ",
 1365|  2.19M|             section_name, state->offset, state->offset + size, size);
 1366|  2.19M|      break;
 1367|  2.19M|    case ObjdumpMode::Details:
  ------------------
  |  Branch (1367:5): [True: 2.19M, False: 4.38M]
  ------------------
 1368|  2.19M|      if (section_match) {
  ------------------
  |  Branch (1368:11): [True: 2.19M, False: 0]
  ------------------
 1369|  2.19M|        printf("%s", section_name);
 1370|       |        // All known section types except the Start and DataCount sections have
 1371|       |        // a count in which case this line gets completed in OnCount().
 1372|  2.19M|        if (section_code == BinarySection::Start ||
  ------------------
  |  Branch (1372:13): [True: 175, False: 2.19M]
  ------------------
 1373|  2.19M|            section_code == BinarySection::DataCount ||
  ------------------
  |  Branch (1373:13): [True: 165, False: 2.19M]
  ------------------
 1374|  2.19M|            section_code == BinarySection::Custom) {
  ------------------
  |  Branch (1374:13): [True: 2.17M, False: 16.9k]
  ------------------
 1375|  2.17M|          printf(":\n");
 1376|  2.17M|        }
 1377|  2.19M|        print_details_ = true;
 1378|  2.19M|      } else {
 1379|      0|        print_details_ = false;
 1380|      0|      }
 1381|  2.19M|      break;
 1382|  2.19M|    case ObjdumpMode::RawData:
  ------------------
  |  Branch (1382:5): [True: 2.19M, False: 4.38M]
  ------------------
 1383|  2.19M|      if (section_match) {
  ------------------
  |  Branch (1383:11): [True: 2.19M, False: 0]
  ------------------
 1384|  2.19M|        printf("\nContents of section %s:\n", section_name);
 1385|  2.19M|        out_stream_->WriteMemoryDump(data_ + state->offset, size, state->offset,
 1386|  2.19M|                                     PrintChars::Yes);
 1387|  2.19M|      }
 1388|  2.19M|      break;
 1389|      0|    case ObjdumpMode::Prepass:
  ------------------
  |  Branch (1389:5): [True: 0, False: 6.58M]
  ------------------
 1390|      0|    case ObjdumpMode::Disassemble:
  ------------------
  |  Branch (1390:5): [True: 0, False: 6.58M]
  ------------------
 1391|      0|      break;
 1392|  6.58M|  }
 1393|  6.58M|  return Result::Ok;
 1394|  6.58M|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump18BeginCustomSectionEjmNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
 1334|   396k|                                               std::string_view section_name) {
 1335|   396k|  PrintDetails(" - name: \"" PRIstringview "\"\n",
 1336|   396k|               WABT_PRINTF_STRING_VIEW_ARG(section_name));
  ------------------
  |  |   28|   396k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1337|   396k|  if (options_->mode == ObjdumpMode::Headers) {
  ------------------
  |  Branch (1337:7): [True: 132k, False: 264k]
  ------------------
 1338|   132k|    printf("\"" PRIstringview "\"\n",
 1339|   132k|           WABT_PRINTF_STRING_VIEW_ARG(section_name));
  ------------------
  |  |   28|   132k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1340|   132k|  }
 1341|   396k|  return Result::Ok;
 1342|   396k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump12PrintDetailsEPKcz:
 1404|  3.43M|                                                                ...) {
 1405|  3.43M|  if (!ShouldPrintDetails()) {
  ------------------
  |  Branch (1405:7): [True: 2.24M, False: 1.19M]
  ------------------
 1406|  2.24M|    return;
 1407|  2.24M|  }
 1408|  1.19M|  va_list args;
 1409|  1.19M|  va_start(args, fmt);
 1410|  1.19M|  vprintf(fmt, args);
 1411|  1.19M|  va_end(args);
 1412|  1.19M|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump11OnTypeCountEj:
 1445|  2.03k|Result BinaryReaderObjdump::OnTypeCount(Index count) {
 1446|  2.03k|  return OnCount(count);
 1447|  2.03k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump7OnCountEj:
 1414|  39.8k|Result BinaryReaderObjdump::OnCount(Index count) {
 1415|  39.8k|  if (options_->mode == ObjdumpMode::Headers) {
  ------------------
  |  Branch (1415:7): [True: 13.2k, False: 26.5k]
  ------------------
 1416|  13.2k|    printf("count: %" PRIindex "\n", count);
 1417|  26.5k|  } else if (options_->mode == ObjdumpMode::Details && print_details_) {
  ------------------
  |  Branch (1417:14): [True: 13.2k, False: 13.2k]
  |  Branch (1417:56): [True: 13.2k, False: 0]
  ------------------
 1418|  13.2k|    printf("[%" PRIindex "]:\n", count);
 1419|  13.2k|  }
 1420|  39.8k|  return Result::Ok;
 1421|  39.8k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump10OnFuncTypeEjjPNS_4TypeEjS3_:
 1453|  1.32k|                                       Type* result_types) {
 1454|  1.32k|  if (!ShouldPrintDetails()) {
  ------------------
  |  Branch (1454:7): [True: 886, False: 443]
  ------------------
 1455|    886|    return Result::Ok;
 1456|    886|  }
 1457|    443|  printf(" - type[%" PRIindex "] (", index);
 1458|  1.20k|  for (Index i = 0; i < param_count; i++) {
  ------------------
  |  Branch (1458:21): [True: 761, False: 443]
  ------------------
 1459|    761|    if (i != 0) {
  ------------------
  |  Branch (1459:9): [True: 543, False: 218]
  ------------------
 1460|    543|      printf(", ");
 1461|    543|    }
 1462|    761|    printf("%s", param_types[i].GetName().c_str());
 1463|    761|  }
 1464|    443|  printf(") -> ");
 1465|    443|  switch (result_count) {
 1466|    141|    case 0:
  ------------------
  |  Branch (1466:5): [True: 141, False: 302]
  ------------------
 1467|    141|      printf("nil");
 1468|    141|      break;
 1469|    116|    case 1:
  ------------------
  |  Branch (1469:5): [True: 116, False: 327]
  ------------------
 1470|    116|      printf("%s", result_types[0].GetName().c_str());
 1471|    116|      break;
 1472|    186|    default:
  ------------------
  |  Branch (1472:5): [True: 186, False: 257]
  ------------------
 1473|    186|      printf("(");
 1474|  3.83k|      for (Index i = 0; i < result_count; i++) {
  ------------------
  |  Branch (1474:25): [True: 3.64k, False: 186]
  ------------------
 1475|  3.64k|        if (i != 0) {
  ------------------
  |  Branch (1475:13): [True: 3.45k, False: 186]
  ------------------
 1476|  3.45k|          printf(", ");
 1477|  3.45k|        }
 1478|  3.64k|        printf("%s", result_types[i].GetName().c_str());
 1479|  3.64k|      }
 1480|    186|      printf(")");
 1481|    186|      break;
 1482|    443|  }
 1483|    443|  printf("\n");
 1484|    443|  return Result::Ok;
 1485|    443|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump12OnStructTypeEjjPNS_7TypeMutE:
 1489|    564|                                         TypeMut* fields) {
 1490|    564|  if (!ShouldPrintDetails()) {
  ------------------
  |  Branch (1490:7): [True: 376, False: 188]
  ------------------
 1491|    376|    return Result::Ok;
 1492|    376|  }
 1493|    188|  printf(" - type[%" PRIindex "] (struct", index);
 1494|    273|  for (Index i = 0; i < field_count; i++) {
  ------------------
  |  Branch (1494:21): [True: 85, False: 188]
  ------------------
 1495|     85|    if (fields[i].mutable_) {
  ------------------
  |  Branch (1495:9): [True: 27, False: 58]
  ------------------
 1496|     27|      printf(" (mut");
 1497|     27|    }
 1498|     85|    printf(" %s", fields[i].type.GetName().c_str());
 1499|     85|    if (fields[i].mutable_) {
  ------------------
  |  Branch (1499:9): [True: 27, False: 58]
  ------------------
 1500|     27|      printf(")");
 1501|     27|    }
 1502|     85|  }
 1503|    188|  printf(")\n");
 1504|    188|  return Result::Ok;
 1505|    564|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump11OnArrayTypeEjNS_7TypeMutE:
 1507|    117|Result BinaryReaderObjdump::OnArrayType(Index index, TypeMut field) {
 1508|    117|  if (!ShouldPrintDetails()) {
  ------------------
  |  Branch (1508:7): [True: 78, False: 39]
  ------------------
 1509|     78|    return Result::Ok;
 1510|     78|  }
 1511|     39|  printf(" - type[%" PRIindex "] (array", index);
 1512|     39|  if (field.mutable_) {
  ------------------
  |  Branch (1512:7): [True: 13, False: 26]
  ------------------
 1513|     13|    printf(" (mut");
 1514|     13|  }
 1515|     39|  printf(" %s", field.type.GetName().c_str());
 1516|     39|  if (field.mutable_) {
  ------------------
  |  Branch (1516:7): [True: 13, False: 26]
  ------------------
 1517|     13|    printf(")");
 1518|     13|  }
 1519|     39|  printf(")\n");
 1520|     39|  return Result::Ok;
 1521|    117|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnImportCountEj:
 1575|  1.08k|Result BinaryReaderObjdump::OnImportCount(Index count) {
 1576|  1.08k|  return OnCount(count);
 1577|  1.08k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump12OnImportFuncEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jj:
 1583|  24.8k|                                         Index sig_index) {
 1584|  24.8k|  PrintDetails(" - func[%" PRIindex "] sig=%" PRIindex, func_index, sig_index);
  ------------------
  |  |   84|  24.8k|#define PRIindex "u"
  ------------------
 1585|  24.8k|  auto name = GetFunctionName(func_index);
 1586|  24.8k|  if (!name.empty()) {
  ------------------
  |  Branch (1586:7): [True: 24.8k, False: 42]
  ------------------
 1587|  24.8k|    PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  24.8k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1588|  24.8k|  }
 1589|  24.8k|  PrintDetails(" <- " PRIstringview "." PRIstringview "\n",
 1590|  24.8k|               WABT_PRINTF_STRING_VIEW_ARG(module_name),
  ------------------
  |  |   28|  24.8k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1591|  24.8k|               WABT_PRINTF_STRING_VIEW_ARG(field_name));
  ------------------
  |  |   28|  24.8k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1592|  24.8k|  return Result::Ok;
 1593|  24.8k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnImportTableEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jNS_4TypeEPKNS_6LimitsE:
 1600|  12.3k|                                          const Limits* elem_limits) {
 1601|  12.3k|  PrintDetails(" - table[%" PRIindex "] type=%s initial=%" PRId64, table_index,
 1602|  12.3k|               elem_type.GetName().c_str(), elem_limits->initial);
 1603|  12.3k|  if (elem_limits->has_max) {
  ------------------
  |  Branch (1603:7): [True: 1.95k, False: 10.4k]
  ------------------
 1604|  1.95k|    PrintDetails(" max=%" PRId64, elem_limits->max);
 1605|  1.95k|  }
 1606|  12.3k|  if (elem_limits->is_64) {
  ------------------
  |  Branch (1606:7): [True: 10.1k, False: 2.21k]
  ------------------
 1607|  10.1k|    PrintDetails(" i64");
 1608|  10.1k|  }
 1609|  12.3k|  PrintDetails(" <- " PRIstringview "." PRIstringview "\n",
 1610|  12.3k|               WABT_PRINTF_STRING_VIEW_ARG(module_name),
  ------------------
  |  |   28|  12.3k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1611|  12.3k|               WABT_PRINTF_STRING_VIEW_ARG(field_name));
  ------------------
  |  |   28|  12.3k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1612|  12.3k|  return Result::Ok;
 1613|  12.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnImportMemoryEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jPKNS_6LimitsEj:
 1620|  21.6k|                                           uint32_t page_size) {
 1621|  21.6k|  PrintDetails(" - memory[%" PRIindex "] pages: initial=%" PRId64, memory_index,
 1622|  21.6k|               page_limits->initial);
 1623|  21.6k|  if (page_limits->has_max) {
  ------------------
  |  Branch (1623:7): [True: 18.2k, False: 3.38k]
  ------------------
 1624|  18.2k|    PrintDetails(" max=%" PRId64, page_limits->max);
 1625|  18.2k|  }
 1626|  21.6k|  if (page_limits->is_shared) {
  ------------------
  |  Branch (1626:7): [True: 1.49k, False: 20.1k]
  ------------------
 1627|  1.49k|    PrintDetails(" shared");
 1628|  1.49k|  }
 1629|  21.6k|  if (page_limits->is_64) {
  ------------------
  |  Branch (1629:7): [True: 63, False: 21.5k]
  ------------------
 1630|     63|    PrintDetails(" i64");
 1631|     63|  }
 1632|  21.6k|  if (page_size != WABT_DEFAULT_PAGE_SIZE) {
  ------------------
  |  |   47|  21.6k|#define WABT_DEFAULT_PAGE_SIZE 0x10000
  ------------------
  |  Branch (1632:7): [True: 84, False: 21.5k]
  ------------------
 1633|     84|    PrintDetails(" (pagesize %u)", page_size);
 1634|     84|  }
 1635|  21.6k|  PrintDetails(" <- " PRIstringview "." PRIstringview "\n",
 1636|  21.6k|               WABT_PRINTF_STRING_VIEW_ARG(module_name),
  ------------------
  |  |   28|  21.6k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1637|  21.6k|               WABT_PRINTF_STRING_VIEW_ARG(field_name));
  ------------------
  |  |   28|  21.6k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1638|  21.6k|  return Result::Ok;
 1639|  21.6k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnImportGlobalEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jNS_4TypeEb:
 1646|  3.16k|                                           bool mutable_) {
 1647|  3.16k|  PrintDetails(" - global[%" PRIindex "] %s mutable=%d", global_index,
 1648|  3.16k|               type.GetName().c_str(), mutable_);
 1649|  3.16k|  PrintDetails(" <- " PRIstringview "." PRIstringview "\n",
 1650|  3.16k|               WABT_PRINTF_STRING_VIEW_ARG(module_name),
  ------------------
  |  |   28|  3.16k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1651|  3.16k|               WABT_PRINTF_STRING_VIEW_ARG(field_name));
  ------------------
  |  |   28|  3.16k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1652|  3.16k|  return Result::Ok;
 1653|  3.16k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump11OnImportTagEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jj:
 1659|  6.64k|                                        Index sig_index) {
 1660|  6.64k|  PrintDetails(" - tag[%" PRIindex "] sig=%" PRIindex, tag_index, sig_index);
  ------------------
  |  |   84|  6.64k|#define PRIindex "u"
  ------------------
 1661|  6.64k|  auto name = GetTagName(tag_index);
 1662|  6.64k|  if (!name.empty()) {
  ------------------
  |  Branch (1662:7): [True: 6.64k, False: 3]
  ------------------
 1663|  6.64k|    PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  6.64k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1664|  6.64k|  }
 1665|  6.64k|  PrintDetails(" <- " PRIstringview "." PRIstringview "\n",
 1666|  6.64k|               WABT_PRINTF_STRING_VIEW_ARG(module_name),
  ------------------
  |  |   28|  6.64k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1667|  6.64k|               WABT_PRINTF_STRING_VIEW_ARG(field_name));
  ------------------
  |  |   28|  6.64k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1668|  6.64k|  return Result::Ok;
 1669|  6.64k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump15OnFunctionCountEj:
 1523|  7.57k|Result BinaryReaderObjdump::OnFunctionCount(Index count) {
 1524|  7.57k|  return OnCount(count);
 1525|  7.57k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump10OnFunctionEjj:
 1527|  51.3k|Result BinaryReaderObjdump::OnFunction(Index index, Index sig_index) {
 1528|  51.3k|  PrintDetails(" - func[%" PRIindex "] sig=%" PRIindex, index, sig_index);
  ------------------
  |  |   84|  51.3k|#define PRIindex "u"
  ------------------
 1529|  51.3k|  auto name = GetFunctionName(index);
 1530|  51.3k|  if (!name.empty()) {
  ------------------
  |  Branch (1530:7): [True: 123, False: 51.2k]
  ------------------
 1531|    123|    PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|    123|  static_cast<int>((x).length()), (x).data()
  ------------------
 1532|    123|  }
 1533|  51.3k|  PrintDetails("\n");
 1534|  51.3k|  objdump_state_->function_types[index] = sig_index;
 1535|  51.3k|  return Result::Ok;
 1536|  51.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump12OnTableCountEj:
 1696|    612|Result BinaryReaderObjdump::OnTableCount(Index count) {
 1697|    612|  return OnCount(count);
 1698|    612|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump7OnTableEjNS_4TypeEPKNS_6LimitsE:
 1702|    231|                                    const Limits* elem_limits) {
 1703|    231|  PrintDetails(" - table[%" PRIindex "] type=%s initial=%" PRId64, index,
 1704|    231|               elem_type.GetName().c_str(), elem_limits->initial);
 1705|    231|  if (elem_limits->has_max) {
  ------------------
  |  Branch (1705:7): [True: 12, False: 219]
  ------------------
 1706|     12|    PrintDetails(" max=%" PRId64, elem_limits->max);
 1707|     12|  }
 1708|    231|  auto name = GetTableName(index);
 1709|    231|  if (!name.empty()) {
  ------------------
  |  Branch (1709:7): [True: 24, False: 207]
  ------------------
 1710|     24|    PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|     24|  static_cast<int>((x).length()), (x).data()
  ------------------
 1711|     24|  }
 1712|    231|  if (elem_limits->is_64) {
  ------------------
  |  Branch (1712:7): [True: 33, False: 198]
  ------------------
 1713|     33|    PrintDetails(" i64");
 1714|     33|  }
 1715|    231|  PrintDetails("\n");
 1716|    231|  return Result::Ok;
 1717|    231|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnMemoryCountEj:
 1671|    696|Result BinaryReaderObjdump::OnMemoryCount(Index count) {
 1672|    696|  return OnCount(count);
 1673|    696|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump8OnMemoryEjPKNS_6LimitsEj:
 1677|  19.2k|                                     uint32_t page_size) {
 1678|  19.2k|  PrintDetails(" - memory[%" PRIindex "] pages: initial=%" PRId64, index,
 1679|  19.2k|               page_limits->initial);
 1680|  19.2k|  if (page_limits->has_max) {
  ------------------
  |  Branch (1680:7): [True: 4.79k, False: 14.4k]
  ------------------
 1681|  4.79k|    PrintDetails(" max=%" PRId64, page_limits->max);
 1682|  4.79k|  }
 1683|  19.2k|  if (page_limits->is_shared) {
  ------------------
  |  Branch (1683:7): [True: 6.68k, False: 12.5k]
  ------------------
 1684|  6.68k|    PrintDetails(" shared");
 1685|  6.68k|  }
 1686|  19.2k|  if (page_limits->is_64) {
  ------------------
  |  Branch (1686:7): [True: 6.26k, False: 12.9k]
  ------------------
 1687|  6.26k|    PrintDetails(" i64");
 1688|  6.26k|  }
 1689|  19.2k|  if (page_size != WABT_DEFAULT_PAGE_SIZE) {
  ------------------
  |  |   47|  19.2k|#define WABT_DEFAULT_PAGE_SIZE 0x10000
  ------------------
  |  Branch (1689:7): [True: 576, False: 18.6k]
  ------------------
 1690|    576|    PrintDetails(" (pagesize %u)", page_size);
 1691|    576|  }
 1692|  19.2k|  PrintDetails("\n");
 1693|  19.2k|  return Result::Ok;
 1694|  19.2k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnGlobalCountEj:
 1771|  2.13k|Result BinaryReaderObjdump::OnGlobalCount(Index count) {
 1772|  2.13k|  return OnCount(count);
 1773|  2.13k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump11BeginGlobalEjNS_4TypeEb:
 1775|  2.65k|Result BinaryReaderObjdump::BeginGlobal(Index index, Type type, bool mutable_) {
 1776|  2.65k|  PrintDetails(" - global[%" PRIindex "] %s mutable=%d", index,
 1777|  2.65k|               type.GetName().c_str(), mutable_);
 1778|  2.65k|  std::string_view name = GetGlobalName(index);
 1779|  2.65k|  if (!name.empty()) {
  ------------------
  |  Branch (1779:7): [True: 90, False: 2.56k]
  ------------------
 1780|     90|    PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|     90|  static_cast<int>((x).length()), (x).data()
  ------------------
 1781|     90|  }
 1782|  2.65k|  return Result::Ok;
 1783|  2.65k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump19BeginGlobalInitExprEj:
 1179|  2.65k|  Result BeginGlobalInitExpr(Index index) override {
 1180|  2.65k|    reading_global_init_expr_ = true;
 1181|  2.65k|    BeginInitExpr();
 1182|  2.65k|    return Result::Ok;
 1183|  2.65k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13BeginInitExprEv:
 1161|  46.6k|  void BeginInitExpr() { current_init_expr_.insts.clear(); }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump17EndGlobalInitExprEj:
 1185|  1.32k|  Result EndGlobalInitExpr(Index index) override { return EndInitExpr(); }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump11EndInitExprEv:
 1921|  34.2k|Result BinaryReaderObjdump::EndInitExpr() {
 1922|  34.2k|  if (reading_data_init_expr_) {
  ------------------
  |  Branch (1922:7): [True: 6.28k, False: 27.9k]
  ------------------
 1923|  6.28k|    reading_data_init_expr_ = false;
 1924|  6.28k|    InitExprToConstOffset(current_init_expr_, &data_offset_);
 1925|  27.9k|  } else if (reading_elem_init_expr_) {
  ------------------
  |  Branch (1925:14): [True: 7.61k, False: 20.3k]
  ------------------
 1926|  7.61k|    reading_elem_init_expr_ = false;
 1927|  7.61k|    InitExprToConstOffset(current_init_expr_, &elem_offset_);
 1928|  20.3k|  } else if (reading_global_init_expr_) {
  ------------------
  |  Branch (1928:14): [True: 1.32k, False: 18.9k]
  ------------------
 1929|  1.32k|    reading_global_init_expr_ = false;
 1930|  1.32k|    PrintInitExpr(current_init_expr_);
 1931|  18.9k|  } else if (reading_elem_expr_) {
  ------------------
  |  Branch (1931:14): [True: 18.9k, False: 0]
  ------------------
 1932|  18.9k|    reading_elem_expr_ = false;
 1933|  18.9k|    PrintDetails("  - elem[%" PRIu64 "] = ", elem_offset_ + elem_index_);
 1934|  18.9k|    PrintInitExpr(current_init_expr_, /*as_unsigned=*/false,
 1935|  18.9k|                  /*with_prefix=*/false);
 1936|  18.9k|  } else {
 1937|      0|    WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
 1938|      0|  }
 1939|  34.2k|  return Result::Ok;
 1940|  34.2k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_121InitExprToConstOffsetERKNS0_8InitExprEPm:
 1906|  13.9k|static void InitExprToConstOffset(const InitExpr& expr, uint64_t* out_offset) {
 1907|  13.9k|  if (expr.insts.size() == 1) {
  ------------------
  |  Branch (1907:7): [True: 3.62k, False: 10.2k]
  ------------------
 1908|  3.62k|    switch (expr.type) {
 1909|    246|      case InitExprType::I32:
  ------------------
  |  Branch (1909:7): [True: 246, False: 3.37k]
  ------------------
 1910|    246|        *out_offset = expr.insts[0].imm.i32;
 1911|    246|        break;
 1912|    246|      case InitExprType::I64:
  ------------------
  |  Branch (1912:7): [True: 246, False: 3.37k]
  ------------------
 1913|    246|        *out_offset = expr.insts[0].imm.i64;
 1914|    246|        break;
 1915|  3.12k|      default:
  ------------------
  |  Branch (1915:7): [True: 3.12k, False: 492]
  ------------------
 1916|  3.12k|        break;
 1917|  3.62k|    }
 1918|  3.62k|  }
 1919|  13.9k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13PrintInitExprERKNS0_8InitExprEbb:
 1787|  29.8k|                                        bool with_prefix) {
 1788|  29.8k|  if (with_prefix) {
  ------------------
  |  Branch (1788:7): [True: 10.8k, False: 18.9k]
  ------------------
 1789|  10.8k|    PrintDetails(" - init ");
 1790|  10.8k|  }
 1791|       |
 1792|  29.8k|  if (expr.insts.empty()) {
  ------------------
  |  Branch (1792:7): [True: 4.80k, False: 25.0k]
  ------------------
 1793|  4.80k|    PrintDetails("<EMPTY>\n");
 1794|  4.80k|    return;
 1795|  4.80k|  }
 1796|       |
 1797|       |  // We have two different way to print init expressions.  One for
 1798|       |  // extended expressions involving more than one instruction, and
 1799|       |  // a short form for the more traditional single instruction form.
 1800|  25.0k|  if (expr.insts.size() > 1) {
  ------------------
  |  Branch (1800:7): [True: 6.31k, False: 18.7k]
  ------------------
 1801|  6.31k|    PrintDetails("(");
 1802|  6.31k|    bool first = true;
 1803|   111k|    for (auto& inst : expr.insts) {
  ------------------
  |  Branch (1803:21): [True: 111k, False: 6.31k]
  ------------------
 1804|   111k|      if (!first) {
  ------------------
  |  Branch (1804:11): [True: 104k, False: 6.31k]
  ------------------
 1805|   104k|        PrintDetails(", ");
 1806|   104k|      }
 1807|   111k|      first = false;
 1808|   111k|      PrintDetails("%s", inst.opcode.GetName());
 1809|   111k|      switch (inst.opcode) {
 1810|  1.05k|        case Opcode::I32Const:
  ------------------
  |  Branch (1810:9): [True: 1.05k, False: 110k]
  ------------------
 1811|  1.05k|          PrintDetails(" %d", inst.imm.i32);
 1812|  1.05k|          break;
 1813|  1.84k|        case Opcode::I64Const:
  ------------------
  |  Branch (1813:9): [True: 1.84k, False: 109k]
  ------------------
 1814|  1.84k|          PrintDetails(" %" PRId64, inst.imm.i64);
 1815|  1.84k|          break;
 1816|  7.36k|        case Opcode::F32Const: {
  ------------------
  |  Branch (1816:9): [True: 7.36k, False: 103k]
  ------------------
 1817|  7.36k|          char buffer[WABT_MAX_FLOAT_HEX];
 1818|  7.36k|          WriteFloatHex(buffer, sizeof(buffer), inst.imm.f32);
 1819|  7.36k|          PrintDetails(" %s\n", buffer);
 1820|  7.36k|          break;
 1821|      0|        }
 1822|  1.58k|        case Opcode::F64Const: {
  ------------------
  |  Branch (1822:9): [True: 1.58k, False: 109k]
  ------------------
 1823|  1.58k|          char buffer[WABT_MAX_DOUBLE_HEX];
 1824|  1.58k|          WriteDoubleHex(buffer, sizeof(buffer), inst.imm.f64);
 1825|  1.58k|          PrintDetails(" %s\n", buffer);
 1826|  1.58k|          break;
 1827|      0|        }
 1828|  2.45k|        case Opcode::GlobalGet: {
  ------------------
  |  Branch (1828:9): [True: 2.45k, False: 108k]
  ------------------
 1829|  2.45k|          PrintDetails(" %" PRIindex, inst.imm.index);
  ------------------
  |  |   84|  2.45k|#define PRIindex "u"
  ------------------
 1830|  2.45k|          std::string_view name = GetGlobalName(inst.imm.index);
 1831|  2.45k|          if (!name.empty()) {
  ------------------
  |  Branch (1831:15): [True: 388, False: 2.06k]
  ------------------
 1832|    388|            PrintDetails(" <" PRIstringview ">",
 1833|    388|                         WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|    388|  static_cast<int>((x).length()), (x).data()
  ------------------
 1834|    388|          }
 1835|  2.45k|          break;
 1836|      0|        }
 1837|  96.9k|        default:
  ------------------
  |  Branch (1837:9): [True: 96.9k, False: 14.3k]
  ------------------
 1838|  96.9k|          break;
 1839|   111k|      }
 1840|   111k|    }
 1841|  6.31k|    PrintDetails(")\n");
 1842|  6.31k|    return;
 1843|  6.31k|  }
 1844|       |
 1845|  18.7k|  switch (expr.type) {
  ------------------
  |  Branch (1845:11): [True: 0, False: 18.7k]
  ------------------
 1846|    342|    case InitExprType::I32:
  ------------------
  |  Branch (1846:5): [True: 342, False: 18.3k]
  ------------------
 1847|    342|      if (as_unsigned) {
  ------------------
  |  Branch (1847:11): [True: 168, False: 174]
  ------------------
 1848|    168|        PrintDetails("i32=%u\n", expr.insts[0].imm.i32);
 1849|    174|      } else {
 1850|    174|        PrintDetails("i32=%d\n", expr.insts[0].imm.i32);
 1851|    174|      }
 1852|    342|      break;
 1853|    233|    case InitExprType::I64:
  ------------------
  |  Branch (1853:5): [True: 233, False: 18.4k]
  ------------------
 1854|    233|      if (as_unsigned) {
  ------------------
  |  Branch (1854:11): [True: 134, False: 99]
  ------------------
 1855|    134|        PrintDetails("i64=%" PRIu64 "\n", expr.insts[0].imm.i64);
 1856|    134|      } else {
 1857|     99|        PrintDetails("i64=%" PRId64 "\n", expr.insts[0].imm.i64);
 1858|     99|      }
 1859|    233|      break;
 1860|    809|    case InitExprType::F64: {
  ------------------
  |  Branch (1860:5): [True: 809, False: 17.9k]
  ------------------
 1861|    809|      char buffer[WABT_MAX_DOUBLE_HEX];
 1862|    809|      WriteDoubleHex(buffer, sizeof(buffer), expr.insts[0].imm.f64);
 1863|    809|      PrintDetails("f64=%s\n", buffer);
 1864|    809|      break;
 1865|      0|    }
 1866|    708|    case InitExprType::F32: {
  ------------------
  |  Branch (1866:5): [True: 708, False: 18.0k]
  ------------------
 1867|    708|      char buffer[WABT_MAX_FLOAT_HEX];
 1868|    708|      WriteFloatHex(buffer, sizeof(buffer), expr.insts[0].imm.f32);
 1869|    708|      PrintDetails("f32=%s\n", buffer);
 1870|    708|      break;
 1871|      0|    }
 1872|      0|    case InitExprType::V128: {
  ------------------
  |  Branch (1872:5): [True: 0, False: 18.7k]
  ------------------
 1873|      0|      PrintDetails(
 1874|      0|          "v128=0x%08x 0x%08x 0x%08x 0x%08x \n",
 1875|      0|          expr.insts[0].imm.v128_v.u32(0), expr.insts[0].imm.v128_v.u32(1),
 1876|      0|          expr.insts[0].imm.v128_v.u32(2), expr.insts[0].imm.v128_v.u32(3));
 1877|      0|      break;
 1878|      0|    }
 1879|  1.01k|    case InitExprType::Global: {
  ------------------
  |  Branch (1879:5): [True: 1.01k, False: 17.7k]
  ------------------
 1880|  1.01k|      PrintDetails("global=%" PRIindex, expr.insts[0].imm.index);
  ------------------
  |  |   84|  1.01k|#define PRIindex "u"
  ------------------
 1881|  1.01k|      std::string_view name = GetGlobalName(expr.insts[0].imm.index);
 1882|  1.01k|      if (!name.empty()) {
  ------------------
  |  Branch (1882:11): [True: 91, False: 926]
  ------------------
 1883|     91|        PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|     91|  static_cast<int>((x).length()), (x).data()
  ------------------
 1884|     91|      }
 1885|  1.01k|      PrintDetails("\n");
 1886|  1.01k|      break;
 1887|      0|    }
 1888|  14.0k|    case InitExprType::FuncRef: {
  ------------------
  |  Branch (1888:5): [True: 14.0k, False: 4.65k]
  ------------------
 1889|  14.0k|      PrintDetails("ref.func:%" PRIindex, expr.insts[0].imm.index);
  ------------------
  |  |   84|  14.0k|#define PRIindex "u"
  ------------------
 1890|  14.0k|      std::string_view name = GetFunctionName(expr.insts[0].imm.index);
 1891|  14.0k|      if (!name.empty()) {
  ------------------
  |  Branch (1891:11): [True: 1.84k, False: 12.2k]
  ------------------
 1892|  1.84k|        PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  1.84k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1893|  1.84k|      }
 1894|  14.0k|      PrintDetails("\n");
 1895|  14.0k|      break;
 1896|      0|    }
 1897|    630|    case InitExprType::NullRef:
  ------------------
  |  Branch (1897:5): [True: 630, False: 18.1k]
  ------------------
 1898|    630|      PrintDetails("ref.null %s\n", expr.insts[0].imm.type.GetName().c_str());
 1899|    630|      break;
 1900|    911|    case InitExprType::Invalid:
  ------------------
  |  Branch (1900:5): [True: 911, False: 17.8k]
  ------------------
 1901|    911|      PrintDetails("<INVALID>\n");
 1902|    911|      break;
 1903|  18.7k|  }
 1904|  18.7k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnExportCountEj:
 1719|  2.37k|Result BinaryReaderObjdump::OnExportCount(Index count) {
 1720|  2.37k|  return OnCount(count);
 1721|  2.37k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump8OnExportEjNS_12ExternalKindEjNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEE:
 1726|  15.3k|                                     std::string_view name) {
 1727|  15.3k|  PrintDetails(" - %s[%" PRIindex "]", GetKindName(kind), item_index);
 1728|  15.3k|  if (kind == ExternalKind::Func) {
  ------------------
  |  Branch (1728:7): [True: 12.1k, False: 3.21k]
  ------------------
 1729|  12.1k|    auto name = GetFunctionName(item_index);
 1730|  12.1k|    if (!name.empty()) {
  ------------------
  |  Branch (1730:9): [True: 3.27k, False: 8.89k]
  ------------------
 1731|  3.27k|      PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  3.27k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1732|  3.27k|    }
 1733|  12.1k|  }
 1734|       |
 1735|  15.3k|  PrintDetails(" -> \"" PRIstringview "\"\n",
 1736|  15.3k|               WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  15.3k|  static_cast<int>((x).length()), (x).data()
  ------------------
 1737|  15.3k|  return Result::Ok;
 1738|  15.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump15OnStartFunctionEj:
 1552|    399|Result BinaryReaderObjdump::OnStartFunction(Index func_index) {
 1553|    399|  if (options_->mode == ObjdumpMode::Headers) {
  ------------------
  |  Branch (1553:7): [True: 133, False: 266]
  ------------------
 1554|    133|    printf("start: %" PRIindex "\n", func_index);
 1555|    266|  } else {
 1556|    266|    PrintDetails(" - start function: %" PRIindex, func_index);
  ------------------
  |  |   84|    266|#define PRIindex "u"
  ------------------
 1557|    266|    auto name = GetFunctionName(func_index);
 1558|    266|    if (!name.empty()) {
  ------------------
  |  Branch (1558:9): [True: 18, False: 248]
  ------------------
 1559|     18|      PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|     18|  static_cast<int>((x).length()), (x).data()
  ------------------
 1560|     18|    }
 1561|    266|    PrintDetails("\n");
 1562|    266|  }
 1563|    399|  return Result::Ok;
 1564|    399|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump19OnFunctionBodyCountEj:
 1538|  9.84k|Result BinaryReaderObjdump::OnFunctionBodyCount(Index count) {
 1539|  9.84k|  return OnCount(count);
 1540|  9.84k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump17BeginFunctionBodyEjm:
 1542|  15.3k|Result BinaryReaderObjdump::BeginFunctionBody(Index index, Offset size) {
 1543|  15.3k|  PrintDetails(" - func[%" PRIindex "] size=%" PRIzd, index, size);
  ------------------
  |  |  265|  15.3k|#define PRIzd "zd"
  ------------------
 1544|  15.3k|  auto name = GetFunctionName(index);
 1545|  15.3k|  if (!name.empty()) {
  ------------------
  |  Branch (1545:7): [True: 66, False: 15.3k]
  ------------------
 1546|     66|    PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|     66|  static_cast<int>((x).length()), (x).data()
  ------------------
 1547|     66|  }
 1548|  15.3k|  PrintDetails("\n");
 1549|  15.3k|  return Result::Ok;
 1550|  15.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump8OnOpcodeENS_6OpcodeE:
 1990|  1.88M|Result BinaryReaderObjdump::OnOpcode(Opcode opcode) {
 1991|  1.88M|  BinaryReaderObjdumpBase::OnOpcode(opcode);
 1992|  1.88M|  if (ReadingInitExpr() && opcode != Opcode::End) {
  ------------------
  |  Branch (1992:7): [True: 1.88M, False: 0]
  |  Branch (1992:28): [True: 1.83M, False: 46.1k]
  ------------------
 1993|  1.83M|    InitInst i;
 1994|  1.83M|    i.opcode = current_opcode;
 1995|  1.83M|    current_init_expr_.insts.push_back(i);
 1996|  1.83M|  }
 1997|  1.88M|  return Result::Ok;
 1998|  1.88M|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump15ReadingInitExprEv:
 1319|  1.98M|  bool ReadingInitExpr() {
 1320|  1.98M|    return reading_elem_init_expr_ || reading_data_init_expr_ ||
  ------------------
  |  Branch (1320:12): [True: 1.20M, False: 772k]
  |  Branch (1320:39): [True: 573k, False: 198k]
  ------------------
 1321|  1.98M|           reading_global_init_expr_ || reading_elem_expr_;
  ------------------
  |  Branch (1321:12): [True: 86.5k, False: 112k]
  |  Branch (1321:41): [True: 112k, False: 0]
  ------------------
 1322|  1.98M|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnF32ConstExprEj:
 1958|  32.6k|Result BinaryReaderObjdump::OnF32ConstExpr(uint32_t value) {
 1959|  32.6k|  if (ReadingInitExpr()) {
  ------------------
  |  Branch (1959:7): [True: 32.6k, False: 0]
  ------------------
 1960|  32.6k|    current_init_expr_.type = InitExprType::F32;
 1961|  32.6k|    current_init_expr_.insts.back().imm.f32 = value;
 1962|  32.6k|  }
 1963|  32.6k|  return Result::Ok;
 1964|  32.6k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnF64ConstExprEm:
 1966|  7.71k|Result BinaryReaderObjdump::OnF64ConstExpr(uint64_t value) {
 1967|  7.71k|  if (ReadingInitExpr()) {
  ------------------
  |  Branch (1967:7): [True: 7.71k, False: 0]
  ------------------
 1968|  7.71k|    current_init_expr_.type = InitExprType::F64;
 1969|  7.71k|    current_init_expr_.insts.back().imm.f64 = value;
 1970|  7.71k|  }
 1971|  7.71k|  return Result::Ok;
 1972|  7.71k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump15OnGlobalGetExprEj:
 2000|  10.2k|Result BinaryReaderObjdump::OnGlobalGetExpr(Index global_index) {
 2001|  10.2k|  if (ReadingInitExpr()) {
  ------------------
  |  Branch (2001:7): [True: 10.2k, False: 0]
  ------------------
 2002|  10.2k|    current_init_expr_.type = InitExprType::Global;
 2003|  10.2k|    current_init_expr_.insts.back().imm.index = global_index;
 2004|  10.2k|  }
 2005|  10.2k|  return Result::Ok;
 2006|  10.2k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnI32ConstExprEj:
 1942|  8.49k|Result BinaryReaderObjdump::OnI32ConstExpr(uint32_t value) {
 1943|  8.49k|  if (ReadingInitExpr()) {
  ------------------
  |  Branch (1943:7): [True: 8.49k, False: 0]
  ------------------
 1944|  8.49k|    current_init_expr_.type = InitExprType::I32;
 1945|  8.49k|    current_init_expr_.insts.back().imm.i32 = value;
 1946|  8.49k|  }
 1947|  8.49k|  return Result::Ok;
 1948|  8.49k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnI64ConstExprEm:
 1950|  20.3k|Result BinaryReaderObjdump::OnI64ConstExpr(uint64_t value) {
 1951|  20.3k|  if (ReadingInitExpr()) {
  ------------------
  |  Branch (1951:7): [True: 20.3k, False: 0]
  ------------------
 1952|  20.3k|    current_init_expr_.type = InitExprType::I64;
 1953|  20.3k|    current_init_expr_.insts.back().imm.i64 = value;
 1954|  20.3k|  }
 1955|  20.3k|  return Result::Ok;
 1956|  20.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnRefFuncExprEj:
 1974|  16.8k|Result BinaryReaderObjdump::OnRefFuncExpr(Index func_index) {
 1975|  16.8k|  if (ReadingInitExpr()) {
  ------------------
  |  Branch (1975:7): [True: 16.8k, False: 0]
  ------------------
 1976|  16.8k|    current_init_expr_.type = InitExprType::FuncRef;
 1977|  16.8k|    current_init_expr_.insts.back().imm.index = func_index;
 1978|  16.8k|  }
 1979|  16.8k|  return Result::Ok;
 1980|  16.8k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnRefNullExprENS_4TypeE:
 1982|  1.40k|Result BinaryReaderObjdump::OnRefNullExpr(Type type) {
 1983|  1.40k|  if (ReadingInitExpr()) {
  ------------------
  |  Branch (1983:7): [True: 1.40k, False: 0]
  ------------------
 1984|  1.40k|    current_init_expr_.type = InitExprType::NullRef;
 1985|  1.40k|    current_init_expr_.insts.back().imm.type = type;
 1986|  1.40k|  }
 1987|  1.40k|  return Result::Ok;
 1988|  1.40k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump18OnElemSegmentCountEj:
 1740|  9.64k|Result BinaryReaderObjdump::OnElemSegmentCount(Index count) {
 1741|  9.64k|  return OnCount(count);
 1742|  9.64k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump16BeginElemSegmentEjjh:
 1746|  16.2k|                                             uint8_t flags) {
 1747|  16.2k|  table_index_ = table_index;
 1748|  16.2k|  elem_index_ = 0;
 1749|  16.2k|  elem_flags_ = flags;
 1750|  16.2k|  return Result::Ok;
 1751|  16.2k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump24BeginElemSegmentInitExprEj:
 1163|  15.2k|  Result BeginElemSegmentInitExpr(Index index) override {
 1164|  15.2k|    reading_elem_init_expr_ = true;
 1165|  15.2k|    BeginInitExpr();
 1166|  15.2k|    return Result::Ok;
 1167|  15.2k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump22EndElemSegmentInitExprEj:
 1169|  7.61k|  Result EndElemSegmentInitExpr(Index index) override { return EndInitExpr(); }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump21OnElemSegmentElemTypeEjNS_4TypeE:
 1753|  8.40k|Result BinaryReaderObjdump::OnElemSegmentElemType(Index index, Type elem_type) {
 1754|       |  // TODO: Add support for this.
 1755|  8.40k|  return Result::Ok;
 1756|  8.40k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump26OnElemSegmentElemExprCountEjj:
 1759|  8.15k|                                                       Index count) {
 1760|  8.15k|  PrintDetails(" - segment[%" PRIindex "] flags=%d table=%" PRIindex
 1761|  8.15k|               " count=%" PRIindex,
  ------------------
  |  |   84|  8.15k|#define PRIindex "u"
  ------------------
 1762|  8.15k|               index, elem_flags_, table_index_, count);
 1763|  8.15k|  if (elem_flags_ & SegPassive) {
  ------------------
  |  Branch (1763:7): [True: 678, False: 7.47k]
  ------------------
 1764|    678|    PrintDetails("\n");
 1765|  7.47k|  } else {
 1766|  7.47k|    PrintInitExpr(current_init_expr_, /*as_unsigned=*/true);
 1767|  7.47k|  }
 1768|  8.15k|  return Result::Ok;
 1769|  8.15k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13BeginElemExprEjj:
 1187|  19.8k|  Result BeginElemExpr(Index elem_index, Index expr_index) override {
 1188|  19.8k|    reading_elem_expr_ = true;
 1189|  19.8k|    elem_index_ = expr_index;
 1190|  19.8k|    BeginInitExpr();
 1191|  19.8k|    return Result::Ok;
 1192|  19.8k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump11EndElemExprEjj:
 1194|  18.9k|  Result EndElemExpr(Index elem_index, Index expr_index) override {
 1195|  18.9k|    assert(expr_index == elem_index_);
 1196|  18.9k|    return EndInitExpr();
 1197|  18.9k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump18OnDataSegmentCountEj:
 2040|  3.66k|Result BinaryReaderObjdump::OnDataSegmentCount(Index count) {
 2041|  3.66k|  return OnCount(count);
 2042|  3.66k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump16BeginDataSegmentEjjh:
 2046|  10.6k|                                             uint8_t flags) {
 2047|  10.6k|  data_mem_index_ = memory_index;
 2048|  10.6k|  data_flags_ = flags;
 2049|  10.6k|  return Result::Ok;
 2050|  10.6k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump24BeginDataSegmentInitExprEj:
 1171|  8.88k|  Result BeginDataSegmentInitExpr(Index index) override {
 1172|  8.88k|    reading_data_init_expr_ = true;
 1173|  8.88k|    BeginInitExpr();
 1174|  8.88k|    return Result::Ok;
 1175|  8.88k|  }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump22EndDataSegmentInitExprEj:
 1177|  6.28k|  Result EndDataSegmentInitExpr(Index index) override { return EndInitExpr(); }
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump17OnDataSegmentDataEjPKvm:
 2054|  7.86k|                                              Address size) {
 2055|  7.86k|  if (!ShouldPrintDetails()) {
  ------------------
  |  Branch (2055:7): [True: 5.24k, False: 2.62k]
  ------------------
 2056|  5.24k|    return Result::Ok;
 2057|  5.24k|  }
 2058|       |
 2059|  2.62k|  PrintDetails(" - segment[%" PRIindex "]", index);
 2060|  2.62k|  auto name = GetSegmentName(index);
 2061|  2.62k|  if (!name.empty()) {
  ------------------
  |  Branch (2061:7): [True: 18, False: 2.60k]
  ------------------
 2062|     18|    PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|     18|  static_cast<int>((x).length()), (x).data()
  ------------------
 2063|     18|  }
 2064|  2.62k|  if (data_flags_ & SegPassive) {
  ------------------
  |  Branch (2064:7): [True: 561, False: 2.06k]
  ------------------
 2065|    561|    PrintDetails(" passive");
 2066|  2.06k|  } else {
 2067|  2.06k|    PrintDetails(" memory=%" PRIindex, data_mem_index_);
  ------------------
  |  |   84|  2.06k|#define PRIindex "u"
  ------------------
 2068|  2.06k|  }
 2069|  2.62k|  PrintDetails(" size=%" PRIaddress, size);
  ------------------
  |  |   85|  2.62k|#define PRIaddress PRIu64
  ------------------
 2070|  2.62k|  if (data_flags_ & SegPassive) {
  ------------------
  |  Branch (2070:7): [True: 561, False: 2.06k]
  ------------------
 2071|    561|    PrintDetails("\n");
 2072|  2.06k|  } else {
 2073|  2.06k|    PrintInitExpr(current_init_expr_, /*as_unsigned=*/true);
 2074|  2.06k|  }
 2075|       |
 2076|  2.62k|  out_stream_->WriteMemoryDump(src_data, size, data_offset_, PrintChars::Yes,
 2077|  2.62k|                               "  - ");
 2078|       |
 2079|       |  // Print relocations from this segment.
 2080|  2.62k|  if (!options_->relocs) {
  ------------------
  |  Branch (2080:7): [True: 2.62k, False: 0]
  ------------------
 2081|  2.62k|    return Result::Ok;
 2082|  2.62k|  }
 2083|       |
 2084|      0|  Offset data_start = GetSectionStart(BinarySection::Data);
 2085|      0|  Offset segment_start = state->offset - size;
 2086|      0|  Offset segment_offset = segment_start - data_start;
 2087|      0|  while (next_data_reloc_ < objdump_state_->data_relocations.size()) {
  ------------------
  |  Branch (2087:10): [True: 0, False: 0]
  ------------------
 2088|      0|    const Reloc& reloc = objdump_state_->data_relocations[next_data_reloc_];
 2089|      0|    Offset abs_offset = data_start + reloc.offset;
 2090|      0|    if (abs_offset > state->offset) {
  ------------------
  |  Branch (2090:9): [True: 0, False: 0]
  ------------------
 2091|      0|      break;
 2092|      0|    }
 2093|      0|    PrintRelocation(reloc, reloc.offset - segment_offset + data_offset_);
 2094|      0|    next_data_reloc_++;
 2095|      0|  }
 2096|       |
 2097|      0|  return Result::Ok;
 2098|  2.62k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump11OnDataCountEj:
 1566|    441|Result BinaryReaderObjdump::OnDataCount(Index count) {
 1567|    441|  if (options_->mode == ObjdumpMode::Headers) {
  ------------------
  |  Branch (1567:7): [True: 147, False: 294]
  ------------------
 1568|    147|    printf("count: %" PRIindex "\n", count);
 1569|    294|  } else {
 1570|    294|    PrintDetails(" - data count: %" PRIindex "\n", count);
 1571|    294|  }
 1572|    441|  return Result::Ok;
 1573|    441|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump12OnModuleNameENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
 2008|  70.2k|Result BinaryReaderObjdump::OnModuleName(std::string_view name) {
 2009|  70.2k|  PrintDetails(" - module <" PRIstringview ">\n",
 2010|  70.2k|               WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  70.2k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2011|  70.2k|  return Result::Ok;
 2012|  70.2k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnFunctionNameEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
 2014|  9.66k|Result BinaryReaderObjdump::OnFunctionName(Index index, std::string_view name) {
 2015|  9.66k|  PrintDetails(" - func[%" PRIindex "] <" PRIstringview ">\n", index,
 2016|  9.66k|               WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  9.66k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2017|  9.66k|  return Result::Ok;
 2018|  9.66k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump11OnLocalNameEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
 2031|  30.6k|                                        std::string_view name) {
 2032|  30.6k|  if (!name.empty()) {
  ------------------
  |  Branch (2032:7): [True: 4.44k, False: 26.2k]
  ------------------
 2033|  4.44k|    PrintDetails(" - func[%" PRIindex "] local[%" PRIindex "] <" PRIstringview
 2034|  4.44k|                 ">\n",
 2035|  4.44k|                 func_index, local_index, WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  4.44k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2036|  4.44k|  }
 2037|  30.6k|  return Result::Ok;
 2038|  30.6k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump11OnNameEntryENS_21NameSectionSubsectionEjNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEE:
 2022|  46.7k|                                        std::string_view name) {
 2023|  46.7k|  PrintDetails(" - %s[%" PRIindex "] <" PRIstringview ">\n",
 2024|  46.7k|               GetNameSectionSubsectionName(type), index,
 2025|  46.7k|               WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  46.7k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2026|  46.7k|  return Result::Ok;
 2027|  46.7k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump12OnRelocCountEjj:
 2148|  18.0k|Result BinaryReaderObjdump::OnRelocCount(Index count, Index section_index) {
 2149|  18.0k|  BinaryReaderObjdumpBase::OnRelocCount(count, section_index);
 2150|  18.0k|  PrintDetails("  - relocations for section: %d (" PRIstringview ") [%d]\n",
 2151|  18.0k|               section_index,
 2152|  18.0k|               WABT_PRINTF_STRING_VIEW_ARG(GetSectionName(section_index)),
  ------------------
  |  |   28|  18.0k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2153|  18.0k|               count);
 2154|  18.0k|  return Result::Ok;
 2155|  18.0k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump7OnRelocENS_9RelocTypeEmjj:
 2160|  47.7k|                                    uint32_t addend) {
 2161|  47.7k|  Offset total_offset = GetSectionStart(reloc_section_) + offset;
 2162|  47.7k|  PrintDetails("   - %-18s offset=%#08" PRIoffset "(file=%#08" PRIoffset ") ",
 2163|  47.7k|               GetRelocTypeName(type), offset, total_offset);
 2164|  47.7k|  if (type == RelocType::TypeIndexLEB) {
  ------------------
  |  Branch (2164:7): [True: 3.20k, False: 44.5k]
  ------------------
 2165|  3.20k|    PrintDetails("type=%" PRIindex, index);
  ------------------
  |  |   84|  3.20k|#define PRIindex "u"
  ------------------
 2166|  44.5k|  } else {
 2167|  44.5k|    PrintDetails("symbol=%" PRIindex " <" PRIstringview ">", index,
 2168|  44.5k|                 WABT_PRINTF_STRING_VIEW_ARG(GetSymbolName(index)));
  ------------------
  |  |   28|  44.5k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2169|  44.5k|  }
 2170|       |
 2171|  47.7k|  if (addend) {
  ------------------
  |  Branch (2171:7): [True: 8.60k, False: 39.1k]
  ------------------
 2172|  8.60k|    int32_t signed_addend = static_cast<int32_t>(addend);
 2173|  8.60k|    if (signed_addend < 0) {
  ------------------
  |  Branch (2173:9): [True: 1.34k, False: 7.26k]
  ------------------
 2174|  1.34k|      PrintDetails("-");
 2175|  1.34k|      signed_addend = -signed_addend;
 2176|  7.26k|    } else {
 2177|  7.26k|      PrintDetails("+");
 2178|  7.26k|    }
 2179|  8.60k|    PrintDetails("%#x", signed_addend);
 2180|  8.60k|  }
 2181|  47.7k|  PrintDetails("\n");
 2182|  47.7k|  return Result::Ok;
 2183|  47.7k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump12OnDylinkInfoEjjjj:
 2103|  11.3k|                                         uint32_t table_align_log2) {
 2104|  11.3k|  PrintDetails(" - mem_size     : %u\n", mem_size);
 2105|  11.3k|  PrintDetails(" - mem_p2align  : %u\n", mem_align_log2);
 2106|  11.3k|  PrintDetails(" - table_size   : %u\n", table_size);
 2107|  11.3k|  PrintDetails(" - table_p2align: %u\n", table_align_log2);
 2108|  11.3k|  return Result::Ok;
 2109|  11.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump19OnDylinkImportCountEj:
 2118|  5.43k|Result BinaryReaderObjdump::OnDylinkImportCount(Index count) {
 2119|  5.43k|  PrintDetails(" - imports[%u]:\n", count);
 2120|  5.43k|  return Result::Ok;
 2121|  5.43k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump19OnDylinkExportCountEj:
 2123|  6.74k|Result BinaryReaderObjdump::OnDylinkExportCount(Index count) {
 2124|  6.74k|  PrintDetails(" - exports[%u]:\n", count);
 2125|  6.74k|  return Result::Ok;
 2126|  6.74k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnDylinkImportENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_j:
 2136|  3.96k|                                           uint32_t flags) {
 2137|  3.96k|  PrintDetails("  - " PRIstringview "." PRIstringview,
  ------------------
  |  |   26|  3.96k|#define PRIstringview "%.*s"
  ------------------
 2138|  3.96k|               WABT_PRINTF_STRING_VIEW_ARG(module),
  ------------------
  |  |   28|  3.96k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2139|  3.96k|               WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  3.96k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2140|  3.96k|  return PrintSymbolFlags(flags);
 2141|  3.96k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump16PrintSymbolFlagsEj:
 2196|   369k|Result BinaryReaderObjdump::PrintSymbolFlags(uint32_t flags) {
 2197|   369k|  if (flags > WABT_SYMBOL_FLAG_MAX) {
  ------------------
  |  |  348|   369k|#define WABT_SYMBOL_FLAG_MAX 0x3ff
  ------------------
  |  Branch (2197:7): [True: 45.3k, False: 324k]
  ------------------
 2198|  45.3k|    err_stream_->Writef("Unknown symbols flags: %x\n", flags);
 2199|  45.3k|    return Result::Error;
 2200|  45.3k|  }
 2201|       |
 2202|   324k|  const char* binding_name = nullptr;
 2203|   324k|  SymbolBinding binding =
 2204|   324k|      static_cast<SymbolBinding>(flags & WABT_SYMBOL_MASK_BINDING);
  ------------------
  |  |  341|   324k|#define WABT_SYMBOL_MASK_BINDING 0x3
  ------------------
 2205|   324k|  switch (binding) {
  ------------------
  |  Branch (2205:11): [True: 18.7k, False: 305k]
  ------------------
 2206|   283k|    case SymbolBinding::Global:
  ------------------
  |  Branch (2206:5): [True: 283k, False: 40.8k]
  ------------------
 2207|   283k|      binding_name = "global";
 2208|   283k|      break;
 2209|  6.11k|    case SymbolBinding::Local:
  ------------------
  |  Branch (2209:5): [True: 6.11k, False: 318k]
  ------------------
 2210|  6.11k|      binding_name = "local";
 2211|  6.11k|      break;
 2212|  15.9k|    case SymbolBinding::Weak:
  ------------------
  |  Branch (2212:5): [True: 15.9k, False: 308k]
  ------------------
 2213|  15.9k|      binding_name = "weak";
 2214|  15.9k|      break;
 2215|   324k|  }
 2216|   324k|  flags &= ~WABT_SYMBOL_MASK_BINDING;
  ------------------
  |  |  341|   324k|#define WABT_SYMBOL_MASK_BINDING 0x3
  ------------------
 2217|       |
 2218|   324k|  const char* vis_name = nullptr;
 2219|   324k|  SymbolVisibility vis =
 2220|   324k|      static_cast<SymbolVisibility>(flags & WABT_SYMBOL_MASK_VISIBILITY);
  ------------------
  |  |  340|   324k|#define WABT_SYMBOL_MASK_VISIBILITY 0x4
  ------------------
 2221|   324k|  switch (vis) {
  ------------------
  |  Branch (2221:11): [True: 0, False: 324k]
  ------------------
 2222|   103k|    case SymbolVisibility::Hidden:
  ------------------
  |  Branch (2222:5): [True: 103k, False: 221k]
  ------------------
 2223|   103k|      vis_name = "hidden";
 2224|   103k|      break;
 2225|   221k|    case SymbolVisibility::Default:
  ------------------
  |  Branch (2225:5): [True: 221k, False: 103k]
  ------------------
 2226|   221k|      vis_name = "default";
 2227|   221k|      break;
 2228|   324k|  }
 2229|   324k|  flags &= ~WABT_SYMBOL_MASK_VISIBILITY;
  ------------------
  |  |  340|   324k|#define WABT_SYMBOL_MASK_VISIBILITY 0x4
  ------------------
 2230|       |
 2231|   324k|  PrintDetails(" [");
 2232|   324k|  if (flags & WABT_SYMBOL_FLAG_UNDEFINED) {
  ------------------
  |  |  342|   324k|#define WABT_SYMBOL_FLAG_UNDEFINED 0x10
  ------------------
  |  Branch (2232:7): [True: 166k, False: 157k]
  ------------------
 2233|   166k|    PrintDetails(" undefined");
 2234|   166k|    flags &= ~WABT_SYMBOL_FLAG_UNDEFINED;
  ------------------
  |  |  342|   166k|#define WABT_SYMBOL_FLAG_UNDEFINED 0x10
  ------------------
 2235|   166k|  }
 2236|   324k|  if (flags & WABT_SYMBOL_FLAG_EXPORTED) {
  ------------------
  |  |  343|   324k|#define WABT_SYMBOL_FLAG_EXPORTED 0x20
  ------------------
  |  Branch (2236:7): [True: 17.2k, False: 307k]
  ------------------
 2237|  17.2k|    PrintDetails(" exported");
 2238|  17.2k|    flags &= ~WABT_SYMBOL_FLAG_EXPORTED;
  ------------------
  |  |  343|  17.2k|#define WABT_SYMBOL_FLAG_EXPORTED 0x20
  ------------------
 2239|  17.2k|  }
 2240|   324k|  if (flags & WABT_SYMBOL_FLAG_EXPLICIT_NAME) {
  ------------------
  |  |  344|   324k|#define WABT_SYMBOL_FLAG_EXPLICIT_NAME 0x40
  ------------------
  |  Branch (2240:7): [True: 22.5k, False: 302k]
  ------------------
 2241|  22.5k|    PrintDetails(" explicit_name");
 2242|  22.5k|    flags &= ~WABT_SYMBOL_FLAG_EXPLICIT_NAME;
  ------------------
  |  |  344|  22.5k|#define WABT_SYMBOL_FLAG_EXPLICIT_NAME 0x40
  ------------------
 2243|  22.5k|  }
 2244|   324k|  if (flags & WABT_SYMBOL_FLAG_NO_STRIP) {
  ------------------
  |  |  345|   324k|#define WABT_SYMBOL_FLAG_NO_STRIP 0x80
  ------------------
  |  Branch (2244:7): [True: 2.74k, False: 321k]
  ------------------
 2245|  2.74k|    PrintDetails(" no_strip");
 2246|  2.74k|    flags &= ~WABT_SYMBOL_FLAG_NO_STRIP;
  ------------------
  |  |  345|  2.74k|#define WABT_SYMBOL_FLAG_NO_STRIP 0x80
  ------------------
 2247|  2.74k|  }
 2248|   324k|  if (flags & WABT_SYMBOL_FLAG_TLS) {
  ------------------
  |  |  346|   324k|#define WABT_SYMBOL_FLAG_TLS 0x100
  ------------------
  |  Branch (2248:7): [True: 2.05k, False: 322k]
  ------------------
 2249|  2.05k|    PrintDetails(" tls");
 2250|  2.05k|    flags &= ~WABT_SYMBOL_FLAG_TLS;
  ------------------
  |  |  346|  2.05k|#define WABT_SYMBOL_FLAG_TLS 0x100
  ------------------
 2251|  2.05k|  }
 2252|   324k|  if (flags & WABT_SYMBOL_FLAG_ABS) {
  ------------------
  |  |  347|   324k|#define WABT_SYMBOL_FLAG_ABS 0x200
  ------------------
  |  Branch (2252:7): [True: 1.37k, False: 323k]
  ------------------
 2253|  1.37k|    PrintDetails(" abs");
 2254|  1.37k|    flags &= ~WABT_SYMBOL_FLAG_ABS;
  ------------------
  |  |  347|  1.37k|#define WABT_SYMBOL_FLAG_ABS 0x200
  ------------------
 2255|  1.37k|  }
 2256|   324k|  if (flags != 0) {
  ------------------
  |  Branch (2256:7): [True: 86.0k, False: 238k]
  ------------------
 2257|  86.0k|    PrintDetails(" unknown_flags=%#x", flags);
 2258|  86.0k|  }
 2259|   324k|  PrintDetails(" binding=%s vis=%s ]\n", binding_name, vis_name);
 2260|   324k|  return Result::Ok;
 2261|   324k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnDylinkExportENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
 2129|  2.28k|                                           uint32_t flags) {
 2130|  2.28k|  PrintDetails("  - " PRIstringview, WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   26|  2.28k|#define PRIstringview "%.*s"
  ------------------
                PrintDetails("  - " PRIstringview, WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  2.28k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2131|  2.28k|  return PrintSymbolFlags(flags);
 2132|  2.28k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump19OnDylinkNeededCountEj:
 2111|  10.8k|Result BinaryReaderObjdump::OnDylinkNeededCount(Index count) {
 2112|  10.8k|  if (count) {
  ------------------
  |  Branch (2112:7): [True: 3.96k, False: 6.86k]
  ------------------
 2113|  3.96k|    PrintDetails(" - needed_dynlibs[%u]:\n", count);
 2114|  3.96k|  }
 2115|  10.8k|  return Result::Ok;
 2116|  10.8k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnDylinkNeededENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
 2143|  9.15k|Result BinaryReaderObjdump::OnDylinkNeeded(std::string_view so_name) {
 2144|  9.15k|  PrintDetails("  - " PRIstringview "\n", WABT_PRINTF_STRING_VIEW_ARG(so_name));
  ------------------
  |  |   28|  9.15k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2145|  9.15k|  return Result::Ok;
 2146|  9.15k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump9OnFeatureEhNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
 2185|  13.2k|Result BinaryReaderObjdump::OnFeature(uint8_t prefix, std::string_view name) {
 2186|  13.2k|  PrintDetails("  - [%c] " PRIstringview "\n", prefix,
 2187|  13.2k|               WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  13.2k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2188|  13.2k|  return Result::Ok;
 2189|  13.2k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnSymbolCountEj:
 2191|  90.7k|Result BinaryReaderObjdump::OnSymbolCount(Index count) {
 2192|  90.7k|  PrintDetails("  - symbol table [count=%d]\n", count);
 2193|  90.7k|  return Result::Ok;
 2194|  90.7k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump12OnDataSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEjjj:
 2293|  5.64k|                                         uint32_t size) {
 2294|  5.64k|  PrintDetails("   - %d: D <" PRIstringview ">", index,
 2295|  5.64k|               WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  5.64k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2296|  5.64k|  if (!(flags & WABT_SYMBOL_FLAG_UNDEFINED)) {
  ------------------
  |  |  342|  5.64k|#define WABT_SYMBOL_FLAG_UNDEFINED 0x10
  ------------------
  |  Branch (2296:7): [True: 4.72k, False: 921]
  ------------------
 2297|  4.72k|    if (flags & WABT_SYMBOL_FLAG_ABS) {
  ------------------
  |  |  347|  4.72k|#define WABT_SYMBOL_FLAG_ABS 0x200
  ------------------
  |  Branch (2297:9): [True: 942, False: 3.78k]
  ------------------
 2298|    942|      PrintDetails(" address=%d size=%d", offset, size);
 2299|  3.78k|    } else {
 2300|  3.78k|      PrintDetails(" segment=%" PRIindex " offset=%d size=%d", segment, offset,
 2301|  3.78k|                   size);
 2302|  3.78k|    }
 2303|  4.72k|  }
 2304|  5.64k|  return PrintSymbolFlags(flags);
 2305|  5.64k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump16OnFunctionSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
 2310|   124k|                                             Index func_index) {
 2311|   124k|  if (name.empty()) {
  ------------------
  |  Branch (2311:7): [True: 119k, False: 5.36k]
  ------------------
 2312|   119k|    name = GetFunctionName(func_index);
 2313|   119k|  }
 2314|   124k|  PrintDetails("   - %d: F <" PRIstringview "> func=%" PRIindex, index,
  ------------------
  |  |   84|   124k|#define PRIindex "u"
  ------------------
 2315|   124k|               WABT_PRINTF_STRING_VIEW_ARG(name), func_index);
  ------------------
  |  |   28|   124k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2316|   124k|  return PrintSymbolFlags(flags);
 2317|   124k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnGlobalSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
 2322|  68.4k|                                           Index global_index) {
 2323|  68.4k|  if (name.empty()) {
  ------------------
  |  Branch (2323:7): [True: 60.5k, False: 7.95k]
  ------------------
 2324|  60.5k|    name = GetGlobalName(global_index);
 2325|  60.5k|  }
 2326|  68.4k|  PrintDetails("   - %d: G <" PRIstringview "> global=%" PRIindex, index,
  ------------------
  |  |   84|  68.4k|#define PRIindex "u"
  ------------------
 2327|  68.4k|               WABT_PRINTF_STRING_VIEW_ARG(name), global_index);
  ------------------
  |  |   28|  68.4k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2328|  68.4k|  return PrintSymbolFlags(flags);
 2329|  68.4k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump15OnSectionSymbolEjjj:
 2333|   114k|                                            Index section_index) {
 2334|   114k|  auto sym_name = GetSectionName(section_index);
 2335|   114k|  assert(!sym_name.empty());
 2336|   114k|  PrintDetails("   - %d: S <" PRIstringview "> section=%" PRIindex, index,
  ------------------
  |  |   84|   114k|#define PRIindex "u"
  ------------------
 2337|   114k|               WABT_PRINTF_STRING_VIEW_ARG(sym_name), section_index);
  ------------------
  |  |   28|   114k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2338|   114k|  return PrintSymbolFlags(flags);
 2339|   114k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump11OnTagSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
 2344|  32.0k|                                        Index tag_index) {
 2345|  32.0k|  if (name.empty()) {
  ------------------
  |  Branch (2345:7): [True: 21.3k, False: 10.7k]
  ------------------
 2346|  21.3k|    name = GetTagName(tag_index);
 2347|  21.3k|  }
 2348|  32.0k|  PrintDetails("   - %d: E <" PRIstringview "> tag=%" PRIindex, index,
  ------------------
  |  |   84|  32.0k|#define PRIindex "u"
  ------------------
 2349|  32.0k|               WABT_PRINTF_STRING_VIEW_ARG(name), tag_index);
  ------------------
  |  |   28|  32.0k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2350|  32.0k|  return PrintSymbolFlags(flags);
 2351|  32.0k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnTableSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
 2356|  18.4k|                                          Index table_index) {
 2357|  18.4k|  if (name.empty()) {
  ------------------
  |  Branch (2357:7): [True: 11.0k, False: 7.37k]
  ------------------
 2358|  11.0k|    name = GetTableName(table_index);
 2359|  11.0k|  }
 2360|  18.4k|  PrintDetails("   - %d: T <" PRIstringview "> table=%" PRIindex, index,
  ------------------
  |  |   84|  18.4k|#define PRIindex "u"
  ------------------
 2361|  18.4k|               WABT_PRINTF_STRING_VIEW_ARG(name), table_index);
  ------------------
  |  |   28|  18.4k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2362|  18.4k|  return PrintSymbolFlags(flags);
 2363|  18.4k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump18OnSegmentInfoCountEj:
 2365|  16.0k|Result BinaryReaderObjdump::OnSegmentInfoCount(Index count) {
 2366|  16.0k|  PrintDetails("  - segment info [count=%d]\n", count);
 2367|  16.0k|  return Result::Ok;
 2368|  16.0k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnSegmentInfoEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEmj:
 2373|  68.9k|                                          uint32_t flags) {
 2374|  68.9k|  PrintDetails("   - %d: " PRIstringview " p2align=%" PRIaddress, index,
  ------------------
  |  |   85|  68.9k|#define PRIaddress PRIu64
  ------------------
 2375|  68.9k|               WABT_PRINTF_STRING_VIEW_ARG(name), alignment_log2);
  ------------------
  |  |   28|  68.9k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2376|  68.9k|  return PrintSegmentFlags(flags);
 2377|  68.9k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump17PrintSegmentFlagsEj:
 2263|  68.9k|Result BinaryReaderObjdump::PrintSegmentFlags(uint32_t flags) {
 2264|  68.9k|  if (flags > WABT_SYMBOL_FLAG_MAX) {
  ------------------
  |  |  348|  68.9k|#define WABT_SYMBOL_FLAG_MAX 0x3ff
  ------------------
  |  Branch (2264:7): [True: 6.50k, False: 62.4k]
  ------------------
 2265|  6.50k|    err_stream_->Writef("Unknown symbols flags: %x\n", flags);
 2266|  6.50k|    return Result::Error;
 2267|  6.50k|  }
 2268|  62.4k|  PrintDetails(" [");
 2269|  62.4k|  if (flags & WABT_SEGMENT_FLAG_STRINGS) {
  ------------------
  |  |  350|  62.4k|#define WABT_SEGMENT_FLAG_STRINGS 0x1
  ------------------
  |  Branch (2269:7): [True: 8.63k, False: 53.7k]
  ------------------
 2270|  8.63k|    PrintDetails(" STRINGS");
 2271|  8.63k|    flags &= ~WABT_SEGMENT_FLAG_STRINGS;
  ------------------
  |  |  350|  8.63k|#define WABT_SEGMENT_FLAG_STRINGS 0x1
  ------------------
 2272|  8.63k|  }
 2273|  62.4k|  if (flags & WABT_SEGMENT_FLAG_TLS) {
  ------------------
  |  |  351|  62.4k|#define WABT_SEGMENT_FLAG_TLS 0x2
  ------------------
  |  Branch (2273:7): [True: 1.92k, False: 60.4k]
  ------------------
 2274|  1.92k|    PrintDetails(" TLS");
 2275|  1.92k|    flags &= ~WABT_SEGMENT_FLAG_TLS;
  ------------------
  |  |  351|  1.92k|#define WABT_SEGMENT_FLAG_TLS 0x2
  ------------------
 2276|  1.92k|  }
 2277|  62.4k|  if (flags & WASM_SEGMENT_FLAG_RETAIN) {
  ------------------
  |  |  352|  62.4k|#define WASM_SEGMENT_FLAG_RETAIN 0x4
  ------------------
  |  Branch (2277:7): [True: 2.89k, False: 59.5k]
  ------------------
 2278|  2.89k|    PrintDetails(" RETAIN");
 2279|  2.89k|    flags &= ~WASM_SEGMENT_FLAG_RETAIN;
  ------------------
  |  |  352|  2.89k|#define WASM_SEGMENT_FLAG_RETAIN 0x4
  ------------------
 2280|  2.89k|  }
 2281|  62.4k|  if (flags != 0) {
  ------------------
  |  Branch (2281:7): [True: 8.69k, False: 53.7k]
  ------------------
 2282|  8.69k|    PrintDetails(" unknown_flags=%#x", flags);
 2283|  8.69k|  }
 2284|  62.4k|  PrintDetails(" ]\n");
 2285|  62.4k|  return Result::Ok;
 2286|  68.9k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump19OnInitFunctionCountEj:
 2379|  2.56k|Result BinaryReaderObjdump::OnInitFunctionCount(Index count) {
 2380|  2.56k|  PrintDetails("  - init functions [count=%d]\n", count);
 2381|  2.56k|  return Result::Ok;
 2382|  2.56k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnInitFunctionEjj:
 2385|  16.0k|                                           Index symbol_index) {
 2386|  16.0k|  PrintDetails("   - %d: priority=%d", symbol_index, priority);
 2387|  16.0k|  auto name = GetSymbolName(symbol_index);
 2388|  16.0k|  if (!name.empty()) {
  ------------------
  |  Branch (2388:7): [True: 8.68k, False: 7.32k]
  ------------------
 2389|  8.68k|    PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  8.68k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2390|  8.68k|  }
 2391|  16.0k|  PrintDetails("\n");
 2392|  16.0k|  return Result::Ok;
 2393|  16.0k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnComdatCountEj:
 2395|  10.3k|Result BinaryReaderObjdump::OnComdatCount(Index count) {
 2396|  10.3k|  PrintDetails("  - comdat groups [count=%d]\n", count);
 2397|  10.3k|  return Result::Ok;
 2398|  10.3k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnComdatBeginENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEjj:
 2402|  9.50k|                                          Index count) {
 2403|  9.50k|  PrintDetails("   - " PRIstringview ": [count=%d]\n",
 2404|  9.50k|               WABT_PRINTF_STRING_VIEW_ARG(name), count);
  ------------------
  |  |   28|  9.50k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2405|  9.50k|  return Result::Ok;
 2406|  9.50k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump13OnComdatEntryENS_10ComdatTypeEj:
 2408|   103k|Result BinaryReaderObjdump::OnComdatEntry(ComdatType kind, Index index) {
 2409|   103k|  switch (kind) {
  ------------------
  |  Branch (2409:11): [True: 31.1k, False: 72.4k]
  ------------------
 2410|  43.9k|    case ComdatType::Data: {
  ------------------
  |  Branch (2410:5): [True: 43.9k, False: 59.6k]
  ------------------
 2411|  43.9k|      PrintDetails("    - segment[%" PRIindex "]", index);
 2412|  43.9k|      auto name = GetSegmentName(index);
 2413|  43.9k|      if (!name.empty()) {
  ------------------
  |  Branch (2413:11): [True: 753, False: 43.1k]
  ------------------
 2414|    753|        PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|    753|  static_cast<int>((x).length()), (x).data()
  ------------------
 2415|    753|      }
 2416|  43.9k|      break;
 2417|      0|    }
 2418|  28.4k|    case ComdatType::Function: {
  ------------------
  |  Branch (2418:5): [True: 28.4k, False: 75.1k]
  ------------------
 2419|  28.4k|      PrintDetails("    - func[%" PRIindex "]", index);
 2420|  28.4k|      auto name = GetFunctionName(index);
 2421|  28.4k|      if (!name.empty()) {
  ------------------
  |  Branch (2421:11): [True: 3.18k, False: 25.2k]
  ------------------
 2422|  3.18k|        PrintDetails(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|  3.18k|  static_cast<int>((x).length()), (x).data()
  ------------------
 2423|  3.18k|      }
 2424|  28.4k|      break;
 2425|      0|    }
 2426|   103k|  }
 2427|   103k|  PrintDetails("\n");
 2428|   103k|  return Result::Ok;
 2429|   103k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump10OnTagCountEj:
 2431|    159|Result BinaryReaderObjdump::OnTagCount(Index count) {
 2432|    159|  return OnCount(count);
 2433|    159|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump9OnTagTypeEjj:
 2435|  3.21k|Result BinaryReaderObjdump::OnTagType(Index index, Index sig_index) {
 2436|  3.21k|  if (!ShouldPrintDetails()) {
  ------------------
  |  Branch (2436:7): [True: 2.14k, False: 1.07k]
  ------------------
 2437|  2.14k|    return Result::Ok;
 2438|  2.14k|  }
 2439|  1.07k|  printf(" - tag[%" PRIindex "] sig=%" PRIindex "\n", index, sig_index);
 2440|  1.07k|  return Result::Ok;
 2441|  3.21k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump19OnCodeMetadataCountEjj:
 2444|  39.8k|                                                Index count) {
 2445|  39.8k|  if (!ShouldPrintDetails()) {
  ------------------
  |  Branch (2445:7): [True: 26.5k, False: 13.2k]
  ------------------
 2446|  26.5k|    return Result::Ok;
 2447|  26.5k|  }
 2448|  13.2k|  printf("   - func[%" PRIindex "]", function_index);
 2449|  13.2k|  auto name = GetFunctionName(function_index);
 2450|  13.2k|  if (!name.empty()) {
  ------------------
  |  Branch (2450:7): [True: 604, False: 12.6k]
  ------------------
 2451|    604|    printf(" <" PRIstringview ">", WABT_PRINTF_STRING_VIEW_ARG(name));
  ------------------
  |  |   28|    604|  static_cast<int>((x).length()), (x).data()
  ------------------
 2452|    604|  }
 2453|  13.2k|  printf(":\n");
 2454|  13.2k|  return Result::Ok;
 2455|  39.8k|}
binary-reader-objdump.cc:_ZN4wabt12_GLOBAL__N_119BinaryReaderObjdump14OnCodeMetadataEmPKvm:
 2458|  45.8k|                                           Address size) {
 2459|  45.8k|  if (!ShouldPrintDetails()) {
  ------------------
  |  Branch (2459:7): [True: 30.5k, False: 15.2k]
  ------------------
 2460|  30.5k|    return Result::Ok;
 2461|  30.5k|  }
 2462|  15.2k|  printf("    - meta[%" PRIzx "]:\n", code_offset);
 2463|       |
 2464|  15.2k|  out_stream_->WriteMemoryDump(data, size, 0, PrintChars::Yes, "     - ");
 2465|  15.2k|  return Result::Ok;
 2466|  45.8k|}

_ZN4wabt10ReadBinaryEPKvmPNS_20BinaryReaderDelegateERKNS_17ReadBinaryOptionsE:
 3137|  75.3k|                  const ReadBinaryOptions& options) {
 3138|  75.3k|  BinaryReader reader(data, size, delegate, options);
 3139|  75.3k|  return reader.ReadModule(
 3140|  75.3k|      BinaryReader::ReadModuleOptions{options.stop_on_first_error});
 3141|  75.3k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReaderC2EPKvmPNS_20BinaryReaderDelegateERKNS_17ReadBinaryOptionsE:
  224|  75.3k|    : read_end_(size),
  225|  75.3k|      state_(static_cast<const uint8_t*>(data), size),
  226|  75.3k|      logging_delegate_(options.log_stream, delegate),
  227|  75.3k|      delegate_(options.log_stream ? &logging_delegate_ : delegate),
  ------------------
  |  Branch (227:17): [True: 0, False: 75.3k]
  ------------------
  228|  75.3k|      options_(options),
  229|  75.3k|      last_known_section_(BinarySection::Invalid) {
  230|  75.3k|  delegate->OnSetState(&state_);
  231|  75.3k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10ReadModuleERKNS1_17ReadModuleOptionsE:
 3093|  75.3k|Result BinaryReader::ReadModule(const ReadModuleOptions& options) {
 3094|  75.3k|  uint32_t magic = 0;
 3095|  75.3k|  CHECK_RESULT(ReadU32(&magic, "magic"));
  ------------------
  |  |   55|  75.3k|  do {                              \
  |  |   56|  75.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10, False: 75.3k]
  |  |  ------------------
  |  |   57|     10|      return ::wabt::Result::Error; \
  |  |   58|     10|    }                               \
  |  |   59|  75.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3096|  75.3k|  ERROR_UNLESS(magic == WABT_BINARY_MAGIC, "bad magic value");
  ------------------
  |  |   53|  75.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  75.3k|  do {                      \
  |  |  |  |   48|  75.3k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 280, False: 75.0k]
  |  |  |  |  ------------------
  |  |  |  |   49|    280|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    280|  do {                       \
  |  |  |  |  |  |   42|    280|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    280|    return Result::Error;    \
  |  |  |  |  |  |   44|    280|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    280|    }                       \
  |  |  |  |   51|  75.3k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3097|       |
 3098|  75.0k|  uint16_t version = 0, layer = 0;
 3099|  75.0k|  CHECK_RESULT(ReadU16(&version, "version"));
  ------------------
  |  |   55|  75.0k|  do {                              \
  |  |   56|  75.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10, False: 75.0k]
  |  |  ------------------
  |  |   57|     10|      return ::wabt::Result::Error; \
  |  |   58|     10|    }                               \
  |  |   59|  75.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3100|  75.0k|  CHECK_RESULT(ReadU16(&layer, "layer"));
  ------------------
  |  |   55|  75.0k|  do {                              \
  |  |   56|  75.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10, False: 75.0k]
  |  |  ------------------
  |  |   57|     10|      return ::wabt::Result::Error; \
  |  |   58|     10|    }                               \
  |  |   59|  75.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3101|       |
 3102|  75.0k|  switch (layer) {
 3103|  74.9k|    case WABT_BINARY_LAYER_MODULE:
  ------------------
  |  |   24|  74.9k|#define WABT_BINARY_LAYER_MODULE 0
  ------------------
  |  Branch (3103:5): [True: 74.9k, False: 15]
  ------------------
 3104|  74.9k|      ERROR_UNLESS(version == WABT_BINARY_VERSION,
  ------------------
  |  |   53|  74.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  74.9k|  do {                      \
  |  |  |  |   48|  74.9k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 80, False: 74.9k]
  |  |  |  |  ------------------
  |  |  |  |   49|     80|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     80|  do {                       \
  |  |  |  |  |  |   42|     80|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     80|    return Result::Error;    \
  |  |  |  |  |  |   44|     80|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     80|    }                       \
  |  |  |  |   51|  74.9k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3105|  74.9k|                   "bad wasm file version: %#x (expected %#x)", version,
 3106|  74.9k|                   WABT_BINARY_VERSION);
 3107|  74.9k|      break;
 3108|  74.9k|    case WABT_BINARY_LAYER_COMPONENT:
  ------------------
  |  |   25|      5|#define WABT_BINARY_LAYER_COMPONENT 1
  ------------------
  |  Branch (3108:5): [True: 5, False: 75.0k]
  ------------------
 3109|      5|      ERROR("wasm components are not yet supported in this tool");
  ------------------
  |  |   41|      5|  do {                       \
  |  |   42|      5|    PrintError(__VA_ARGS__); \
  |  |   43|      5|    return Result::Error;    \
  |  |   44|      5|  } while (0)
  |  |  ------------------
  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3110|      0|      break;
 3111|     10|    default:
  ------------------
  |  Branch (3111:5): [True: 10, False: 74.9k]
  ------------------
 3112|     10|      ERROR("unsupported wasm layer: %#x", layer);
  ------------------
  |  |   41|     10|  do {                       \
  |  |   42|     10|    PrintError(__VA_ARGS__); \
  |  |   43|     10|    return Result::Error;    \
  |  |   44|     10|  } while (0)
  |  |  ------------------
  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3113|      0|      break;
 3114|  75.0k|  }
 3115|       |
 3116|  74.9k|  CALLBACK(BeginModule, version);
  ------------------
  |  |   66|  74.9k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  74.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  74.9k|  do {                      \
  |  |  |  |  |  |   48|  74.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 74.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  74.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  74.9k|               #member " callback failed")
  ------------------
 3117|  74.9k|  CHECK_RESULT(ReadSections(ReadSectionsOptions{options.stop_on_first_error}));
  ------------------
  |  |   55|  74.9k|  do {                              \
  |  |   56|  74.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 68.2k, False: 6.65k]
  |  |  ------------------
  |  |   57|  68.2k|      return ::wabt::Result::Error; \
  |  |   58|  68.2k|    }                               \
  |  |   59|  74.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3118|       |  // This is checked in ReadCodeSection, but it must be checked at the end too,
 3119|       |  // in case the code section was omitted.
 3120|  6.65k|  ERROR_UNLESS(num_function_signatures_ == num_function_bodies_,
  ------------------
  |  |   53|  6.65k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  6.65k|  do {                      \
  |  |  |  |   48|  6.65k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 77, False: 6.57k]
  |  |  |  |  ------------------
  |  |  |  |   49|     77|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     77|  do {                       \
  |  |  |  |  |  |   42|     77|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     77|    return Result::Error;    \
  |  |  |  |  |  |   44|     77|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     77|    }                       \
  |  |  |  |   51|  6.65k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3121|  6.57k|               "function signature count != function body count");
 3122|       |  // This is checked in ReadDataSection, but it must be checked at the end too,
 3123|       |  // in case the data section was omitted.
 3124|  6.57k|  ERROR_IF(num_data_segments_ == 0 && data_count_ != kInvalidIndex &&
  ------------------
  |  |   47|  6.57k|  do {                      \
  |  |   48|  26.3k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 6.55k, False: 20]
  |  |  |  Branch (48:9): [True: 100, False: 6.45k]
  |  |  |  Branch (48:9): [True: 95, False: 5]
  |  |  ------------------
  |  |   49|     95|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     95|  do {                       \
  |  |  |  |   42|     95|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     95|    return Result::Error;    \
  |  |  |  |   44|     95|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     95|    }                       \
  |  |   51|  6.57k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3125|  6.57k|               data_count_ != 0,
 3126|  6.57k|           "Data section missing but DataCount non-zero");
 3127|  6.47k|  CALLBACK0(EndModule);
  ------------------
  |  |   63|  6.47k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  6.47k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.47k|  do {                      \
  |  |  |  |  |  |   48|  6.47k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.47k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.47k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3128|       |
 3129|  6.47k|  return Result::Ok;
 3130|  6.47k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader7ReadU32EPjPKc:
  313|  75.3k|Result BinaryReader::ReadU32(uint32_t* out_value, const char* desc) {
  314|  75.3k|  return ReadT(out_value, "uint32_t", desc);
  315|  75.3k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader5ReadTIjEENS_6ResultEPT_PKcS7_:
  288|   130k|                           const char* desc) {
  289|   130k|  if (state_.offset + sizeof(T) > read_end_) {
  ------------------
  |  Branch (289:7): [True: 156, False: 130k]
  ------------------
  290|    156|    PrintError("unable to read %s: %s", type_name, desc);
  291|    156|    return Result::Error;
  292|    156|  }
  293|       |#if WABT_BIG_ENDIAN
  294|       |  uint8_t tmp[sizeof(T)];
  295|       |  memcpy(tmp, state_.data + state_.offset, sizeof(tmp));
  296|       |  SwapBytesSized(tmp, sizeof(tmp));
  297|       |  memcpy(out_value, tmp, sizeof(T));
  298|       |#else
  299|   130k|  memcpy(out_value, state_.data + state_.offset, sizeof(T));
  300|   130k|#endif
  301|   130k|  state_.offset += sizeof(T);
  302|   130k|  return Result::Ok;
  303|   130k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10PrintErrorEPKcz:
  234|  11.0M|                                                       ...) {
  235|  11.0M|  ErrorLevel error_level =
  236|  11.0M|      reading_custom_section_ && !options_.fail_on_custom_section_error
  ------------------
  |  Branch (236:7): [True: 499k, False: 10.5M]
  |  Branch (236:34): [True: 499k, False: 0]
  ------------------
  237|  11.0M|          ? ErrorLevel::Warning
  238|  11.0M|          : ErrorLevel::Error;
  239|       |
  240|  11.0M|  WABT_SNPRINTF_ALLOCA(buffer, length, format);
  ------------------
  |  |   36|  11.0M|  va_list args;                                                            \
  |  |   37|  11.0M|  va_list args_copy;                                                       \
  |  |   38|  11.0M|  va_start(args, format);                                                  \
  |  |   39|  11.0M|  va_copy(args_copy, args);                                                \
  |  |   40|  11.0M|  char fixed_buf[WABT_DEFAULT_SNPRINTF_ALLOCA_BUFSIZE];                    \
  |  |   41|  11.0M|  char* buffer = fixed_buf;                                                \
  |  |   42|  11.0M|  size_t len = wabt_vsnprintf(fixed_buf, sizeof(fixed_buf), format, args); \
  |  |  ------------------
  |  |  |  |  288|  11.0M|#define wabt_vsnprintf vsnprintf
  |  |  ------------------
  |  |   43|  11.0M|  va_end(args);                                                            \
  |  |   44|  11.0M|  if (len + 1 > sizeof(fixed_buf)) {                                       \
  |  |  ------------------
  |  |  |  Branch (44:7): [True: 0, False: 11.0M]
  |  |  ------------------
  |  |   45|      0|    buffer = static_cast<char*>(alloca(len + 1));                          \
  |  |   46|      0|    len = wabt_vsnprintf(buffer, len + 1, format, args_copy);              \
  |  |  ------------------
  |  |  |  |  288|      0|#define wabt_vsnprintf vsnprintf
  |  |  ------------------
  |  |   47|      0|  }                                                                        \
  |  |   48|  11.0M|  va_end(args_copy)
  ------------------
  241|  11.0M|  Error error(error_level, Location(state_.offset), buffer);
  242|  11.0M|  bool handled = delegate_->OnError(error);
  243|       |
  244|  11.0M|  if (!handled) {
  ------------------
  |  Branch (244:7): [True: 2.21M, False: 8.85M]
  ------------------
  245|       |    // Not great to just print, but we don't want to eat the error either.
  246|  2.21M|    fprintf(stderr, "%07" PRIzx ": %s: %s\n", state_.offset,
  247|  2.21M|            GetErrorLevelName(error_level), buffer);
  248|  2.21M|  }
  249|  11.0M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader7ReadU16EPtPKc:
  309|   150k|Result BinaryReader::ReadU16(uint16_t* out_value, const char* desc) {
  310|   150k|  return ReadT(out_value, "uint16_t", desc);
  311|   150k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader5ReadTItEENS_6ResultEPT_PKcS7_:
  288|   150k|                           const char* desc) {
  289|   150k|  if (state_.offset + sizeof(T) > read_end_) {
  ------------------
  |  Branch (289:7): [True: 20, False: 150k]
  ------------------
  290|     20|    PrintError("unable to read %s: %s", type_name, desc);
  291|     20|    return Result::Error;
  292|     20|  }
  293|       |#if WABT_BIG_ENDIAN
  294|       |  uint8_t tmp[sizeof(T)];
  295|       |  memcpy(tmp, state_.data + state_.offset, sizeof(tmp));
  296|       |  SwapBytesSized(tmp, sizeof(tmp));
  297|       |  memcpy(out_value, tmp, sizeof(T));
  298|       |#else
  299|   150k|  memcpy(out_value, state_.data + state_.offset, sizeof(T));
  300|   150k|#endif
  301|   150k|  state_.offset += sizeof(T);
  302|   150k|  return Result::Ok;
  303|   150k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader12ReadSectionsERKNS1_19ReadSectionsOptionsE:
 2944|  74.9k|Result BinaryReader::ReadSections(const ReadSectionsOptions& options) {
 2945|  74.9k|  Result result = Result::Ok;
 2946|  74.9k|  Index section_index = 0;
 2947|  74.9k|  bool seen_section_code[static_cast<int>(BinarySection::Last) + 1] = {false};
 2948|       |
 2949|  11.2M|  for (; state_.offset < state_.size; ++section_index) {
  ------------------
  |  Branch (2949:10): [True: 11.2M, False: 47.2k]
  ------------------
 2950|  11.2M|    uint8_t section_code;
 2951|  11.2M|    Offset section_size;
 2952|  11.2M|    CHECK_RESULT(ReadU8(&section_code, "section code"));
  ------------------
  |  |   55|  11.2M|  do {                              \
  |  |   56|  11.2M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 11.2M]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  11.2M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2953|  11.2M|    CHECK_RESULT(ReadOffset(&section_size, "section size"));
  ------------------
  |  |   55|  11.2M|  do {                              \
  |  |   56|  11.2M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 13.1k, False: 11.2M]
  |  |  ------------------
  |  |   57|  13.1k|      return ::wabt::Result::Error; \
  |  |   58|  13.1k|    }                               \
  |  |   59|  11.2M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2954|  11.2M|    ReadEndRestoreGuard guard(this);
 2955|  11.2M|    read_end_ = state_.offset + section_size;
 2956|  11.2M|    if (section_code >= kBinarySectionCount) {
  ------------------
  |  Branch (2956:9): [True: 212k, False: 10.9M]
  ------------------
 2957|   212k|      PrintError("invalid section code: %u", section_code);
 2958|   212k|      if (options.stop_on_first_error) {
  ------------------
  |  Branch (2958:11): [True: 0, False: 212k]
  ------------------
 2959|      0|        return Result::Error;
 2960|      0|      }
 2961|       |      // If we don't have to stop on first error, continue reading
 2962|       |      // sections, because although we could not understand the
 2963|       |      // current section, we can continue and correctly parse
 2964|       |      // subsequent sections, so we can give back as much information
 2965|       |      // as we can understand.
 2966|   212k|      result = Result::Error;
 2967|   212k|      state_.offset = read_end_;
 2968|   212k|      continue;
 2969|   212k|    }
 2970|       |
 2971|  10.9M|    BinarySection section = static_cast<BinarySection>(section_code);
 2972|  10.9M|    if (section != BinarySection::Custom) {
  ------------------
  |  Branch (2972:9): [True: 93.9k, False: 10.8M]
  ------------------
 2973|  93.9k|      if (seen_section_code[section_code]) {
  ------------------
  |  Branch (2973:11): [True: 1.63k, False: 92.3k]
  ------------------
 2974|  1.63k|        PrintError("multiple %s sections", GetSectionName(section));
 2975|  1.63k|        return Result::Error;
 2976|  1.63k|      }
 2977|  92.3k|      seen_section_code[section_code] = true;
 2978|  92.3k|    }
 2979|       |
 2980|  10.9M|    ERROR_UNLESS(read_end_ <= state_.size,
  ------------------
  |  |   53|  10.9M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  10.9M|  do {                      \
  |  |  |  |   48|  10.9M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 10.0k, False: 10.9M]
  |  |  |  |  ------------------
  |  |  |  |   49|  10.0k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  10.0k|  do {                       \
  |  |  |  |  |  |   42|  10.0k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  10.0k|    return Result::Error;    \
  |  |  |  |  |  |   44|  10.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  10.0k|    }                       \
  |  |  |  |   51|  10.9M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2981|  10.9M|                 "invalid section size: extends past end");
 2982|       |
 2983|  10.9M|    ERROR_UNLESS(
  ------------------
  |  |   53|  10.9M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  10.9M|  do {                      \
  |  |  |  |   48|  37.4M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 6.52M, False: 4.45M]
  |  |  |  |  |  Branch (48:9): [True: 4.42M, False: 28.6k]
  |  |  |  |  |  Branch (48:9): [True: 25.9k, False: 2.69k]
  |  |  |  |  ------------------
  |  |  |  |   49|  2.69k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  2.69k|  do {                       \
  |  |  |  |  |  |   42|  2.69k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  2.69k|    return Result::Error;    \
  |  |  |  |  |  |   44|  2.69k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  2.69k|    }                       \
  |  |  |  |   51|  10.9M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2984|  10.9M|        last_known_section_ == BinarySection::Invalid ||
 2985|  10.9M|            section == BinarySection::Custom ||
 2986|  10.9M|            GetSectionOrder(section) > GetSectionOrder(last_known_section_),
 2987|  10.9M|        "section %s out of order", GetSectionName(section));
 2988|       |
 2989|  10.9M|    ERROR_UNLESS(!did_read_names_section_ || section == BinarySection::Custom,
  ------------------
  |  |   53|  10.9M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  10.9M|  do {                      \
  |  |  |  |   48|  21.9M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 10.9M, False: 14.1k]
  |  |  |  |  |  Branch (48:9): [True: 14.1k, False: 25]
  |  |  |  |  ------------------
  |  |  |  |   49|     25|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     25|  do {                       \
  |  |  |  |  |  |   42|     25|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     25|    return Result::Error;    \
  |  |  |  |  |  |   44|     25|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     25|    }                       \
  |  |  |  |   51|  10.9M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2990|  10.9M|                 "%s section can not occur after Name section",
 2991|  10.9M|                 GetSectionName(section));
 2992|       |
 2993|  10.9M|    CALLBACK(BeginSection, section_index, section, section_size);
  ------------------
  |  |   66|  10.9M|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  10.9M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.9M|  do {                      \
  |  |  |  |  |  |   48|  10.9M|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.9M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  10.9M|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.9M|               #member " callback failed")
  ------------------
 2994|       |
 2995|  10.9M|    bool stop_on_first_error = options_.stop_on_first_error;
 2996|  10.9M|    Result section_result = Result::Error;
 2997|  10.9M|    switch (section) {
  ------------------
  |  Branch (2997:13): [True: 0, False: 10.9M]
  ------------------
 2998|  10.8M|      case BinarySection::Custom:
  ------------------
  |  Branch (2998:7): [True: 10.8M, False: 86.3k]
  ------------------
 2999|  10.8M|        section_result = ReadCustomSection(section_index, section_size);
 3000|  10.8M|        if (options_.fail_on_custom_section_error) {
  ------------------
  |  Branch (3000:13): [True: 0, False: 10.8M]
  ------------------
 3001|      0|          result |= section_result;
 3002|  10.8M|        } else {
 3003|  10.8M|          stop_on_first_error = false;
 3004|  10.8M|        }
 3005|  10.8M|        break;
 3006|  5.46k|      case BinarySection::Type:
  ------------------
  |  Branch (3006:7): [True: 5.46k, False: 10.9M]
  ------------------
 3007|  5.46k|        section_result = ReadTypeSection(section_size);
 3008|  5.46k|        result |= section_result;
 3009|  5.46k|        break;
 3010|  2.81k|      case BinarySection::Import:
  ------------------
  |  Branch (3010:7): [True: 2.81k, False: 10.9M]
  ------------------
 3011|  2.81k|        section_result = ReadImportSection(section_size);
 3012|  2.81k|        result |= section_result;
 3013|  2.81k|        break;
 3014|  22.8k|      case BinarySection::Function:
  ------------------
  |  Branch (3014:7): [True: 22.8k, False: 10.9M]
  ------------------
 3015|  22.8k|        section_result = ReadFunctionSection(section_size);
 3016|  22.8k|        result |= section_result;
 3017|  22.8k|        break;
 3018|  2.04k|      case BinarySection::Table:
  ------------------
  |  Branch (3018:7): [True: 2.04k, False: 10.9M]
  ------------------
 3019|  2.04k|        section_result = ReadTableSection(section_size);
 3020|  2.04k|        result |= section_result;
 3021|  2.04k|        break;
 3022|  1.67k|      case BinarySection::Memory:
  ------------------
  |  Branch (3022:7): [True: 1.67k, False: 10.9M]
  ------------------
 3023|  1.67k|        section_result = ReadMemorySection(section_size);
 3024|  1.67k|        result |= section_result;
 3025|  1.67k|        break;
 3026|  4.01k|      case BinarySection::Global:
  ------------------
  |  Branch (3026:7): [True: 4.01k, False: 10.9M]
  ------------------
 3027|  4.01k|        section_result = ReadGlobalSection(section_size);
 3028|  4.01k|        result |= section_result;
 3029|  4.01k|        break;
 3030|  4.55k|      case BinarySection::Export:
  ------------------
  |  Branch (3030:7): [True: 4.55k, False: 10.9M]
  ------------------
 3031|  4.55k|        section_result = ReadExportSection(section_size);
 3032|  4.55k|        result |= section_result;
 3033|  4.55k|        break;
 3034|    875|      case BinarySection::Start:
  ------------------
  |  Branch (3034:7): [True: 875, False: 10.9M]
  ------------------
 3035|    875|        section_result = ReadStartSection(section_size);
 3036|    875|        result |= section_result;
 3037|    875|        break;
 3038|  16.4k|      case BinarySection::Elem:
  ------------------
  |  Branch (3038:7): [True: 16.4k, False: 10.9M]
  ------------------
 3039|  16.4k|        section_result = ReadElemSection(section_size);
 3040|  16.4k|        result |= section_result;
 3041|  16.4k|        break;
 3042|  17.3k|      case BinarySection::Code:
  ------------------
  |  Branch (3042:7): [True: 17.3k, False: 10.9M]
  ------------------
 3043|  17.3k|        section_result = ReadCodeSection(section_size);
 3044|  17.3k|        result |= section_result;
 3045|  17.3k|        break;
 3046|  6.95k|      case BinarySection::Data:
  ------------------
  |  Branch (3046:7): [True: 6.95k, False: 10.9M]
  ------------------
 3047|  6.95k|        section_result = ReadDataSection(section_size);
 3048|  6.95k|        result |= section_result;
 3049|  6.95k|        break;
 3050|    565|      case BinarySection::Tag:
  ------------------
  |  Branch (3050:7): [True: 565, False: 10.9M]
  ------------------
 3051|    565|        ERROR_UNLESS(options_.features.exceptions_enabled(),
  ------------------
  |  |   53|    565|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    565|  do {                      \
  |  |  |  |   48|    565|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 565]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|    565|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3052|    565|                     "invalid section code: %u",
 3053|    565|                     static_cast<unsigned int>(section));
 3054|    565|        section_result = ReadTagSection(section_size);
 3055|    565|        result |= section_result;
 3056|    565|        break;
 3057|    825|      case BinarySection::DataCount:
  ------------------
  |  Branch (3057:7): [True: 825, False: 10.9M]
  ------------------
 3058|    825|        ERROR_UNLESS(options_.features.bulk_memory_enabled(),
  ------------------
  |  |   53|    825|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    825|  do {                      \
  |  |  |  |   48|    825|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 825]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|    825|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3059|    825|                     "invalid section code: %u",
 3060|    825|                     static_cast<unsigned int>(section));
 3061|    825|        section_result = ReadDataCountSection(section_size);
 3062|    825|        result |= section_result;
 3063|    825|        break;
 3064|      0|      case BinarySection::Invalid:
  ------------------
  |  Branch (3064:7): [True: 0, False: 10.9M]
  ------------------
 3065|      0|        WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
 3066|  10.9M|    }
 3067|       |
 3068|  10.9M|    if (Succeeded(section_result) && state_.offset != read_end_) {
  ------------------
  |  Branch (3068:9): [True: 170k, False: 10.8M]
  |  Branch (3068:38): [True: 19.2k, False: 151k]
  ------------------
 3069|  19.2k|      PrintError("unfinished section (expected end: 0x%" PRIzx ")", read_end_);
 3070|  19.2k|      section_result = Result::Error;
 3071|  19.2k|      result |= section_result;
 3072|  19.2k|    }
 3073|       |
 3074|  10.9M|    if (Failed(section_result)) {
  ------------------
  |  Branch (3074:9): [True: 10.8M, False: 151k]
  ------------------
 3075|  10.8M|      if (stop_on_first_error) {
  ------------------
  |  Branch (3075:11): [True: 0, False: 10.8M]
  ------------------
 3076|      0|        return Result::Error;
 3077|      0|      }
 3078|       |
 3079|       |      // If we're continuing after failing to read this section, move the
 3080|       |      // offset to the expected section end. This way we may be able to read
 3081|       |      // further sections.
 3082|  10.8M|      state_.offset = read_end_;
 3083|  10.8M|    }
 3084|       |
 3085|  10.9M|    if (section != BinarySection::Custom) {
  ------------------
  |  Branch (3085:9): [True: 86.3k, False: 10.8M]
  ------------------
 3086|  86.3k|      last_known_section_ = section;
 3087|  86.3k|    }
 3088|  10.9M|  }
 3089|       |
 3090|  47.2k|  return result;
 3091|  74.9k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader6ReadU8EPhPKc:
  305|  14.6M|Result BinaryReader::ReadU8(uint8_t* out_value, const char* desc) {
  306|  14.6M|  return ReadT(out_value, "uint8_t", desc);
  307|  14.6M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader5ReadTIhEENS_6ResultEPT_PKcS7_:
  288|  14.6M|                           const char* desc) {
  289|  14.6M|  if (state_.offset + sizeof(T) > read_end_) {
  ------------------
  |  Branch (289:7): [True: 9.15k, False: 14.6M]
  ------------------
  290|  9.15k|    PrintError("unable to read %s: %s", type_name, desc);
  291|  9.15k|    return Result::Error;
  292|  9.15k|  }
  293|       |#if WABT_BIG_ENDIAN
  294|       |  uint8_t tmp[sizeof(T)];
  295|       |  memcpy(tmp, state_.data + state_.offset, sizeof(tmp));
  296|       |  SwapBytesSized(tmp, sizeof(tmp));
  297|       |  memcpy(out_value, tmp, sizeof(T));
  298|       |#else
  299|  14.6M|  memcpy(out_value, state_.data + state_.offset, sizeof(T));
  300|  14.6M|#endif
  301|  14.6M|  state_.offset += sizeof(T);
  302|  14.6M|  return Result::Ok;
  303|  14.6M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10ReadOffsetEPmPKc:
  438|  12.4M|Result BinaryReader::ReadOffset(Offset* offset, const char* desc) {
  439|  12.4M|  uint32_t value;
  440|  12.4M|  CHECK_RESULT(ReadU32Leb128(&value, desc));
  ------------------
  |  |   55|  12.4M|  do {                              \
  |  |   56|  12.4M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 48.3k, False: 12.3M]
  |  |  ------------------
  |  |   57|  48.3k|      return ::wabt::Result::Error; \
  |  |   58|  48.3k|    }                               \
  |  |   59|  12.4M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  441|  12.3M|  *offset = value;
  442|  12.3M|  return Result::Ok;
  443|  12.4M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13ReadU32Leb128EPjPKc:
  329|  42.5M|Result BinaryReader::ReadU32Leb128(uint32_t* out_value, const char* desc) {
  330|  42.5M|  const uint8_t* p = state_.data + state_.offset;
  331|  42.5M|  const uint8_t* end = state_.data + read_end_;
  332|  42.5M|  size_t bytes_read = wabt::ReadU32Leb128(p, end, out_value);
  333|  42.5M|  ERROR_UNLESS(bytes_read > 0, "unable to read u32 leb128: %s", desc);
  ------------------
  |  |   53|  42.5M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  42.5M|  do {                      \
  |  |  |  |   48|  42.5M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 10.4M, False: 32.1M]
  |  |  |  |  ------------------
  |  |  |  |   49|  10.4M|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  10.4M|  do {                       \
  |  |  |  |  |  |   42|  10.4M|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  10.4M|    return Result::Error;    \
  |  |  |  |  |  |   44|  10.4M|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  10.4M|    }                       \
  |  |  |  |   51|  42.5M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  334|  32.1M|  state_.offset += bytes_read;
  335|  32.1M|  return Result::Ok;
  336|  42.5M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardImXadL_ZNS1_9read_end_EEEEC2EPS1_:
   90|  12.2M|        : this_(this_), previous_value_(this_->*member) {}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadCustomSectionEjm:
 2483|  10.8M|                                       Offset section_size) {
 2484|  10.8M|  std::string_view section_name;
 2485|  10.8M|  CHECK_RESULT(ReadStr(&section_name, "section name"));
  ------------------
  |  |   55|  10.8M|  do {                              \
  |  |   56|  10.8M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10.2M, False: 661k]
  |  |  ------------------
  |  |   57|  10.2M|      return ::wabt::Result::Error; \
  |  |   58|  10.2M|    }                               \
  |  |   59|  10.8M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2486|   661k|  CALLBACK(BeginCustomSection, section_index, section_size, section_name);
  ------------------
  |  |   66|   661k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   661k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   661k|  do {                      \
  |  |  |  |  |  |   48|   661k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 661k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   661k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   661k|               #member " callback failed")
  ------------------
 2487|   661k|  ValueRestoreGuard<bool, &BinaryReader::reading_custom_section_> guard(this);
 2488|   661k|  reading_custom_section_ = true;
 2489|       |
 2490|   661k|  {
 2491|       |    // Backtrack parser when scope ends
 2492|   661k|    ValueRestoreGuard<BinaryReaderDelegate::State, &BinaryReader::state_> guard(
 2493|   661k|        this);
 2494|   661k|    CHECK_RESULT(ReadGenericCustomSection(section_name, section_size));
  ------------------
  |  |   55|   661k|  do {                              \
  |  |   56|   661k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 661k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|   661k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2495|   661k|  }
 2496|       |
 2497|   661k|  if (options_.read_debug_names && section_name == WABT_BINARY_SECTION_NAME) {
  ------------------
  |  |   38|   661k|#define WABT_BINARY_SECTION_NAME "name"
  ------------------
  |  Branch (2497:7): [True: 661k, False: 0]
  |  Branch (2497:36): [True: 228k, False: 432k]
  ------------------
 2498|   228k|    CHECK_RESULT(ReadNameSection(section_size));
  ------------------
  |  |   55|   228k|  do {                              \
  |  |   56|   228k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 218k, False: 10.2k]
  |  |  ------------------
  |  |   57|   218k|      return ::wabt::Result::Error; \
  |  |   58|   218k|    }                               \
  |  |   59|   228k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2499|  10.2k|    did_read_names_section_ = true;
 2500|   432k|  } else if (section_name == WABT_BINARY_SECTION_DYLINK0) {
  ------------------
  |  |   43|   432k|#define WABT_BINARY_SECTION_DYLINK0 "dylink.0"
  ------------------
  |  Branch (2500:14): [True: 31.1k, False: 401k]
  ------------------
 2501|  31.1k|    CHECK_RESULT(ReadDylink0Section(section_size));
  ------------------
  |  |   55|  31.1k|  do {                              \
  |  |   56|  31.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 29.4k, False: 1.65k]
  |  |  ------------------
  |  |   57|  29.4k|      return ::wabt::Result::Error; \
  |  |   58|  29.4k|    }                               \
  |  |   59|  31.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2502|   401k|  } else if (section_name == WABT_BINARY_SECTION_DYLINK) {
  ------------------
  |  |   42|   401k|#define WABT_BINARY_SECTION_DYLINK "dylink"
  ------------------
  |  Branch (2502:14): [True: 18.5k, False: 382k]
  ------------------
 2503|  18.5k|    CHECK_RESULT(ReadDylinkSection(section_size));
  ------------------
  |  |   55|  18.5k|  do {                              \
  |  |   56|  18.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7.13k, False: 11.4k]
  |  |  ------------------
  |  |   57|  7.13k|      return ::wabt::Result::Error; \
  |  |   58|  7.13k|    }                               \
  |  |   59|  18.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2504|   382k|  } else if (section_name.rfind(WABT_BINARY_SECTION_RELOC, 0) == 0) {
  ------------------
  |  |   39|   382k|#define WABT_BINARY_SECTION_RELOC "reloc"
  ------------------
  |  Branch (2504:14): [True: 31.3k, False: 351k]
  ------------------
 2505|       |    // Reloc sections always begin with "reloc."
 2506|  31.3k|    CHECK_RESULT(ReadRelocSection(section_size));
  ------------------
  |  |   55|  31.3k|  do {                              \
  |  |   56|  31.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 18.2k, False: 13.1k]
  |  |  ------------------
  |  |   57|  18.2k|      return ::wabt::Result::Error; \
  |  |   58|  18.2k|    }                               \
  |  |   59|  31.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2507|   351k|  } else if (section_name == WABT_BINARY_SECTION_TARGET_FEATURES) {
  ------------------
  |  |   41|   351k|#define WABT_BINARY_SECTION_TARGET_FEATURES "target_features"
  ------------------
  |  Branch (2507:14): [True: 12.0k, False: 339k]
  ------------------
 2508|  12.0k|    CHECK_RESULT(ReadTargetFeaturesSections(section_size));
  ------------------
  |  |   55|  12.0k|  do {                              \
  |  |   56|  12.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 8.17k, False: 3.86k]
  |  |  ------------------
  |  |   57|  8.17k|      return ::wabt::Result::Error; \
  |  |   58|  8.17k|    }                               \
  |  |   59|  12.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2509|   339k|  } else if (section_name == WABT_BINARY_SECTION_LINKING) {
  ------------------
  |  |   40|   339k|#define WABT_BINARY_SECTION_LINKING "linking"
  ------------------
  |  Branch (2509:14): [True: 190k, False: 148k]
  ------------------
 2510|   190k|    CHECK_RESULT(ReadLinkingSection(section_size));
  ------------------
  |  |   55|   190k|  do {                              \
  |  |   56|   190k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 182k, False: 8.75k]
  |  |  ------------------
  |  |   57|   182k|      return ::wabt::Result::Error; \
  |  |   58|   182k|    }                               \
  |  |   59|   190k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2511|   190k|  } else if (options_.features.code_metadata_enabled() &&
  ------------------
  |  Branch (2511:14): [True: 148k, False: 0]
  ------------------
 2512|   148k|             section_name.find(WABT_BINARY_SECTION_CODE_METADATA) == 0) {
  ------------------
  |  |   44|   148k|#define WABT_BINARY_SECTION_CODE_METADATA "metadata.code."
  ------------------
  |  Branch (2512:14): [True: 39.0k, False: 109k]
  ------------------
 2513|  39.0k|    std::string_view metadata_name = section_name;
 2514|  39.0k|    metadata_name.remove_prefix(sizeof(WABT_BINARY_SECTION_CODE_METADATA) - 1);
  ------------------
  |  |   44|  39.0k|#define WABT_BINARY_SECTION_CODE_METADATA "metadata.code."
  ------------------
 2515|  39.0k|    CHECK_RESULT(ReadCodeMetadataSection(metadata_name, section_size));
  ------------------
  |  |   55|  39.0k|  do {                              \
  |  |   56|  39.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 36.3k, False: 2.67k]
  |  |  ------------------
  |  |   57|  36.3k|      return ::wabt::Result::Error; \
  |  |   58|  36.3k|    }                               \
  |  |   59|  39.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2516|   109k|  } else {
 2517|       |    // Skip. This is a generic custom section, and is handled above.
 2518|   109k|    state_.offset = read_end_;
 2519|   109k|  }
 2520|   161k|  CALLBACK0(EndCustomSection);
  ------------------
  |  |   63|   161k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   161k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   161k|  do {                      \
  |  |  |  |  |  |   48|   161k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 161k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   161k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2521|   161k|  return Result::Ok;
 2522|   161k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader7ReadStrEPNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEPKc:
  394|  11.8M|Result BinaryReader::ReadStr(std::string_view* out_str, const char* desc) {
  395|  11.8M|  uint32_t str_len = 0;
  396|  11.8M|  CHECK_RESULT(ReadU32Leb128(&str_len, "string length"));
  ------------------
  |  |   55|  11.8M|  do {                              \
  |  |   56|  11.8M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10.2M, False: 1.59M]
  |  |  ------------------
  |  |   57|  10.2M|      return ::wabt::Result::Error; \
  |  |   58|  10.2M|    }                               \
  |  |   59|  11.8M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  397|       |
  398|  1.59M|  ERROR_UNLESS(state_.offset + str_len <= read_end_,
  ------------------
  |  |   53|  1.59M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.59M|  do {                      \
  |  |  |  |   48|  1.59M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 44.6k, False: 1.55M]
  |  |  |  |  ------------------
  |  |  |  |   49|  44.6k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  44.6k|  do {                       \
  |  |  |  |  |  |   42|  44.6k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  44.6k|    return Result::Error;    \
  |  |  |  |  |  |   44|  44.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  44.6k|    }                       \
  |  |  |  |   51|  1.59M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  399|  1.55M|               "unable to read string: %s", desc);
  400|       |
  401|  1.55M|  *out_str = std::string_view(
  402|  1.55M|      reinterpret_cast<const char*>(state_.data) + state_.offset, str_len);
  403|  1.55M|  state_.offset += str_len;
  404|       |
  405|  1.55M|  ERROR_UNLESS(IsValidUtf8(out_str->data(), out_str->length()),
  ------------------
  |  |   53|  1.55M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.55M|  do {                      \
  |  |  |  |   48|  1.55M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 15.4k, False: 1.53M]
  |  |  |  |  ------------------
  |  |  |  |   49|  15.4k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  15.4k|  do {                       \
  |  |  |  |  |  |   42|  15.4k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  15.4k|    return Result::Error;    \
  |  |  |  |  |  |   44|  15.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  15.4k|    }                       \
  |  |  |  |   51|  1.55M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  406|  1.53M|               "invalid utf-8 encoding: %s", desc);
  407|  1.53M|  return Result::Ok;
  408|  1.55M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardIbXadL_ZNS1_23reading_custom_section_EEEEC2EPS1_:
   90|   661k|        : this_(this_), previous_value_(this_->*member) {}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardINS_20BinaryReaderDelegate5StateEXadL_ZNS1_6state_EEEEC2EPS1_:
   90|   661k|        : this_(this_), previous_value_(this_->*member) {}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader24ReadGenericCustomSectionENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEm:
 2258|   661k|                                              Offset section_size) {
 2259|   661k|  CALLBACK(BeginGenericCustomSection, section_size);
  ------------------
  |  |   66|   661k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   661k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   661k|  do {                      \
  |  |  |  |  |  |   48|   661k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 661k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   661k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   661k|               #member " callback failed")
  ------------------
 2260|   661k|  const void* data;
 2261|   661k|  Offset custom_data_size = read_end_ - state_.offset;
 2262|   661k|  CHECK_RESULT(
  ------------------
  |  |   55|   661k|  do {                              \
  |  |   56|   661k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 661k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|   661k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2263|   661k|      ReadBytesWithSize(&data, custom_data_size, "custom section data"));
 2264|   661k|  CALLBACK(OnGenericCustomSection, name, data, custom_data_size);
  ------------------
  |  |   66|   661k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   661k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   661k|  do {                      \
  |  |  |  |  |  |   48|   661k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 661k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   661k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   661k|               #member " callback failed")
  ------------------
 2265|   661k|  CALLBACK0(EndGenericCustomSection);
  ------------------
  |  |   63|   661k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   661k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   661k|  do {                      \
  |  |  |  |  |  |   48|   661k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 661k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   661k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2266|   661k|  return Result::Ok;
 2267|   661k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadBytesWithSizeEPPKvmPKc:
  422|   752k|                                       const char* desc) {
  423|   752k|  ERROR_UNLESS(state_.offset + size <= read_end_, "unable to read data: %s",
  ------------------
  |  |   53|   752k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   752k|  do {                      \
  |  |  |  |   48|   752k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 1.40k, False: 750k]
  |  |  |  |  ------------------
  |  |  |  |   49|  1.40k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  1.40k|  do {                       \
  |  |  |  |  |  |   42|  1.40k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  1.40k|    return Result::Error;    \
  |  |  |  |  |  |   44|  1.40k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  1.40k|    }                       \
  |  |  |  |   51|   752k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  424|   750k|               desc);
  425|       |
  426|   750k|  *out_data = static_cast<const uint8_t*>(state_.data) + state_.offset;
  427|   750k|  state_.offset += size;
  428|   750k|  return Result::Ok;
  429|   752k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardINS_20BinaryReaderDelegate5StateEXadL_ZNS1_6state_EEEED2Ev:
   91|   661k|    ~ValueRestoreGuard() { this_->*member = previous_value_; }
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadNameSectionEm:
 1940|   228k|Result BinaryReader::ReadNameSection(Offset section_size) {
 1941|   228k|  CALLBACK(BeginNamesSection, section_size);
  ------------------
  |  |   66|   228k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   228k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   228k|  do {                      \
  |  |  |  |  |  |   48|   228k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 228k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   228k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   228k|               #member " callback failed")
  ------------------
 1942|   228k|  Index i = 0;
 1943|   228k|  uint32_t previous_subsection_type = 0;
 1944|   678k|  while (state_.offset < read_end_) {
  ------------------
  |  Branch (1944:10): [True: 667k, False: 10.2k]
  ------------------
 1945|   667k|    uint32_t name_type;
 1946|   667k|    Offset subsection_size;
 1947|   667k|    CHECK_RESULT(ReadU32Leb128(&name_type, "name type"));
  ------------------
  |  |   55|   667k|  do {                              \
  |  |   56|   667k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 340, False: 667k]
  |  |  ------------------
  |  |   57|    340|      return ::wabt::Result::Error; \
  |  |   58|    340|    }                               \
  |  |   59|   667k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1948|   667k|    if (i != 0) {
  ------------------
  |  Branch (1948:9): [True: 438k, False: 228k]
  ------------------
 1949|   438k|      ERROR_UNLESS(name_type != previous_subsection_type,
  ------------------
  |  |   53|   438k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   438k|  do {                      \
  |  |  |  |   48|   438k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 8.55k, False: 430k]
  |  |  |  |  ------------------
  |  |  |  |   49|  8.55k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  8.55k|  do {                       \
  |  |  |  |  |  |   42|  8.55k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  8.55k|    return Result::Error;    \
  |  |  |  |  |  |   44|  8.55k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  8.55k|    }                       \
  |  |  |  |   51|   438k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1950|   430k|                   "duplicate sub-section");
 1951|   430k|      ERROR_UNLESS(name_type >= previous_subsection_type,
  ------------------
  |  |   53|   430k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   430k|  do {                      \
  |  |  |  |   48|   430k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 107k, False: 323k]
  |  |  |  |  ------------------
  |  |  |  |   49|   107k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|   107k|  do {                       \
  |  |  |  |  |  |   42|   107k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|   107k|    return Result::Error;    \
  |  |  |  |  |  |   44|   107k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|   107k|    }                       \
  |  |  |  |   51|   430k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1952|   430k|                   "out-of-order sub-section");
 1953|   430k|    }
 1954|   551k|    previous_subsection_type = name_type;
 1955|   551k|    CHECK_RESULT(ReadOffset(&subsection_size, "subsection size"));
  ------------------
  |  |   55|   551k|  do {                              \
  |  |   56|   551k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7.93k, False: 543k]
  |  |  ------------------
  |  |   57|  7.93k|      return ::wabt::Result::Error; \
  |  |   58|  7.93k|    }                               \
  |  |   59|   551k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1956|   543k|    size_t subsection_end = state_.offset + subsection_size;
 1957|   543k|    ERROR_UNLESS(subsection_end <= read_end_,
  ------------------
  |  |   53|   543k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   543k|  do {                      \
  |  |  |  |   48|   543k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 1.62k, False: 542k]
  |  |  |  |  ------------------
  |  |  |  |   49|  1.62k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  1.62k|  do {                       \
  |  |  |  |  |  |   42|  1.62k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  1.62k|    return Result::Error;    \
  |  |  |  |  |  |   44|  1.62k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  1.62k|    }                       \
  |  |  |  |   51|   543k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1958|   542k|                 "invalid sub-section size: extends past end");
 1959|   542k|    ReadEndRestoreGuard guard(this);
 1960|   542k|    read_end_ = subsection_end;
 1961|       |
 1962|   542k|    NameSectionSubsection type = static_cast<NameSectionSubsection>(name_type);
 1963|   542k|    if (type <= NameSectionSubsection::Last) {
  ------------------
  |  Branch (1963:9): [True: 219k, False: 322k]
  ------------------
 1964|   219k|      CALLBACK(OnNameSubsection, i, type, subsection_size);
  ------------------
  |  |   66|   219k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   219k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   219k|  do {                      \
  |  |  |  |  |  |   48|   219k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 219k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   219k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   219k|               #member " callback failed")
  ------------------
 1965|   219k|    }
 1966|       |
 1967|   542k|    switch (type) {
 1968|   129k|      case NameSectionSubsection::Module:
  ------------------
  |  Branch (1968:7): [True: 129k, False: 412k]
  ------------------
 1969|   129k|        CALLBACK(OnModuleNameSubsection, i, name_type, subsection_size);
  ------------------
  |  |   66|   129k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   129k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   129k|  do {                      \
  |  |  |  |  |  |   48|   129k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 129k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   129k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   129k|               #member " callback failed")
  ------------------
 1970|   129k|        if (subsection_size) {
  ------------------
  |  Branch (1970:13): [True: 125k, False: 3.91k]
  ------------------
 1971|   125k|          std::string_view name;
 1972|   125k|          CHECK_RESULT(ReadStr(&name, "module name"));
  ------------------
  |  |   55|   125k|  do {                              \
  |  |   56|   125k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 8.79k, False: 117k]
  |  |  ------------------
  |  |   57|  8.79k|      return ::wabt::Result::Error; \
  |  |   58|  8.79k|    }                               \
  |  |   59|   125k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1973|   117k|          CALLBACK(OnModuleName, name);
  ------------------
  |  |   66|   117k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   117k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   117k|  do {                      \
  |  |  |  |  |  |   48|   117k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 117k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   117k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   117k|               #member " callback failed")
  ------------------
 1974|   117k|        }
 1975|   121k|        break;
 1976|   121k|      case NameSectionSubsection::Function:
  ------------------
  |  Branch (1976:7): [True: 7.14k, False: 534k]
  ------------------
 1977|  7.14k|        CALLBACK(OnFunctionNameSubsection, i, name_type, subsection_size);
  ------------------
  |  |   66|  7.14k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  7.14k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  7.14k|  do {                      \
  |  |  |  |  |  |   48|  7.14k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 7.14k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  7.14k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  7.14k|               #member " callback failed")
  ------------------
 1978|  7.14k|        if (subsection_size) {
  ------------------
  |  Branch (1978:13): [True: 6.81k, False: 330]
  ------------------
 1979|  6.81k|          Index num_names;
 1980|  6.81k|          CHECK_RESULT(ReadCount(&num_names, "name count"));
  ------------------
  |  |   55|  6.81k|  do {                              \
  |  |   56|  6.81k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 275, False: 6.53k]
  |  |  ------------------
  |  |   57|    275|      return ::wabt::Result::Error; \
  |  |   58|    275|    }                               \
  |  |   59|  6.81k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1981|  6.53k|          CALLBACK(OnFunctionNamesCount, num_names);
  ------------------
  |  |   66|  6.53k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.53k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.53k|  do {                      \
  |  |  |  |  |  |   48|  6.53k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.53k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.53k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.53k|               #member " callback failed")
  ------------------
 1982|  6.53k|          Index last_function_index = kInvalidIndex;
 1983|       |
 1984|  22.6k|          for (Index j = 0; j < num_names; ++j) {
  ------------------
  |  Branch (1984:29): [True: 22.4k, False: 180]
  ------------------
 1985|  22.4k|            Index function_index;
 1986|  22.4k|            std::string_view function_name;
 1987|       |
 1988|  22.4k|            CHECK_RESULT(ReadIndex(&function_index, "function index"));
  ------------------
  |  |   55|  22.4k|  do {                              \
  |  |   56|  22.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 560, False: 21.9k]
  |  |  ------------------
  |  |   57|    560|      return ::wabt::Result::Error; \
  |  |   58|    560|    }                               \
  |  |   59|  22.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1989|  21.9k|            ERROR_UNLESS(function_index != last_function_index,
  ------------------
  |  |   53|  21.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  21.9k|  do {                      \
  |  |  |  |   48|  21.9k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 215, False: 21.6k]
  |  |  |  |  ------------------
  |  |  |  |   49|    215|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    215|  do {                       \
  |  |  |  |  |  |   42|    215|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    215|    return Result::Error;    \
  |  |  |  |  |  |   44|    215|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    215|    }                       \
  |  |  |  |   51|  21.9k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1990|  21.6k|                         "duplicate function name: %u", function_index);
 1991|  21.6k|            ERROR_UNLESS(last_function_index == kInvalidIndex ||
  ------------------
  |  |   53|  21.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  21.6k|  do {                      \
  |  |  |  |   48|  58.6k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 6.43k, False: 15.2k]
  |  |  |  |  |  Branch (48:9): [True: 13.7k, False: 1.51k]
  |  |  |  |  ------------------
  |  |  |  |   49|  1.51k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  1.51k|  do {                       \
  |  |  |  |  |  |   42|  1.51k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  1.51k|    return Result::Error;    \
  |  |  |  |  |  |   44|  1.51k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  1.51k|    }                       \
  |  |  |  |   51|  21.6k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1992|  20.1k|                             function_index > last_function_index,
 1993|  20.1k|                         "function index out of order: %u", function_index);
 1994|  20.1k|            last_function_index = function_index;
 1995|  20.1k|            ERROR_UNLESS(function_index < NumTotalFuncs(),
  ------------------
  |  |   53|  20.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  20.1k|  do {                      \
  |  |  |  |   48|  20.1k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 725, False: 19.4k]
  |  |  |  |  ------------------
  |  |  |  |   49|    725|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    725|  do {                       \
  |  |  |  |  |  |   42|    725|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    725|    return Result::Error;    \
  |  |  |  |  |  |   44|    725|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    725|    }                       \
  |  |  |  |   51|  20.1k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1996|  19.4k|                         "invalid function index: %" PRIindex, function_index);
 1997|  19.4k|            CHECK_RESULT(ReadStr(&function_name, "function name"));
  ------------------
  |  |   55|  19.4k|  do {                              \
  |  |   56|  19.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3.34k, False: 16.1k]
  |  |  ------------------
  |  |   57|  3.34k|      return ::wabt::Result::Error; \
  |  |   58|  3.34k|    }                               \
  |  |   59|  19.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1998|  16.1k|            CALLBACK(OnFunctionName, function_index, function_name);
  ------------------
  |  |   66|  16.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  16.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  16.1k|  do {                      \
  |  |  |  |  |  |   48|  16.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 16.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  16.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  16.1k|               #member " callback failed")
  ------------------
 1999|  16.1k|          }
 2000|  6.53k|        }
 2001|    510|        break;
 2002|  47.0k|      case NameSectionSubsection::Local:
  ------------------
  |  Branch (2002:7): [True: 47.0k, False: 495k]
  ------------------
 2003|  47.0k|        CALLBACK(OnLocalNameSubsection, i, name_type, subsection_size);
  ------------------
  |  |   66|  47.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  47.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  47.0k|  do {                      \
  |  |  |  |  |  |   48|  47.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 47.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  47.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  47.0k|               #member " callback failed")
  ------------------
 2004|  47.0k|        if (subsection_size) {
  ------------------
  |  Branch (2004:13): [True: 46.7k, False: 355]
  ------------------
 2005|  46.7k|          Index num_funcs;
 2006|  46.7k|          CHECK_RESULT(ReadCount(&num_funcs, "function count"));
  ------------------
  |  |   55|  46.7k|  do {                              \
  |  |   56|  46.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 550, False: 46.1k]
  |  |  ------------------
  |  |   57|    550|      return ::wabt::Result::Error; \
  |  |   58|    550|    }                               \
  |  |   59|  46.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2007|  46.1k|          CALLBACK(OnLocalNameFunctionCount, num_funcs);
  ------------------
  |  |   66|  46.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  46.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  46.1k|  do {                      \
  |  |  |  |  |  |   48|  46.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 46.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  46.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  46.1k|               #member " callback failed")
  ------------------
 2008|  46.1k|          Index last_function_index = kInvalidIndex;
 2009|  97.2k|          for (Index j = 0; j < num_funcs; ++j) {
  ------------------
  |  Branch (2009:29): [True: 91.4k, False: 5.75k]
  ------------------
 2010|  91.4k|            Index function_index;
 2011|  91.4k|            CHECK_RESULT(ReadIndex(&function_index, "function index"));
  ------------------
  |  |   55|  91.4k|  do {                              \
  |  |   56|  91.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.26k, False: 89.1k]
  |  |  ------------------
  |  |   57|  2.26k|      return ::wabt::Result::Error; \
  |  |   58|  2.26k|    }                               \
  |  |   59|  91.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2012|  89.1k|            ERROR_UNLESS(function_index < NumTotalFuncs(),
  ------------------
  |  |   53|  89.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  89.1k|  do {                      \
  |  |  |  |   48|  89.1k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 3.84k, False: 85.3k]
  |  |  |  |  ------------------
  |  |  |  |   49|  3.84k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  3.84k|  do {                       \
  |  |  |  |  |  |   42|  3.84k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  3.84k|    return Result::Error;    \
  |  |  |  |  |  |   44|  3.84k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  3.84k|    }                       \
  |  |  |  |   51|  89.1k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2013|  85.3k|                         "invalid function index: %u", function_index);
 2014|  85.3k|            ERROR_UNLESS(last_function_index == kInvalidIndex ||
  ------------------
  |  |   53|  85.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  85.3k|  do {                      \
  |  |  |  |   48|   214k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 41.1k, False: 44.2k]
  |  |  |  |  |  Branch (48:9): [True: 41.2k, False: 2.95k]
  |  |  |  |  ------------------
  |  |  |  |   49|  2.95k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  2.95k|  do {                       \
  |  |  |  |  |  |   42|  2.95k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  2.95k|    return Result::Error;    \
  |  |  |  |  |  |   44|  2.95k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  2.95k|    }                       \
  |  |  |  |   51|  85.3k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2015|  82.4k|                             function_index > last_function_index,
 2016|  82.4k|                         "locals function index out of order: %u",
 2017|  82.4k|                         function_index);
 2018|  82.4k|            last_function_index = function_index;
 2019|  82.4k|            Index num_locals;
 2020|  82.4k|            CHECK_RESULT(ReadCount(&num_locals, "local count"));
  ------------------
  |  |   55|  82.4k|  do {                              \
  |  |   56|  82.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 18.2k, False: 64.1k]
  |  |  ------------------
  |  |   57|  18.2k|      return ::wabt::Result::Error; \
  |  |   58|  18.2k|    }                               \
  |  |   59|  82.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2021|  64.1k|            CALLBACK(OnLocalNameLocalCount, function_index, num_locals);
  ------------------
  |  |   66|  64.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  64.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  64.1k|  do {                      \
  |  |  |  |  |  |   48|  64.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 64.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  64.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  64.1k|               #member " callback failed")
  ------------------
 2022|  64.1k|            Index last_local_index = kInvalidIndex;
 2023|   115k|            for (Index k = 0; k < num_locals; ++k) {
  ------------------
  |  Branch (2023:31): [True: 64.2k, False: 51.0k]
  ------------------
 2024|  64.2k|              Index local_index;
 2025|  64.2k|              std::string_view local_name;
 2026|       |
 2027|  64.2k|              CHECK_RESULT(ReadIndex(&local_index, "named index"));
  ------------------
  |  |   55|  64.2k|  do {                              \
  |  |   56|  64.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6.65k, False: 57.5k]
  |  |  ------------------
  |  |   57|  6.65k|      return ::wabt::Result::Error; \
  |  |   58|  6.65k|    }                               \
  |  |   59|  64.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2028|  57.5k|              ERROR_UNLESS(local_index != last_local_index,
  ------------------
  |  |   53|  57.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  57.5k|  do {                      \
  |  |  |  |   48|  57.5k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 4.48k, False: 53.1k]
  |  |  |  |  ------------------
  |  |  |  |   49|  4.48k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  4.48k|  do {                       \
  |  |  |  |  |  |   42|  4.48k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  4.48k|    return Result::Error;    \
  |  |  |  |  |  |   44|  4.48k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  4.48k|    }                       \
  |  |  |  |   51|  57.5k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2029|  53.1k|                           "duplicate local index: %u", local_index);
 2030|  53.1k|              ERROR_UNLESS(last_local_index == kInvalidIndex ||
  ------------------
  |  |   53|  53.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  53.1k|  do {                      \
  |  |  |  |   48|   124k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 34.8k, False: 18.2k]
  |  |  |  |  |  Branch (48:9): [True: 17.1k, False: 1.10k]
  |  |  |  |  ------------------
  |  |  |  |   49|  1.10k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  1.10k|  do {                       \
  |  |  |  |  |  |   42|  1.10k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  1.10k|    return Result::Error;    \
  |  |  |  |  |  |   44|  1.10k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  1.10k|    }                       \
  |  |  |  |   51|  53.1k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2031|  52.0k|                               local_index > last_local_index,
 2032|  52.0k|                           "local index out of order: %u", local_index);
 2033|  52.0k|              last_local_index = local_index;
 2034|  52.0k|              CHECK_RESULT(ReadStr(&local_name, "name"));
  ------------------
  |  |   55|  52.0k|  do {                              \
  |  |   56|  52.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 870, False: 51.1k]
  |  |  ------------------
  |  |   57|    870|      return ::wabt::Result::Error; \
  |  |   58|    870|    }                               \
  |  |   59|  52.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2035|  51.1k|              CALLBACK(OnLocalName, function_index, local_index, local_name);
  ------------------
  |  |   66|  51.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  51.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  51.1k|  do {                      \
  |  |  |  |  |  |   48|  51.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 51.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  51.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  51.1k|               #member " callback failed")
  ------------------
 2036|  51.1k|            }
 2037|  64.1k|          }
 2038|  46.1k|        }
 2039|  6.10k|        break;
 2040|  6.10k|      case NameSectionSubsection::Label:
  ------------------
  |  Branch (2040:7): [True: 210, False: 541k]
  ------------------
 2041|       |        // TODO(sbc): Implement label names. These are slightly more complicated
 2042|       |        // since they refer to offsets in the code section / instruction stream.
 2043|    210|        state_.offset = subsection_end;
 2044|    210|        break;
 2045|  1.70k|      case NameSectionSubsection::Type:
  ------------------
  |  Branch (2045:7): [True: 1.70k, False: 540k]
  ------------------
 2046|  6.54k|      case NameSectionSubsection::Table:
  ------------------
  |  Branch (2046:7): [True: 4.84k, False: 537k]
  ------------------
 2047|  6.85k|      case NameSectionSubsection::Memory:
  ------------------
  |  Branch (2047:7): [True: 310, False: 541k]
  ------------------
 2048|  7.73k|      case NameSectionSubsection::Global:
  ------------------
  |  Branch (2048:7): [True: 880, False: 541k]
  ------------------
 2049|  9.74k|      case NameSectionSubsection::ElemSegment:
  ------------------
  |  Branch (2049:7): [True: 2.01k, False: 540k]
  ------------------
 2050|  34.1k|      case NameSectionSubsection::DataSegment:
  ------------------
  |  Branch (2050:7): [True: 24.4k, False: 517k]
  ------------------
 2051|  35.6k|      case NameSectionSubsection::Tag:
  ------------------
  |  Branch (2051:7): [True: 1.45k, False: 540k]
  ------------------
 2052|  35.6k|        if (subsection_size) {
  ------------------
  |  Branch (2052:13): [True: 33.9k, False: 1.72k]
  ------------------
 2053|  33.9k|          Index num_names;
 2054|  33.9k|          CHECK_RESULT(ReadCount(&num_names, "name count"));
  ------------------
  |  |   55|  33.9k|  do {                              \
  |  |   56|  33.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 5.95k, False: 27.9k]
  |  |  ------------------
  |  |   57|  5.95k|      return ::wabt::Result::Error; \
  |  |   58|  5.95k|    }                               \
  |  |   59|  33.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2055|  27.9k|          CALLBACK(OnNameCount, num_names);
  ------------------
  |  |   66|  27.9k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  27.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  27.9k|  do {                      \
  |  |  |  |  |  |   48|  27.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 27.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  27.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  27.9k|               #member " callback failed")
  ------------------
 2056|   105k|          for (Index j = 0; j < num_names; ++j) {
  ------------------
  |  Branch (2056:29): [True: 102k, False: 3.40k]
  ------------------
 2057|   102k|            Index index;
 2058|   102k|            std::string_view name;
 2059|       |
 2060|   102k|            CHECK_RESULT(ReadIndex(&index, "index"));
  ------------------
  |  |   55|   102k|  do {                              \
  |  |   56|   102k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3.79k, False: 98.6k]
  |  |  ------------------
  |  |   57|  3.79k|      return ::wabt::Result::Error; \
  |  |   58|  3.79k|    }                               \
  |  |   59|   102k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2061|  98.6k|            CHECK_RESULT(ReadStr(&name, "name"));
  ------------------
  |  |   55|  98.6k|  do {                              \
  |  |   56|  98.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 20.7k, False: 77.8k]
  |  |  ------------------
  |  |   57|  20.7k|      return ::wabt::Result::Error; \
  |  |   58|  20.7k|    }                               \
  |  |   59|  98.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2062|  77.8k|            CALLBACK(OnNameEntry, type, index, name);
  ------------------
  |  |   66|  77.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  77.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  77.8k|  do {                      \
  |  |  |  |  |  |   48|  77.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 77.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  77.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  77.8k|               #member " callback failed")
  ------------------
 2063|  77.8k|          }
 2064|  27.9k|        }
 2065|  5.12k|        state_.offset = subsection_end;
 2066|  5.12k|        break;
 2067|   322k|      default:
  ------------------
  |  Branch (2067:7): [True: 322k, False: 219k]
  ------------------
 2068|       |        // Unknown subsection, skip it.
 2069|   322k|        state_.offset = subsection_end;
 2070|   322k|        break;
 2071|   542k|    }
 2072|   455k|    ++i;
 2073|   455k|    ERROR_UNLESS(state_.offset == subsection_end,
  ------------------
  |  |   53|   455k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   455k|  do {                      \
  |  |  |  |   48|   455k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 5.81k, False: 449k]
  |  |  |  |  ------------------
  |  |  |  |   49|  5.81k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  5.81k|  do {                       \
  |  |  |  |  |  |   42|  5.81k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  5.81k|    return Result::Error;    \
  |  |  |  |  |  |   44|  5.81k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  5.81k|    }                       \
  |  |  |  |   51|   455k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2074|   455k|                 "unfinished sub-section (expected end: 0x%" PRIzx ")",
 2075|   455k|                 subsection_end);
 2076|   455k|  }
 2077|  10.2k|  CALLBACK0(EndNamesSection);
  ------------------
  |  |   63|  10.2k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  10.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.2k|  do {                      \
  |  |  |  |  |  |   48|  10.2k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  10.2k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2078|  10.2k|  return Result::Ok;
 2079|  10.2k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader9ReadCountEPjPKc:
  522|   541k|Result BinaryReader::ReadCount(Index* count, const char* desc) {
  523|   541k|  CHECK_RESULT(ReadIndex(count, desc));
  ------------------
  |  |   55|   541k|  do {                              \
  |  |   56|   541k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 34.1k, False: 507k]
  |  |  ------------------
  |  |   57|  34.1k|      return ::wabt::Result::Error; \
  |  |   58|  34.1k|    }                               \
  |  |   59|   541k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  524|       |
  525|       |  // This check assumes that each item follows in this section, and takes at
  526|       |  // least 1 byte. It's possible that this check passes but reading fails
  527|       |  // later. It is still useful to check here, though, because it early-outs
  528|       |  // when an erroneous large count is used, before allocating memory for it.
  529|   507k|  size_t section_remaining = read_end_ - state_.offset;
  530|   507k|  if (*count > section_remaining) {
  ------------------
  |  Branch (530:7): [True: 23.0k, False: 484k]
  ------------------
  531|  23.0k|    PrintError("invalid %s %" PRIindex ", only %" PRIzd
  532|  23.0k|               " bytes left in section",
  533|  23.0k|               desc, *count, section_remaining);
  534|  23.0k|    return Result::Error;
  535|  23.0k|  }
  536|   484k|  return Result::Ok;
  537|   507k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader9ReadIndexEPjPKc:
  431|  12.9M|Result BinaryReader::ReadIndex(Index* index, const char* desc) {
  432|  12.9M|  uint32_t value;
  433|  12.9M|  CHECK_RESULT(ReadU32Leb128(&value, desc));
  ------------------
  |  |   55|  12.9M|  do {                              \
  |  |   56|  12.9M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 59.6k, False: 12.8M]
  |  |  ------------------
  |  |   57|  59.6k|      return ::wabt::Result::Error; \
  |  |   58|  59.6k|    }                               \
  |  |   59|  12.9M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  434|  12.8M|  *index = value;
  435|  12.8M|  return Result::Ok;
  436|  12.9M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13NumTotalFuncsEv:
  593|   190k|Index BinaryReader::NumTotalFuncs() {
  594|   190k|  return num_func_imports_ + num_function_signatures_;
  595|   190k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader18ReadDylink0SectionEm:
 2139|  31.1k|Result BinaryReader::ReadDylink0Section(Offset section_size) {
 2140|  31.1k|  CALLBACK(BeginDylinkSection, section_size);
  ------------------
  |  |   66|  31.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  31.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  31.1k|  do {                      \
  |  |  |  |  |  |   48|  31.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 31.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  31.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  31.1k|               #member " callback failed")
  ------------------
 2141|       |
 2142|   192k|  while (state_.offset < read_end_) {
  ------------------
  |  Branch (2142:10): [True: 190k, False: 1.65k]
  ------------------
 2143|   190k|    uint32_t dylink_type;
 2144|   190k|    Offset subsection_size;
 2145|   190k|    CHECK_RESULT(ReadU32Leb128(&dylink_type, "type"));
  ------------------
  |  |   55|   190k|  do {                              \
  |  |   56|   190k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6.81k, False: 183k]
  |  |  ------------------
  |  |   57|  6.81k|      return ::wabt::Result::Error; \
  |  |   58|  6.81k|    }                               \
  |  |   59|   190k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2146|   183k|    CHECK_RESULT(ReadOffset(&subsection_size, "subsection size"));
  ------------------
  |  |   55|   183k|  do {                              \
  |  |   56|   183k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 11.4k, False: 172k]
  |  |  ------------------
  |  |   57|  11.4k|      return ::wabt::Result::Error; \
  |  |   58|  11.4k|    }                               \
  |  |   59|   183k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2147|   172k|    size_t subsection_end = state_.offset + subsection_size;
 2148|   172k|    ERROR_UNLESS(subsection_end <= read_end_,
  ------------------
  |  |   53|   172k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   172k|  do {                      \
  |  |  |  |   48|   172k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 2.80k, False: 169k]
  |  |  |  |  ------------------
  |  |  |  |   49|  2.80k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  2.80k|  do {                       \
  |  |  |  |  |  |   42|  2.80k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  2.80k|    return Result::Error;    \
  |  |  |  |  |  |   44|  2.80k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  2.80k|    }                       \
  |  |  |  |   51|   172k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2149|   169k|                 "invalid sub-section size: extends past end");
 2150|   169k|    ReadEndRestoreGuard guard(this);
 2151|   169k|    read_end_ = subsection_end;
 2152|       |
 2153|   169k|    uint32_t count;
 2154|   169k|    switch (static_cast<DylinkEntryType>(dylink_type)) {
 2155|  2.65k|      case DylinkEntryType::MemInfo: {
  ------------------
  |  Branch (2155:7): [True: 2.65k, False: 167k]
  ------------------
 2156|  2.65k|        uint32_t mem_size;
 2157|  2.65k|        uint32_t mem_align;
 2158|  2.65k|        uint32_t table_size;
 2159|  2.65k|        uint32_t table_align;
 2160|       |
 2161|  2.65k|        CHECK_RESULT(ReadU32Leb128(&mem_size, "mem_size"));
  ------------------
  |  |   55|  2.65k|  do {                              \
  |  |   56|  2.65k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 262, False: 2.38k]
  |  |  ------------------
  |  |   57|    262|      return ::wabt::Result::Error; \
  |  |   58|    262|    }                               \
  |  |   59|  2.65k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2162|  2.38k|        CHECK_RESULT(ReadU32Leb128(&mem_align, "mem_align"));
  ------------------
  |  |   55|  2.38k|  do {                              \
  |  |   56|  2.38k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 634, False: 1.75k]
  |  |  ------------------
  |  |   57|    634|      return ::wabt::Result::Error; \
  |  |   58|    634|    }                               \
  |  |   59|  2.38k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2163|  1.75k|        CHECK_RESULT(ReadU32Leb128(&table_size, "table_size"));
  ------------------
  |  |   55|  1.75k|  do {                              \
  |  |   56|  1.75k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 50, False: 1.70k]
  |  |  ------------------
  |  |   57|     50|      return ::wabt::Result::Error; \
  |  |   58|     50|    }                               \
  |  |   59|  1.75k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2164|  1.70k|        CHECK_RESULT(ReadU32Leb128(&table_align, "table_align"));
  ------------------
  |  |   55|  1.70k|  do {                              \
  |  |   56|  1.70k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 830, False: 875]
  |  |  ------------------
  |  |   57|    830|      return ::wabt::Result::Error; \
  |  |   58|    830|    }                               \
  |  |   59|  1.70k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2165|    875|        CALLBACK(OnDylinkInfo, mem_size, mem_align, table_size, table_align);
  ------------------
  |  |   66|    875|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    875|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    875|  do {                      \
  |  |  |  |  |  |   48|    875|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 875]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    875|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    875|               #member " callback failed")
  ------------------
 2166|    875|        break;
 2167|    875|      }
 2168|    883|      case DylinkEntryType::Needed:
  ------------------
  |  Branch (2168:7): [True: 883, False: 168k]
  ------------------
 2169|    883|        CHECK_RESULT(ReadU32Leb128(&count, "needed_dynlibs"));
  ------------------
  |  |   55|    883|  do {                              \
  |  |   56|    883|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 82, False: 801]
  |  |  ------------------
  |  |   57|     82|      return ::wabt::Result::Error; \
  |  |   58|     82|    }                               \
  |  |   59|    883|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2170|    801|        CALLBACK(OnDylinkNeededCount, count);
  ------------------
  |  |   66|    801|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    801|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    801|  do {                      \
  |  |  |  |  |  |   48|    801|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 801]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    801|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    801|               #member " callback failed")
  ------------------
 2171|  2.02k|        while (count--) {
  ------------------
  |  Branch (2171:16): [True: 1.50k, False: 517]
  ------------------
 2172|  1.50k|          std::string_view so_name;
 2173|  1.50k|          CHECK_RESULT(ReadStr(&so_name, "dylib so_name"));
  ------------------
  |  |   55|  1.50k|  do {                              \
  |  |   56|  1.50k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 284, False: 1.22k]
  |  |  ------------------
  |  |   57|    284|      return ::wabt::Result::Error; \
  |  |   58|    284|    }                               \
  |  |   59|  1.50k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2174|  1.22k|          CALLBACK(OnDylinkNeeded, so_name);
  ------------------
  |  |   66|  1.22k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.22k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.22k|  do {                      \
  |  |  |  |  |  |   48|  1.22k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.22k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.22k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.22k|               #member " callback failed")
  ------------------
 2175|  1.22k|        }
 2176|    517|        break;
 2177|  9.15k|      case DylinkEntryType::ImportInfo:
  ------------------
  |  Branch (2177:7): [True: 9.15k, False: 160k]
  ------------------
 2178|  9.15k|        CHECK_RESULT(ReadU32Leb128(&count, "count"));
  ------------------
  |  |   55|  9.15k|  do {                              \
  |  |   56|  9.15k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 87, False: 9.06k]
  |  |  ------------------
  |  |   57|     87|      return ::wabt::Result::Error; \
  |  |   58|     87|    }                               \
  |  |   59|  9.15k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2179|  9.06k|        CALLBACK(OnDylinkImportCount, count);
  ------------------
  |  |   66|  9.06k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  9.06k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  9.06k|  do {                      \
  |  |  |  |  |  |   48|  9.06k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 9.06k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  9.06k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  9.06k|               #member " callback failed")
  ------------------
 2180|  15.4k|        for (Index i = 0; i < count; ++i) {
  ------------------
  |  Branch (2180:27): [True: 8.55k, False: 6.89k]
  ------------------
 2181|  8.55k|          uint32_t flags = 0;
 2182|  8.55k|          std::string_view module;
 2183|  8.55k|          std::string_view field;
 2184|  8.55k|          CHECK_RESULT(ReadStr(&module, "module"));
  ------------------
  |  |   55|  8.55k|  do {                              \
  |  |   56|  8.55k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.20k, False: 7.35k]
  |  |  ------------------
  |  |   57|  1.20k|      return ::wabt::Result::Error; \
  |  |   58|  1.20k|    }                               \
  |  |   59|  8.55k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2185|  7.35k|          CHECK_RESULT(ReadStr(&field, "field"));
  ------------------
  |  |   55|  7.35k|  do {                              \
  |  |   56|  7.35k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 231, False: 7.12k]
  |  |  ------------------
  |  |   57|    231|      return ::wabt::Result::Error; \
  |  |   58|    231|    }                               \
  |  |   59|  7.35k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2186|  7.12k|          CHECK_RESULT(ReadU32Leb128(&flags, "flags"));
  ------------------
  |  |   55|  7.12k|  do {                              \
  |  |   56|  7.12k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 433, False: 6.69k]
  |  |  ------------------
  |  |   57|    433|      return ::wabt::Result::Error; \
  |  |   58|    433|    }                               \
  |  |   59|  7.12k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2187|  6.69k|          CALLBACK(OnDylinkImport, module, field, flags);
  ------------------
  |  |   66|  6.69k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.69k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.69k|  do {                      \
  |  |  |  |  |  |   48|  6.69k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 300, False: 6.39k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|    300|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|    300|  do {                       \
  |  |  |  |  |  |  |  |   42|    300|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|    300|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|    300|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|    300|    }                       \
  |  |  |  |  |  |   51|  6.69k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.69k|               #member " callback failed")
  ------------------
 2188|  6.69k|        }
 2189|  6.89k|        break;
 2190|  11.3k|      case DylinkEntryType::ExportInfo:
  ------------------
  |  Branch (2190:7): [True: 11.3k, False: 158k]
  ------------------
 2191|  11.3k|        CHECK_RESULT(ReadU32Leb128(&count, "count"));
  ------------------
  |  |   55|  11.3k|  do {                              \
  |  |   56|  11.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 142, False: 11.2k]
  |  |  ------------------
  |  |   57|    142|      return ::wabt::Result::Error; \
  |  |   58|    142|    }                               \
  |  |   59|  11.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2192|  11.2k|        CALLBACK(OnDylinkExportCount, count);
  ------------------
  |  |   66|  11.2k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  11.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  11.2k|  do {                      \
  |  |  |  |  |  |   48|  11.2k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 11.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  11.2k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  11.2k|               #member " callback failed")
  ------------------
 2193|  14.5k|        for (Index i = 0; i < count; ++i) {
  ------------------
  |  Branch (2193:27): [True: 5.62k, False: 8.96k]
  ------------------
 2194|  5.62k|          uint32_t flags = 0;
 2195|  5.62k|          std::string_view name;
 2196|  5.62k|          CHECK_RESULT(ReadStr(&name, "name"));
  ------------------
  |  |   55|  5.62k|  do {                              \
  |  |   56|  5.62k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 826, False: 4.80k]
  |  |  ------------------
  |  |   57|    826|      return ::wabt::Result::Error; \
  |  |   58|    826|    }                               \
  |  |   59|  5.62k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2197|  4.80k|          CHECK_RESULT(ReadU32Leb128(&flags, "flags"));
  ------------------
  |  |   55|  4.80k|  do {                              \
  |  |   56|  4.80k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 433, False: 4.37k]
  |  |  ------------------
  |  |   57|    433|      return ::wabt::Result::Error; \
  |  |   58|    433|    }                               \
  |  |   59|  4.80k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2198|  4.37k|          CALLBACK(OnDylinkExport, name, flags);
  ------------------
  |  |   66|  4.37k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.37k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.37k|  do {                      \
  |  |  |  |  |  |   48|  4.37k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 1.02k, False: 3.34k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|  1.02k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  1.02k|  do {                       \
  |  |  |  |  |  |  |  |   42|  1.02k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|  1.02k|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|  1.02k|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|  1.02k|    }                       \
  |  |  |  |  |  |   51|  4.37k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.37k|               #member " callback failed")
  ------------------
 2199|  4.37k|        }
 2200|  8.96k|        break;
 2201|   145k|      default:
  ------------------
  |  Branch (2201:7): [True: 145k, False: 24.0k]
  ------------------
 2202|       |        // Unknown subsection, skip it.
 2203|   145k|        state_.offset = subsection_end;
 2204|   145k|        break;
 2205|   169k|    }
 2206|   162k|    ERROR_UNLESS(state_.offset == subsection_end,
  ------------------
  |  |   53|   162k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   162k|  do {                      \
  |  |  |  |   48|   162k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 1.63k, False: 161k]
  |  |  |  |  ------------------
  |  |  |  |   49|  1.63k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  1.63k|  do {                       \
  |  |  |  |  |  |   42|  1.63k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  1.63k|    return Result::Error;    \
  |  |  |  |  |  |   44|  1.63k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  1.63k|    }                       \
  |  |  |  |   51|   162k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2207|   162k|                 "unfinished sub-section (expected end: 0x%" PRIzx ")",
 2208|   162k|                 subsection_end);
 2209|   162k|  }
 2210|       |
 2211|  1.65k|  CALLBACK0(EndDylinkSection);
  ------------------
  |  |   63|  1.65k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  1.65k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.65k|  do {                      \
  |  |  |  |  |  |   48|  1.65k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.65k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.65k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2212|  1.65k|  return Result::Ok;
 2213|  1.65k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadDylinkSectionEm:
 2215|  18.5k|Result BinaryReader::ReadDylinkSection(Offset section_size) {
 2216|  18.5k|  CALLBACK(BeginDylinkSection, section_size);
  ------------------
  |  |   66|  18.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  18.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  18.5k|  do {                      \
  |  |  |  |  |  |   48|  18.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 18.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  18.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  18.5k|               #member " callback failed")
  ------------------
 2217|  18.5k|  uint32_t mem_size;
 2218|  18.5k|  uint32_t mem_align;
 2219|  18.5k|  uint32_t table_size;
 2220|  18.5k|  uint32_t table_align;
 2221|       |
 2222|  18.5k|  CHECK_RESULT(ReadU32Leb128(&mem_size, "mem_size"));
  ------------------
  |  |   55|  18.5k|  do {                              \
  |  |   56|  18.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 70, False: 18.4k]
  |  |  ------------------
  |  |   57|     70|      return ::wabt::Result::Error; \
  |  |   58|     70|    }                               \
  |  |   59|  18.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2223|  18.4k|  CHECK_RESULT(ReadU32Leb128(&mem_align, "mem_align"));
  ------------------
  |  |   55|  18.4k|  do {                              \
  |  |   56|  18.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 75, False: 18.3k]
  |  |  ------------------
  |  |   57|     75|      return ::wabt::Result::Error; \
  |  |   58|     75|    }                               \
  |  |   59|  18.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2224|  18.3k|  CHECK_RESULT(ReadU32Leb128(&table_size, "table_size"));
  ------------------
  |  |   55|  18.3k|  do {                              \
  |  |   56|  18.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 205, False: 18.1k]
  |  |  ------------------
  |  |   57|    205|      return ::wabt::Result::Error; \
  |  |   58|    205|    }                               \
  |  |   59|  18.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2225|  18.1k|  CHECK_RESULT(ReadU32Leb128(&table_align, "table_align"));
  ------------------
  |  |   55|  18.1k|  do {                              \
  |  |   56|  18.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 220, False: 17.9k]
  |  |  ------------------
  |  |   57|    220|      return ::wabt::Result::Error; \
  |  |   58|    220|    }                               \
  |  |   59|  18.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2226|  17.9k|  CALLBACK(OnDylinkInfo, mem_size, mem_align, table_size, table_align);
  ------------------
  |  |   66|  17.9k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  17.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  17.9k|  do {                      \
  |  |  |  |  |  |   48|  17.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 17.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  17.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  17.9k|               #member " callback failed")
  ------------------
 2227|       |
 2228|  17.9k|  uint32_t count;
 2229|  17.9k|  CHECK_RESULT(ReadU32Leb128(&count, "needed_dynlibs"));
  ------------------
  |  |   55|  17.9k|  do {                              \
  |  |   56|  17.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 710, False: 17.2k]
  |  |  ------------------
  |  |   57|    710|      return ::wabt::Result::Error; \
  |  |   58|    710|    }                               \
  |  |   59|  17.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2230|  17.2k|  CALLBACK(OnDylinkNeededCount, count);
  ------------------
  |  |   66|  17.2k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  17.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  17.2k|  do {                      \
  |  |  |  |  |  |   48|  17.2k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 17.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  17.2k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  17.2k|               #member " callback failed")
  ------------------
 2231|  31.2k|  while (count--) {
  ------------------
  |  Branch (2231:10): [True: 19.8k, False: 11.4k]
  ------------------
 2232|  19.8k|    std::string_view so_name;
 2233|  19.8k|    CHECK_RESULT(ReadStr(&so_name, "dylib so_name"));
  ------------------
  |  |   55|  19.8k|  do {                              \
  |  |   56|  19.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 5.85k, False: 14.0k]
  |  |  ------------------
  |  |   57|  5.85k|      return ::wabt::Result::Error; \
  |  |   58|  5.85k|    }                               \
  |  |   59|  19.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2234|  14.0k|    CALLBACK(OnDylinkNeeded, so_name);
  ------------------
  |  |   66|  14.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  14.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  14.0k|  do {                      \
  |  |  |  |  |  |   48|  14.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 14.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  14.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  14.0k|               #member " callback failed")
  ------------------
 2235|  14.0k|  }
 2236|       |
 2237|  11.4k|  CALLBACK0(EndDylinkSection);
  ------------------
  |  |   63|  11.4k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  11.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  11.4k|  do {                      \
  |  |  |  |  |  |   48|  11.4k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 11.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  11.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2238|  11.4k|  return Result::Ok;
 2239|  11.4k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadRelocSectionEm:
 2081|  31.3k|Result BinaryReader::ReadRelocSection(Offset section_size) {
 2082|  31.3k|  CALLBACK(BeginRelocSection, section_size);
  ------------------
  |  |   66|  31.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  31.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  31.3k|  do {                      \
  |  |  |  |  |  |   48|  31.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 31.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  31.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  31.3k|               #member " callback failed")
  ------------------
 2083|  31.3k|  uint32_t section_index;
 2084|  31.3k|  CHECK_RESULT(ReadU32Leb128(&section_index, "section index"));
  ------------------
  |  |   55|  31.3k|  do {                              \
  |  |   56|  31.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 130, False: 31.2k]
  |  |  ------------------
  |  |   57|    130|      return ::wabt::Result::Error; \
  |  |   58|    130|    }                               \
  |  |   59|  31.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2085|  31.2k|  Index num_relocs;
 2086|  31.2k|  CHECK_RESULT(ReadCount(&num_relocs, "relocation count"));
  ------------------
  |  |   55|  31.2k|  do {                              \
  |  |   56|  31.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.23k, False: 30.0k]
  |  |  ------------------
  |  |   57|  1.23k|      return ::wabt::Result::Error; \
  |  |   58|  1.23k|    }                               \
  |  |   59|  31.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2087|  30.0k|  CALLBACK(OnRelocCount, num_relocs, section_index);
  ------------------
  |  |   66|  30.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  30.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  30.0k|  do {                      \
  |  |  |  |  |  |   48|  30.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 4.75k, False: 25.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|  4.75k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  4.75k|  do {                       \
  |  |  |  |  |  |  |  |   42|  4.75k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|  4.75k|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|  4.75k|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|  4.75k|    }                       \
  |  |  |  |  |  |   51|  30.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  30.0k|               #member " callback failed")
  ------------------
 2088|  93.7k|  for (Index i = 0; i < num_relocs; ++i) {
  ------------------
  |  Branch (2088:21): [True: 80.6k, False: 13.1k]
  ------------------
 2089|  80.6k|    Offset offset;
 2090|  80.6k|    Index index;
 2091|  80.6k|    uint32_t reloc_type, addend = 0;
 2092|  80.6k|    CHECK_RESULT(ReadU32Leb128(&reloc_type, "relocation type"));
  ------------------
  |  |   55|  80.6k|  do {                              \
  |  |   56|  80.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.09k, False: 78.5k]
  |  |  ------------------
  |  |   57|  2.09k|      return ::wabt::Result::Error; \
  |  |   58|  2.09k|    }                               \
  |  |   59|  80.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2093|  78.5k|    CHECK_RESULT(ReadOffset(&offset, "offset"));
  ------------------
  |  |   55|  78.5k|  do {                              \
  |  |   56|  78.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 755, False: 77.7k]
  |  |  ------------------
  |  |   57|    755|      return ::wabt::Result::Error; \
  |  |   58|    755|    }                               \
  |  |   59|  78.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2094|  77.7k|    CHECK_RESULT(ReadIndex(&index, "index"));
  ------------------
  |  |   55|  77.7k|  do {                              \
  |  |   56|  77.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.26k, False: 75.4k]
  |  |  ------------------
  |  |   57|  2.26k|      return ::wabt::Result::Error; \
  |  |   58|  2.26k|    }                               \
  |  |   59|  77.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2095|  75.4k|    RelocType type = static_cast<RelocType>(reloc_type);
 2096|  75.4k|    switch (type) {
 2097|    642|      case RelocType::MemoryAddressLEB:
  ------------------
  |  Branch (2097:7): [True: 642, False: 74.8k]
  ------------------
 2098|  7.31k|      case RelocType::MemoryAddressLEB64:
  ------------------
  |  Branch (2098:7): [True: 6.67k, False: 68.8k]
  ------------------
 2099|  8.77k|      case RelocType::MemoryAddressSLEB:
  ------------------
  |  Branch (2099:7): [True: 1.45k, False: 74.0k]
  ------------------
 2100|  9.11k|      case RelocType::MemoryAddressSLEB64:
  ------------------
  |  Branch (2100:7): [True: 343, False: 75.1k]
  ------------------
 2101|  9.75k|      case RelocType::MemoryAddressRelSLEB:
  ------------------
  |  Branch (2101:7): [True: 637, False: 74.8k]
  ------------------
 2102|  11.3k|      case RelocType::MemoryAddressRelSLEB64:
  ------------------
  |  Branch (2102:7): [True: 1.60k, False: 73.8k]
  ------------------
 2103|  12.2k|      case RelocType::MemoryAddressI32:
  ------------------
  |  Branch (2103:7): [True: 933, False: 74.5k]
  ------------------
 2104|  13.6k|      case RelocType::MemoryAddressI64:
  ------------------
  |  Branch (2104:7): [True: 1.36k, False: 74.1k]
  ------------------
 2105|  13.9k|      case RelocType::MemoryAddressLocRelI32:
  ------------------
  |  Branch (2105:7): [True: 292, False: 75.2k]
  ------------------
 2106|  15.2k|      case RelocType::FunctionOffsetI32:
  ------------------
  |  Branch (2106:7): [True: 1.30k, False: 74.1k]
  ------------------
 2107|  16.0k|      case RelocType::FunctionOffsetI64:
  ------------------
  |  Branch (2107:7): [True: 837, False: 74.6k]
  ------------------
 2108|  16.8k|      case RelocType::SectionOffsetI32:
  ------------------
  |  Branch (2108:7): [True: 777, False: 74.7k]
  ------------------
 2109|  17.2k|      case RelocType::MemoryAddressTLSSLEB:
  ------------------
  |  Branch (2109:7): [True: 415, False: 75.0k]
  ------------------
 2110|  18.2k|      case RelocType::MemoryAddressTLSSLEB64:
  ------------------
  |  Branch (2110:7): [True: 945, False: 74.5k]
  ------------------
 2111|  18.2k|        CHECK_RESULT(ReadS32Leb128(&addend, "addend"));
  ------------------
  |  |   55|  18.2k|  do {                              \
  |  |   56|  18.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.34k, False: 16.8k]
  |  |  ------------------
  |  |   57|  1.34k|      return ::wabt::Result::Error; \
  |  |   58|  1.34k|    }                               \
  |  |   59|  18.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2112|  16.8k|        break;
 2113|       |
 2114|  31.7k|      case RelocType::FuncIndexLEB:
  ------------------
  |  Branch (2114:7): [True: 31.7k, False: 43.7k]
  ------------------
 2115|  32.0k|      case RelocType::FuncIndexI32:
  ------------------
  |  Branch (2115:7): [True: 240, False: 75.2k]
  ------------------
 2116|  34.2k|      case RelocType::TableIndexSLEB:
  ------------------
  |  Branch (2116:7): [True: 2.23k, False: 73.2k]
  ------------------
 2117|  35.0k|      case RelocType::TableIndexSLEB64:
  ------------------
  |  Branch (2117:7): [True: 835, False: 74.6k]
  ------------------
 2118|  36.8k|      case RelocType::TableIndexI32:
  ------------------
  |  Branch (2118:7): [True: 1.73k, False: 73.7k]
  ------------------
 2119|  43.6k|      case RelocType::TableIndexI64:
  ------------------
  |  Branch (2119:7): [True: 6.80k, False: 68.6k]
  ------------------
 2120|  48.3k|      case RelocType::TypeIndexLEB:
  ------------------
  |  Branch (2120:7): [True: 4.74k, False: 70.7k]
  ------------------
 2121|  49.0k|      case RelocType::GlobalIndexLEB:
  ------------------
  |  Branch (2121:7): [True: 699, False: 74.8k]
  ------------------
 2122|  49.7k|      case RelocType::GlobalIndexI32:
  ------------------
  |  Branch (2122:7): [True: 642, False: 74.8k]
  ------------------
 2123|  50.1k|      case RelocType::TagIndexLEB:
  ------------------
  |  Branch (2123:7): [True: 405, False: 75.0k]
  ------------------
 2124|  50.5k|      case RelocType::TableIndexRelSLEB:
  ------------------
  |  Branch (2124:7): [True: 406, False: 75.0k]
  ------------------
 2125|  50.7k|      case RelocType::TableIndexRelSLEB64:
  ------------------
  |  Branch (2125:7): [True: 278, False: 75.2k]
  ------------------
 2126|  51.6k|      case RelocType::TableNumberLEB:
  ------------------
  |  Branch (2126:7): [True: 812, False: 74.6k]
  ------------------
 2127|  51.6k|        break;
 2128|       |
 2129|  5.66k|      default:
  ------------------
  |  Branch (2129:7): [True: 5.66k, False: 69.8k]
  ------------------
 2130|  5.66k|        PrintError("unknown reloc type: %s", GetRelocTypeName(type));
 2131|  5.66k|        return Result::Error;
 2132|  75.4k|    }
 2133|  68.4k|    CALLBACK(OnReloc, type, offset, index, addend);
  ------------------
  |  |   66|  68.4k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  68.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  68.4k|  do {                      \
  |  |  |  |  |  |   48|  68.4k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 68.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  68.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  68.4k|               #member " callback failed")
  ------------------
 2134|  68.4k|  }
 2135|  13.1k|  CALLBACK0(EndRelocSection);
  ------------------
  |  |   63|  13.1k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  13.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  13.1k|  do {                      \
  |  |  |  |  |  |   48|  13.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 13.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  13.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2136|  13.1k|  return Result::Ok;
 2137|  13.1k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13ReadS32Leb128EPjPKc:
  347|  1.11M|Result BinaryReader::ReadS32Leb128(uint32_t* out_value, const char* desc) {
  348|  1.11M|  const uint8_t* p = state_.data + state_.offset;
  349|  1.11M|  const uint8_t* end = state_.data + read_end_;
  350|  1.11M|  size_t bytes_read = wabt::ReadS32Leb128(p, end, out_value);
  351|  1.11M|  ERROR_UNLESS(bytes_read > 0, "unable to read i32 leb128: %s", desc);
  ------------------
  |  |   53|  1.11M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.11M|  do {                      \
  |  |  |  |   48|  1.11M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 3.18k, False: 1.11M]
  |  |  |  |  ------------------
  |  |  |  |   49|  3.18k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  3.18k|  do {                       \
  |  |  |  |  |  |   42|  3.18k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  3.18k|    return Result::Error;    \
  |  |  |  |  |  |   44|  3.18k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  3.18k|    }                       \
  |  |  |  |   51|  1.11M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  352|  1.11M|  state_.offset += bytes_read;
  353|  1.11M|  return Result::Ok;
  354|  1.11M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader26ReadTargetFeaturesSectionsEm:
 2241|  12.0k|Result BinaryReader::ReadTargetFeaturesSections(Offset section_size) {
 2242|  12.0k|  CALLBACK(BeginTargetFeaturesSection, section_size);
  ------------------
  |  |   66|  12.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  12.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  12.0k|  do {                      \
  |  |  |  |  |  |   48|  12.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 12.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  12.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  12.0k|               #member " callback failed")
  ------------------
 2243|  12.0k|  uint32_t count;
 2244|  12.0k|  CHECK_RESULT(ReadU32Leb128(&count, "sym count"));
  ------------------
  |  |   55|  12.0k|  do {                              \
  |  |   56|  12.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 75, False: 11.9k]
  |  |  ------------------
  |  |   57|     75|      return ::wabt::Result::Error; \
  |  |   58|     75|    }                               \
  |  |   59|  12.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2245|  11.9k|  CALLBACK(OnFeatureCount, count);
  ------------------
  |  |   66|  11.9k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  11.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  11.9k|  do {                      \
  |  |  |  |  |  |   48|  11.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 11.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  11.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  11.9k|               #member " callback failed")
  ------------------
 2246|  34.0k|  while (count--) {
  ------------------
  |  Branch (2246:10): [True: 30.1k, False: 3.86k]
  ------------------
 2247|  30.1k|    uint8_t prefix;
 2248|  30.1k|    std::string_view name;
 2249|  30.1k|    CHECK_RESULT(ReadU8(&prefix, "prefix"));
  ------------------
  |  |   55|  30.1k|  do {                              \
  |  |   56|  30.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7.24k, False: 22.9k]
  |  |  ------------------
  |  |   57|  7.24k|      return ::wabt::Result::Error; \
  |  |   58|  7.24k|    }                               \
  |  |   59|  30.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2250|  22.9k|    CHECK_RESULT(ReadStr(&name, "feature name"));
  ------------------
  |  |   55|  22.9k|  do {                              \
  |  |   56|  22.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 855, False: 22.0k]
  |  |  ------------------
  |  |   57|    855|      return ::wabt::Result::Error; \
  |  |   58|    855|    }                               \
  |  |   59|  22.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2251|  22.0k|    CALLBACK(OnFeature, prefix, name);
  ------------------
  |  |   66|  22.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  22.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  22.0k|  do {                      \
  |  |  |  |  |  |   48|  22.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 22.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  22.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  22.0k|               #member " callback failed")
  ------------------
 2252|  22.0k|  }
 2253|  3.86k|  CALLBACK0(EndTargetFeaturesSection);
  ------------------
  |  |   63|  3.86k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  3.86k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.86k|  do {                      \
  |  |  |  |  |  |   48|  3.86k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.86k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.86k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2254|  3.86k|  return Result::Ok;
 2255|  3.86k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader18ReadLinkingSectionEm:
 2269|   190k|Result BinaryReader::ReadLinkingSection(Offset section_size) {
 2270|   190k|  CALLBACK(BeginLinkingSection, section_size);
  ------------------
  |  |   66|   190k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   190k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   190k|  do {                      \
  |  |  |  |  |  |   48|   190k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 190k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   190k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   190k|               #member " callback failed")
  ------------------
 2271|   190k|  uint32_t version;
 2272|   190k|  CHECK_RESULT(ReadU32Leb128(&version, "version"));
  ------------------
  |  |   55|   190k|  do {                              \
  |  |   56|   190k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 80, False: 190k]
  |  |  ------------------
  |  |   57|     80|      return ::wabt::Result::Error; \
  |  |   58|     80|    }                               \
  |  |   59|   190k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2273|   190k|  ERROR_UNLESS(version == 2, "invalid linking metadata version: %u", version);
  ------------------
  |  |   53|   190k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   190k|  do {                      \
  |  |  |  |   48|   190k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 665, False: 190k]
  |  |  |  |  ------------------
  |  |  |  |   49|    665|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    665|  do {                       \
  |  |  |  |  |  |   42|    665|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    665|    return Result::Error;    \
  |  |  |  |  |  |   44|    665|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    665|    }                       \
  |  |  |  |   51|   190k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2274|   339k|  while (state_.offset < read_end_) {
  ------------------
  |  Branch (2274:10): [True: 330k, False: 8.75k]
  ------------------
 2275|   330k|    uint32_t linking_type;
 2276|   330k|    Offset subsection_size;
 2277|   330k|    CHECK_RESULT(ReadU32Leb128(&linking_type, "type"));
  ------------------
  |  |   55|   330k|  do {                              \
  |  |   56|   330k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 211, False: 330k]
  |  |  ------------------
  |  |   57|    211|      return ::wabt::Result::Error; \
  |  |   58|    211|    }                               \
  |  |   59|   330k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2278|   330k|    CHECK_RESULT(ReadOffset(&subsection_size, "subsection size"));
  ------------------
  |  |   55|   330k|  do {                              \
  |  |   56|   330k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 5.52k, False: 324k]
  |  |  ------------------
  |  |   57|  5.52k|      return ::wabt::Result::Error; \
  |  |   58|  5.52k|    }                               \
  |  |   59|   330k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2279|   324k|    size_t subsection_end = state_.offset + subsection_size;
 2280|   324k|    ERROR_UNLESS(subsection_end <= read_end_,
  ------------------
  |  |   53|   324k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   324k|  do {                      \
  |  |  |  |   48|   324k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 3.33k, False: 321k]
  |  |  |  |  ------------------
  |  |  |  |   49|  3.33k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  3.33k|  do {                       \
  |  |  |  |  |  |   42|  3.33k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  3.33k|    return Result::Error;    \
  |  |  |  |  |  |   44|  3.33k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  3.33k|    }                       \
  |  |  |  |   51|   324k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2281|   321k|                 "invalid sub-section size: extends past end");
 2282|   321k|    ReadEndRestoreGuard guard(this);
 2283|   321k|    read_end_ = subsection_end;
 2284|       |
 2285|   321k|    uint32_t count;
 2286|   321k|    switch (static_cast<LinkingEntryType>(linking_type)) {
 2287|   151k|      case LinkingEntryType::SymbolTable:
  ------------------
  |  Branch (2287:7): [True: 151k, False: 169k]
  ------------------
 2288|   151k|        CHECK_RESULT(ReadU32Leb128(&count, "sym count"));
  ------------------
  |  |   55|   151k|  do {                              \
  |  |   56|   151k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 284, False: 151k]
  |  |  ------------------
  |  |   57|    284|      return ::wabt::Result::Error; \
  |  |   58|    284|    }                               \
  |  |   59|   151k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2289|   151k|        CALLBACK(OnSymbolCount, count);
  ------------------
  |  |   66|   151k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   151k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   151k|  do {                      \
  |  |  |  |  |  |   48|   151k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 151k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   151k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   151k|               #member " callback failed")
  ------------------
 2290|   910k|        for (Index i = 0; i < count; ++i) {
  ------------------
  |  Branch (2290:27): [True: 886k, False: 23.4k]
  ------------------
 2291|   886k|          std::string_view name;
 2292|   886k|          uint32_t flags = 0;
 2293|   886k|          uint32_t kind = 0;
 2294|   886k|          CHECK_RESULT(ReadU32Leb128(&kind, "sym type"));
  ------------------
  |  |   55|   886k|  do {                              \
  |  |   56|   886k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 29.9k, False: 856k]
  |  |  ------------------
  |  |   57|  29.9k|      return ::wabt::Result::Error; \
  |  |   58|  29.9k|    }                               \
  |  |   59|   886k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2295|   856k|          CHECK_RESULT(ReadU32Leb128(&flags, "sym flags"));
  ------------------
  |  |   55|   856k|  do {                              \
  |  |   56|   856k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 30.1k, False: 826k]
  |  |  ------------------
  |  |   57|  30.1k|      return ::wabt::Result::Error; \
  |  |   58|  30.1k|    }                               \
  |  |   59|   856k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2296|   826k|          SymbolType sym_type = static_cast<SymbolType>(kind);
 2297|   826k|          switch (sym_type) {
  ------------------
  |  Branch (2297:19): [True: 191k, False: 635k]
  ------------------
 2298|   225k|            case SymbolType::Function:
  ------------------
  |  Branch (2298:13): [True: 225k, False: 600k]
  ------------------
 2299|   340k|            case SymbolType::Global:
  ------------------
  |  Branch (2299:13): [True: 114k, False: 712k]
  ------------------
 2300|   396k|            case SymbolType::Tag:
  ------------------
  |  Branch (2300:13): [True: 55.6k, False: 771k]
  ------------------
 2301|   427k|            case SymbolType::Table: {
  ------------------
  |  Branch (2301:13): [True: 31.2k, False: 795k]
  ------------------
 2302|   427k|              uint32_t index = 0;
 2303|   427k|              CHECK_RESULT(ReadU32Leb128(&index, "index"));
  ------------------
  |  |   55|   427k|  do {                              \
  |  |   56|   427k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.21k, False: 425k]
  |  |  ------------------
  |  |   57|  2.21k|      return ::wabt::Result::Error; \
  |  |   58|  2.21k|    }                               \
  |  |   59|   427k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2304|   425k|              if ((flags & WABT_SYMBOL_FLAG_UNDEFINED) == 0 ||
  ------------------
  |  |  342|   425k|#define WABT_SYMBOL_FLAG_UNDEFINED 0x10
  ------------------
  |  Branch (2304:19): [True: 138k, False: 287k]
  ------------------
 2305|   425k|                  (flags & WABT_SYMBOL_FLAG_EXPLICIT_NAME) != 0)
  ------------------
  |  |  344|   287k|#define WABT_SYMBOL_FLAG_EXPLICIT_NAME 0x40
  ------------------
  |  Branch (2305:19): [True: 27.6k, False: 259k]
  ------------------
 2306|   165k|                CHECK_RESULT(ReadStr(&name, "symbol name"));
  ------------------
  |  |   55|   165k|  do {                              \
  |  |   56|   165k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 15.7k, False: 149k]
  |  |  ------------------
  |  |   57|  15.7k|      return ::wabt::Result::Error; \
  |  |   58|  15.7k|    }                               \
  |  |   59|   165k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2307|   409k|              switch (sym_type) {
 2308|   210k|                case SymbolType::Function:
  ------------------
  |  Branch (2308:17): [True: 210k, False: 199k]
  ------------------
 2309|   210k|                  CALLBACK(OnFunctionSymbol, i, flags, name, index);
  ------------------
  |  |   66|   210k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   210k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   210k|  do {                      \
  |  |  |  |  |  |   48|   210k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 3.14k, False: 207k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|  3.14k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  3.14k|  do {                       \
  |  |  |  |  |  |  |  |   42|  3.14k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|  3.14k|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|  3.14k|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|  3.14k|    }                       \
  |  |  |  |  |  |   51|   210k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   210k|               #member " callback failed")
  ------------------
 2310|   207k|                  break;
 2311|   207k|                case SymbolType::Global:
  ------------------
  |  Branch (2311:17): [True: 114k, False: 295k]
  ------------------
 2312|   114k|                  CALLBACK(OnGlobalSymbol, i, flags, name, index);
  ------------------
  |  |   66|   114k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   114k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   114k|  do {                      \
  |  |  |  |  |  |   48|   114k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 252, False: 113k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|    252|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|    252|  do {                       \
  |  |  |  |  |  |  |  |   42|    252|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|    252|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|    252|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|    252|    }                       \
  |  |  |  |  |  |   51|   114k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   114k|               #member " callback failed")
  ------------------
 2313|   113k|                  break;
 2314|   113k|                case SymbolType::Tag:
  ------------------
  |  Branch (2314:17): [True: 54.3k, False: 355k]
  ------------------
 2315|  54.3k|                  CALLBACK(OnTagSymbol, i, flags, name, index);
  ------------------
  |  |   66|  54.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  54.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  54.3k|  do {                      \
  |  |  |  |  |  |   48|  54.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 2.08k, False: 52.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|  2.08k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  2.08k|  do {                       \
  |  |  |  |  |  |  |  |   42|  2.08k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|  2.08k|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|  2.08k|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|  2.08k|    }                       \
  |  |  |  |  |  |   51|  54.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  54.3k|               #member " callback failed")
  ------------------
 2316|  52.2k|                  break;
 2317|  52.2k|                case SymbolType::Table:
  ------------------
  |  Branch (2317:17): [True: 30.7k, False: 378k]
  ------------------
 2318|  30.7k|                  CALLBACK(OnTableSymbol, i, flags, name, index);
  ------------------
  |  |   66|  30.7k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  30.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  30.7k|  do {                      \
  |  |  |  |  |  |   48|  30.7k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 1.67k, False: 29.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|  1.67k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  1.67k|  do {                       \
  |  |  |  |  |  |  |  |   42|  1.67k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|  1.67k|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|  1.67k|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|  1.67k|    }                       \
  |  |  |  |  |  |   51|  30.7k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  30.7k|               #member " callback failed")
  ------------------
 2319|  29.1k|                  break;
 2320|  29.1k|                default:
  ------------------
  |  Branch (2320:17): [True: 0, False: 409k]
  ------------------
 2321|      0|                  WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
 2322|   409k|              }
 2323|   402k|              break;
 2324|   409k|            }
 2325|   402k|            case SymbolType::Data: {
  ------------------
  |  Branch (2325:13): [True: 14.8k, False: 812k]
  ------------------
 2326|  14.8k|              uint32_t segment = 0;
 2327|  14.8k|              uint32_t offset = 0;
 2328|  14.8k|              uint32_t size = 0;
 2329|  14.8k|              CHECK_RESULT(ReadStr(&name, "symbol name"));
  ------------------
  |  |   55|  14.8k|  do {                              \
  |  |   56|  14.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.00k, False: 13.8k]
  |  |  ------------------
  |  |   57|  1.00k|      return ::wabt::Result::Error; \
  |  |   58|  1.00k|    }                               \
  |  |   59|  14.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2330|  13.8k|              if ((flags & WABT_SYMBOL_FLAG_UNDEFINED) == 0) {
  ------------------
  |  |  342|  13.8k|#define WABT_SYMBOL_FLAG_UNDEFINED 0x10
  ------------------
  |  Branch (2330:19): [True: 12.2k, False: 1.54k]
  ------------------
 2331|  12.2k|                CHECK_RESULT(ReadU32Leb128(&segment, "segment"));
  ------------------
  |  |   55|  12.2k|  do {                              \
  |  |   56|  12.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 414, False: 11.8k]
  |  |  ------------------
  |  |   57|    414|      return ::wabt::Result::Error; \
  |  |   58|    414|    }                               \
  |  |   59|  12.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2332|  11.8k|                CHECK_RESULT(ReadU32Leb128(&offset, "offset"));
  ------------------
  |  |   55|  11.8k|  do {                              \
  |  |   56|  11.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 152, False: 11.7k]
  |  |  ------------------
  |  |   57|    152|      return ::wabt::Result::Error; \
  |  |   58|    152|    }                               \
  |  |   59|  11.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2333|  11.7k|                CHECK_RESULT(ReadU32Leb128(&size, "size"));
  ------------------
  |  |   55|  11.7k|  do {                              \
  |  |   56|  11.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3.79k, False: 7.90k]
  |  |  ------------------
  |  |   57|  3.79k|      return ::wabt::Result::Error; \
  |  |   58|  3.79k|    }                               \
  |  |   59|  11.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2334|  11.7k|              }
 2335|  9.45k|              CALLBACK(OnDataSymbol, i, flags, name, segment, offset, size);
  ------------------
  |  |   66|  9.45k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  9.45k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  9.45k|  do {                      \
  |  |  |  |  |  |   48|  9.45k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 690, False: 8.76k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|    690|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|    690|  do {                       \
  |  |  |  |  |  |  |  |   42|    690|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|    690|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|    690|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|    690|    }                       \
  |  |  |  |  |  |   51|  9.45k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  9.45k|               #member " callback failed")
  ------------------
 2336|  8.76k|              break;
 2337|  9.45k|            }
 2338|   192k|            case SymbolType::Section: {
  ------------------
  |  Branch (2338:13): [True: 192k, False: 633k]
  ------------------
 2339|   192k|              uint32_t index = 0;
 2340|   192k|              CHECK_RESULT(ReadU32Leb128(&index, "index"));
  ------------------
  |  |   55|   192k|  do {                              \
  |  |   56|   192k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 346, False: 192k]
  |  |  ------------------
  |  |   57|    346|      return ::wabt::Result::Error; \
  |  |   58|    346|    }                               \
  |  |   59|   192k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2341|   192k|              CALLBACK(OnSectionSymbol, i, flags, index);
  ------------------
  |  |   66|   192k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   192k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   192k|  do {                      \
  |  |  |  |  |  |   48|   192k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 36.2k, False: 156k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|  36.2k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  36.2k|  do {                       \
  |  |  |  |  |  |  |  |   42|  36.2k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|  36.2k|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|  36.2k|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|  36.2k|    }                       \
  |  |  |  |  |  |   51|   192k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   192k|               #member " callback failed")
  ------------------
 2342|   156k|              break;
 2343|   192k|            }
 2344|   826k|          }
 2345|   826k|        }
 2346|  23.4k|        break;
 2347|  27.0k|      case LinkingEntryType::SegmentInfo:
  ------------------
  |  Branch (2347:7): [True: 27.0k, False: 294k]
  ------------------
 2348|  27.0k|        CHECK_RESULT(ReadU32Leb128(&count, "info count"));
  ------------------
  |  |   55|  27.0k|  do {                              \
  |  |   56|  27.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 277, False: 26.7k]
  |  |  ------------------
  |  |   57|    277|      return ::wabt::Result::Error; \
  |  |   58|    277|    }                               \
  |  |   59|  27.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2349|  26.7k|        CALLBACK(OnSegmentInfoCount, count);
  ------------------
  |  |   66|  26.7k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  26.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  26.7k|  do {                      \
  |  |  |  |  |  |   48|  26.7k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 26.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  26.7k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  26.7k|               #member " callback failed")
  ------------------
 2350|   135k|        for (Index i = 0; i < count; i++) {
  ------------------
  |  Branch (2350:27): [True: 128k, False: 7.34k]
  ------------------
 2351|   128k|          std::string_view name;
 2352|   128k|          Address alignment_log2;
 2353|   128k|          uint32_t flags;
 2354|   128k|          CHECK_RESULT(ReadStr(&name, "segment name"));
  ------------------
  |  |   55|   128k|  do {                              \
  |  |   56|   128k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 9.52k, False: 118k]
  |  |  ------------------
  |  |   57|  9.52k|      return ::wabt::Result::Error; \
  |  |   58|  9.52k|    }                               \
  |  |   59|   128k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2355|   118k|          CHECK_RESULT(ReadAlignment(&alignment_log2, "segment alignment"));
  ------------------
  |  |   55|   118k|  do {                              \
  |  |   56|   118k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 419, False: 118k]
  |  |  ------------------
  |  |   57|    419|      return ::wabt::Result::Error; \
  |  |   58|    419|    }                               \
  |  |   59|   118k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2356|   118k|          CHECK_RESULT(CheckAlignment(&alignment_log2, "segment alignment"));
  ------------------
  |  |   55|   118k|  do {                              \
  |  |   56|   118k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.40k, False: 116k]
  |  |  ------------------
  |  |   57|  1.40k|      return ::wabt::Result::Error; \
  |  |   58|  1.40k|    }                               \
  |  |   59|   118k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2357|   116k|          CHECK_RESULT(ReadU32Leb128(&flags, "segment flags"));
  ------------------
  |  |   55|   116k|  do {                              \
  |  |   56|   116k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.59k, False: 115k]
  |  |  ------------------
  |  |   57|  1.59k|      return ::wabt::Result::Error; \
  |  |   58|  1.59k|    }                               \
  |  |   59|   116k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2358|   115k|          CALLBACK(OnSegmentInfo, i, name, alignment_log2, flags);
  ------------------
  |  |   66|   115k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   115k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   115k|  do {                      \
  |  |  |  |  |  |   48|   115k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 6.50k, False: 108k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|  6.50k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  6.50k|  do {                       \
  |  |  |  |  |  |  |  |   42|  6.50k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|  6.50k|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|  6.50k|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|  6.50k|    }                       \
  |  |  |  |  |  |   51|   115k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   115k|               #member " callback failed")
  ------------------
 2359|   115k|        }
 2360|  7.34k|        break;
 2361|  7.34k|      case LinkingEntryType::InitFunctions:
  ------------------
  |  Branch (2361:7): [True: 4.35k, False: 317k]
  ------------------
 2362|  4.35k|        CHECK_RESULT(ReadU32Leb128(&count, "info count"));
  ------------------
  |  |   55|  4.35k|  do {                              \
  |  |   56|  4.35k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 72, False: 4.28k]
  |  |  ------------------
  |  |   57|     72|      return ::wabt::Result::Error; \
  |  |   58|     72|    }                               \
  |  |   59|  4.35k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2363|  4.28k|        CALLBACK(OnInitFunctionCount, count);
  ------------------
  |  |   66|  4.28k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.28k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.28k|  do {                      \
  |  |  |  |  |  |   48|  4.28k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.28k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.28k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.28k|               #member " callback failed")
  ------------------
 2364|  30.9k|        while (count--) {
  ------------------
  |  Branch (2364:16): [True: 30.7k, False: 217]
  ------------------
 2365|  30.7k|          uint32_t priority;
 2366|  30.7k|          uint32_t symbol;
 2367|  30.7k|          CHECK_RESULT(ReadU32Leb128(&priority, "priority"));
  ------------------
  |  |   55|  30.7k|  do {                              \
  |  |   56|  30.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.19k, False: 28.5k]
  |  |  ------------------
  |  |   57|  2.19k|      return ::wabt::Result::Error; \
  |  |   58|  2.19k|    }                               \
  |  |   59|  30.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2368|  28.5k|          CHECK_RESULT(ReadU32Leb128(&symbol, "symbol index"));
  ------------------
  |  |   55|  28.5k|  do {                              \
  |  |   56|  28.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.87k, False: 26.6k]
  |  |  ------------------
  |  |   57|  1.87k|      return ::wabt::Result::Error; \
  |  |   58|  1.87k|    }                               \
  |  |   59|  28.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2369|  26.6k|          CALLBACK(OnInitFunction, priority, symbol);
  ------------------
  |  |   66|  26.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  26.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  26.6k|  do {                      \
  |  |  |  |  |  |   48|  26.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 26.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  26.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  26.6k|               #member " callback failed")
  ------------------
 2370|  26.6k|        }
 2371|    217|        break;
 2372|  17.5k|      case LinkingEntryType::ComdatInfo:
  ------------------
  |  Branch (2372:7): [True: 17.5k, False: 304k]
  ------------------
 2373|  17.5k|        CHECK_RESULT(ReadU32Leb128(&count, "count"));
  ------------------
  |  |   55|  17.5k|  do {                              \
  |  |   56|  17.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 232, False: 17.3k]
  |  |  ------------------
  |  |   57|    232|      return ::wabt::Result::Error; \
  |  |   58|    232|    }                               \
  |  |   59|  17.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2374|  17.3k|        CALLBACK(OnComdatCount, count);
  ------------------
  |  |   66|  17.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  17.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  17.3k|  do {                      \
  |  |  |  |  |  |   48|  17.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 17.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  17.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  17.3k|               #member " callback failed")
  ------------------
 2375|  21.1k|        while (count--) {
  ------------------
  |  Branch (2375:16): [True: 17.1k, False: 4.02k]
  ------------------
 2376|  17.1k|          uint32_t flags;
 2377|  17.1k|          uint32_t entry_count;
 2378|  17.1k|          std::string_view name;
 2379|  17.1k|          CHECK_RESULT(ReadStr(&name, "comdat name"));
  ------------------
  |  |   55|  17.1k|  do {                              \
  |  |   56|  17.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 879, False: 16.2k]
  |  |  ------------------
  |  |   57|    879|      return ::wabt::Result::Error; \
  |  |   58|    879|    }                               \
  |  |   59|  17.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2380|  16.2k|          CHECK_RESULT(ReadU32Leb128(&flags, "flags"));
  ------------------
  |  |   55|  16.2k|  do {                              \
  |  |   56|  16.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 187, False: 16.0k]
  |  |  ------------------
  |  |   57|    187|      return ::wabt::Result::Error; \
  |  |   58|    187|    }                               \
  |  |   59|  16.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2381|  16.0k|          CHECK_RESULT(ReadU32Leb128(&entry_count, "entry count"));
  ------------------
  |  |   55|  16.0k|  do {                              \
  |  |   56|  16.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 217, False: 15.8k]
  |  |  ------------------
  |  |   57|    217|      return ::wabt::Result::Error; \
  |  |   58|    217|    }                               \
  |  |   59|  16.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2382|  15.8k|          CALLBACK(OnComdatBegin, name, flags, entry_count);
  ------------------
  |  |   66|  15.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  15.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  15.8k|  do {                      \
  |  |  |  |  |  |   48|  15.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 15.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  15.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  15.8k|               #member " callback failed")
  ------------------
 2383|   188k|          while (entry_count--) {
  ------------------
  |  Branch (2383:18): [True: 184k, False: 3.83k]
  ------------------
 2384|   184k|            uint32_t kind;
 2385|   184k|            uint32_t index;
 2386|   184k|            CHECK_RESULT(ReadU32Leb128(&kind, "kind"));
  ------------------
  |  |   55|   184k|  do {                              \
  |  |   56|   184k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 4.24k, False: 180k]
  |  |  ------------------
  |  |   57|  4.24k|      return ::wabt::Result::Error; \
  |  |   58|  4.24k|    }                               \
  |  |   59|   184k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2387|   180k|            CHECK_RESULT(ReadU32Leb128(&index, "index"));
  ------------------
  |  |   55|   180k|  do {                              \
  |  |   56|   180k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7.76k, False: 172k]
  |  |  ------------------
  |  |   57|  7.76k|      return ::wabt::Result::Error; \
  |  |   58|  7.76k|    }                               \
  |  |   59|   180k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2388|   172k|            ComdatType comdat_type = static_cast<ComdatType>(kind);
 2389|   172k|            CALLBACK(OnComdatEntry, comdat_type, index);
  ------------------
  |  |   66|   172k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   172k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   172k|  do {                      \
  |  |  |  |  |  |   48|   172k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 172k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   172k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   172k|               #member " callback failed")
  ------------------
 2390|   172k|          }
 2391|  15.8k|        }
 2392|  4.02k|        break;
 2393|   121k|      default:
  ------------------
  |  Branch (2393:7): [True: 121k, False: 200k]
  ------------------
 2394|       |        // Unknown subsection, skip it.
 2395|   121k|        state_.offset = subsection_end;
 2396|   121k|        break;
 2397|   321k|    }
 2398|   156k|    ERROR_UNLESS(state_.offset == subsection_end,
  ------------------
  |  |   53|   156k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   156k|  do {                      \
  |  |  |  |   48|   156k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 6.82k, False: 149k]
  |  |  |  |  ------------------
  |  |  |  |   49|  6.82k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  6.82k|  do {                       \
  |  |  |  |  |  |   42|  6.82k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  6.82k|    return Result::Error;    \
  |  |  |  |  |  |   44|  6.82k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  6.82k|    }                       \
  |  |  |  |   51|   156k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2399|   156k|                 "unfinished sub-section (expected end: 0x%" PRIzx ")",
 2400|   156k|                 subsection_end);
 2401|   156k|  }
 2402|  8.75k|  CALLBACK0(EndLinkingSection);
  ------------------
  |  |   63|  8.75k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  8.75k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.75k|  do {                      \
  |  |  |  |  |  |   48|  8.75k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.75k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  8.75k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2403|  8.75k|  return Result::Ok;
 2404|  8.75k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13ReadAlignmentEPmPKc:
  445|   193k|Result BinaryReader::ReadAlignment(Address* alignment_log2, const char* desc) {
  446|   193k|  uint32_t value;
  447|   193k|  CHECK_RESULT(ReadU32Leb128(&value, desc));
  ------------------
  |  |   55|   193k|  do {                              \
  |  |   56|   193k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.55k, False: 191k]
  |  |  ------------------
  |  |   57|  1.55k|      return ::wabt::Result::Error; \
  |  |   58|  1.55k|    }                               \
  |  |   59|   193k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  448|   191k|  *alignment_log2 = value;
  449|   191k|  return Result::Ok;
  450|   193k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader14CheckAlignmentEPmPKc:
  452|   191k|Result BinaryReader::CheckAlignment(Address* align_log2, const char* desc) {
  453|   191k|  uint32_t value = *align_log2;
  454|   191k|  if (value >= 32) {
  ------------------
  |  Branch (454:7): [True: 2.92k, False: 188k]
  ------------------
  455|  2.92k|    PrintError("invalid %s: %" PRIu32, desc, value);
  456|  2.92k|    return Result::Error;
  457|  2.92k|  }
  458|   188k|  return Result::Ok;
  459|   191k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader23ReadCodeMetadataSectionENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEm:
 2432|  39.0k|                                             Offset section_size) {
 2433|  39.0k|  CALLBACK(BeginCodeMetadataSection, name, section_size);
  ------------------
  |  |   66|  39.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  39.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  39.0k|  do {                      \
  |  |  |  |  |  |   48|  39.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 39.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  39.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  39.0k|               #member " callback failed")
  ------------------
 2434|       |
 2435|  39.0k|  Index num_functions;
 2436|  39.0k|  CHECK_RESULT(ReadCount(&num_functions, "function count"));
  ------------------
  |  |   55|  39.0k|  do {                              \
  |  |   56|  39.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7.23k, False: 31.8k]
  |  |  ------------------
  |  |   57|  7.23k|      return ::wabt::Result::Error; \
  |  |   58|  7.23k|    }                               \
  |  |   59|  39.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2437|  31.8k|  CALLBACK(OnCodeMetadataFuncCount, num_functions);
  ------------------
  |  |   66|  31.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  31.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  31.8k|  do {                      \
  |  |  |  |  |  |   48|  31.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 31.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  31.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  31.8k|               #member " callback failed")
  ------------------
 2438|       |
 2439|  31.8k|  Index last_function_index = kInvalidIndex;
 2440|  86.3k|  for (Index i = 0; i < num_functions; ++i) {
  ------------------
  |  Branch (2440:21): [True: 83.7k, False: 2.67k]
  ------------------
 2441|  83.7k|    Index function_index;
 2442|  83.7k|    CHECK_RESULT(ReadCount(&function_index, "function index"));
  ------------------
  |  |   55|  83.7k|  do {                              \
  |  |   56|  83.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.59k, False: 82.1k]
  |  |  ------------------
  |  |   57|  1.59k|      return ::wabt::Result::Error; \
  |  |   58|  1.59k|    }                               \
  |  |   59|  83.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2443|  82.1k|    ERROR_UNLESS(function_index >= num_func_imports_,
  ------------------
  |  |   53|  82.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  82.1k|  do {                      \
  |  |  |  |   48|  82.1k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 635, False: 81.4k]
  |  |  |  |  ------------------
  |  |  |  |   49|    635|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    635|  do {                       \
  |  |  |  |  |  |   42|    635|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    635|    return Result::Error;    \
  |  |  |  |  |  |   44|    635|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    635|    }                       \
  |  |  |  |   51|  82.1k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2444|  81.4k|                 "function import can't have metadata (got %" PRIindex ")",
 2445|  81.4k|                 function_index);
 2446|  81.4k|    ERROR_UNLESS(function_index < NumTotalFuncs(),
  ------------------
  |  |   53|  81.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  81.4k|  do {                      \
  |  |  |  |   48|  81.4k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 3.54k, False: 77.9k]
  |  |  |  |  ------------------
  |  |  |  |   49|  3.54k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  3.54k|  do {                       \
  |  |  |  |  |  |   42|  3.54k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  3.54k|    return Result::Error;    \
  |  |  |  |  |  |   44|  3.54k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  3.54k|    }                       \
  |  |  |  |   51|  81.4k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2447|  77.9k|                 "invalid function index: %" PRIindex, function_index);
 2448|  77.9k|    ERROR_UNLESS(function_index != last_function_index,
  ------------------
  |  |   53|  77.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  77.9k|  do {                      \
  |  |  |  |   48|  77.9k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 210, False: 77.7k]
  |  |  |  |  ------------------
  |  |  |  |   49|    210|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    210|  do {                       \
  |  |  |  |  |  |   42|    210|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    210|    return Result::Error;    \
  |  |  |  |  |  |   44|    210|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    210|    }                       \
  |  |  |  |   51|  77.9k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2449|  77.7k|                 "duplicate function index: %" PRIindex, function_index);
 2450|  77.7k|    ERROR_UNLESS(last_function_index == kInvalidIndex ||
  ------------------
  |  |   53|  77.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  77.7k|  do {                      \
  |  |  |  |   48|   208k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 24.8k, False: 52.8k]
  |  |  |  |  |  Branch (48:9): [True: 43.6k, False: 9.27k]
  |  |  |  |  ------------------
  |  |  |  |   49|  9.27k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  9.27k|  do {                       \
  |  |  |  |  |  |   42|  9.27k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  9.27k|    return Result::Error;    \
  |  |  |  |  |  |   44|  9.27k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  9.27k|    }                       \
  |  |  |  |   51|  77.7k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2451|  68.4k|                     function_index > last_function_index,
 2452|  68.4k|                 "function index out of order: %" PRIindex, function_index);
 2453|  68.4k|    last_function_index = function_index;
 2454|       |
 2455|  68.4k|    Index num_metadata;
 2456|  68.4k|    CHECK_RESULT(ReadCount(&num_metadata, "metadata instances count"));
  ------------------
  |  |   55|  68.4k|  do {                              \
  |  |   56|  68.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.02k, False: 66.4k]
  |  |  ------------------
  |  |   57|  2.02k|      return ::wabt::Result::Error; \
  |  |   58|  2.02k|    }                               \
  |  |   59|  68.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2457|       |
 2458|  66.4k|    CALLBACK(OnCodeMetadataCount, function_index, num_metadata);
  ------------------
  |  |   66|  66.4k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  66.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  66.4k|  do {                      \
  |  |  |  |  |  |   48|  66.4k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 66.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  66.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  66.4k|               #member " callback failed")
  ------------------
 2459|       |
 2460|  66.4k|    Offset last_code_offset = kInvalidOffset;
 2461|   142k|    for (Index j = 0; j < num_metadata; ++j) {
  ------------------
  |  Branch (2461:23): [True: 88.3k, False: 54.5k]
  ------------------
 2462|  88.3k|      Offset code_offset;
 2463|  88.3k|      CHECK_RESULT(ReadOffset(&code_offset, "code offset"));
  ------------------
  |  |   55|  88.3k|  do {                              \
  |  |   56|  88.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 9.54k, False: 78.7k]
  |  |  ------------------
  |  |   57|  9.54k|      return ::wabt::Result::Error; \
  |  |   58|  9.54k|    }                               \
  |  |   59|  88.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2464|  78.7k|      ERROR_UNLESS(code_offset != last_code_offset,
  ------------------
  |  |   53|  78.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  78.7k|  do {                      \
  |  |  |  |   48|  78.7k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 660, False: 78.1k]
  |  |  |  |  ------------------
  |  |  |  |   49|    660|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    660|  do {                       \
  |  |  |  |  |  |   42|    660|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    660|    return Result::Error;    \
  |  |  |  |  |  |   44|    660|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    660|    }                       \
  |  |  |  |   51|  78.7k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2465|  78.1k|                   "duplicate code offset: %" PRIzx, code_offset);
 2466|  78.1k|      ERROR_UNLESS(
  ------------------
  |  |   53|  78.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  78.1k|  do {                      \
  |  |  |  |   48|   215k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 19.3k, False: 58.7k]
  |  |  |  |  |  Branch (48:9): [True: 58.3k, False: 415]
  |  |  |  |  ------------------
  |  |  |  |   49|    415|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    415|  do {                       \
  |  |  |  |  |  |   42|    415|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    415|    return Result::Error;    \
  |  |  |  |  |  |   44|    415|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    415|    }                       \
  |  |  |  |   51|  78.1k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2467|  77.7k|          last_code_offset == kInvalidOffset || code_offset > last_code_offset,
 2468|  77.7k|          "code offset out of order: %" PRIzx, code_offset);
 2469|  77.7k|      last_code_offset = code_offset;
 2470|       |
 2471|  77.7k|      Address data_size;
 2472|  77.7k|      const void* data;
 2473|  77.7k|      CHECK_RESULT(ReadBytes(&data, &data_size, "instance data"));
  ------------------
  |  |   55|  77.7k|  do {                              \
  |  |   56|  77.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.26k, False: 76.4k]
  |  |  ------------------
  |  |   57|  1.26k|      return ::wabt::Result::Error; \
  |  |   58|  1.26k|    }                               \
  |  |   59|  77.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2474|  76.4k|      CALLBACK(OnCodeMetadata, code_offset, data, data_size);
  ------------------
  |  |   66|  76.4k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  76.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  76.4k|  do {                      \
  |  |  |  |  |  |   48|  76.4k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 76.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  76.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  76.4k|               #member " callback failed")
  ------------------
 2475|  76.4k|    }
 2476|  66.4k|  }
 2477|       |
 2478|  2.67k|  CALLBACK(EndCodeMetadataSection);
  ------------------
  |  |   66|  2.67k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.67k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.67k|  do {                      \
  |  |  |  |  |  |   48|  2.67k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.67k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.67k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.67k|               #member " callback failed")
  ------------------
 2479|  2.67k|  return Result::Ok;
 2480|  2.67k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader9ReadBytesEPPKvPmPKc:
  412|  91.1k|                               const char* desc) {
  413|  91.1k|  uint32_t data_size = 0;
  414|  91.1k|  CHECK_RESULT(ReadU32Leb128(&data_size, "data size"));
  ------------------
  |  |   55|  91.1k|  do {                              \
  |  |   56|  91.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 190, False: 90.9k]
  |  |  ------------------
  |  |   57|    190|      return ::wabt::Result::Error; \
  |  |   58|    190|    }                               \
  |  |   59|  91.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  415|  90.9k|  CHECK_RESULT(ReadBytesWithSize(out_data, data_size, desc));
  ------------------
  |  |   55|  90.9k|  do {                              \
  |  |   56|  90.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.40k, False: 89.5k]
  |  |  ------------------
  |  |   57|  1.40k|      return ::wabt::Result::Error; \
  |  |   58|  1.40k|    }                               \
  |  |   59|  90.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  416|  89.5k|  *out_data_size = data_size;
  417|  89.5k|  return Result::Ok;
  418|  90.9k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardIbXadL_ZNS1_23reading_custom_section_EEEED2Ev:
   91|   661k|    ~ValueRestoreGuard() { this_->*member = previous_value_; }
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadTypeSectionEm:
 2524|  5.46k|Result BinaryReader::ReadTypeSection(Offset section_size) {
 2525|  5.46k|  CALLBACK(BeginTypeSection, section_size);
  ------------------
  |  |   66|  5.46k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.46k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.46k|  do {                      \
  |  |  |  |  |  |   48|  5.46k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.46k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.46k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.46k|               #member " callback failed")
  ------------------
 2526|  5.46k|  Index num_signatures;
 2527|  5.46k|  CHECK_RESULT(ReadCount(&num_signatures, "type count"));
  ------------------
  |  |   55|  5.46k|  do {                              \
  |  |   56|  5.46k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.06k, False: 3.39k]
  |  |  ------------------
  |  |   57|  2.06k|      return ::wabt::Result::Error; \
  |  |   58|  2.06k|    }                               \
  |  |   59|  5.46k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2528|  3.39k|  CALLBACK(OnTypeCount, num_signatures);
  ------------------
  |  |   66|  3.39k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.39k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.39k|  do {                      \
  |  |  |  |  |  |   48|  3.39k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.39k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.39k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.39k|               #member " callback failed")
  ------------------
 2529|       |
 2530|  6.74k|  for (Index i = 0; i < num_signatures; ++i) {
  ------------------
  |  Branch (2530:21): [True: 6.45k, False: 290]
  ------------------
 2531|  6.45k|    Type form;
 2532|  6.45k|    if (options_.features.gc_enabled()) {
  ------------------
  |  Branch (2532:9): [True: 6.45k, False: 0]
  ------------------
 2533|  6.45k|      CHECK_RESULT(ReadType(&form, "type form"));
  ------------------
  |  |   55|  6.45k|  do {                              \
  |  |   56|  6.45k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 130, False: 6.32k]
  |  |  ------------------
  |  |   57|    130|      return ::wabt::Result::Error; \
  |  |   58|    130|    }                               \
  |  |   59|  6.45k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2534|  6.45k|    } else {
 2535|      0|      uint8_t type;
 2536|      0|      CHECK_RESULT(ReadU8(&type, "type form"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2537|      0|      ERROR_UNLESS(type == 0x60, "unexpected type form (got %#x)", type);
  ------------------
  |  |   53|      0|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|      0|  do {                      \
  |  |  |  |   48|      0|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2538|      0|      form = Type::Func;
 2539|      0|    }
 2540|       |
 2541|  6.32k|    switch (form) {
 2542|  3.60k|      case Type::Func: {
  ------------------
  |  Branch (2542:7): [True: 3.60k, False: 2.72k]
  ------------------
 2543|  3.60k|        Index num_params;
 2544|  3.60k|        CHECK_RESULT(ReadCount(&num_params, "function param count"));
  ------------------
  |  |   55|  3.60k|  do {                              \
  |  |   56|  3.60k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 180, False: 3.42k]
  |  |  ------------------
  |  |   57|    180|      return ::wabt::Result::Error; \
  |  |   58|    180|    }                               \
  |  |   59|  3.60k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2545|       |
 2546|  3.42k|        param_types_.resize(num_params);
 2547|       |
 2548|  14.7k|        for (Index j = 0; j < num_params; ++j) {
  ------------------
  |  Branch (2548:27): [True: 11.8k, False: 2.89k]
  ------------------
 2549|  11.8k|          Type param_type;
 2550|  11.8k|          CHECK_RESULT(ReadType(&param_type, "function param type"));
  ------------------
  |  |   55|  11.8k|  do {                              \
  |  |   56|  11.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 20, False: 11.8k]
  |  |  ------------------
  |  |   57|     20|      return ::wabt::Result::Error; \
  |  |   58|     20|    }                               \
  |  |   59|  11.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2551|  11.8k|          ERROR_UNLESS(IsConcreteType(param_type),
  ------------------
  |  |   53|  11.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  11.8k|  do {                      \
  |  |  |  |   48|  11.8k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 505, False: 11.3k]
  |  |  |  |  ------------------
  |  |  |  |   49|    505|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    505|  do {                       \
  |  |  |  |  |  |   42|  1.01k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:16): [True: 215, False: 290]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|    505|    return Result::Error;    \
  |  |  |  |  |  |   44|    505|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    505|    }                       \
  |  |  |  |   51|  11.8k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2552|  11.3k|                       "expected valid param type (got " PRItypecode ")",
 2553|  11.3k|                       WABT_PRINTF_TYPE_CODE(param_type));
 2554|  11.3k|          param_types_[j] = param_type;
 2555|  11.3k|        }
 2556|       |
 2557|  2.89k|        Index num_results;
 2558|  2.89k|        CHECK_RESULT(ReadCount(&num_results, "function result count"));
  ------------------
  |  |   55|  2.89k|  do {                              \
  |  |   56|  2.89k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 105, False: 2.79k]
  |  |  ------------------
  |  |   57|    105|      return ::wabt::Result::Error; \
  |  |   58|    105|    }                               \
  |  |   59|  2.89k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2559|       |
 2560|  2.79k|        result_types_.resize(num_results);
 2561|       |
 2562|  34.2k|        for (Index j = 0; j < num_results; ++j) {
  ------------------
  |  Branch (2562:27): [True: 32.0k, False: 2.21k]
  ------------------
 2563|  32.0k|          Type result_type;
 2564|  32.0k|          CHECK_RESULT(ReadType(&result_type, "function result type"));
  ------------------
  |  |   55|  32.0k|  do {                              \
  |  |   56|  32.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 40, False: 31.9k]
  |  |  ------------------
  |  |   57|     40|      return ::wabt::Result::Error; \
  |  |   58|     40|    }                               \
  |  |   59|  32.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2565|  31.9k|          ERROR_UNLESS(IsConcreteType(result_type),
  ------------------
  |  |   53|  31.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  31.9k|  do {                      \
  |  |  |  |   48|  31.9k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 535, False: 31.4k]
  |  |  |  |  ------------------
  |  |  |  |   49|    535|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    535|  do {                       \
  |  |  |  |  |  |   42|  1.07k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:16): [True: 285, False: 250]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|    535|    return Result::Error;    \
  |  |  |  |  |  |   44|    535|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    535|    }                       \
  |  |  |  |   51|  31.9k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2566|  31.4k|                       "expected valid result type (got " PRItypecode ")",
 2567|  31.4k|                       WABT_PRINTF_TYPE_CODE(result_type));
 2568|  31.4k|          result_types_[j] = result_type;
 2569|  31.4k|        }
 2570|       |
 2571|  2.21k|        Type* param_types = num_params ? param_types_.data() : nullptr;
  ------------------
  |  Branch (2571:29): [True: 1.09k, False: 1.12k]
  ------------------
 2572|  2.21k|        Type* result_types = num_results ? result_types_.data() : nullptr;
  ------------------
  |  Branch (2572:30): [True: 1.51k, False: 705]
  ------------------
 2573|       |
 2574|  2.21k|        CALLBACK(OnFuncType, i, num_params, param_types, num_results,
  ------------------
  |  |   66|  2.21k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.21k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.21k|  do {                      \
  |  |  |  |  |  |   48|  2.21k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.21k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.21k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.21k|               #member " callback failed")
  ------------------
 2575|  2.21k|                 result_types);
 2576|  2.21k|        break;
 2577|  2.21k|      }
 2578|       |
 2579|  2.21k|      case Type::Struct: {
  ------------------
  |  Branch (2579:7): [True: 1.38k, False: 4.94k]
  ------------------
 2580|  1.38k|        ERROR_UNLESS(options_.features.gc_enabled(),
  ------------------
  |  |   53|  1.38k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.38k|  do {                      \
  |  |  |  |   48|  1.38k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.38k]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|  1.38k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2581|  1.38k|                     "invalid type form: struct not allowed");
 2582|  1.38k|        Index num_fields;
 2583|  1.38k|        CHECK_RESULT(ReadCount(&num_fields, "field count"));
  ------------------
  |  |   55|  1.38k|  do {                              \
  |  |   56|  1.38k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 160, False: 1.22k]
  |  |  ------------------
  |  |   57|    160|      return ::wabt::Result::Error; \
  |  |   58|    160|    }                               \
  |  |   59|  1.38k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2584|       |
 2585|  1.22k|        fields_.resize(num_fields);
 2586|  1.84k|        for (Index j = 0; j < num_fields; ++j) {
  ------------------
  |  Branch (2586:27): [True: 905, False: 940]
  ------------------
 2587|    905|          CHECK_RESULT(ReadField(&fields_[j]));
  ------------------
  |  |   55|    905|  do {                              \
  |  |   56|    905|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 280, False: 625]
  |  |  ------------------
  |  |   57|    280|      return ::wabt::Result::Error; \
  |  |   58|    280|    }                               \
  |  |   59|    905|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2588|    905|        }
 2589|       |
 2590|    940|        CALLBACK(OnStructType, i, fields_.size(), fields_.data());
  ------------------
  |  |   66|    940|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    940|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    940|  do {                      \
  |  |  |  |  |  |   48|    940|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 940]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    940|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    940|               #member " callback failed")
  ------------------
 2591|    940|        break;
 2592|    940|      }
 2593|       |
 2594|    940|      case Type::Array: {
  ------------------
  |  Branch (2594:7): [True: 495, False: 5.83k]
  ------------------
 2595|    495|        ERROR_UNLESS(options_.features.gc_enabled(),
  ------------------
  |  |   53|    495|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    495|  do {                      \
  |  |  |  |   48|    495|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 495]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|    495|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2596|    495|                     "invalid type form: array not allowed");
 2597|       |
 2598|    495|        TypeMut field;
 2599|    495|        CHECK_RESULT(ReadField(&field));
  ------------------
  |  |   55|    495|  do {                              \
  |  |   56|    495|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 300, False: 195]
  |  |  ------------------
  |  |   57|    300|      return ::wabt::Result::Error; \
  |  |   58|    300|    }                               \
  |  |   59|    495|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2600|    195|        CALLBACK(OnArrayType, i, field);
  ------------------
  |  |   66|    195|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    195|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    195|  do {                      \
  |  |  |  |  |  |   48|    195|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 195]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    195|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    195|               #member " callback failed")
  ------------------
 2601|    195|        break;
 2602|    195|      };
 2603|       |
 2604|    850|      default:
  ------------------
  |  Branch (2604:7): [True: 850, False: 5.47k]
  ------------------
 2605|    850|        PrintError("unexpected type form (got " PRItypecode ")",
 2606|    850|                   WABT_PRINTF_TYPE_CODE(form));
  ------------------
  |  |   32|    850|  (static_cast<int32_t>(x) < 0 ? "-" : ""), std::abs(static_cast<int32_t>(x))
  |  |  ------------------
  |  |  |  Branch (32:4): [True: 420, False: 430]
  |  |  ------------------
  ------------------
 2607|    850|        return Result::Error;
 2608|  6.32k|    }
 2609|  6.32k|  }
 2610|    290|  CALLBACK0(EndTypeSection);
  ------------------
  |  |   63|    290|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    290|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    290|  do {                      \
  |  |  |  |  |  |   48|    290|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 290]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    290|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2611|    290|  return Result::Ok;
 2612|    290|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader8ReadTypeEPNS_4TypeEPKc:
  365|  1.06M|Result BinaryReader::ReadType(Type* out_value, const char* desc) {
  366|  1.06M|  uint32_t type = 0;
  367|  1.06M|  CHECK_RESULT(ReadS32Leb128(&type, desc));
  ------------------
  |  |   55|  1.06M|  do {                              \
  |  |   56|  1.06M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.73k, False: 1.06M]
  |  |  ------------------
  |  |   57|  1.73k|      return ::wabt::Result::Error; \
  |  |   58|  1.73k|    }                               \
  |  |   59|  1.06M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  368|  1.06M|  if (static_cast<Type::Enum>(type) == Type::Reference) {
  ------------------
  |  Branch (368:7): [True: 13.5k, False: 1.05M]
  ------------------
  369|  13.5k|    uint32_t heap_type = 0;
  370|  13.5k|    CHECK_RESULT(ReadS32Leb128(&heap_type, desc));
  ------------------
  |  |   55|  13.5k|  do {                              \
  |  |   56|  13.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 16, False: 13.5k]
  |  |  ------------------
  |  |   57|     16|      return ::wabt::Result::Error; \
  |  |   58|     16|    }                               \
  |  |   59|  13.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  371|  13.5k|    *out_value = Type(Type::Reference, heap_type);
  372|  1.05M|  } else {
  373|  1.05M|    *out_value = static_cast<Type>(type);
  374|  1.05M|  }
  375|  1.06M|  return Result::Ok;
  376|  1.06M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader14IsConcreteTypeENS_4TypeE:
  555|  1.03M|bool BinaryReader::IsConcreteType(Type type) {
  556|  1.03M|  switch (type) {
  557|  20.3k|    case Type::I32:
  ------------------
  |  Branch (557:5): [True: 20.3k, False: 1.01M]
  ------------------
  558|  29.5k|    case Type::I64:
  ------------------
  |  Branch (558:5): [True: 9.25k, False: 1.02M]
  ------------------
  559|  39.7k|    case Type::F32:
  ------------------
  |  Branch (559:5): [True: 10.1k, False: 1.02M]
  ------------------
  560|  66.6k|    case Type::F64:
  ------------------
  |  Branch (560:5): [True: 26.8k, False: 1.00M]
  ------------------
  561|  66.6k|      return true;
  562|       |
  563|  5.50k|    case Type::V128:
  ------------------
  |  Branch (563:5): [True: 5.50k, False: 1.02M]
  ------------------
  564|  5.50k|      return options_.features.simd_enabled();
  565|       |
  566|  7.69k|    case Type::FuncRef:
  ------------------
  |  Branch (566:5): [True: 7.69k, False: 1.02M]
  ------------------
  567|  15.0k|    case Type::ExternRef:
  ------------------
  |  Branch (567:5): [True: 7.33k, False: 1.02M]
  ------------------
  568|  15.0k|      return options_.features.reference_types_enabled();
  569|       |
  570|  4.98k|    case Type::ExnRef:
  ------------------
  |  Branch (570:5): [True: 4.98k, False: 1.02M]
  ------------------
  571|  4.98k|      return options_.features.exceptions_enabled();
  572|       |
  573|  12.4k|    case Type::Reference:
  ------------------
  |  Branch (573:5): [True: 12.4k, False: 1.02M]
  ------------------
  574|  12.4k|      return options_.features.function_references_enabled();
  575|       |
  576|   930k|    default:
  ------------------
  |  Branch (576:5): [True: 930k, False: 104k]
  ------------------
  577|   930k|      return false;
  578|  1.03M|  }
  579|  1.03M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader9ReadFieldEPNS_7TypeMutE:
  539|  1.40k|Result BinaryReader::ReadField(TypeMut* out_value) {
  540|       |  // TODO: Reuse for global header too?
  541|  1.40k|  Type field_type;
  542|  1.40k|  CHECK_RESULT(ReadType(&field_type, "field type"));
  ------------------
  |  |   55|  1.40k|  do {                              \
  |  |   56|  1.40k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 20, False: 1.38k]
  |  |  ------------------
  |  |   57|     20|      return ::wabt::Result::Error; \
  |  |   58|     20|    }                               \
  |  |   59|  1.40k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  543|  1.38k|  ERROR_UNLESS(IsConcreteType(field_type),
  ------------------
  |  |   53|  1.38k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.38k|  do {                      \
  |  |  |  |   48|  1.38k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 465, False: 915]
  |  |  |  |  ------------------
  |  |  |  |   49|    465|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    465|  do {                       \
  |  |  |  |  |  |   42|    930|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:16): [True: 210, False: 255]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|    465|    return Result::Error;    \
  |  |  |  |  |  |   44|    465|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    465|    }                       \
  |  |  |  |   51|  1.38k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  544|    915|               "expected valid field type (got " PRItypecode ")",
  545|    915|               WABT_PRINTF_TYPE_CODE(field_type));
  546|       |
  547|    915|  uint8_t mutable_ = 0;
  548|    915|  CHECK_RESULT(ReadU8(&mutable_, "field mutability"));
  ------------------
  |  |   55|    915|  do {                              \
  |  |   56|    915|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 15, False: 900]
  |  |  ------------------
  |  |   57|     15|      return ::wabt::Result::Error; \
  |  |   58|     15|    }                               \
  |  |   59|    915|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  549|    900|  ERROR_UNLESS(mutable_ <= 1, "field mutability must be 0 or 1");
  ------------------
  |  |   53|    900|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    900|  do {                      \
  |  |  |  |   48|    900|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 80, False: 820]
  |  |  |  |  ------------------
  |  |  |  |   49|     80|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     80|  do {                       \
  |  |  |  |  |  |   42|     80|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     80|    return Result::Error;    \
  |  |  |  |  |  |   44|     80|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     80|    }                       \
  |  |  |  |   51|    900|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  550|    820|  out_value->type = field_type;
  551|    820|  out_value->mutable_ = mutable_;
  552|    820|  return Result::Ok;
  553|    900|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadImportSectionEm:
 2614|  2.81k|Result BinaryReader::ReadImportSection(Offset section_size) {
 2615|  2.81k|  CALLBACK(BeginImportSection, section_size);
  ------------------
  |  |   66|  2.81k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.81k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.81k|  do {                      \
  |  |  |  |  |  |   48|  2.81k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.81k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.81k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.81k|               #member " callback failed")
  ------------------
 2616|  2.81k|  Index num_imports;
 2617|  2.81k|  CHECK_RESULT(ReadCount(&num_imports, "import count"));
  ------------------
  |  |   55|  2.81k|  do {                              \
  |  |   56|  2.81k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.00k, False: 1.81k]
  |  |  ------------------
  |  |   57|  1.00k|      return ::wabt::Result::Error; \
  |  |   58|  1.00k|    }                               \
  |  |   59|  2.81k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2618|  1.81k|  CALLBACK(OnImportCount, num_imports);
  ------------------
  |  |   66|  1.81k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.81k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.81k|  do {                      \
  |  |  |  |  |  |   48|  1.81k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.81k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.81k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.81k|               #member " callback failed")
  ------------------
 2619|   116k|  for (Index i = 0; i < num_imports; ++i) {
  ------------------
  |  Branch (2619:21): [True: 116k, False: 330]
  ------------------
 2620|   116k|    std::string_view module_name;
 2621|   116k|    CHECK_RESULT(ReadStr(&module_name, "import module name"));
  ------------------
  |  |   55|   116k|  do {                              \
  |  |   56|   116k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 560, False: 115k]
  |  |  ------------------
  |  |   57|    560|      return ::wabt::Result::Error; \
  |  |   58|    560|    }                               \
  |  |   59|   116k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2622|   115k|    std::string_view field_name;
 2623|   115k|    CHECK_RESULT(ReadStr(&field_name, "import field name"));
  ------------------
  |  |   55|   115k|  do {                              \
  |  |   56|   115k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 350, False: 115k]
  |  |  ------------------
  |  |   57|    350|      return ::wabt::Result::Error; \
  |  |   58|    350|    }                               \
  |  |   59|   115k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2624|       |
 2625|   115k|    uint8_t kind;
 2626|   115k|    CHECK_RESULT(ReadU8(&kind, "import kind"));
  ------------------
  |  |   55|   115k|  do {                              \
  |  |   56|   115k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 40, False: 115k]
  |  |  ------------------
  |  |   57|     40|      return ::wabt::Result::Error; \
  |  |   58|     40|    }                               \
  |  |   59|   115k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2627|   115k|    CALLBACK(OnImport, i, static_cast<ExternalKind>(kind), module_name,
  ------------------
  |  |   66|   115k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   115k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   115k|  do {                      \
  |  |  |  |  |  |   48|   115k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 115k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   115k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   115k|               #member " callback failed")
  ------------------
 2628|   115k|             field_name);
 2629|   115k|    switch (static_cast<ExternalKind>(kind)) {
 2630|  41.4k|      case ExternalKind::Func: {
  ------------------
  |  Branch (2630:7): [True: 41.4k, False: 73.5k]
  ------------------
 2631|  41.4k|        Index sig_index;
 2632|  41.4k|        CHECK_RESULT(ReadIndex(&sig_index, "import signature index"));
  ------------------
  |  |   55|  41.4k|  do {                              \
  |  |   56|  41.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 30, False: 41.4k]
  |  |  ------------------
  |  |   57|     30|      return ::wabt::Result::Error; \
  |  |   58|     30|    }                               \
  |  |   59|  41.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2633|  41.4k|        CALLBACK(OnImportFunc, i, module_name, field_name, num_func_imports_,
  ------------------
  |  |   66|  41.4k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  41.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  41.4k|  do {                      \
  |  |  |  |  |  |   48|  41.4k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 41.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  41.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  41.4k|               #member " callback failed")
  ------------------
 2634|  41.4k|                 sig_index);
 2635|  41.4k|        num_func_imports_++;
 2636|  41.4k|        break;
 2637|  41.4k|      }
 2638|       |
 2639|  20.7k|      case ExternalKind::Table: {
  ------------------
  |  Branch (2639:7): [True: 20.7k, False: 94.2k]
  ------------------
 2640|  20.7k|        Type elem_type;
 2641|  20.7k|        Limits elem_limits;
 2642|  20.7k|        CHECK_RESULT(ReadTable(&elem_type, &elem_limits));
  ------------------
  |  |   55|  20.7k|  do {                              \
  |  |   56|  20.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 140, False: 20.6k]
  |  |  ------------------
  |  |   57|    140|      return ::wabt::Result::Error; \
  |  |   58|    140|    }                               \
  |  |   59|  20.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2643|  20.6k|        CALLBACK(OnImportTable, i, module_name, field_name, num_table_imports_,
  ------------------
  |  |   66|  20.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  20.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  20.6k|  do {                      \
  |  |  |  |  |  |   48|  20.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 20.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  20.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  20.6k|               #member " callback failed")
  ------------------
 2644|  20.6k|                 elem_type, &elem_limits);
 2645|  20.6k|        num_table_imports_++;
 2646|  20.6k|        break;
 2647|  20.6k|      }
 2648|       |
 2649|  36.1k|      case ExternalKind::Memory: {
  ------------------
  |  Branch (2649:7): [True: 36.1k, False: 78.9k]
  ------------------
 2650|  36.1k|        Limits page_limits;
 2651|  36.1k|        uint32_t page_size;
 2652|  36.1k|        CHECK_RESULT(ReadMemory(&page_limits, &page_size));
  ------------------
  |  |   55|  36.1k|  do {                              \
  |  |   56|  36.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 35, False: 36.0k]
  |  |  ------------------
  |  |   57|     35|      return ::wabt::Result::Error; \
  |  |   58|     35|    }                               \
  |  |   59|  36.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2653|  36.0k|        CALLBACK(OnImportMemory, i, module_name, field_name,
  ------------------
  |  |   66|  36.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  36.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  36.0k|  do {                      \
  |  |  |  |  |  |   48|  36.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 36.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  36.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  36.0k|               #member " callback failed")
  ------------------
 2654|  36.0k|                 num_memory_imports_, &page_limits, page_size);
 2655|  36.0k|        num_memory_imports_++;
 2656|  36.0k|        break;
 2657|  36.0k|      }
 2658|       |
 2659|  5.29k|      case ExternalKind::Global: {
  ------------------
  |  Branch (2659:7): [True: 5.29k, False: 109k]
  ------------------
 2660|  5.29k|        Type type;
 2661|  5.29k|        bool mutable_;
 2662|  5.29k|        CHECK_RESULT(ReadGlobalHeader(&type, &mutable_));
  ------------------
  |  |   55|  5.29k|  do {                              \
  |  |   56|  5.29k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 20, False: 5.27k]
  |  |  ------------------
  |  |   57|     20|      return ::wabt::Result::Error; \
  |  |   58|     20|    }                               \
  |  |   59|  5.29k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2663|  5.27k|        CALLBACK(OnImportGlobal, i, module_name, field_name,
  ------------------
  |  |   66|  5.27k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.27k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.27k|  do {                      \
  |  |  |  |  |  |   48|  5.27k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.27k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.27k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.27k|               #member " callback failed")
  ------------------
 2664|  5.27k|                 num_global_imports_, type, mutable_);
 2665|  5.27k|        num_global_imports_++;
 2666|  5.27k|        break;
 2667|  5.27k|      }
 2668|       |
 2669|  11.1k|      case ExternalKind::Tag: {
  ------------------
  |  Branch (2669:7): [True: 11.1k, False: 103k]
  ------------------
 2670|  11.1k|        ERROR_UNLESS(options_.features.exceptions_enabled(),
  ------------------
  |  |   53|  11.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  11.1k|  do {                      \
  |  |  |  |   48|  11.1k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 11.1k]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|  11.1k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2671|  11.1k|                     "invalid import tag kind: exceptions not allowed");
 2672|  11.1k|        Index sig_index;
 2673|  11.1k|        CHECK_RESULT(ReadTagType(&sig_index));
  ------------------
  |  |   55|  11.1k|  do {                              \
  |  |   56|  11.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 55, False: 11.0k]
  |  |  ------------------
  |  |   57|     55|      return ::wabt::Result::Error; \
  |  |   58|     55|    }                               \
  |  |   59|  11.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2674|  11.0k|        CALLBACK(OnImportTag, i, module_name, field_name, num_tag_imports_,
  ------------------
  |  |   66|  11.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  11.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  11.0k|  do {                      \
  |  |  |  |  |  |   48|  11.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 11.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  11.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  11.0k|               #member " callback failed")
  ------------------
 2675|  11.0k|                 sig_index);
 2676|  11.0k|        num_tag_imports_++;
 2677|  11.0k|        break;
 2678|  11.0k|      }
 2679|       |
 2680|    250|      default:
  ------------------
  |  Branch (2680:7): [True: 250, False: 114k]
  ------------------
 2681|    250|        PrintError("malformed import kind: %d", kind);
 2682|    250|        return Result::Error;
 2683|   115k|    }
 2684|   115k|  }
 2685|       |
 2686|    330|  CALLBACK0(EndImportSection);
  ------------------
  |  |   63|    330|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    330|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    330|  do {                      \
  |  |  |  |  |  |   48|    330|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 330]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    330|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2687|    330|  return Result::Ok;
 2688|    330|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader9ReadTableEPNS_4TypeEPNS_6LimitsE:
  603|  22.1k|Result BinaryReader::ReadTable(Type* out_elem_type, Limits* out_elem_limits) {
  604|  22.1k|  CHECK_RESULT(ReadRefType(out_elem_type, "table elem type"));
  ------------------
  |  |   55|  22.1k|  do {                              \
  |  |   56|  22.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 975, False: 21.1k]
  |  |  ------------------
  |  |   57|    975|      return ::wabt::Result::Error; \
  |  |   58|    975|    }                               \
  |  |   59|  22.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  605|       |
  606|  21.1k|  uint8_t flags;
  607|  21.1k|  uint32_t initial;
  608|  21.1k|  uint32_t max = 0;
  609|  21.1k|  CHECK_RESULT(ReadU8(&flags, "table flags"));
  ------------------
  |  |   55|  21.1k|  do {                              \
  |  |   56|  21.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 25, False: 21.1k]
  |  |  ------------------
  |  |   57|     25|      return ::wabt::Result::Error; \
  |  |   58|     25|    }                               \
  |  |   59|  21.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  610|  21.1k|  bool has_max = flags & WABT_BINARY_LIMITS_HAS_MAX_FLAG;
  ------------------
  |  |   26|  21.1k|#define WABT_BINARY_LIMITS_HAS_MAX_FLAG 0x1
  ------------------
  611|  21.1k|  bool is_shared = flags & WABT_BINARY_LIMITS_IS_SHARED_FLAG;
  ------------------
  |  |   27|  21.1k|#define WABT_BINARY_LIMITS_IS_SHARED_FLAG 0x2
  ------------------
  612|  21.1k|  bool is_64 = flags & WABT_BINARY_LIMITS_IS_64_FLAG;
  ------------------
  |  |   28|  21.1k|#define WABT_BINARY_LIMITS_IS_64_FLAG 0x4
  ------------------
  613|  21.1k|  const uint8_t unknown_flags = flags & ~WABT_BINARY_LIMITS_ALL_TABLE_FLAGS;
  ------------------
  |  |   35|  21.1k|  (WABT_BINARY_LIMITS_HAS_MAX_FLAG | WABT_BINARY_LIMITS_IS_SHARED_FLAG | \
  |  |  ------------------
  |  |  |  |   26|  21.1k|#define WABT_BINARY_LIMITS_HAS_MAX_FLAG 0x1
  |  |  ------------------
  |  |                 (WABT_BINARY_LIMITS_HAS_MAX_FLAG | WABT_BINARY_LIMITS_IS_SHARED_FLAG | \
  |  |  ------------------
  |  |  |  |   27|  21.1k|#define WABT_BINARY_LIMITS_IS_SHARED_FLAG 0x2
  |  |  ------------------
  |  |   36|  21.1k|   WABT_BINARY_LIMITS_IS_64_FLAG)
  |  |  ------------------
  |  |  |  |   28|  21.1k|#define WABT_BINARY_LIMITS_IS_64_FLAG 0x4
  |  |  ------------------
  ------------------
  614|  21.1k|  ERROR_IF(is_shared, "tables may not be shared");
  ------------------
  |  |   47|  21.1k|  do {                      \
  |  |   48|  21.1k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 35, False: 21.0k]
  |  |  ------------------
  |  |   49|     35|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     35|  do {                       \
  |  |  |  |   42|     35|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     35|    return Result::Error;    \
  |  |  |  |   44|     35|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     35|    }                       \
  |  |   51|  21.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  615|  21.0k|  ERROR_IF(is_64 && !options_.features.memory64_enabled(),
  ------------------
  |  |   47|  21.0k|  do {                      \
  |  |   48|  59.1k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 17.0k, False: 4.06k]
  |  |  |  Branch (48:9): [True: 0, False: 17.0k]
  |  |  ------------------
  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      0|  do {                       \
  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      0|    }                       \
  |  |   51|  21.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  616|  21.0k|           "memory64 not allowed");
  617|  21.0k|  ERROR_UNLESS(unknown_flags == 0, "malformed table limits flag: %d", flags);
  ------------------
  |  |   53|  21.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  21.0k|  do {                      \
  |  |  |  |   48|  21.0k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 30, False: 21.0k]
  |  |  |  |  ------------------
  |  |  |  |   49|     30|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     30|  do {                       \
  |  |  |  |  |  |   42|     30|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     30|    return Result::Error;    \
  |  |  |  |  |  |   44|     30|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     30|    }                       \
  |  |  |  |   51|  21.0k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  618|  21.0k|  CHECK_RESULT(ReadU32Leb128(&initial, "table initial elem count"));
  ------------------
  |  |   55|  21.0k|  do {                              \
  |  |   56|  21.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 15, False: 21.0k]
  |  |  ------------------
  |  |   57|     15|      return ::wabt::Result::Error; \
  |  |   58|     15|    }                               \
  |  |   59|  21.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  619|  21.0k|  if (has_max) {
  ------------------
  |  Branch (619:7): [True: 3.28k, False: 17.7k]
  ------------------
  620|  3.28k|    CHECK_RESULT(ReadU32Leb128(&max, "table max elem count"));
  ------------------
  |  |   55|  3.28k|  do {                              \
  |  |   56|  3.28k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10, False: 3.27k]
  |  |  ------------------
  |  |   57|     10|      return ::wabt::Result::Error; \
  |  |   58|     10|    }                               \
  |  |   59|  3.28k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  621|  3.28k|  }
  622|       |
  623|  21.0k|  out_elem_limits->has_max = has_max;
  624|  21.0k|  out_elem_limits->is_64 = is_64;
  625|  21.0k|  out_elem_limits->initial = initial;
  626|  21.0k|  out_elem_limits->max = max;
  627|  21.0k|  return Result::Ok;
  628|  21.0k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader11ReadRefTypeEPNS_4TypeEPKc:
  378|  25.6k|Result BinaryReader::ReadRefType(Type* out_value, const char* desc) {
  379|  25.6k|  CHECK_RESULT(ReadType(out_value, desc));
  ------------------
  |  |   55|  25.6k|  do {                              \
  |  |   56|  25.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 330, False: 25.2k]
  |  |  ------------------
  |  |   57|    330|      return ::wabt::Result::Error; \
  |  |   58|    330|    }                               \
  |  |   59|  25.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  380|  25.2k|  ERROR_UNLESS(out_value->IsRef(), "%s must be a reference type", desc);
  ------------------
  |  |   53|  25.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  25.2k|  do {                      \
  |  |  |  |   48|  25.2k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 1.41k, False: 23.8k]
  |  |  |  |  ------------------
  |  |  |  |   49|  1.41k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  1.41k|  do {                       \
  |  |  |  |  |  |   42|  1.41k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  1.41k|    return Result::Error;    \
  |  |  |  |  |  |   44|  1.41k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  1.41k|    }                       \
  |  |  |  |   51|  25.2k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  381|  23.8k|  return Result::Ok;
  382|  25.2k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10ReadMemoryEPNS_6LimitsEPj:
  631|  69.1k|                                uint32_t* out_page_size) {
  632|  69.1k|  uint8_t flags;
  633|  69.1k|  uint64_t initial;
  634|  69.1k|  uint64_t max = 0;
  635|  69.1k|  CHECK_RESULT(ReadU8(&flags, "memory flags"));
  ------------------
  |  |   55|  69.1k|  do {                              \
  |  |   56|  69.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 110, False: 69.0k]
  |  |  ------------------
  |  |   57|    110|      return ::wabt::Result::Error; \
  |  |   58|    110|    }                               \
  |  |   59|  69.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  636|  69.0k|  bool has_max = flags & WABT_BINARY_LIMITS_HAS_MAX_FLAG;
  ------------------
  |  |   26|  69.0k|#define WABT_BINARY_LIMITS_HAS_MAX_FLAG 0x1
  ------------------
  637|  69.0k|  bool is_shared = flags & WABT_BINARY_LIMITS_IS_SHARED_FLAG;
  ------------------
  |  |   27|  69.0k|#define WABT_BINARY_LIMITS_IS_SHARED_FLAG 0x2
  ------------------
  638|  69.0k|  bool is_64 = flags & WABT_BINARY_LIMITS_IS_64_FLAG;
  ------------------
  |  |   28|  69.0k|#define WABT_BINARY_LIMITS_IS_64_FLAG 0x4
  ------------------
  639|  69.0k|  bool has_custom_page_size =
  640|  69.0k|      flags & WABT_BINARY_LIMITS_HAS_CUSTOM_PAGE_SIZE_FLAG;
  ------------------
  |  |   29|  69.0k|#define WABT_BINARY_LIMITS_HAS_CUSTOM_PAGE_SIZE_FLAG 0x8
  ------------------
  641|  69.0k|  const uint8_t unknown_flags = flags & ~WABT_BINARY_LIMITS_ALL_MEMORY_FLAGS;
  ------------------
  |  |   31|  69.0k|  (WABT_BINARY_LIMITS_HAS_MAX_FLAG | WABT_BINARY_LIMITS_IS_SHARED_FLAG | \
  |  |  ------------------
  |  |  |  |   26|  69.0k|#define WABT_BINARY_LIMITS_HAS_MAX_FLAG 0x1
  |  |  ------------------
  |  |                 (WABT_BINARY_LIMITS_HAS_MAX_FLAG | WABT_BINARY_LIMITS_IS_SHARED_FLAG | \
  |  |  ------------------
  |  |  |  |   27|  69.0k|#define WABT_BINARY_LIMITS_IS_SHARED_FLAG 0x2
  |  |  ------------------
  |  |   32|  69.0k|   WABT_BINARY_LIMITS_IS_64_FLAG |                                       \
  |  |  ------------------
  |  |  |  |   28|  69.0k|#define WABT_BINARY_LIMITS_IS_64_FLAG 0x4
  |  |  ------------------
  |  |   33|  69.0k|   WABT_BINARY_LIMITS_HAS_CUSTOM_PAGE_SIZE_FLAG)
  |  |  ------------------
  |  |  |  |   29|  69.0k|#define WABT_BINARY_LIMITS_HAS_CUSTOM_PAGE_SIZE_FLAG 0x8
  |  |  ------------------
  ------------------
  642|  69.0k|  ERROR_UNLESS(unknown_flags == 0, "malformed memory limits flag: %d", flags);
  ------------------
  |  |   53|  69.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  69.0k|  do {                      \
  |  |  |  |   48|  69.0k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 425, False: 68.6k]
  |  |  |  |  ------------------
  |  |  |  |   49|    425|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    425|  do {                       \
  |  |  |  |  |  |   42|    425|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    425|    return Result::Error;    \
  |  |  |  |  |  |   44|    425|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    425|    }                       \
  |  |  |  |   51|  69.0k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  643|  68.6k|  ERROR_IF(is_shared && !options_.features.threads_enabled(),
  ------------------
  |  |   47|  68.6k|  do {                      \
  |  |   48|   151k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 13.8k, False: 54.8k]
  |  |  |  Branch (48:9): [True: 0, False: 13.8k]
  |  |  ------------------
  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      0|  do {                       \
  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      0|    }                       \
  |  |   51|  68.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  644|  68.6k|           "memory may not be shared: threads not allowed");
  645|  68.6k|  ERROR_IF(is_64 && !options_.features.memory64_enabled(),
  ------------------
  |  |   47|  68.6k|  do {                      \
  |  |   48|   148k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 10.7k, False: 57.8k]
  |  |  |  Branch (48:9): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      0|  do {                       \
  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      0|    }                       \
  |  |   51|  68.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  646|  68.6k|           "memory64 not allowed");
  647|  68.6k|  ERROR_IF(
  ------------------
  |  |   47|  68.6k|  do {                      \
  |  |   48|   138k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 1.31k, False: 67.3k]
  |  |  |  Branch (48:9): [True: 0, False: 1.31k]
  |  |  ------------------
  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      0|  do {                       \
  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      0|    }                       \
  |  |   51|  68.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  648|  68.6k|      has_custom_page_size && !options_.features.custom_page_sizes_enabled(),
  649|  68.6k|      "custom page sizes not allowed");
  650|  68.6k|  if (options_.features.memory64_enabled()) {
  ------------------
  |  Branch (650:7): [True: 68.6k, False: 0]
  ------------------
  651|  68.6k|    CHECK_RESULT(ReadU64Leb128(&initial, "memory initial page count"));
  ------------------
  |  |   55|  68.6k|  do {                              \
  |  |   56|  68.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 250, False: 68.4k]
  |  |  ------------------
  |  |   57|    250|      return ::wabt::Result::Error; \
  |  |   58|    250|    }                               \
  |  |   59|  68.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  652|  68.4k|    if (has_max) {
  ------------------
  |  Branch (652:9): [True: 38.5k, False: 29.8k]
  ------------------
  653|  38.5k|      CHECK_RESULT(ReadU64Leb128(&max, "memory max page count"));
  ------------------
  |  |   55|  38.5k|  do {                              \
  |  |   56|  38.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 35, False: 38.4k]
  |  |  ------------------
  |  |   57|     35|      return ::wabt::Result::Error; \
  |  |   58|     35|    }                               \
  |  |   59|  38.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  654|  38.5k|    }
  655|  68.4k|  } else {
  656|      0|    uint32_t initial32;
  657|      0|    CHECK_RESULT(ReadU32Leb128(&initial32, "memory initial page count"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  658|      0|    initial = initial32;
  659|      0|    if (has_max) {
  ------------------
  |  Branch (659:9): [True: 0, False: 0]
  ------------------
  660|      0|      uint32_t max32;
  661|      0|      CHECK_RESULT(ReadU32Leb128(&max32, "memory max page count"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  662|      0|      max = max32;
  663|      0|    }
  664|      0|  }
  665|  68.3k|  if (has_custom_page_size) {
  ------------------
  |  Branch (665:7): [True: 1.29k, False: 67.0k]
  ------------------
  666|  1.29k|    uint32_t page_size_log2;
  667|  1.29k|    CHECK_RESULT(ReadU32Leb128(&page_size_log2, "memory page size"));
  ------------------
  |  |   55|  1.29k|  do {                              \
  |  |   56|  1.29k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 35, False: 1.26k]
  |  |  ------------------
  |  |   57|     35|      return ::wabt::Result::Error; \
  |  |   58|     35|    }                               \
  |  |   59|  1.29k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  668|  1.26k|    ERROR_IF(page_size_log2 > 16, "malformed memory page size");
  ------------------
  |  |   47|  1.26k|  do {                      \
  |  |   48|  1.26k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 160, False: 1.10k]
  |  |  ------------------
  |  |   49|    160|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|    160|  do {                       \
  |  |  |  |   42|    160|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|    160|    return Result::Error;    \
  |  |  |  |   44|    160|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|    160|    }                       \
  |  |   51|  1.26k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  669|  1.10k|    *out_page_size = 1 << page_size_log2;
  670|  67.0k|  } else {
  671|  67.0k|    *out_page_size = WABT_DEFAULT_PAGE_SIZE;
  ------------------
  |  |   47|  67.0k|#define WABT_DEFAULT_PAGE_SIZE 0x10000
  ------------------
  672|  67.0k|  }
  673|       |
  674|  68.1k|  out_page_limits->has_max = has_max;
  675|  68.1k|  out_page_limits->is_shared = is_shared;
  676|  68.1k|  out_page_limits->is_64 = is_64;
  677|  68.1k|  out_page_limits->initial = initial;
  678|  68.1k|  out_page_limits->max = max;
  679|       |
  680|  68.1k|  return Result::Ok;
  681|  68.3k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13ReadU64Leb128EPmPKc:
  338|   178k|Result BinaryReader::ReadU64Leb128(uint64_t* out_value, const char* desc) {
  339|   178k|  const uint8_t* p = state_.data + state_.offset;
  340|   178k|  const uint8_t* end = state_.data + read_end_;
  341|   178k|  size_t bytes_read = wabt::ReadU64Leb128(p, end, out_value);
  342|   178k|  ERROR_UNLESS(bytes_read > 0, "unable to read u64 leb128: %s", desc);
  ------------------
  |  |   53|   178k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   178k|  do {                      \
  |  |  |  |   48|   178k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 699, False: 178k]
  |  |  |  |  ------------------
  |  |  |  |   49|    699|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    699|  do {                       \
  |  |  |  |  |  |   42|    699|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    699|    return Result::Error;    \
  |  |  |  |  |  |   44|    699|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    699|    }                       \
  |  |  |  |   51|   178k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  343|   178k|  state_.offset += bytes_read;
  344|   178k|  return Result::Ok;
  345|   178k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadGlobalHeaderEPNS_4TypeEPb:
  683|  10.9k|Result BinaryReader::ReadGlobalHeader(Type* out_type, bool* out_mutable) {
  684|  10.9k|  Type global_type = Type::Void;
  685|  10.9k|  uint8_t mutable_ = 0;
  686|  10.9k|  CHECK_RESULT(ReadType(&global_type, "global type"));
  ------------------
  |  |   55|  10.9k|  do {                              \
  |  |   56|  10.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 390, False: 10.6k]
  |  |  ------------------
  |  |   57|    390|      return ::wabt::Result::Error; \
  |  |   58|    390|    }                               \
  |  |   59|  10.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  687|  10.6k|  ERROR_UNLESS(IsConcreteType(global_type), "invalid global type: %#x",
  ------------------
  |  |   53|  10.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  10.6k|  do {                      \
  |  |  |  |   48|  10.6k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 740, False: 9.86k]
  |  |  |  |  ------------------
  |  |  |  |   49|    740|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    740|  do {                       \
  |  |  |  |  |  |   42|    740|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    740|    return Result::Error;    \
  |  |  |  |  |  |   44|    740|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    740|    }                       \
  |  |  |  |   51|  10.6k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  688|  9.86k|               static_cast<int>(global_type));
  689|       |
  690|  9.86k|  CHECK_RESULT(ReadU8(&mutable_, "global mutability"));
  ------------------
  |  |   55|  9.86k|  do {                              \
  |  |   56|  9.86k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 20, False: 9.84k]
  |  |  ------------------
  |  |   57|     20|      return ::wabt::Result::Error; \
  |  |   58|     20|    }                               \
  |  |   59|  9.86k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  691|  9.84k|  ERROR_UNLESS(mutable_ <= 1, "global mutability must be 0 or 1");
  ------------------
  |  |   53|  9.84k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  9.84k|  do {                      \
  |  |  |  |   48|  9.84k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 150, False: 9.69k]
  |  |  |  |  ------------------
  |  |  |  |   49|    150|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    150|  do {                       \
  |  |  |  |  |  |   42|    150|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    150|    return Result::Error;    \
  |  |  |  |  |  |   44|    150|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    150|    }                       \
  |  |  |  |   51|  9.84k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  692|       |
  693|  9.69k|  *out_type = global_type;
  694|  9.69k|  *out_mutable = mutable_;
  695|  9.69k|  return Result::Ok;
  696|  9.84k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader11ReadTagTypeEPj:
 2406|  16.6k|Result BinaryReader::ReadTagType(Index* out_sig_index) {
 2407|  16.6k|  uint8_t attribute;
 2408|  16.6k|  CHECK_RESULT(ReadU8(&attribute, "tag attribute"));
  ------------------
  |  |   55|  16.6k|  do {                              \
  |  |   56|  16.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 40, False: 16.6k]
  |  |  ------------------
  |  |   57|     40|      return ::wabt::Result::Error; \
  |  |   58|     40|    }                               \
  |  |   59|  16.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2409|  16.6k|  ERROR_UNLESS(attribute == 0, "tag attribute must be 0");
  ------------------
  |  |   53|  16.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  16.6k|  do {                      \
  |  |  |  |   48|  16.6k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 180, False: 16.4k]
  |  |  |  |  ------------------
  |  |  |  |   49|    180|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    180|  do {                       \
  |  |  |  |  |  |   42|    180|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    180|    return Result::Error;    \
  |  |  |  |  |  |   44|    180|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    180|    }                       \
  |  |  |  |   51|  16.6k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2410|  16.4k|  CHECK_RESULT(ReadIndex(out_sig_index, "tag signature index"));
  ------------------
  |  |   55|  16.4k|  do {                              \
  |  |   56|  16.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10, False: 16.4k]
  |  |  ------------------
  |  |   57|     10|      return ::wabt::Result::Error; \
  |  |   58|     10|    }                               \
  |  |   59|  16.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2411|  16.4k|  return Result::Ok;
 2412|  16.4k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader19ReadFunctionSectionEm:
 2690|  22.8k|Result BinaryReader::ReadFunctionSection(Offset section_size) {
 2691|  22.8k|  CALLBACK(BeginFunctionSection, section_size);
  ------------------
  |  |   66|  22.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  22.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  22.8k|  do {                      \
  |  |  |  |  |  |   48|  22.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 22.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  22.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  22.8k|               #member " callback failed")
  ------------------
 2692|  22.8k|  CHECK_RESULT(
  ------------------
  |  |   55|  22.8k|  do {                              \
  |  |   56|  22.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10.1k, False: 12.6k]
  |  |  ------------------
  |  |   57|  10.1k|      return ::wabt::Result::Error; \
  |  |   58|  10.1k|    }                               \
  |  |   59|  22.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2693|  22.8k|      ReadCount(&num_function_signatures_, "function signature count"));
 2694|  12.6k|  CALLBACK(OnFunctionCount, num_function_signatures_);
  ------------------
  |  |   66|  12.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  12.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  12.6k|  do {                      \
  |  |  |  |  |  |   48|  12.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 12.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  12.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  12.6k|               #member " callback failed")
  ------------------
 2695|  98.2k|  for (Index i = 0; i < num_function_signatures_; ++i) {
  ------------------
  |  Branch (2695:21): [True: 92.9k, False: 5.34k]
  ------------------
 2696|  92.9k|    Index func_index = num_func_imports_ + i;
 2697|  92.9k|    Index sig_index;
 2698|  92.9k|    CHECK_RESULT(ReadIndex(&sig_index, "function signature index"));
  ------------------
  |  |   55|  92.9k|  do {                              \
  |  |   56|  92.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7.29k, False: 85.6k]
  |  |  ------------------
  |  |   57|  7.29k|      return ::wabt::Result::Error; \
  |  |   58|  7.29k|    }                               \
  |  |   59|  92.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2699|  85.6k|    CALLBACK(OnFunction, func_index, sig_index);
  ------------------
  |  |   66|  85.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  85.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  85.6k|  do {                      \
  |  |  |  |  |  |   48|  85.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 85.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  85.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  85.6k|               #member " callback failed")
  ------------------
 2700|  85.6k|  }
 2701|  5.34k|  CALLBACK0(EndFunctionSection);
  ------------------
  |  |   63|  5.34k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  5.34k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.34k|  do {                      \
  |  |  |  |  |  |   48|  5.34k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.34k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.34k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2702|  5.34k|  return Result::Ok;
 2703|  5.34k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadTableSectionEm:
 2705|  2.04k|Result BinaryReader::ReadTableSection(Offset section_size) {
 2706|  2.04k|  CALLBACK(BeginTableSection, section_size);
  ------------------
  |  |   66|  2.04k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.04k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.04k|  do {                      \
  |  |  |  |  |  |   48|  2.04k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.04k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.04k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.04k|               #member " callback failed")
  ------------------
 2707|  2.04k|  Index num_tables;
 2708|  2.04k|  CHECK_RESULT(ReadCount(&num_tables, "table count"));
  ------------------
  |  |   55|  2.04k|  do {                              \
  |  |   56|  2.04k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.02k, False: 1.02k]
  |  |  ------------------
  |  |   57|  1.02k|      return ::wabt::Result::Error; \
  |  |   58|  1.02k|    }                               \
  |  |   59|  2.04k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2709|  1.02k|  CALLBACK(OnTableCount, num_tables);
  ------------------
  |  |   66|  1.02k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.02k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.02k|  do {                      \
  |  |  |  |  |  |   48|  1.02k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.02k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.02k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.02k|               #member " callback failed")
  ------------------
 2710|  1.40k|  for (Index i = 0; i < num_tables; ++i) {
  ------------------
  |  Branch (2710:21): [True: 1.33k, False: 70]
  ------------------
 2711|  1.33k|    Index table_index = num_table_imports_ + i;
 2712|  1.33k|    Type elem_type;
 2713|  1.33k|    Limits elem_limits;
 2714|  1.33k|    CHECK_RESULT(ReadTable(&elem_type, &elem_limits));
  ------------------
  |  |   55|  1.33k|  do {                              \
  |  |   56|  1.33k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 950, False: 385]
  |  |  ------------------
  |  |   57|    950|      return ::wabt::Result::Error; \
  |  |   58|    950|    }                               \
  |  |   59|  1.33k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2715|    385|    CALLBACK(OnTable, table_index, elem_type, &elem_limits);
  ------------------
  |  |   66|    385|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    385|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    385|  do {                      \
  |  |  |  |  |  |   48|    385|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 385]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    385|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    385|               #member " callback failed")
  ------------------
 2716|    385|  }
 2717|     70|  CALLBACK0(EndTableSection);
  ------------------
  |  |   63|     70|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|     70|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     70|  do {                      \
  |  |  |  |  |  |   48|     70|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 70]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     70|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2718|     70|  return Result::Ok;
 2719|     70|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadMemorySectionEm:
 2721|  1.67k|Result BinaryReader::ReadMemorySection(Offset section_size) {
 2722|  1.67k|  CALLBACK(BeginMemorySection, section_size);
  ------------------
  |  |   66|  1.67k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.67k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.67k|  do {                      \
  |  |  |  |  |  |   48|  1.67k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.67k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.67k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.67k|               #member " callback failed")
  ------------------
 2723|  1.67k|  Index num_memories;
 2724|  1.67k|  CHECK_RESULT(ReadCount(&num_memories, "memory count"));
  ------------------
  |  |   55|  1.67k|  do {                              \
  |  |   56|  1.67k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 515, False: 1.16k]
  |  |  ------------------
  |  |   57|    515|      return ::wabt::Result::Error; \
  |  |   58|    515|    }                               \
  |  |   59|  1.67k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2725|  1.16k|  CALLBACK(OnMemoryCount, num_memories);
  ------------------
  |  |   66|  1.16k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.16k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.16k|  do {                      \
  |  |  |  |  |  |   48|  1.16k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.16k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.16k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.16k|               #member " callback failed")
  ------------------
 2726|  33.2k|  for (Index i = 0; i < num_memories; ++i) {
  ------------------
  |  Branch (2726:21): [True: 33.0k, False: 180]
  ------------------
 2727|  33.0k|    Index memory_index = num_memory_imports_ + i;
 2728|  33.0k|    Limits page_limits;
 2729|  33.0k|    uint32_t page_size;
 2730|  33.0k|    CHECK_RESULT(ReadMemory(&page_limits, &page_size));
  ------------------
  |  |   55|  33.0k|  do {                              \
  |  |   56|  33.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 980, False: 32.0k]
  |  |  ------------------
  |  |   57|    980|      return ::wabt::Result::Error; \
  |  |   58|    980|    }                               \
  |  |   59|  33.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2731|  32.0k|    CALLBACK(OnMemory, memory_index, &page_limits, page_size);
  ------------------
  |  |   66|  32.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  32.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  32.0k|  do {                      \
  |  |  |  |  |  |   48|  32.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 32.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  32.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  32.0k|               #member " callback failed")
  ------------------
 2732|  32.0k|  }
 2733|    180|  CALLBACK0(EndMemorySection);
  ------------------
  |  |   63|    180|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    180|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    180|  do {                      \
  |  |  |  |  |  |   48|    180|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 180]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    180|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2734|    180|  return Result::Ok;
 2735|    180|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadGlobalSectionEm:
 2737|  4.01k|Result BinaryReader::ReadGlobalSection(Offset section_size) {
 2738|  4.01k|  CALLBACK(BeginGlobalSection, section_size);
  ------------------
  |  |   66|  4.01k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.01k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.01k|  do {                      \
  |  |  |  |  |  |   48|  4.01k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.01k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.01k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.01k|               #member " callback failed")
  ------------------
 2739|  4.01k|  Index num_globals;
 2740|  4.01k|  CHECK_RESULT(ReadCount(&num_globals, "global count"));
  ------------------
  |  |   55|  4.01k|  do {                              \
  |  |   56|  4.01k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 450, False: 3.56k]
  |  |  ------------------
  |  |   57|    450|      return ::wabt::Result::Error; \
  |  |   58|    450|    }                               \
  |  |   59|  4.01k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2741|  3.56k|  CALLBACK(OnGlobalCount, num_globals);
  ------------------
  |  |   66|  3.56k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.56k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.56k|  do {                      \
  |  |  |  |  |  |   48|  3.56k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.56k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.56k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.56k|               #member " callback failed")
  ------------------
 2742|  5.78k|  for (Index i = 0; i < num_globals; ++i) {
  ------------------
  |  Branch (2742:21): [True: 5.70k, False: 80]
  ------------------
 2743|  5.70k|    Index global_index = num_global_imports_ + i;
 2744|  5.70k|    Type global_type;
 2745|  5.70k|    bool mutable_;
 2746|  5.70k|    CHECK_RESULT(ReadGlobalHeader(&global_type, &mutable_));
  ------------------
  |  |   55|  5.70k|  do {                              \
  |  |   56|  5.70k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.28k, False: 4.42k]
  |  |  ------------------
  |  |   57|  1.28k|      return ::wabt::Result::Error; \
  |  |   58|  1.28k|    }                               \
  |  |   59|  5.70k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2747|  4.42k|    CALLBACK(BeginGlobal, global_index, global_type, mutable_);
  ------------------
  |  |   66|  4.42k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.42k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.42k|  do {                      \
  |  |  |  |  |  |   48|  4.42k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.42k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.42k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.42k|               #member " callback failed")
  ------------------
 2748|  4.42k|    CALLBACK(BeginGlobalInitExpr, global_index);
  ------------------
  |  |   66|  4.42k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.42k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.42k|  do {                      \
  |  |  |  |  |  |   48|  4.42k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.42k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.42k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.42k|               #member " callback failed")
  ------------------
 2749|  4.42k|    CHECK_RESULT(ReadInitExpr(global_index));
  ------------------
  |  |   55|  4.42k|  do {                              \
  |  |   56|  4.42k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.20k, False: 2.21k]
  |  |  ------------------
  |  |   57|  2.20k|      return ::wabt::Result::Error; \
  |  |   58|  2.20k|    }                               \
  |  |   59|  4.42k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2750|  2.21k|    CALLBACK(EndGlobalInitExpr, global_index);
  ------------------
  |  |   66|  2.21k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.21k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.21k|  do {                      \
  |  |  |  |  |  |   48|  2.21k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.21k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.21k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.21k|               #member " callback failed")
  ------------------
 2751|  2.21k|    CALLBACK(EndGlobal, global_index);
  ------------------
  |  |   66|  2.21k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.21k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.21k|  do {                      \
  |  |  |  |  |  |   48|  2.21k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.21k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.21k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.21k|               #member " callback failed")
  ------------------
 2752|  2.21k|  }
 2753|     80|  CALLBACK0(EndGlobalSection);
  ------------------
  |  |   63|     80|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|     80|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     80|  do {                      \
  |  |  |  |  |  |   48|     80|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 80]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     80|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2754|     80|  return Result::Ok;
 2755|     80|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader12ReadInitExprEj:
  597|  54.3k|Result BinaryReader::ReadInitExpr(Index index) {
  598|  54.3k|  CHECK_RESULT(ReadInstructions(read_end_, "init expression"));
  ------------------
  |  |   55|  54.3k|  do {                              \
  |  |   56|  54.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 20.5k, False: 33.8k]
  |  |  ------------------
  |  |   57|  20.5k|      return ::wabt::Result::Error; \
  |  |   58|  20.5k|    }                               \
  |  |   59|  54.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  599|  33.8k|  assert(state_.offset <= read_end_);
  600|  33.8k|  return Result::Ok;
  601|  33.8k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadInstructionsEmPKc:
  718|  58.1k|Result BinaryReader::ReadInstructions(Offset end_offset, const char* context) {
  719|  58.1k|  std::stack<Opcode> nested_blocks;
  720|  3.17M|  while (state_.offset < end_offset) {
  ------------------
  |  Branch (720:10): [True: 3.17M, False: 8.54k]
  ------------------
  721|  3.17M|    Opcode opcode;
  722|  3.17M|    CHECK_RESULT(ReadOpcode(&opcode, "opcode"));
  ------------------
  |  |   55|  3.17M|  do {                              \
  |  |   56|  3.17M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.61k, False: 3.16M]
  |  |  ------------------
  |  |   57|  1.61k|      return ::wabt::Result::Error; \
  |  |   58|  1.61k|    }                               \
  |  |   59|  3.17M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  723|  3.16M|    CALLBACK(OnOpcode, opcode);
  ------------------
  |  |   66|  3.16M|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.16M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.16M|  do {                      \
  |  |  |  |  |  |   48|  3.16M|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.16M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.16M|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.16M|               #member " callback failed")
  ------------------
  724|  3.16M|    ERROR_UNLESS_OPCODE_ENABLED(opcode);
  ------------------
  |  |   56|  3.16M|  do {                                          \
  |  |   57|  3.16M|    if (!opcode.IsEnabled(options_.features)) { \
  |  |  ------------------
  |  |  |  Branch (57:9): [True: 349, False: 3.16M]
  |  |  ------------------
  |  |   58|    349|      return ReportUnexpectedOpcode(opcode);    \
  |  |   59|    349|    }                                           \
  |  |   60|  3.16M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (60:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  725|       |
  726|  3.16M|    switch (opcode) {
  727|   760k|      case Opcode::Unreachable:
  ------------------
  |  Branch (727:7): [True: 760k, False: 2.40M]
  ------------------
  728|   760k|        CALLBACK0(OnUnreachableExpr);
  ------------------
  |  |   63|   760k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   760k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   760k|  do {                      \
  |  |  |  |  |  |   48|   760k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 760k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   760k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  729|   760k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|   760k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   760k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   760k|  do {                      \
  |  |  |  |  |  |   48|   760k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 760k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   760k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  730|   760k|        break;
  731|       |
  732|   760k|      case Opcode::Block: {
  ------------------
  |  Branch (732:7): [True: 14.5k, False: 3.15M]
  ------------------
  733|  14.5k|        nested_blocks.push(opcode);
  734|  14.5k|        Type sig_type;
  735|  14.5k|        CHECK_RESULT(ReadType(&sig_type, "block signature type"));
  ------------------
  |  |   55|  14.5k|  do {                              \
  |  |   56|  14.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 127, False: 14.3k]
  |  |  ------------------
  |  |   57|    127|      return ::wabt::Result::Error; \
  |  |   58|    127|    }                               \
  |  |   59|  14.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  736|  14.3k|        ERROR_UNLESS(IsBlockType(sig_type),
  ------------------
  |  |   53|  14.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  14.3k|  do {                      \
  |  |  |  |   48|  14.3k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 152, False: 14.2k]
  |  |  |  |  ------------------
  |  |  |  |   49|    152|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    152|  do {                       \
  |  |  |  |  |  |   42|    152|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    152|    return Result::Error;    \
  |  |  |  |  |  |   44|    152|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    152|    }                       \
  |  |  |  |   51|  14.3k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  737|  14.2k|                     "expected valid block signature type");
  738|  14.2k|        CALLBACK(OnBlockExpr, sig_type);
  ------------------
  |  |   66|  14.2k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  14.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  14.2k|  do {                      \
  |  |  |  |  |  |   48|  14.2k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 14.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  14.2k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  14.2k|               #member " callback failed")
  ------------------
  739|  14.2k|        CALLBACK(OnOpcodeBlockSig, sig_type);
  ------------------
  |  |   66|  14.2k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  14.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  14.2k|  do {                      \
  |  |  |  |  |  |   48|  14.2k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 14.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  14.2k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  14.2k|               #member " callback failed")
  ------------------
  740|  14.2k|        break;
  741|  14.2k|      }
  742|       |
  743|  24.4k|      case Opcode::Loop: {
  ------------------
  |  Branch (743:7): [True: 24.4k, False: 3.14M]
  ------------------
  744|  24.4k|        nested_blocks.push(opcode);
  745|  24.4k|        Type sig_type;
  746|  24.4k|        CHECK_RESULT(ReadType(&sig_type, "loop signature type"));
  ------------------
  |  |   55|  24.4k|  do {                              \
  |  |   56|  24.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 218, False: 24.1k]
  |  |  ------------------
  |  |   57|    218|      return ::wabt::Result::Error; \
  |  |   58|    218|    }                               \
  |  |   59|  24.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  747|  24.1k|        ERROR_UNLESS(IsBlockType(sig_type),
  ------------------
  |  |   53|  24.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  24.1k|  do {                      \
  |  |  |  |   48|  24.1k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 150, False: 24.0k]
  |  |  |  |  ------------------
  |  |  |  |   49|    150|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    150|  do {                       \
  |  |  |  |  |  |   42|    150|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    150|    return Result::Error;    \
  |  |  |  |  |  |   44|    150|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    150|    }                       \
  |  |  |  |   51|  24.1k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  748|  24.0k|                     "expected valid block signature type");
  749|  24.0k|        CALLBACK(OnLoopExpr, sig_type);
  ------------------
  |  |   66|  24.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  24.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  24.0k|  do {                      \
  |  |  |  |  |  |   48|  24.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 24.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  24.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  24.0k|               #member " callback failed")
  ------------------
  750|  24.0k|        CALLBACK(OnOpcodeBlockSig, sig_type);
  ------------------
  |  |   66|  24.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  24.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  24.0k|  do {                      \
  |  |  |  |  |  |   48|  24.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 24.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  24.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  24.0k|               #member " callback failed")
  ------------------
  751|  24.0k|        break;
  752|  24.0k|      }
  753|       |
  754|   881k|      case Opcode::If: {
  ------------------
  |  Branch (754:7): [True: 881k, False: 2.28M]
  ------------------
  755|   881k|        nested_blocks.push(opcode);
  756|   881k|        Type sig_type;
  757|   881k|        CHECK_RESULT(ReadType(&sig_type, "if signature type"));
  ------------------
  |  |   55|   881k|  do {                              \
  |  |   56|   881k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 166, False: 881k]
  |  |  ------------------
  |  |   57|    166|      return ::wabt::Result::Error; \
  |  |   58|    166|    }                               \
  |  |   59|   881k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  758|   881k|        ERROR_UNLESS(IsBlockType(sig_type),
  ------------------
  |  |   53|   881k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   881k|  do {                      \
  |  |  |  |   48|   881k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 206, False: 881k]
  |  |  |  |  ------------------
  |  |  |  |   49|    206|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    206|  do {                       \
  |  |  |  |  |  |   42|    206|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    206|    return Result::Error;    \
  |  |  |  |  |  |   44|    206|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    206|    }                       \
  |  |  |  |   51|   881k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  759|   881k|                     "expected valid block signature type");
  760|   881k|        CALLBACK(OnIfExpr, sig_type);
  ------------------
  |  |   66|   881k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   881k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   881k|  do {                      \
  |  |  |  |  |  |   48|   881k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 881k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   881k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   881k|               #member " callback failed")
  ------------------
  761|   881k|        CALLBACK(OnOpcodeBlockSig, sig_type);
  ------------------
  |  |   66|   881k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   881k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   881k|  do {                      \
  |  |  |  |  |  |   48|   881k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 881k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   881k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   881k|               #member " callback failed")
  ------------------
  762|   881k|        break;
  763|   881k|      }
  764|       |
  765|   881k|      case Opcode::Else:
  ------------------
  |  Branch (765:7): [True: 15.8k, False: 3.15M]
  ------------------
  766|  15.8k|        ERROR_IF(nested_blocks.empty() || (nested_blocks.top() != Opcode::If),
  ------------------
  |  |   47|  15.8k|  do {                      \
  |  |   48|  47.3k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 175, False: 15.6k]
  |  |  |  Branch (48:9): [True: 84, False: 15.5k]
  |  |  ------------------
  |  |   49|    259|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|    259|  do {                       \
  |  |  |  |   42|    259|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|    259|    return Result::Error;    \
  |  |  |  |   44|    259|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|    259|    }                       \
  |  |   51|  15.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  767|  15.8k|                 "else outside if block");
  768|  15.5k|        CALLBACK0(OnElseExpr);
  ------------------
  |  |   63|  15.5k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  15.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  15.5k|  do {                      \
  |  |  |  |  |  |   48|  15.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 15.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  15.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  769|  15.5k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  15.5k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  15.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  15.5k|  do {                      \
  |  |  |  |  |  |   48|  15.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 15.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  15.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  770|  15.5k|        break;
  771|       |
  772|  15.5k|      case Opcode::SelectT: {
  ------------------
  |  Branch (772:7): [True: 4.96k, False: 3.16M]
  ------------------
  773|  4.96k|        Index num_results;
  774|  4.96k|        CHECK_RESULT(ReadCount(&num_results, "num result types"));
  ------------------
  |  |   55|  4.96k|  do {                              \
  |  |   56|  4.96k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 83, False: 4.88k]
  |  |  ------------------
  |  |   57|     83|      return ::wabt::Result::Error; \
  |  |   58|     83|    }                               \
  |  |   59|  4.96k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  775|       |
  776|  4.88k|        result_types_.resize(num_results);
  777|  10.5k|        for (Index i = 0; i < num_results; ++i) {
  ------------------
  |  Branch (777:27): [True: 6.24k, False: 4.25k]
  ------------------
  778|  6.24k|          Type result_type;
  779|  6.24k|          CHECK_RESULT(ReadType(&result_type, "select result type"));
  ------------------
  |  |   55|  6.24k|  do {                              \
  |  |   56|  6.24k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 36, False: 6.20k]
  |  |  ------------------
  |  |   57|     36|      return ::wabt::Result::Error; \
  |  |   58|     36|    }                               \
  |  |   59|  6.24k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  780|  6.20k|          ERROR_UNLESS(IsConcreteType(result_type),
  ------------------
  |  |   53|  6.20k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  6.20k|  do {                      \
  |  |  |  |   48|  6.20k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 589, False: 5.61k]
  |  |  |  |  ------------------
  |  |  |  |   49|    589|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    589|  do {                       \
  |  |  |  |  |  |   42|  1.17k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:16): [True: 276, False: 313]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|    589|    return Result::Error;    \
  |  |  |  |  |  |   44|    589|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    589|    }                       \
  |  |  |  |   51|  6.20k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  781|  5.61k|                       "expected valid select result type (got " PRItypecode
  782|  5.61k|                       ")",
  783|  5.61k|                       WABT_PRINTF_TYPE_CODE(result_type));
  784|  5.61k|          result_types_[i] = result_type;
  785|  5.61k|        }
  786|       |
  787|  4.25k|        if (num_results) {
  ------------------
  |  Branch (787:13): [True: 1.87k, False: 2.38k]
  ------------------
  788|  1.87k|          CALLBACK(OnSelectExpr, num_results, result_types_.data());
  ------------------
  |  |   66|  1.87k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.87k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.87k|  do {                      \
  |  |  |  |  |  |   48|  1.87k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.87k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.87k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.87k|               #member " callback failed")
  ------------------
  789|  1.87k|          CALLBACK(OnOpcodeType, result_types_[0]);
  ------------------
  |  |   66|  1.87k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.87k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.87k|  do {                      \
  |  |  |  |  |  |   48|  1.87k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.87k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.87k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.87k|               #member " callback failed")
  ------------------
  790|  2.38k|        } else {
  791|  2.38k|          CALLBACK(OnSelectExpr, 0, NULL);
  ------------------
  |  |   66|  2.38k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.38k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.38k|  do {                      \
  |  |  |  |  |  |   48|  2.38k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.38k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.38k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.38k|               #member " callback failed")
  ------------------
  792|  2.38k|          CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  2.38k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  2.38k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.38k|  do {                      \
  |  |  |  |  |  |   48|  2.38k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.38k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.38k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  793|  2.38k|        }
  794|  4.25k|        break;
  795|  4.25k|      }
  796|       |
  797|  5.59k|      case Opcode::Select:
  ------------------
  |  Branch (797:7): [True: 5.59k, False: 3.16M]
  ------------------
  798|  5.59k|        CALLBACK(OnSelectExpr, 0, nullptr);
  ------------------
  |  |   66|  5.59k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.59k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.59k|  do {                      \
  |  |  |  |  |  |   48|  5.59k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.59k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.59k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.59k|               #member " callback failed")
  ------------------
  799|  5.59k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  5.59k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  5.59k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.59k|  do {                      \
  |  |  |  |  |  |   48|  5.59k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.59k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.59k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  800|  5.59k|        break;
  801|       |
  802|  8.67k|      case Opcode::Br: {
  ------------------
  |  Branch (802:7): [True: 8.67k, False: 3.15M]
  ------------------
  803|  8.67k|        Index depth;
  804|  8.67k|        CHECK_RESULT(ReadIndex(&depth, "br depth"));
  ------------------
  |  |   55|  8.67k|  do {                              \
  |  |   56|  8.67k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 59, False: 8.61k]
  |  |  ------------------
  |  |   57|     59|      return ::wabt::Result::Error; \
  |  |   58|     59|    }                               \
  |  |   59|  8.67k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  805|  8.61k|        CALLBACK(OnBrExpr, depth);
  ------------------
  |  |   66|  8.61k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.61k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.61k|  do {                      \
  |  |  |  |  |  |   48|  8.61k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.61k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  8.61k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.61k|               #member " callback failed")
  ------------------
  806|  8.61k|        CALLBACK(OnOpcodeIndex, depth);
  ------------------
  |  |   66|  8.61k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.61k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.61k|  do {                      \
  |  |  |  |  |  |   48|  8.61k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.61k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  8.61k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.61k|               #member " callback failed")
  ------------------
  807|  8.61k|        break;
  808|  8.61k|      }
  809|       |
  810|  8.61k|      case Opcode::BrIf: {
  ------------------
  |  Branch (810:7): [True: 2.72k, False: 3.16M]
  ------------------
  811|  2.72k|        Index depth;
  812|  2.72k|        CHECK_RESULT(ReadIndex(&depth, "br_if depth"));
  ------------------
  |  |   55|  2.72k|  do {                              \
  |  |   56|  2.72k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 49, False: 2.67k]
  |  |  ------------------
  |  |   57|     49|      return ::wabt::Result::Error; \
  |  |   58|     49|    }                               \
  |  |   59|  2.72k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  813|  2.67k|        CALLBACK(OnBrIfExpr, depth);
  ------------------
  |  |   66|  2.67k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.67k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.67k|  do {                      \
  |  |  |  |  |  |   48|  2.67k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.67k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.67k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.67k|               #member " callback failed")
  ------------------
  814|  2.67k|        CALLBACK(OnOpcodeIndex, depth);
  ------------------
  |  |   66|  2.67k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.67k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.67k|  do {                      \
  |  |  |  |  |  |   48|  2.67k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.67k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.67k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.67k|               #member " callback failed")
  ------------------
  815|  2.67k|        break;
  816|  2.67k|      }
  817|       |
  818|  10.3k|      case Opcode::BrTable: {
  ------------------
  |  Branch (818:7): [True: 10.3k, False: 3.15M]
  ------------------
  819|  10.3k|        Index num_targets;
  820|  10.3k|        CHECK_RESULT(ReadCount(&num_targets, "br_table target count"));
  ------------------
  |  |   55|  10.3k|  do {                              \
  |  |   56|  10.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 173, False: 10.1k]
  |  |  ------------------
  |  |   57|    173|      return ::wabt::Result::Error; \
  |  |   58|    173|    }                               \
  |  |   59|  10.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  821|  10.1k|        target_depths_.resize(num_targets);
  822|       |
  823|  11.5M|        for (Index i = 0; i < num_targets; ++i) {
  ------------------
  |  Branch (823:27): [True: 11.5M, False: 10.0k]
  ------------------
  824|  11.5M|          Index target_depth;
  825|  11.5M|          CHECK_RESULT(ReadIndex(&target_depth, "br_table target depth"));
  ------------------
  |  |   55|  11.5M|  do {                              \
  |  |   56|  11.5M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 121, False: 11.5M]
  |  |  ------------------
  |  |   57|    121|      return ::wabt::Result::Error; \
  |  |   58|    121|    }                               \
  |  |   59|  11.5M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  826|  11.5M|          target_depths_[i] = target_depth;
  827|  11.5M|        }
  828|       |
  829|  10.0k|        Index default_target_depth;
  830|  10.0k|        CHECK_RESULT(
  ------------------
  |  |   55|  10.0k|  do {                              \
  |  |   56|  10.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 85, False: 9.96k]
  |  |  ------------------
  |  |   57|     85|      return ::wabt::Result::Error; \
  |  |   58|     85|    }                               \
  |  |   59|  10.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  831|  10.0k|            ReadIndex(&default_target_depth, "br_table default target depth"));
  832|       |
  833|  9.96k|        Index* target_depths = num_targets ? target_depths_.data() : nullptr;
  ------------------
  |  Branch (833:32): [True: 6.69k, False: 3.26k]
  ------------------
  834|       |
  835|  9.96k|        CALLBACK(OnBrTableExpr, num_targets, target_depths,
  ------------------
  |  |   66|  9.96k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  9.96k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  9.96k|  do {                      \
  |  |  |  |  |  |   48|  9.96k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 9.96k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  9.96k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  9.96k|               #member " callback failed")
  ------------------
  836|  9.96k|                 default_target_depth);
  837|  9.96k|        break;
  838|  9.96k|      }
  839|       |
  840|  9.96k|      case Opcode::Return:
  ------------------
  |  Branch (840:7): [True: 5.81k, False: 3.16M]
  ------------------
  841|  5.81k|        CALLBACK0(OnReturnExpr);
  ------------------
  |  |   63|  5.81k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  5.81k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.81k|  do {                      \
  |  |  |  |  |  |   48|  5.81k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.81k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.81k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  842|  5.81k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  5.81k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  5.81k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.81k|  do {                      \
  |  |  |  |  |  |   48|  5.81k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.81k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.81k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  843|  5.81k|        break;
  844|       |
  845|  82.3k|      case Opcode::Nop:
  ------------------
  |  Branch (845:7): [True: 82.3k, False: 3.08M]
  ------------------
  846|  82.3k|        CALLBACK0(OnNopExpr);
  ------------------
  |  |   63|  82.3k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  82.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  82.3k|  do {                      \
  |  |  |  |  |  |   48|  82.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 82.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  82.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  847|  82.3k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  82.3k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  82.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  82.3k|  do {                      \
  |  |  |  |  |  |   48|  82.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 82.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  82.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  848|  82.3k|        break;
  849|       |
  850|  82.3k|      case Opcode::Drop:
  ------------------
  |  Branch (850:7): [True: 3.05k, False: 3.16M]
  ------------------
  851|  3.05k|        CALLBACK0(OnDropExpr);
  ------------------
  |  |   63|  3.05k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  3.05k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.05k|  do {                      \
  |  |  |  |  |  |   48|  3.05k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.05k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.05k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  852|  3.05k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  3.05k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  3.05k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.05k|  do {                      \
  |  |  |  |  |  |   48|  3.05k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.05k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.05k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  853|  3.05k|        break;
  854|       |
  855|  77.9k|      case Opcode::End:
  ------------------
  |  Branch (855:7): [True: 77.9k, False: 3.09M]
  ------------------
  856|  77.9k|        CALLBACK0(OnEndExpr);
  ------------------
  |  |   63|  77.9k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  77.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  77.9k|  do {                      \
  |  |  |  |  |  |   48|  77.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 77.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  77.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  857|  77.9k|        if (nested_blocks.empty()) {
  ------------------
  |  Branch (857:13): [True: 34.7k, False: 43.2k]
  ------------------
  858|  34.7k|          return Result::Ok;
  859|  34.7k|        }
  860|  43.2k|        nested_blocks.pop();
  861|  43.2k|        break;
  862|       |
  863|  14.6k|      case Opcode::I32Const: {
  ------------------
  |  Branch (863:7): [True: 14.6k, False: 3.15M]
  ------------------
  864|  14.6k|        uint32_t value;
  865|  14.6k|        CHECK_RESULT(ReadS32Leb128(&value, "i32.const value"));
  ------------------
  |  |   55|  14.6k|  do {                              \
  |  |   56|  14.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 93, False: 14.5k]
  |  |  ------------------
  |  |   57|     93|      return ::wabt::Result::Error; \
  |  |   58|     93|    }                               \
  |  |   59|  14.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  866|  14.5k|        CALLBACK(OnI32ConstExpr, value);
  ------------------
  |  |   66|  14.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  14.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  14.5k|  do {                      \
  |  |  |  |  |  |   48|  14.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 14.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  14.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  14.5k|               #member " callback failed")
  ------------------
  867|  14.5k|        CALLBACK(OnOpcodeUint32, value);
  ------------------
  |  |   66|  14.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  14.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  14.5k|  do {                      \
  |  |  |  |  |  |   48|  14.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 14.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  14.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  14.5k|               #member " callback failed")
  ------------------
  868|  14.5k|        break;
  869|  14.5k|      }
  870|       |
  871|  34.6k|      case Opcode::I64Const: {
  ------------------
  |  Branch (871:7): [True: 34.6k, False: 3.13M]
  ------------------
  872|  34.6k|        uint64_t value;
  873|  34.6k|        CHECK_RESULT(ReadS64Leb128(&value, "i64.const value"));
  ------------------
  |  |   55|  34.6k|  do {                              \
  |  |   56|  34.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 396, False: 34.2k]
  |  |  ------------------
  |  |   57|    396|      return ::wabt::Result::Error; \
  |  |   58|    396|    }                               \
  |  |   59|  34.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  874|  34.2k|        CALLBACK(OnI64ConstExpr, value);
  ------------------
  |  |   66|  34.2k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  34.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  34.2k|  do {                      \
  |  |  |  |  |  |   48|  34.2k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 34.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  34.2k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  34.2k|               #member " callback failed")
  ------------------
  875|  34.2k|        CALLBACK(OnOpcodeUint64, value);
  ------------------
  |  |   66|  34.2k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  34.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  34.2k|  do {                      \
  |  |  |  |  |  |   48|  34.2k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 34.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  34.2k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  34.2k|               #member " callback failed")
  ------------------
  876|  34.2k|        break;
  877|  34.2k|      }
  878|       |
  879|  54.8k|      case Opcode::F32Const: {
  ------------------
  |  Branch (879:7): [True: 54.8k, False: 3.11M]
  ------------------
  880|  54.8k|        uint32_t value_bits = 0;
  881|  54.8k|        CHECK_RESULT(ReadF32(&value_bits, "f32.const value"));
  ------------------
  |  |   55|  54.8k|  do {                              \
  |  |   56|  54.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 146, False: 54.7k]
  |  |  ------------------
  |  |   57|    146|      return ::wabt::Result::Error; \
  |  |   58|    146|    }                               \
  |  |   59|  54.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  882|  54.7k|        CALLBACK(OnF32ConstExpr, value_bits);
  ------------------
  |  |   66|  54.7k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  54.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  54.7k|  do {                      \
  |  |  |  |  |  |   48|  54.7k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 54.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  54.7k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  54.7k|               #member " callback failed")
  ------------------
  883|  54.7k|        CALLBACK(OnOpcodeF32, value_bits);
  ------------------
  |  |   66|  54.7k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  54.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  54.7k|  do {                      \
  |  |  |  |  |  |   48|  54.7k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 54.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  54.7k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  54.7k|               #member " callback failed")
  ------------------
  884|  54.7k|        break;
  885|  54.7k|      }
  886|       |
  887|  54.7k|      case Opcode::F64Const: {
  ------------------
  |  Branch (887:7): [True: 13.3k, False: 3.15M]
  ------------------
  888|  13.3k|        uint64_t value_bits = 0;
  889|  13.3k|        CHECK_RESULT(ReadF64(&value_bits, "f64.const value"));
  ------------------
  |  |   55|  13.3k|  do {                              \
  |  |   56|  13.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 145, False: 13.2k]
  |  |  ------------------
  |  |   57|    145|      return ::wabt::Result::Error; \
  |  |   58|    145|    }                               \
  |  |   59|  13.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  890|  13.2k|        CALLBACK(OnF64ConstExpr, value_bits);
  ------------------
  |  |   66|  13.2k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  13.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  13.2k|  do {                      \
  |  |  |  |  |  |   48|  13.2k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 13.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  13.2k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  13.2k|               #member " callback failed")
  ------------------
  891|  13.2k|        CALLBACK(OnOpcodeF64, value_bits);
  ------------------
  |  |   66|  13.2k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  13.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  13.2k|  do {                      \
  |  |  |  |  |  |   48|  13.2k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 13.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  13.2k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  13.2k|               #member " callback failed")
  ------------------
  892|  13.2k|        break;
  893|  13.2k|      }
  894|       |
  895|  13.2k|      case Opcode::V128Const: {
  ------------------
  |  Branch (895:7): [True: 164, False: 3.16M]
  ------------------
  896|    164|        v128 value_bits;
  897|    164|        ZeroMemory(value_bits);
  898|    164|        CHECK_RESULT(ReadV128(&value_bits, "v128.const value"));
  ------------------
  |  |   55|    164|  do {                              \
  |  |   56|    164|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 34, False: 130]
  |  |  ------------------
  |  |   57|     34|      return ::wabt::Result::Error; \
  |  |   58|     34|    }                               \
  |  |   59|    164|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  899|    130|        CALLBACK(OnV128ConstExpr, value_bits);
  ------------------
  |  |   66|    130|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    130|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    130|  do {                      \
  |  |  |  |  |  |   48|    130|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 130]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    130|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    130|               #member " callback failed")
  ------------------
  900|    130|        CALLBACK(OnOpcodeV128, value_bits);
  ------------------
  |  |   66|    130|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    130|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    130|  do {                      \
  |  |  |  |  |  |   48|    130|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 130]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    130|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    130|               #member " callback failed")
  ------------------
  901|    130|        break;
  902|    130|      }
  903|       |
  904|  17.4k|      case Opcode::GlobalGet: {
  ------------------
  |  Branch (904:7): [True: 17.4k, False: 3.15M]
  ------------------
  905|  17.4k|        Index global_index;
  906|  17.4k|        CHECK_RESULT(ReadIndex(&global_index, "global.get global index"));
  ------------------
  |  |   55|  17.4k|  do {                              \
  |  |   56|  17.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 99, False: 17.3k]
  |  |  ------------------
  |  |   57|     99|      return ::wabt::Result::Error; \
  |  |   58|     99|    }                               \
  |  |   59|  17.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  907|  17.3k|        CALLBACK(OnGlobalGetExpr, global_index);
  ------------------
  |  |   66|  17.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  17.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  17.3k|  do {                      \
  |  |  |  |  |  |   48|  17.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 17.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  17.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  17.3k|               #member " callback failed")
  ------------------
  908|  17.3k|        CALLBACK(OnOpcodeIndex, global_index);
  ------------------
  |  |   66|  17.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  17.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  17.3k|  do {                      \
  |  |  |  |  |  |   48|  17.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 17.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  17.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  17.3k|               #member " callback failed")
  ------------------
  909|  17.3k|        break;
  910|  17.3k|      }
  911|       |
  912|  17.3k|      case Opcode::LocalGet: {
  ------------------
  |  Branch (912:7): [True: 5.84k, False: 3.16M]
  ------------------
  913|  5.84k|        Index local_index;
  914|  5.84k|        CHECK_RESULT(ReadIndex(&local_index, "local.get local index"));
  ------------------
  |  |   55|  5.84k|  do {                              \
  |  |   56|  5.84k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 82, False: 5.76k]
  |  |  ------------------
  |  |   57|     82|      return ::wabt::Result::Error; \
  |  |   58|     82|    }                               \
  |  |   59|  5.84k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  915|  5.76k|        CALLBACK(OnLocalGetExpr, local_index);
  ------------------
  |  |   66|  5.76k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.76k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.76k|  do {                      \
  |  |  |  |  |  |   48|  5.76k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.76k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.76k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.76k|               #member " callback failed")
  ------------------
  916|  5.76k|        CALLBACK(OnOpcodeIndex, local_index);
  ------------------
  |  |   66|  5.76k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.76k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.76k|  do {                      \
  |  |  |  |  |  |   48|  5.76k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.76k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.76k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.76k|               #member " callback failed")
  ------------------
  917|  5.76k|        break;
  918|  5.76k|      }
  919|       |
  920|  5.76k|      case Opcode::GlobalSet: {
  ------------------
  |  Branch (920:7): [True: 4.65k, False: 3.16M]
  ------------------
  921|  4.65k|        Index global_index;
  922|  4.65k|        CHECK_RESULT(ReadIndex(&global_index, "global.set global index"));
  ------------------
  |  |   55|  4.65k|  do {                              \
  |  |   56|  4.65k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 49, False: 4.60k]
  |  |  ------------------
  |  |   57|     49|      return ::wabt::Result::Error; \
  |  |   58|     49|    }                               \
  |  |   59|  4.65k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  923|  4.60k|        CALLBACK(OnGlobalSetExpr, global_index);
  ------------------
  |  |   66|  4.60k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.60k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.60k|  do {                      \
  |  |  |  |  |  |   48|  4.60k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.60k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.60k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.60k|               #member " callback failed")
  ------------------
  924|  4.60k|        CALLBACK(OnOpcodeIndex, global_index);
  ------------------
  |  |   66|  4.60k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.60k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.60k|  do {                      \
  |  |  |  |  |  |   48|  4.60k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.60k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.60k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.60k|               #member " callback failed")
  ------------------
  925|  4.60k|        break;
  926|  4.60k|      }
  927|       |
  928|  6.91k|      case Opcode::LocalSet: {
  ------------------
  |  Branch (928:7): [True: 6.91k, False: 3.16M]
  ------------------
  929|  6.91k|        Index local_index;
  930|  6.91k|        CHECK_RESULT(ReadIndex(&local_index, "local.set local index"));
  ------------------
  |  |   55|  6.91k|  do {                              \
  |  |   56|  6.91k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 46, False: 6.87k]
  |  |  ------------------
  |  |   57|     46|      return ::wabt::Result::Error; \
  |  |   58|     46|    }                               \
  |  |   59|  6.91k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  931|  6.87k|        CALLBACK(OnLocalSetExpr, local_index);
  ------------------
  |  |   66|  6.87k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.87k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.87k|  do {                      \
  |  |  |  |  |  |   48|  6.87k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.87k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.87k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.87k|               #member " callback failed")
  ------------------
  932|  6.87k|        CALLBACK(OnOpcodeIndex, local_index);
  ------------------
  |  |   66|  6.87k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.87k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.87k|  do {                      \
  |  |  |  |  |  |   48|  6.87k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.87k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.87k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.87k|               #member " callback failed")
  ------------------
  933|  6.87k|        break;
  934|  6.87k|      }
  935|       |
  936|  8.71k|      case Opcode::Call: {
  ------------------
  |  Branch (936:7): [True: 8.71k, False: 3.15M]
  ------------------
  937|  8.71k|        Index func_index;
  938|  8.71k|        CHECK_RESULT(ReadIndex(&func_index, "call function index"));
  ------------------
  |  |   55|  8.71k|  do {                              \
  |  |   56|  8.71k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 78, False: 8.63k]
  |  |  ------------------
  |  |   57|     78|      return ::wabt::Result::Error; \
  |  |   58|     78|    }                               \
  |  |   59|  8.71k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  939|  8.63k|        CALLBACK(OnCallExpr, func_index);
  ------------------
  |  |   66|  8.63k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.63k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.63k|  do {                      \
  |  |  |  |  |  |   48|  8.63k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.63k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  8.63k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.63k|               #member " callback failed")
  ------------------
  940|  8.63k|        CALLBACK(OnOpcodeIndex, func_index);
  ------------------
  |  |   66|  8.63k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.63k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.63k|  do {                      \
  |  |  |  |  |  |   48|  8.63k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.63k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  8.63k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.63k|               #member " callback failed")
  ------------------
  941|  8.63k|        break;
  942|  8.63k|      }
  943|       |
  944|  8.63k|      case Opcode::CallIndirect: {
  ------------------
  |  Branch (944:7): [True: 7.38k, False: 3.16M]
  ------------------
  945|  7.38k|        Index sig_index;
  946|  7.38k|        CHECK_RESULT(ReadIndex(&sig_index, "call_indirect signature index"));
  ------------------
  |  |   55|  7.38k|  do {                              \
  |  |   56|  7.38k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 74, False: 7.31k]
  |  |  ------------------
  |  |   57|     74|      return ::wabt::Result::Error; \
  |  |   58|     74|    }                               \
  |  |   59|  7.38k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  947|  7.31k|        Index table_index = 0;
  948|  7.31k|        if (options_.features.reference_types_enabled()) {
  ------------------
  |  Branch (948:13): [True: 7.31k, False: 0]
  ------------------
  949|  7.31k|          CHECK_RESULT(ReadIndex(&table_index, "call_indirect table index"));
  ------------------
  |  |   55|  7.31k|  do {                              \
  |  |   56|  7.31k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 32, False: 7.27k]
  |  |  ------------------
  |  |   57|     32|      return ::wabt::Result::Error; \
  |  |   58|     32|    }                               \
  |  |   59|  7.31k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  950|  7.31k|        } else {
  951|      0|          uint8_t reserved;
  952|      0|          CHECK_RESULT(ReadU8(&reserved, "call_indirect reserved"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  953|      0|          ERROR_UNLESS(reserved == 0, "call_indirect reserved value must be 0");
  ------------------
  |  |   53|      0|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|      0|  do {                      \
  |  |  |  |   48|      0|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  954|      0|        }
  955|  7.27k|        CALLBACK(OnCallIndirectExpr, sig_index, table_index);
  ------------------
  |  |   66|  7.27k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  7.27k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  7.27k|  do {                      \
  |  |  |  |  |  |   48|  7.27k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 7.27k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  7.27k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  7.27k|               #member " callback failed")
  ------------------
  956|  7.27k|        CALLBACK(OnOpcodeUint32Uint32, sig_index, table_index);
  ------------------
  |  |   66|  7.27k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  7.27k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  7.27k|  do {                      \
  |  |  |  |  |  |   48|  7.27k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 7.27k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  7.27k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  7.27k|               #member " callback failed")
  ------------------
  957|  7.27k|        break;
  958|  7.27k|      }
  959|       |
  960|  7.27k|      case Opcode::ReturnCall: {
  ------------------
  |  Branch (960:7): [True: 1.91k, False: 3.16M]
  ------------------
  961|  1.91k|        Index func_index;
  962|  1.91k|        CHECK_RESULT(ReadIndex(&func_index, "return_call"));
  ------------------
  |  |   55|  1.91k|  do {                              \
  |  |   56|  1.91k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 74, False: 1.84k]
  |  |  ------------------
  |  |   57|     74|      return ::wabt::Result::Error; \
  |  |   58|     74|    }                               \
  |  |   59|  1.91k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  963|  1.84k|        CALLBACK(OnReturnCallExpr, func_index);
  ------------------
  |  |   66|  1.84k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.84k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.84k|  do {                      \
  |  |  |  |  |  |   48|  1.84k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.84k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.84k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.84k|               #member " callback failed")
  ------------------
  964|  1.84k|        CALLBACK(OnOpcodeIndex, func_index);
  ------------------
  |  |   66|  1.84k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.84k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.84k|  do {                      \
  |  |  |  |  |  |   48|  1.84k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.84k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.84k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.84k|               #member " callback failed")
  ------------------
  965|  1.84k|        break;
  966|  1.84k|      }
  967|       |
  968|  2.14k|      case Opcode::ReturnCallIndirect: {
  ------------------
  |  Branch (968:7): [True: 2.14k, False: 3.16M]
  ------------------
  969|  2.14k|        Index sig_index;
  970|  2.14k|        CHECK_RESULT(ReadIndex(&sig_index, "return_call_indirect"));
  ------------------
  |  |   55|  2.14k|  do {                              \
  |  |   56|  2.14k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 53, False: 2.09k]
  |  |  ------------------
  |  |   57|     53|      return ::wabt::Result::Error; \
  |  |   58|     53|    }                               \
  |  |   59|  2.14k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  971|  2.09k|        Index table_index = 0;
  972|  2.09k|        if (options_.features.reference_types_enabled()) {
  ------------------
  |  Branch (972:13): [True: 2.09k, False: 0]
  ------------------
  973|  2.09k|          CHECK_RESULT(
  ------------------
  |  |   55|  2.09k|  do {                              \
  |  |   56|  2.09k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 49, False: 2.04k]
  |  |  ------------------
  |  |   57|     49|      return ::wabt::Result::Error; \
  |  |   58|     49|    }                               \
  |  |   59|  2.09k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  974|  2.09k|              ReadIndex(&table_index, "return_call_indirect table index"));
  975|  2.09k|        } else {
  976|      0|          uint8_t reserved;
  977|      0|          CHECK_RESULT(ReadU8(&reserved, "return_call_indirect reserved"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  978|      0|          ERROR_UNLESS(reserved == 0,
  ------------------
  |  |   53|      0|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|      0|  do {                      \
  |  |  |  |   48|      0|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  979|      0|                       "return_call_indirect reserved value must be 0");
  980|      0|        }
  981|  2.04k|        CALLBACK(OnReturnCallIndirectExpr, sig_index, table_index);
  ------------------
  |  |   66|  2.04k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.04k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.04k|  do {                      \
  |  |  |  |  |  |   48|  2.04k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.04k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.04k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.04k|               #member " callback failed")
  ------------------
  982|  2.04k|        CALLBACK(OnOpcodeUint32Uint32, sig_index, table_index);
  ------------------
  |  |   66|  2.04k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.04k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.04k|  do {                      \
  |  |  |  |  |  |   48|  2.04k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.04k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.04k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.04k|               #member " callback failed")
  ------------------
  983|  2.04k|        break;
  984|  2.04k|      }
  985|       |
  986|  2.97k|      case Opcode::LocalTee: {
  ------------------
  |  Branch (986:7): [True: 2.97k, False: 3.16M]
  ------------------
  987|  2.97k|        Index local_index;
  988|  2.97k|        CHECK_RESULT(ReadIndex(&local_index, "local.tee local index"));
  ------------------
  |  |   55|  2.97k|  do {                              \
  |  |   56|  2.97k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 38, False: 2.94k]
  |  |  ------------------
  |  |   57|     38|      return ::wabt::Result::Error; \
  |  |   58|     38|    }                               \
  |  |   59|  2.97k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  989|  2.94k|        CALLBACK(OnLocalTeeExpr, local_index);
  ------------------
  |  |   66|  2.94k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.94k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.94k|  do {                      \
  |  |  |  |  |  |   48|  2.94k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.94k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.94k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.94k|               #member " callback failed")
  ------------------
  990|  2.94k|        CALLBACK(OnOpcodeIndex, local_index);
  ------------------
  |  |   66|  2.94k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.94k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.94k|  do {                      \
  |  |  |  |  |  |   48|  2.94k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.94k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.94k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.94k|               #member " callback failed")
  ------------------
  991|  2.94k|        break;
  992|  2.94k|      }
  993|       |
  994|  3.08k|      case Opcode::I32Load8S:
  ------------------
  |  Branch (994:7): [True: 3.08k, False: 3.16M]
  ------------------
  995|  6.37k|      case Opcode::I32Load8U:
  ------------------
  |  Branch (995:7): [True: 3.29k, False: 3.16M]
  ------------------
  996|  9.16k|      case Opcode::I32Load16S:
  ------------------
  |  Branch (996:7): [True: 2.78k, False: 3.16M]
  ------------------
  997|  11.1k|      case Opcode::I32Load16U:
  ------------------
  |  Branch (997:7): [True: 1.98k, False: 3.16M]
  ------------------
  998|  14.5k|      case Opcode::I64Load8S:
  ------------------
  |  Branch (998:7): [True: 3.44k, False: 3.16M]
  ------------------
  999|  15.9k|      case Opcode::I64Load8U:
  ------------------
  |  Branch (999:7): [True: 1.39k, False: 3.16M]
  ------------------
 1000|  18.1k|      case Opcode::I64Load16S:
  ------------------
  |  Branch (1000:7): [True: 2.12k, False: 3.16M]
  ------------------
 1001|  18.5k|      case Opcode::I64Load16U:
  ------------------
  |  Branch (1001:7): [True: 455, False: 3.16M]
  ------------------
 1002|  19.3k|      case Opcode::I64Load32S:
  ------------------
  |  Branch (1002:7): [True: 765, False: 3.16M]
  ------------------
 1003|  20.4k|      case Opcode::I64Load32U:
  ------------------
  |  Branch (1003:7): [True: 1.11k, False: 3.16M]
  ------------------
 1004|  22.7k|      case Opcode::I32Load:
  ------------------
  |  Branch (1004:7): [True: 2.30k, False: 3.16M]
  ------------------
 1005|  25.3k|      case Opcode::I64Load:
  ------------------
  |  Branch (1005:7): [True: 2.60k, False: 3.16M]
  ------------------
 1006|  26.6k|      case Opcode::F32Load:
  ------------------
  |  Branch (1006:7): [True: 1.24k, False: 3.16M]
  ------------------
 1007|  29.2k|      case Opcode::F64Load:
  ------------------
  |  Branch (1007:7): [True: 2.59k, False: 3.16M]
  ------------------
 1008|  34.4k|      case Opcode::V128Load:
  ------------------
  |  Branch (1008:7): [True: 5.24k, False: 3.16M]
  ------------------
 1009|  36.8k|      case Opcode::V128Load8X8S:
  ------------------
  |  Branch (1009:7): [True: 2.36k, False: 3.16M]
  ------------------
 1010|  37.0k|      case Opcode::V128Load8X8U:
  ------------------
  |  Branch (1010:7): [True: 237, False: 3.16M]
  ------------------
 1011|  37.8k|      case Opcode::V128Load16X4S:
  ------------------
  |  Branch (1011:7): [True: 769, False: 3.16M]
  ------------------
 1012|  38.9k|      case Opcode::V128Load16X4U:
  ------------------
  |  Branch (1012:7): [True: 1.13k, False: 3.16M]
  ------------------
 1013|  39.2k|      case Opcode::V128Load32X2S:
  ------------------
  |  Branch (1013:7): [True: 296, False: 3.16M]
  ------------------
 1014|  39.4k|      case Opcode::V128Load32X2U: {
  ------------------
  |  Branch (1014:7): [True: 227, False: 3.16M]
  ------------------
 1015|  39.4k|        Address alignment_log2;
 1016|  39.4k|        Index memidx;
 1017|  39.4k|        Address offset;
 1018|  39.4k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  39.4k|  do {                              \
  |  |   56|  39.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.66k, False: 37.8k]
  |  |  ------------------
  |  |   57|  1.66k|      return ::wabt::Result::Error; \
  |  |   58|  1.66k|    }                               \
  |  |   59|  39.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1019|  39.4k|                                     "load alignment", "load memidx",
 1020|  39.4k|                                     "load offset"));
 1021|  37.8k|        CALLBACK(OnLoadExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  37.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  37.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  37.8k|  do {                      \
  |  |  |  |  |  |   48|  37.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 37.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  37.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  37.8k|               #member " callback failed")
  ------------------
 1022|  37.8k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  37.8k|  do {                              \
  |  |   56|  37.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 37.8k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  37.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1023|  37.8k|        break;
 1024|  37.8k|      }
 1025|       |
 1026|  37.8k|      case Opcode::I32Store8:
  ------------------
  |  Branch (1026:7): [True: 1.66k, False: 3.16M]
  ------------------
 1027|  3.58k|      case Opcode::I32Store16:
  ------------------
  |  Branch (1027:7): [True: 1.92k, False: 3.16M]
  ------------------
 1028|  4.56k|      case Opcode::I64Store8:
  ------------------
  |  Branch (1028:7): [True: 979, False: 3.16M]
  ------------------
 1029|  5.96k|      case Opcode::I64Store16:
  ------------------
  |  Branch (1029:7): [True: 1.40k, False: 3.16M]
  ------------------
 1030|  7.42k|      case Opcode::I64Store32:
  ------------------
  |  Branch (1030:7): [True: 1.45k, False: 3.16M]
  ------------------
 1031|  8.01k|      case Opcode::I32Store:
  ------------------
  |  Branch (1031:7): [True: 590, False: 3.16M]
  ------------------
 1032|  8.50k|      case Opcode::I64Store:
  ------------------
  |  Branch (1032:7): [True: 485, False: 3.16M]
  ------------------
 1033|  9.61k|      case Opcode::F32Store:
  ------------------
  |  Branch (1033:7): [True: 1.10k, False: 3.16M]
  ------------------
 1034|  10.0k|      case Opcode::F64Store:
  ------------------
  |  Branch (1034:7): [True: 422, False: 3.16M]
  ------------------
 1035|  10.6k|      case Opcode::V128Store: {
  ------------------
  |  Branch (1035:7): [True: 630, False: 3.16M]
  ------------------
 1036|  10.6k|        Address alignment_log2;
 1037|  10.6k|        Index memidx;
 1038|  10.6k|        Address offset;
 1039|  10.6k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  10.6k|  do {                              \
  |  |   56|  10.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 505, False: 10.1k]
  |  |  ------------------
  |  |   57|    505|      return ::wabt::Result::Error; \
  |  |   58|    505|    }                               \
  |  |   59|  10.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1040|  10.6k|                                     "store alignment", "store memidx",
 1041|  10.6k|                                     "store offset"));
 1042|  10.1k|        CALLBACK(OnStoreExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  10.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  10.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.1k|  do {                      \
  |  |  |  |  |  |   48|  10.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  10.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.1k|               #member " callback failed")
  ------------------
 1043|  10.1k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  10.1k|  do {                              \
  |  |   56|  10.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 10.1k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  10.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1044|  10.1k|        break;
 1045|  10.1k|      }
 1046|       |
 1047|  10.1k|      case Opcode::MemorySize: {
  ------------------
  |  Branch (1047:7): [True: 4.40k, False: 3.16M]
  ------------------
 1048|  4.40k|        Index memidx = 0;
 1049|  4.40k|        if (!options_.features.multi_memory_enabled()) {
  ------------------
  |  Branch (1049:13): [True: 0, False: 4.40k]
  ------------------
 1050|      0|          uint8_t reserved;
 1051|      0|          CHECK_RESULT(ReadU8(&reserved, "memory.size reserved"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1052|      0|          ERROR_UNLESS(reserved == 0, "memory.size reserved value must be 0");
  ------------------
  |  |   53|      0|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|      0|  do {                      \
  |  |  |  |   48|      0|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1053|  4.40k|        } else {
 1054|  4.40k|          CHECK_RESULT(ReadMemidx(&memidx, "memory.size memidx"));
  ------------------
  |  |   55|  4.40k|  do {                              \
  |  |   56|  4.40k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 63, False: 4.34k]
  |  |  ------------------
  |  |   57|     63|      return ::wabt::Result::Error; \
  |  |   58|     63|    }                               \
  |  |   59|  4.40k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1055|  4.40k|        }
 1056|  4.34k|        CALLBACK(OnMemorySizeExpr, memidx);
  ------------------
  |  |   66|  4.34k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.34k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.34k|  do {                      \
  |  |  |  |  |  |   48|  4.34k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.34k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.34k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.34k|               #member " callback failed")
  ------------------
 1057|  4.34k|        CALLBACK(OnOpcodeUint32, memidx);
  ------------------
  |  |   66|  4.34k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.34k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.34k|  do {                      \
  |  |  |  |  |  |   48|  4.34k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.34k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.34k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.34k|               #member " callback failed")
  ------------------
 1058|  4.34k|        break;
 1059|  4.34k|      }
 1060|       |
 1061|  6.87k|      case Opcode::MemoryGrow: {
  ------------------
  |  Branch (1061:7): [True: 6.87k, False: 3.16M]
  ------------------
 1062|  6.87k|        Index memidx = 0;
 1063|  6.87k|        if (!options_.features.multi_memory_enabled()) {
  ------------------
  |  Branch (1063:13): [True: 0, False: 6.87k]
  ------------------
 1064|      0|          uint8_t reserved;
 1065|      0|          CHECK_RESULT(ReadU8(&reserved, "memory.grow reserved"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1066|      0|          ERROR_UNLESS(reserved == 0, "memory.grow reserved value must be 0");
  ------------------
  |  |   53|      0|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|      0|  do {                      \
  |  |  |  |   48|      0|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1067|  6.87k|        } else {
 1068|  6.87k|          CHECK_RESULT(ReadMemidx(&memidx, "memory.grow memidx"));
  ------------------
  |  |   55|  6.87k|  do {                              \
  |  |   56|  6.87k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 76, False: 6.80k]
  |  |  ------------------
  |  |   57|     76|      return ::wabt::Result::Error; \
  |  |   58|     76|    }                               \
  |  |   59|  6.87k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1069|  6.87k|        }
 1070|  6.80k|        CALLBACK(OnMemoryGrowExpr, memidx);
  ------------------
  |  |   66|  6.80k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.80k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.80k|  do {                      \
  |  |  |  |  |  |   48|  6.80k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.80k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.80k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.80k|               #member " callback failed")
  ------------------
 1071|  6.80k|        CALLBACK(OnOpcodeUint32, memidx);
  ------------------
  |  |   66|  6.80k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.80k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.80k|  do {                      \
  |  |  |  |  |  |   48|  6.80k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.80k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.80k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.80k|               #member " callback failed")
  ------------------
 1072|  6.80k|        break;
 1073|  6.80k|      }
 1074|       |
 1075|  6.80k|      case Opcode::I32Add:
  ------------------
  |  Branch (1075:7): [True: 4.93k, False: 3.16M]
  ------------------
 1076|  85.5k|      case Opcode::I32Sub:
  ------------------
  |  Branch (1076:7): [True: 80.6k, False: 3.08M]
  ------------------
 1077|  90.1k|      case Opcode::I32Mul:
  ------------------
  |  Branch (1077:7): [True: 4.57k, False: 3.16M]
  ------------------
 1078|   110k|      case Opcode::I32DivS:
  ------------------
  |  Branch (1078:7): [True: 20.7k, False: 3.14M]
  ------------------
 1079|   119k|      case Opcode::I32DivU:
  ------------------
  |  Branch (1079:7): [True: 8.57k, False: 3.15M]
  ------------------
 1080|   126k|      case Opcode::I32RemS:
  ------------------
  |  Branch (1080:7): [True: 7.24k, False: 3.16M]
  ------------------
 1081|   130k|      case Opcode::I32RemU:
  ------------------
  |  Branch (1081:7): [True: 3.77k, False: 3.16M]
  ------------------
 1082|   131k|      case Opcode::I32And:
  ------------------
  |  Branch (1082:7): [True: 898, False: 3.16M]
  ------------------
 1083|   136k|      case Opcode::I32Or:
  ------------------
  |  Branch (1083:7): [True: 4.89k, False: 3.16M]
  ------------------
 1084|   149k|      case Opcode::I32Xor:
  ------------------
  |  Branch (1084:7): [True: 13.6k, False: 3.15M]
  ------------------
 1085|   154k|      case Opcode::I32Shl:
  ------------------
  |  Branch (1085:7): [True: 4.01k, False: 3.16M]
  ------------------
 1086|   155k|      case Opcode::I32ShrU:
  ------------------
  |  Branch (1086:7): [True: 1.52k, False: 3.16M]
  ------------------
 1087|   156k|      case Opcode::I32ShrS:
  ------------------
  |  Branch (1087:7): [True: 1.04k, False: 3.16M]
  ------------------
 1088|   157k|      case Opcode::I32Rotr:
  ------------------
  |  Branch (1088:7): [True: 1.15k, False: 3.16M]
  ------------------
 1089|   159k|      case Opcode::I32Rotl:
  ------------------
  |  Branch (1089:7): [True: 1.98k, False: 3.16M]
  ------------------
 1090|   177k|      case Opcode::I64Add:
  ------------------
  |  Branch (1090:7): [True: 17.3k, False: 3.15M]
  ------------------
 1091|   205k|      case Opcode::I64Sub:
  ------------------
  |  Branch (1091:7): [True: 28.0k, False: 3.14M]
  ------------------
 1092|   212k|      case Opcode::I64Mul:
  ------------------
  |  Branch (1092:7): [True: 7.74k, False: 3.16M]
  ------------------
 1093|   217k|      case Opcode::I64DivS:
  ------------------
  |  Branch (1093:7): [True: 4.58k, False: 3.16M]
  ------------------
 1094|   225k|      case Opcode::I64DivU:
  ------------------
  |  Branch (1094:7): [True: 8.15k, False: 3.16M]
  ------------------
 1095|   229k|      case Opcode::I64RemS:
  ------------------
  |  Branch (1095:7): [True: 4.08k, False: 3.16M]
  ------------------
 1096|   231k|      case Opcode::I64RemU:
  ------------------
  |  Branch (1096:7): [True: 2.09k, False: 3.16M]
  ------------------
 1097|   235k|      case Opcode::I64And:
  ------------------
  |  Branch (1097:7): [True: 4.09k, False: 3.16M]
  ------------------
 1098|   237k|      case Opcode::I64Or:
  ------------------
  |  Branch (1098:7): [True: 1.53k, False: 3.16M]
  ------------------
 1099|   239k|      case Opcode::I64Xor:
  ------------------
  |  Branch (1099:7): [True: 1.94k, False: 3.16M]
  ------------------
 1100|   247k|      case Opcode::I64Shl:
  ------------------
  |  Branch (1100:7): [True: 7.73k, False: 3.16M]
  ------------------
 1101|   248k|      case Opcode::I64ShrU:
  ------------------
  |  Branch (1101:7): [True: 1.16k, False: 3.16M]
  ------------------
 1102|   249k|      case Opcode::I64ShrS:
  ------------------
  |  Branch (1102:7): [True: 1.72k, False: 3.16M]
  ------------------
 1103|   253k|      case Opcode::I64Rotr:
  ------------------
  |  Branch (1103:7): [True: 3.17k, False: 3.16M]
  ------------------
 1104|   258k|      case Opcode::I64Rotl:
  ------------------
  |  Branch (1104:7): [True: 5.36k, False: 3.16M]
  ------------------
 1105|   259k|      case Opcode::F32Add:
  ------------------
  |  Branch (1105:7): [True: 1.36k, False: 3.16M]
  ------------------
 1106|   268k|      case Opcode::F32Sub:
  ------------------
  |  Branch (1106:7): [True: 8.18k, False: 3.16M]
  ------------------
 1107|   270k|      case Opcode::F32Mul:
  ------------------
  |  Branch (1107:7): [True: 2.88k, False: 3.16M]
  ------------------
 1108|   272k|      case Opcode::F32Div:
  ------------------
  |  Branch (1108:7): [True: 1.57k, False: 3.16M]
  ------------------
 1109|   278k|      case Opcode::F32Min:
  ------------------
  |  Branch (1109:7): [True: 5.97k, False: 3.16M]
  ------------------
 1110|   279k|      case Opcode::F32Max:
  ------------------
  |  Branch (1110:7): [True: 1.39k, False: 3.16M]
  ------------------
 1111|   281k|      case Opcode::F32Copysign:
  ------------------
  |  Branch (1111:7): [True: 1.22k, False: 3.16M]
  ------------------
 1112|   285k|      case Opcode::F64Add:
  ------------------
  |  Branch (1112:7): [True: 4.39k, False: 3.16M]
  ------------------
 1113|   289k|      case Opcode::F64Sub:
  ------------------
  |  Branch (1113:7): [True: 3.76k, False: 3.16M]
  ------------------
 1114|   290k|      case Opcode::F64Mul:
  ------------------
  |  Branch (1114:7): [True: 1.31k, False: 3.16M]
  ------------------
 1115|   292k|      case Opcode::F64Div:
  ------------------
  |  Branch (1115:7): [True: 2.15k, False: 3.16M]
  ------------------
 1116|   293k|      case Opcode::F64Min:
  ------------------
  |  Branch (1116:7): [True: 1.09k, False: 3.16M]
  ------------------
 1117|   294k|      case Opcode::F64Max:
  ------------------
  |  Branch (1117:7): [True: 1.05k, False: 3.16M]
  ------------------
 1118|   296k|      case Opcode::F64Copysign:
  ------------------
  |  Branch (1118:7): [True: 1.59k, False: 3.16M]
  ------------------
 1119|   296k|      case Opcode::I8X16Add:
  ------------------
  |  Branch (1119:7): [True: 224, False: 3.16M]
  ------------------
 1120|   296k|      case Opcode::I16X8Add:
  ------------------
  |  Branch (1120:7): [True: 121, False: 3.16M]
  ------------------
 1121|   296k|      case Opcode::I32X4Add:
  ------------------
  |  Branch (1121:7): [True: 88, False: 3.16M]
  ------------------
 1122|   296k|      case Opcode::I64X2Add:
  ------------------
  |  Branch (1122:7): [True: 97, False: 3.16M]
  ------------------
 1123|   297k|      case Opcode::I8X16Sub:
  ------------------
  |  Branch (1123:7): [True: 326, False: 3.16M]
  ------------------
 1124|   297k|      case Opcode::I16X8Sub:
  ------------------
  |  Branch (1124:7): [True: 106, False: 3.16M]
  ------------------
 1125|   297k|      case Opcode::I32X4Sub:
  ------------------
  |  Branch (1125:7): [True: 51, False: 3.16M]
  ------------------
 1126|   297k|      case Opcode::I64X2Sub:
  ------------------
  |  Branch (1126:7): [True: 101, False: 3.16M]
  ------------------
 1127|   297k|      case Opcode::I16X8Mul:
  ------------------
  |  Branch (1127:7): [True: 46, False: 3.16M]
  ------------------
 1128|   297k|      case Opcode::I32X4Mul:
  ------------------
  |  Branch (1128:7): [True: 106, False: 3.16M]
  ------------------
 1129|   297k|      case Opcode::I64X2Mul:
  ------------------
  |  Branch (1129:7): [True: 86, False: 3.16M]
  ------------------
 1130|   298k|      case Opcode::I8X16AddSatS:
  ------------------
  |  Branch (1130:7): [True: 281, False: 3.16M]
  ------------------
 1131|   299k|      case Opcode::I8X16AddSatU:
  ------------------
  |  Branch (1131:7): [True: 1.61k, False: 3.16M]
  ------------------
 1132|   299k|      case Opcode::I16X8AddSatS:
  ------------------
  |  Branch (1132:7): [True: 157, False: 3.16M]
  ------------------
 1133|   300k|      case Opcode::I16X8AddSatU:
  ------------------
  |  Branch (1133:7): [True: 216, False: 3.16M]
  ------------------
 1134|   302k|      case Opcode::I8X16SubSatS:
  ------------------
  |  Branch (1134:7): [True: 2.70k, False: 3.16M]
  ------------------
 1135|   303k|      case Opcode::I8X16SubSatU:
  ------------------
  |  Branch (1135:7): [True: 1.02k, False: 3.16M]
  ------------------
 1136|   303k|      case Opcode::I16X8SubSatS:
  ------------------
  |  Branch (1136:7): [True: 162, False: 3.16M]
  ------------------
 1137|   304k|      case Opcode::I16X8SubSatU:
  ------------------
  |  Branch (1137:7): [True: 141, False: 3.16M]
  ------------------
 1138|   304k|      case Opcode::I8X16MinS:
  ------------------
  |  Branch (1138:7): [True: 161, False: 3.16M]
  ------------------
 1139|   304k|      case Opcode::I16X8MinS:
  ------------------
  |  Branch (1139:7): [True: 132, False: 3.16M]
  ------------------
 1140|   304k|      case Opcode::I32X4MinS:
  ------------------
  |  Branch (1140:7): [True: 232, False: 3.16M]
  ------------------
 1141|   304k|      case Opcode::I8X16MinU:
  ------------------
  |  Branch (1141:7): [True: 117, False: 3.16M]
  ------------------
 1142|   304k|      case Opcode::I16X8MinU:
  ------------------
  |  Branch (1142:7): [True: 81, False: 3.16M]
  ------------------
 1143|   304k|      case Opcode::I32X4MinU:
  ------------------
  |  Branch (1143:7): [True: 78, False: 3.16M]
  ------------------
 1144|   305k|      case Opcode::I8X16MaxS:
  ------------------
  |  Branch (1144:7): [True: 118, False: 3.16M]
  ------------------
 1145|   305k|      case Opcode::I16X8MaxS:
  ------------------
  |  Branch (1145:7): [True: 162, False: 3.16M]
  ------------------
 1146|   305k|      case Opcode::I32X4MaxS:
  ------------------
  |  Branch (1146:7): [True: 88, False: 3.16M]
  ------------------
 1147|   305k|      case Opcode::I8X16MaxU:
  ------------------
  |  Branch (1147:7): [True: 583, False: 3.16M]
  ------------------
 1148|   306k|      case Opcode::I16X8MaxU:
  ------------------
  |  Branch (1148:7): [True: 211, False: 3.16M]
  ------------------
 1149|   307k|      case Opcode::I32X4MaxU:
  ------------------
  |  Branch (1149:7): [True: 1.16k, False: 3.16M]
  ------------------
 1150|   307k|      case Opcode::I8X16Shl:
  ------------------
  |  Branch (1150:7): [True: 292, False: 3.16M]
  ------------------
 1151|   307k|      case Opcode::I16X8Shl:
  ------------------
  |  Branch (1151:7): [True: 226, False: 3.16M]
  ------------------
 1152|   307k|      case Opcode::I32X4Shl:
  ------------------
  |  Branch (1152:7): [True: 126, False: 3.16M]
  ------------------
 1153|   307k|      case Opcode::I64X2Shl:
  ------------------
  |  Branch (1153:7): [True: 116, False: 3.16M]
  ------------------
 1154|   308k|      case Opcode::I8X16ShrS:
  ------------------
  |  Branch (1154:7): [True: 231, False: 3.16M]
  ------------------
 1155|   308k|      case Opcode::I8X16ShrU:
  ------------------
  |  Branch (1155:7): [True: 625, False: 3.16M]
  ------------------
 1156|   308k|      case Opcode::I16X8ShrS:
  ------------------
  |  Branch (1156:7): [True: 91, False: 3.16M]
  ------------------
 1157|   309k|      case Opcode::I16X8ShrU:
  ------------------
  |  Branch (1157:7): [True: 329, False: 3.16M]
  ------------------
 1158|   309k|      case Opcode::I32X4ShrS:
  ------------------
  |  Branch (1158:7): [True: 125, False: 3.16M]
  ------------------
 1159|   309k|      case Opcode::I32X4ShrU:
  ------------------
  |  Branch (1159:7): [True: 349, False: 3.16M]
  ------------------
 1160|   310k|      case Opcode::I64X2ShrS:
  ------------------
  |  Branch (1160:7): [True: 292, False: 3.16M]
  ------------------
 1161|   310k|      case Opcode::I64X2ShrU:
  ------------------
  |  Branch (1161:7): [True: 86, False: 3.16M]
  ------------------
 1162|   310k|      case Opcode::V128And:
  ------------------
  |  Branch (1162:7): [True: 172, False: 3.16M]
  ------------------
 1163|   310k|      case Opcode::V128Or:
  ------------------
  |  Branch (1163:7): [True: 232, False: 3.16M]
  ------------------
 1164|   310k|      case Opcode::V128Xor:
  ------------------
  |  Branch (1164:7): [True: 247, False: 3.16M]
  ------------------
 1165|   310k|      case Opcode::F32X4Min:
  ------------------
  |  Branch (1165:7): [True: 183, False: 3.16M]
  ------------------
 1166|   314k|      case Opcode::F32X4PMin:
  ------------------
  |  Branch (1166:7): [True: 3.14k, False: 3.16M]
  ------------------
 1167|   314k|      case Opcode::F64X2Min:
  ------------------
  |  Branch (1167:7): [True: 632, False: 3.16M]
  ------------------
 1168|   314k|      case Opcode::F64X2PMin:
  ------------------
  |  Branch (1168:7): [True: 141, False: 3.16M]
  ------------------
 1169|   315k|      case Opcode::F32X4Max:
  ------------------
  |  Branch (1169:7): [True: 285, False: 3.16M]
  ------------------
 1170|   315k|      case Opcode::F32X4PMax:
  ------------------
  |  Branch (1170:7): [True: 186, False: 3.16M]
  ------------------
 1171|   315k|      case Opcode::F64X2Max:
  ------------------
  |  Branch (1171:7): [True: 91, False: 3.16M]
  ------------------
 1172|   315k|      case Opcode::F64X2PMax:
  ------------------
  |  Branch (1172:7): [True: 101, False: 3.16M]
  ------------------
 1173|   315k|      case Opcode::F32X4Add:
  ------------------
  |  Branch (1173:7): [True: 81, False: 3.16M]
  ------------------
 1174|   315k|      case Opcode::F64X2Add:
  ------------------
  |  Branch (1174:7): [True: 88, False: 3.16M]
  ------------------
 1175|   315k|      case Opcode::F32X4Sub:
  ------------------
  |  Branch (1175:7): [True: 186, False: 3.16M]
  ------------------
 1176|   316k|      case Opcode::F64X2Sub:
  ------------------
  |  Branch (1176:7): [True: 127, False: 3.16M]
  ------------------
 1177|   319k|      case Opcode::F32X4Div:
  ------------------
  |  Branch (1177:7): [True: 3.54k, False: 3.16M]
  ------------------
 1178|   319k|      case Opcode::F64X2Div:
  ------------------
  |  Branch (1178:7): [True: 106, False: 3.16M]
  ------------------
 1179|   320k|      case Opcode::F32X4Mul:
  ------------------
  |  Branch (1179:7): [True: 746, False: 3.16M]
  ------------------
 1180|   320k|      case Opcode::F64X2Mul:
  ------------------
  |  Branch (1180:7): [True: 118, False: 3.16M]
  ------------------
 1181|   320k|      case Opcode::I8X16Swizzle:
  ------------------
  |  Branch (1181:7): [True: 385, False: 3.16M]
  ------------------
 1182|   321k|      case Opcode::I8X16NarrowI16X8S:
  ------------------
  |  Branch (1182:7): [True: 326, False: 3.16M]
  ------------------
 1183|   322k|      case Opcode::I8X16NarrowI16X8U:
  ------------------
  |  Branch (1183:7): [True: 1.24k, False: 3.16M]
  ------------------
 1184|   323k|      case Opcode::I16X8NarrowI32X4S:
  ------------------
  |  Branch (1184:7): [True: 1.41k, False: 3.16M]
  ------------------
 1185|   324k|      case Opcode::I16X8NarrowI32X4U:
  ------------------
  |  Branch (1185:7): [True: 152, False: 3.16M]
  ------------------
 1186|   324k|      case Opcode::V128Andnot:
  ------------------
  |  Branch (1186:7): [True: 93, False: 3.16M]
  ------------------
 1187|   324k|      case Opcode::I8X16AvgrU:
  ------------------
  |  Branch (1187:7): [True: 97, False: 3.16M]
  ------------------
 1188|   324k|      case Opcode::I16X8AvgrU:
  ------------------
  |  Branch (1188:7): [True: 94, False: 3.16M]
  ------------------
 1189|   324k|      case Opcode::I16X8ExtmulLowI8X16S:
  ------------------
  |  Branch (1189:7): [True: 82, False: 3.16M]
  ------------------
 1190|   325k|      case Opcode::I16X8ExtmulHighI8X16S:
  ------------------
  |  Branch (1190:7): [True: 1.45k, False: 3.16M]
  ------------------
 1191|   325k|      case Opcode::I16X8ExtmulLowI8X16U:
  ------------------
  |  Branch (1191:7): [True: 101, False: 3.16M]
  ------------------
 1192|   326k|      case Opcode::I16X8ExtmulHighI8X16U:
  ------------------
  |  Branch (1192:7): [True: 120, False: 3.16M]
  ------------------
 1193|   326k|      case Opcode::I32X4ExtmulLowI16X8S:
  ------------------
  |  Branch (1193:7): [True: 149, False: 3.16M]
  ------------------
 1194|   326k|      case Opcode::I32X4ExtmulHighI16X8S:
  ------------------
  |  Branch (1194:7): [True: 222, False: 3.16M]
  ------------------
 1195|   327k|      case Opcode::I32X4ExtmulLowI16X8U:
  ------------------
  |  Branch (1195:7): [True: 558, False: 3.16M]
  ------------------
 1196|   327k|      case Opcode::I32X4ExtmulHighI16X8U:
  ------------------
  |  Branch (1196:7): [True: 136, False: 3.16M]
  ------------------
 1197|   327k|      case Opcode::I64X2ExtmulLowI32X4S:
  ------------------
  |  Branch (1197:7): [True: 82, False: 3.16M]
  ------------------
 1198|   327k|      case Opcode::I64X2ExtmulHighI32X4S:
  ------------------
  |  Branch (1198:7): [True: 94, False: 3.16M]
  ------------------
 1199|   328k|      case Opcode::I64X2ExtmulLowI32X4U:
  ------------------
  |  Branch (1199:7): [True: 931, False: 3.16M]
  ------------------
 1200|   328k|      case Opcode::I64X2ExtmulHighI32X4U:
  ------------------
  |  Branch (1200:7): [True: 91, False: 3.16M]
  ------------------
 1201|   328k|      case Opcode::I16X8Q15mulrSatS:
  ------------------
  |  Branch (1201:7): [True: 82, False: 3.16M]
  ------------------
 1202|   328k|      case Opcode::I32X4DotI16X8S:
  ------------------
  |  Branch (1202:7): [True: 98, False: 3.16M]
  ------------------
 1203|   328k|      case Opcode::I8X16RelaxedSwizzle:
  ------------------
  |  Branch (1203:7): [True: 167, False: 3.16M]
  ------------------
 1204|   328k|      case Opcode::F32X4RelaxedMin:
  ------------------
  |  Branch (1204:7): [True: 86, False: 3.16M]
  ------------------
 1205|   328k|      case Opcode::F32X4RelaxedMax:
  ------------------
  |  Branch (1205:7): [True: 86, False: 3.16M]
  ------------------
 1206|   328k|      case Opcode::F64X2RelaxedMin:
  ------------------
  |  Branch (1206:7): [True: 101, False: 3.16M]
  ------------------
 1207|   329k|      case Opcode::F64X2RelaxedMax:
  ------------------
  |  Branch (1207:7): [True: 81, False: 3.16M]
  ------------------
 1208|   329k|      case Opcode::I16X8RelaxedQ15mulrS:
  ------------------
  |  Branch (1208:7): [True: 91, False: 3.16M]
  ------------------
 1209|   329k|      case Opcode::I16X8DotI8X16I7X16S:
  ------------------
  |  Branch (1209:7): [True: 91, False: 3.16M]
  ------------------
 1210|   329k|        CALLBACK(OnBinaryExpr, opcode);
  ------------------
  |  |   66|   329k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   329k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   329k|  do {                      \
  |  |  |  |  |  |   48|   329k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 329k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   329k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   329k|               #member " callback failed")
  ------------------
 1211|   329k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|   329k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   329k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   329k|  do {                      \
  |  |  |  |  |  |   48|   329k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 329k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   329k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1212|   329k|        break;
 1213|       |
 1214|   329k|      case Opcode::I32Eq:
  ------------------
  |  Branch (1214:7): [True: 2.32k, False: 3.16M]
  ------------------
 1215|  5.13k|      case Opcode::I32Ne:
  ------------------
  |  Branch (1215:7): [True: 2.81k, False: 3.16M]
  ------------------
 1216|  6.90k|      case Opcode::I32LtS:
  ------------------
  |  Branch (1216:7): [True: 1.76k, False: 3.16M]
  ------------------
 1217|  10.4k|      case Opcode::I32LeS:
  ------------------
  |  Branch (1217:7): [True: 3.49k, False: 3.16M]
  ------------------
 1218|  12.2k|      case Opcode::I32LtU:
  ------------------
  |  Branch (1218:7): [True: 1.89k, False: 3.16M]
  ------------------
 1219|  15.1k|      case Opcode::I32LeU:
  ------------------
  |  Branch (1219:7): [True: 2.82k, False: 3.16M]
  ------------------
 1220|  21.5k|      case Opcode::I32GtS:
  ------------------
  |  Branch (1220:7): [True: 6.43k, False: 3.16M]
  ------------------
 1221|  24.7k|      case Opcode::I32GeS:
  ------------------
  |  Branch (1221:7): [True: 3.14k, False: 3.16M]
  ------------------
 1222|  29.8k|      case Opcode::I32GtU:
  ------------------
  |  Branch (1222:7): [True: 5.16k, False: 3.16M]
  ------------------
 1223|  31.8k|      case Opcode::I32GeU:
  ------------------
  |  Branch (1223:7): [True: 1.95k, False: 3.16M]
  ------------------
 1224|  35.0k|      case Opcode::I64Eq:
  ------------------
  |  Branch (1224:7): [True: 3.24k, False: 3.16M]
  ------------------
 1225|  37.7k|      case Opcode::I64Ne:
  ------------------
  |  Branch (1225:7): [True: 2.66k, False: 3.16M]
  ------------------
 1226|  49.9k|      case Opcode::I64LtS:
  ------------------
  |  Branch (1226:7): [True: 12.2k, False: 3.15M]
  ------------------
 1227|  56.7k|      case Opcode::I64LeS:
  ------------------
  |  Branch (1227:7): [True: 6.84k, False: 3.16M]
  ------------------
 1228|  59.2k|      case Opcode::I64LtU:
  ------------------
  |  Branch (1228:7): [True: 2.50k, False: 3.16M]
  ------------------
 1229|  61.4k|      case Opcode::I64LeU:
  ------------------
  |  Branch (1229:7): [True: 2.15k, False: 3.16M]
  ------------------
 1230|  63.7k|      case Opcode::I64GtS:
  ------------------
  |  Branch (1230:7): [True: 2.33k, False: 3.16M]
  ------------------
 1231|  70.1k|      case Opcode::I64GeS:
  ------------------
  |  Branch (1231:7): [True: 6.37k, False: 3.16M]
  ------------------
 1232|   106k|      case Opcode::I64GtU:
  ------------------
  |  Branch (1232:7): [True: 36.6k, False: 3.13M]
  ------------------
 1233|   108k|      case Opcode::I64GeU:
  ------------------
  |  Branch (1233:7): [True: 1.98k, False: 3.16M]
  ------------------
 1234|   111k|      case Opcode::F32Eq:
  ------------------
  |  Branch (1234:7): [True: 2.87k, False: 3.16M]
  ------------------
 1235|   116k|      case Opcode::F32Ne:
  ------------------
  |  Branch (1235:7): [True: 4.76k, False: 3.16M]
  ------------------
 1236|   118k|      case Opcode::F32Lt:
  ------------------
  |  Branch (1236:7): [True: 2.38k, False: 3.16M]
  ------------------
 1237|   131k|      case Opcode::F32Le:
  ------------------
  |  Branch (1237:7): [True: 12.4k, False: 3.15M]
  ------------------
 1238|   135k|      case Opcode::F32Gt:
  ------------------
  |  Branch (1238:7): [True: 3.97k, False: 3.16M]
  ------------------
 1239|   137k|      case Opcode::F32Ge:
  ------------------
  |  Branch (1239:7): [True: 1.76k, False: 3.16M]
  ------------------
 1240|   159k|      case Opcode::F64Eq:
  ------------------
  |  Branch (1240:7): [True: 21.9k, False: 3.14M]
  ------------------
 1241|   160k|      case Opcode::F64Ne:
  ------------------
  |  Branch (1241:7): [True: 1.25k, False: 3.16M]
  ------------------
 1242|   165k|      case Opcode::F64Lt:
  ------------------
  |  Branch (1242:7): [True: 4.98k, False: 3.16M]
  ------------------
 1243|   171k|      case Opcode::F64Le:
  ------------------
  |  Branch (1243:7): [True: 6.23k, False: 3.16M]
  ------------------
 1244|   174k|      case Opcode::F64Gt:
  ------------------
  |  Branch (1244:7): [True: 2.52k, False: 3.16M]
  ------------------
 1245|   184k|      case Opcode::F64Ge:
  ------------------
  |  Branch (1245:7): [True: 10.8k, False: 3.15M]
  ------------------
 1246|   185k|      case Opcode::I8X16Eq:
  ------------------
  |  Branch (1246:7): [True: 240, False: 3.16M]
  ------------------
 1247|   187k|      case Opcode::I16X8Eq:
  ------------------
  |  Branch (1247:7): [True: 2.17k, False: 3.16M]
  ------------------
 1248|   187k|      case Opcode::I32X4Eq:
  ------------------
  |  Branch (1248:7): [True: 337, False: 3.16M]
  ------------------
 1249|   187k|      case Opcode::I64X2Eq:
  ------------------
  |  Branch (1249:7): [True: 81, False: 3.16M]
  ------------------
 1250|   188k|      case Opcode::F32X4Eq:
  ------------------
  |  Branch (1250:7): [True: 379, False: 3.16M]
  ------------------
 1251|   188k|      case Opcode::F64X2Eq:
  ------------------
  |  Branch (1251:7): [True: 316, False: 3.16M]
  ------------------
 1252|   189k|      case Opcode::I8X16Ne:
  ------------------
  |  Branch (1252:7): [True: 877, False: 3.16M]
  ------------------
 1253|   189k|      case Opcode::I16X8Ne:
  ------------------
  |  Branch (1253:7): [True: 590, False: 3.16M]
  ------------------
 1254|   190k|      case Opcode::I32X4Ne:
  ------------------
  |  Branch (1254:7): [True: 124, False: 3.16M]
  ------------------
 1255|   190k|      case Opcode::I64X2Ne:
  ------------------
  |  Branch (1255:7): [True: 86, False: 3.16M]
  ------------------
 1256|   190k|      case Opcode::F32X4Ne:
  ------------------
  |  Branch (1256:7): [True: 139, False: 3.16M]
  ------------------
 1257|   190k|      case Opcode::F64X2Ne:
  ------------------
  |  Branch (1257:7): [True: 391, False: 3.16M]
  ------------------
 1258|   190k|      case Opcode::I8X16LtS:
  ------------------
  |  Branch (1258:7): [True: 172, False: 3.16M]
  ------------------
 1259|   191k|      case Opcode::I8X16LtU:
  ------------------
  |  Branch (1259:7): [True: 279, False: 3.16M]
  ------------------
 1260|   191k|      case Opcode::I16X8LtS:
  ------------------
  |  Branch (1260:7): [True: 282, False: 3.16M]
  ------------------
 1261|   191k|      case Opcode::I16X8LtU:
  ------------------
  |  Branch (1261:7): [True: 481, False: 3.16M]
  ------------------
 1262|   192k|      case Opcode::I32X4LtS:
  ------------------
  |  Branch (1262:7): [True: 175, False: 3.16M]
  ------------------
 1263|   193k|      case Opcode::I32X4LtU:
  ------------------
  |  Branch (1263:7): [True: 1.07k, False: 3.16M]
  ------------------
 1264|   193k|      case Opcode::I64X2LtS:
  ------------------
  |  Branch (1264:7): [True: 93, False: 3.16M]
  ------------------
 1265|   193k|      case Opcode::F32X4Lt:
  ------------------
  |  Branch (1265:7): [True: 109, False: 3.16M]
  ------------------
 1266|   193k|      case Opcode::F64X2Lt:
  ------------------
  |  Branch (1266:7): [True: 127, False: 3.16M]
  ------------------
 1267|   193k|      case Opcode::I8X16LeS:
  ------------------
  |  Branch (1267:7): [True: 121, False: 3.16M]
  ------------------
 1268|   193k|      case Opcode::I8X16LeU:
  ------------------
  |  Branch (1268:7): [True: 219, False: 3.16M]
  ------------------
 1269|   193k|      case Opcode::I16X8LeS:
  ------------------
  |  Branch (1269:7): [True: 201, False: 3.16M]
  ------------------
 1270|   195k|      case Opcode::I16X8LeU:
  ------------------
  |  Branch (1270:7): [True: 1.75k, False: 3.16M]
  ------------------
 1271|   195k|      case Opcode::I32X4LeS:
  ------------------
  |  Branch (1271:7): [True: 123, False: 3.16M]
  ------------------
 1272|   196k|      case Opcode::I32X4LeU:
  ------------------
  |  Branch (1272:7): [True: 175, False: 3.16M]
  ------------------
 1273|   196k|      case Opcode::I64X2LeS:
  ------------------
  |  Branch (1273:7): [True: 102, False: 3.16M]
  ------------------
 1274|   196k|      case Opcode::F32X4Le:
  ------------------
  |  Branch (1274:7): [True: 185, False: 3.16M]
  ------------------
 1275|   196k|      case Opcode::F64X2Le:
  ------------------
  |  Branch (1275:7): [True: 139, False: 3.16M]
  ------------------
 1276|   196k|      case Opcode::I8X16GtS:
  ------------------
  |  Branch (1276:7): [True: 197, False: 3.16M]
  ------------------
 1277|   197k|      case Opcode::I8X16GtU:
  ------------------
  |  Branch (1277:7): [True: 1.29k, False: 3.16M]
  ------------------
 1278|   198k|      case Opcode::I16X8GtS:
  ------------------
  |  Branch (1278:7): [True: 907, False: 3.16M]
  ------------------
 1279|   199k|      case Opcode::I16X8GtU:
  ------------------
  |  Branch (1279:7): [True: 424, False: 3.16M]
  ------------------
 1280|   203k|      case Opcode::I32X4GtS:
  ------------------
  |  Branch (1280:7): [True: 3.87k, False: 3.16M]
  ------------------
 1281|   203k|      case Opcode::I32X4GtU:
  ------------------
  |  Branch (1281:7): [True: 209, False: 3.16M]
  ------------------
 1282|   203k|      case Opcode::I64X2GtS:
  ------------------
  |  Branch (1282:7): [True: 552, False: 3.16M]
  ------------------
 1283|   205k|      case Opcode::F32X4Gt:
  ------------------
  |  Branch (1283:7): [True: 1.47k, False: 3.16M]
  ------------------
 1284|   205k|      case Opcode::F64X2Gt:
  ------------------
  |  Branch (1284:7): [True: 313, False: 3.16M]
  ------------------
 1285|   222k|      case Opcode::I8X16GeS:
  ------------------
  |  Branch (1285:7): [True: 16.5k, False: 3.15M]
  ------------------
 1286|   222k|      case Opcode::I8X16GeU:
  ------------------
  |  Branch (1286:7): [True: 270, False: 3.16M]
  ------------------
 1287|   222k|      case Opcode::I16X8GeS:
  ------------------
  |  Branch (1287:7): [True: 287, False: 3.16M]
  ------------------
 1288|   223k|      case Opcode::I16X8GeU:
  ------------------
  |  Branch (1288:7): [True: 567, False: 3.16M]
  ------------------
 1289|   223k|      case Opcode::I32X4GeS:
  ------------------
  |  Branch (1289:7): [True: 277, False: 3.16M]
  ------------------
 1290|   223k|      case Opcode::I32X4GeU:
  ------------------
  |  Branch (1290:7): [True: 262, False: 3.16M]
  ------------------
 1291|   224k|      case Opcode::I64X2GeS:
  ------------------
  |  Branch (1291:7): [True: 151, False: 3.16M]
  ------------------
 1292|   224k|      case Opcode::F32X4Ge:
  ------------------
  |  Branch (1292:7): [True: 152, False: 3.16M]
  ------------------
 1293|   226k|      case Opcode::F64X2Ge:
  ------------------
  |  Branch (1293:7): [True: 1.75k, False: 3.16M]
  ------------------
 1294|   226k|        CALLBACK(OnCompareExpr, opcode);
  ------------------
  |  |   66|   226k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   226k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   226k|  do {                      \
  |  |  |  |  |  |   48|   226k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 226k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   226k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   226k|               #member " callback failed")
  ------------------
 1295|   226k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|   226k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   226k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   226k|  do {                      \
  |  |  |  |  |  |   48|   226k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 226k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   226k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1296|   226k|        break;
 1297|       |
 1298|   226k|      case Opcode::I32Clz:
  ------------------
  |  Branch (1298:7): [True: 25.4k, False: 3.14M]
  ------------------
 1299|  27.1k|      case Opcode::I32Ctz:
  ------------------
  |  Branch (1299:7): [True: 1.65k, False: 3.16M]
  ------------------
 1300|  34.3k|      case Opcode::I32Popcnt:
  ------------------
  |  Branch (1300:7): [True: 7.20k, False: 3.16M]
  ------------------
 1301|  36.4k|      case Opcode::I64Clz:
  ------------------
  |  Branch (1301:7): [True: 2.13k, False: 3.16M]
  ------------------
 1302|  43.8k|      case Opcode::I64Ctz:
  ------------------
  |  Branch (1302:7): [True: 7.43k, False: 3.16M]
  ------------------
 1303|  48.1k|      case Opcode::I64Popcnt:
  ------------------
  |  Branch (1303:7): [True: 4.29k, False: 3.16M]
  ------------------
 1304|  49.2k|      case Opcode::F32Abs:
  ------------------
  |  Branch (1304:7): [True: 1.06k, False: 3.16M]
  ------------------
 1305|  50.3k|      case Opcode::F32Neg:
  ------------------
  |  Branch (1305:7): [True: 1.07k, False: 3.16M]
  ------------------
 1306|  51.9k|      case Opcode::F32Ceil:
  ------------------
  |  Branch (1306:7): [True: 1.59k, False: 3.16M]
  ------------------
 1307|  55.7k|      case Opcode::F32Floor:
  ------------------
  |  Branch (1307:7): [True: 3.84k, False: 3.16M]
  ------------------
 1308|  60.0k|      case Opcode::F32Trunc:
  ------------------
  |  Branch (1308:7): [True: 4.31k, False: 3.16M]
  ------------------
 1309|  64.7k|      case Opcode::F32Nearest:
  ------------------
  |  Branch (1309:7): [True: 4.69k, False: 3.16M]
  ------------------
 1310|  71.0k|      case Opcode::F32Sqrt:
  ------------------
  |  Branch (1310:7): [True: 6.28k, False: 3.16M]
  ------------------
 1311|  73.9k|      case Opcode::F64Abs:
  ------------------
  |  Branch (1311:7): [True: 2.90k, False: 3.16M]
  ------------------
 1312|  75.8k|      case Opcode::F64Neg:
  ------------------
  |  Branch (1312:7): [True: 1.88k, False: 3.16M]
  ------------------
 1313|  77.2k|      case Opcode::F64Ceil:
  ------------------
  |  Branch (1313:7): [True: 1.37k, False: 3.16M]
  ------------------
 1314|  78.2k|      case Opcode::F64Floor:
  ------------------
  |  Branch (1314:7): [True: 1.07k, False: 3.16M]
  ------------------
 1315|  79.7k|      case Opcode::F64Trunc:
  ------------------
  |  Branch (1315:7): [True: 1.41k, False: 3.16M]
  ------------------
 1316|  83.9k|      case Opcode::F64Nearest:
  ------------------
  |  Branch (1316:7): [True: 4.22k, False: 3.16M]
  ------------------
 1317|  85.1k|      case Opcode::F64Sqrt:
  ------------------
  |  Branch (1317:7): [True: 1.20k, False: 3.16M]
  ------------------
 1318|  85.4k|      case Opcode::I8X16Splat:
  ------------------
  |  Branch (1318:7): [True: 358, False: 3.16M]
  ------------------
 1319|  85.9k|      case Opcode::I16X8Splat:
  ------------------
  |  Branch (1319:7): [True: 488, False: 3.16M]
  ------------------
 1320|  86.3k|      case Opcode::I32X4Splat:
  ------------------
  |  Branch (1320:7): [True: 322, False: 3.16M]
  ------------------
 1321|  86.5k|      case Opcode::I64X2Splat:
  ------------------
  |  Branch (1321:7): [True: 289, False: 3.16M]
  ------------------
 1322|  86.7k|      case Opcode::F32X4Splat:
  ------------------
  |  Branch (1322:7): [True: 112, False: 3.16M]
  ------------------
 1323|  87.0k|      case Opcode::F64X2Splat:
  ------------------
  |  Branch (1323:7): [True: 381, False: 3.16M]
  ------------------
 1324|  88.1k|      case Opcode::I8X16Neg:
  ------------------
  |  Branch (1324:7): [True: 1.10k, False: 3.16M]
  ------------------
 1325|  88.4k|      case Opcode::I16X8Neg:
  ------------------
  |  Branch (1325:7): [True: 268, False: 3.16M]
  ------------------
 1326|  88.6k|      case Opcode::I32X4Neg:
  ------------------
  |  Branch (1326:7): [True: 158, False: 3.16M]
  ------------------
 1327|  89.2k|      case Opcode::I64X2Neg:
  ------------------
  |  Branch (1327:7): [True: 647, False: 3.16M]
  ------------------
 1328|  89.9k|      case Opcode::V128Not:
  ------------------
  |  Branch (1328:7): [True: 660, False: 3.16M]
  ------------------
 1329|  90.4k|      case Opcode::V128AnyTrue:
  ------------------
  |  Branch (1329:7): [True: 540, False: 3.16M]
  ------------------
 1330|  91.2k|      case Opcode::I8X16Bitmask:
  ------------------
  |  Branch (1330:7): [True: 740, False: 3.16M]
  ------------------
 1331|  91.3k|      case Opcode::I16X8Bitmask:
  ------------------
  |  Branch (1331:7): [True: 117, False: 3.16M]
  ------------------
 1332|  91.4k|      case Opcode::I32X4Bitmask:
  ------------------
  |  Branch (1332:7): [True: 76, False: 3.16M]
  ------------------
 1333|  91.9k|      case Opcode::I64X2Bitmask:
  ------------------
  |  Branch (1333:7): [True: 567, False: 3.16M]
  ------------------
 1334|  92.1k|      case Opcode::I8X16AllTrue:
  ------------------
  |  Branch (1334:7): [True: 145, False: 3.16M]
  ------------------
 1335|  92.2k|      case Opcode::I16X8AllTrue:
  ------------------
  |  Branch (1335:7): [True: 154, False: 3.16M]
  ------------------
 1336|  92.5k|      case Opcode::I32X4AllTrue:
  ------------------
  |  Branch (1336:7): [True: 236, False: 3.16M]
  ------------------
 1337|  92.7k|      case Opcode::I64X2AllTrue:
  ------------------
  |  Branch (1337:7): [True: 246, False: 3.16M]
  ------------------
 1338|  92.9k|      case Opcode::F32X4Ceil:
  ------------------
  |  Branch (1338:7): [True: 248, False: 3.16M]
  ------------------
 1339|  93.2k|      case Opcode::F64X2Ceil:
  ------------------
  |  Branch (1339:7): [True: 228, False: 3.16M]
  ------------------
 1340|  93.9k|      case Opcode::F32X4Floor:
  ------------------
  |  Branch (1340:7): [True: 717, False: 3.16M]
  ------------------
 1341|  94.7k|      case Opcode::F64X2Floor:
  ------------------
  |  Branch (1341:7): [True: 810, False: 3.16M]
  ------------------
 1342|  94.8k|      case Opcode::F32X4Trunc:
  ------------------
  |  Branch (1342:7): [True: 104, False: 3.16M]
  ------------------
 1343|  98.8k|      case Opcode::F64X2Trunc:
  ------------------
  |  Branch (1343:7): [True: 3.98k, False: 3.16M]
  ------------------
 1344|  99.0k|      case Opcode::F32X4Nearest:
  ------------------
  |  Branch (1344:7): [True: 254, False: 3.16M]
  ------------------
 1345|  99.2k|      case Opcode::F64X2Nearest:
  ------------------
  |  Branch (1345:7): [True: 119, False: 3.16M]
  ------------------
 1346|  99.5k|      case Opcode::F32X4Neg:
  ------------------
  |  Branch (1346:7): [True: 371, False: 3.16M]
  ------------------
 1347|  99.6k|      case Opcode::F64X2Neg:
  ------------------
  |  Branch (1347:7): [True: 87, False: 3.16M]
  ------------------
 1348|  99.8k|      case Opcode::F32X4Abs:
  ------------------
  |  Branch (1348:7): [True: 136, False: 3.16M]
  ------------------
 1349|  99.9k|      case Opcode::F64X2Abs:
  ------------------
  |  Branch (1349:7): [True: 122, False: 3.16M]
  ------------------
 1350|   100k|      case Opcode::F32X4Sqrt:
  ------------------
  |  Branch (1350:7): [True: 172, False: 3.16M]
  ------------------
 1351|   100k|      case Opcode::F64X2Sqrt:
  ------------------
  |  Branch (1351:7): [True: 106, False: 3.16M]
  ------------------
 1352|   100k|      case Opcode::I16X8ExtendLowI8X16S:
  ------------------
  |  Branch (1352:7): [True: 441, False: 3.16M]
  ------------------
 1353|   100k|      case Opcode::I16X8ExtendHighI8X16S:
  ------------------
  |  Branch (1353:7): [True: 102, False: 3.16M]
  ------------------
 1354|   100k|      case Opcode::I16X8ExtendLowI8X16U:
  ------------------
  |  Branch (1354:7): [True: 96, False: 3.16M]
  ------------------
 1355|   100k|      case Opcode::I16X8ExtendHighI8X16U:
  ------------------
  |  Branch (1355:7): [True: 107, False: 3.16M]
  ------------------
 1356|   101k|      case Opcode::I32X4ExtendLowI16X8S:
  ------------------
  |  Branch (1356:7): [True: 139, False: 3.16M]
  ------------------
 1357|   101k|      case Opcode::I32X4ExtendHighI16X8S:
  ------------------
  |  Branch (1357:7): [True: 726, False: 3.16M]
  ------------------
 1358|   101k|      case Opcode::I32X4ExtendLowI16X8U:
  ------------------
  |  Branch (1358:7): [True: 89, False: 3.16M]
  ------------------
 1359|   101k|      case Opcode::I32X4ExtendHighI16X8U:
  ------------------
  |  Branch (1359:7): [True: 91, False: 3.16M]
  ------------------
 1360|   102k|      case Opcode::I64X2ExtendLowI32X4S:
  ------------------
  |  Branch (1360:7): [True: 276, False: 3.16M]
  ------------------
 1361|   102k|      case Opcode::I64X2ExtendHighI32X4S:
  ------------------
  |  Branch (1361:7): [True: 687, False: 3.16M]
  ------------------
 1362|   103k|      case Opcode::I64X2ExtendLowI32X4U:
  ------------------
  |  Branch (1362:7): [True: 106, False: 3.16M]
  ------------------
 1363|   104k|      case Opcode::I64X2ExtendHighI32X4U:
  ------------------
  |  Branch (1363:7): [True: 1.08k, False: 3.16M]
  ------------------
 1364|   104k|      case Opcode::I8X16Abs:
  ------------------
  |  Branch (1364:7): [True: 261, False: 3.16M]
  ------------------
 1365|   104k|      case Opcode::I16X8Abs:
  ------------------
  |  Branch (1365:7): [True: 102, False: 3.16M]
  ------------------
 1366|   104k|      case Opcode::I32X4Abs:
  ------------------
  |  Branch (1366:7): [True: 396, False: 3.16M]
  ------------------
 1367|   105k|      case Opcode::I64X2Abs:
  ------------------
  |  Branch (1367:7): [True: 302, False: 3.16M]
  ------------------
 1368|   105k|      case Opcode::I8X16Popcnt:
  ------------------
  |  Branch (1368:7): [True: 106, False: 3.16M]
  ------------------
 1369|   105k|      case Opcode::I16X8ExtaddPairwiseI8X16S:
  ------------------
  |  Branch (1369:7): [True: 166, False: 3.16M]
  ------------------
 1370|   105k|      case Opcode::I16X8ExtaddPairwiseI8X16U:
  ------------------
  |  Branch (1370:7): [True: 224, False: 3.16M]
  ------------------
 1371|   105k|      case Opcode::I32X4ExtaddPairwiseI16X8S:
  ------------------
  |  Branch (1371:7): [True: 159, False: 3.16M]
  ------------------
 1372|   106k|      case Opcode::I32X4ExtaddPairwiseI16X8U:
  ------------------
  |  Branch (1372:7): [True: 500, False: 3.16M]
  ------------------
 1373|   106k|      case Opcode::I32X4RelaxedTruncF32X4S:
  ------------------
  |  Branch (1373:7): [True: 166, False: 3.16M]
  ------------------
 1374|   106k|      case Opcode::I32X4RelaxedTruncF32X4U:
  ------------------
  |  Branch (1374:7): [True: 78, False: 3.16M]
  ------------------
 1375|   106k|      case Opcode::I32X4RelaxedTruncF64X2SZero:
  ------------------
  |  Branch (1375:7): [True: 86, False: 3.16M]
  ------------------
 1376|   106k|      case Opcode::I32X4RelaxedTruncF64X2UZero:
  ------------------
  |  Branch (1376:7): [True: 196, False: 3.16M]
  ------------------
 1377|   106k|        CALLBACK(OnUnaryExpr, opcode);
  ------------------
  |  |   66|   106k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   106k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   106k|  do {                      \
  |  |  |  |  |  |   48|   106k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 106k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   106k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   106k|               #member " callback failed")
  ------------------
 1378|   106k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|   106k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   106k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   106k|  do {                      \
  |  |  |  |  |  |   48|   106k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 106k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   106k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1379|   106k|        break;
 1380|       |
 1381|   106k|      case Opcode::V128BitSelect:
  ------------------
  |  Branch (1381:7): [True: 764, False: 3.16M]
  ------------------
 1382|    947|      case Opcode::F32X4RelaxedMadd:
  ------------------
  |  Branch (1382:7): [True: 183, False: 3.16M]
  ------------------
 1383|  1.03k|      case Opcode::F32X4RelaxedNmadd:
  ------------------
  |  Branch (1383:7): [True: 90, False: 3.16M]
  ------------------
 1384|  1.94k|      case Opcode::F64X2RelaxedMadd:
  ------------------
  |  Branch (1384:7): [True: 912, False: 3.16M]
  ------------------
 1385|  1.99k|      case Opcode::F64X2RelaxedNmadd:
  ------------------
  |  Branch (1385:7): [True: 41, False: 3.16M]
  ------------------
 1386|  2.07k|      case Opcode::I8X16RelaxedLaneSelect:
  ------------------
  |  Branch (1386:7): [True: 86, False: 3.16M]
  ------------------
 1387|  2.16k|      case Opcode::I16X8RelaxedLaneSelect:
  ------------------
  |  Branch (1387:7): [True: 89, False: 3.16M]
  ------------------
 1388|  2.30k|      case Opcode::I32X4RelaxedLaneSelect:
  ------------------
  |  Branch (1388:7): [True: 142, False: 3.16M]
  ------------------
 1389|  2.50k|      case Opcode::I64X2RelaxedLaneSelect:
  ------------------
  |  Branch (1389:7): [True: 197, False: 3.16M]
  ------------------
 1390|  2.62k|      case Opcode::I32X4DotI8X16I7X16AddS:
  ------------------
  |  Branch (1390:7): [True: 120, False: 3.16M]
  ------------------
 1391|  2.62k|        CALLBACK(OnTernaryExpr, opcode);
  ------------------
  |  |   66|  2.62k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.62k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.62k|  do {                      \
  |  |  |  |  |  |   48|  2.62k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.62k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.62k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.62k|               #member " callback failed")
  ------------------
 1392|  2.62k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  2.62k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  2.62k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.62k|  do {                      \
  |  |  |  |  |  |   48|  2.62k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.62k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.62k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1393|  2.62k|        break;
 1394|       |
 1395|  2.62k|      case Opcode::I8X16ExtractLaneS:
  ------------------
  |  Branch (1395:7): [True: 113, False: 3.16M]
  ------------------
 1396|    227|      case Opcode::I8X16ExtractLaneU:
  ------------------
  |  Branch (1396:7): [True: 114, False: 3.16M]
  ------------------
 1397|    349|      case Opcode::I16X8ExtractLaneS:
  ------------------
  |  Branch (1397:7): [True: 122, False: 3.16M]
  ------------------
 1398|    991|      case Opcode::I16X8ExtractLaneU:
  ------------------
  |  Branch (1398:7): [True: 642, False: 3.16M]
  ------------------
 1399|  1.19k|      case Opcode::I32X4ExtractLane:
  ------------------
  |  Branch (1399:7): [True: 203, False: 3.16M]
  ------------------
 1400|  1.35k|      case Opcode::I64X2ExtractLane:
  ------------------
  |  Branch (1400:7): [True: 160, False: 3.16M]
  ------------------
 1401|  1.53k|      case Opcode::F32X4ExtractLane:
  ------------------
  |  Branch (1401:7): [True: 179, False: 3.16M]
  ------------------
 1402|  6.63k|      case Opcode::F64X2ExtractLane:
  ------------------
  |  Branch (1402:7): [True: 5.10k, False: 3.16M]
  ------------------
 1403|  6.79k|      case Opcode::I8X16ReplaceLane:
  ------------------
  |  Branch (1403:7): [True: 158, False: 3.16M]
  ------------------
 1404|  7.46k|      case Opcode::I16X8ReplaceLane:
  ------------------
  |  Branch (1404:7): [True: 669, False: 3.16M]
  ------------------
 1405|  8.33k|      case Opcode::I32X4ReplaceLane:
  ------------------
  |  Branch (1405:7): [True: 879, False: 3.16M]
  ------------------
 1406|  8.43k|      case Opcode::I64X2ReplaceLane:
  ------------------
  |  Branch (1406:7): [True: 91, False: 3.16M]
  ------------------
 1407|  9.40k|      case Opcode::F32X4ReplaceLane:
  ------------------
  |  Branch (1407:7): [True: 979, False: 3.16M]
  ------------------
 1408|  10.4k|      case Opcode::F64X2ReplaceLane: {
  ------------------
  |  Branch (1408:7): [True: 1.02k, False: 3.16M]
  ------------------
 1409|  10.4k|        uint8_t lane_val;
 1410|  10.4k|        CHECK_RESULT(ReadU8(&lane_val, "Lane idx"));
  ------------------
  |  |   55|  10.4k|  do {                              \
  |  |   56|  10.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 83, False: 10.3k]
  |  |  ------------------
  |  |   57|     83|      return ::wabt::Result::Error; \
  |  |   58|     83|    }                               \
  |  |   59|  10.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1411|  10.3k|        CALLBACK(OnSimdLaneOpExpr, opcode, lane_val);
  ------------------
  |  |   66|  10.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  10.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.3k|  do {                      \
  |  |  |  |  |  |   48|  10.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  10.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.3k|               #member " callback failed")
  ------------------
 1412|  10.3k|        CALLBACK(OnOpcodeUint64, lane_val);
  ------------------
  |  |   66|  10.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  10.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.3k|  do {                      \
  |  |  |  |  |  |   48|  10.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  10.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.3k|               #member " callback failed")
  ------------------
 1413|  10.3k|        break;
 1414|  10.3k|      }
 1415|       |
 1416|  10.3k|      case Opcode::I8X16Shuffle: {
  ------------------
  |  Branch (1416:7): [True: 257, False: 3.16M]
  ------------------
 1417|    257|        v128 value;
 1418|    257|        CHECK_RESULT(ReadV128(&value, "Lane idx [16]"));
  ------------------
  |  |   55|    257|  do {                              \
  |  |   56|    257|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 28, False: 229]
  |  |  ------------------
  |  |   57|     28|      return ::wabt::Result::Error; \
  |  |   58|     28|    }                               \
  |  |   59|    257|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1419|    229|        CALLBACK(OnSimdShuffleOpExpr, opcode, value);
  ------------------
  |  |   66|    229|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    229|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    229|  do {                      \
  |  |  |  |  |  |   48|    229|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 229]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    229|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    229|               #member " callback failed")
  ------------------
 1420|    229|        CALLBACK(OnOpcodeV128, value);
  ------------------
  |  |   66|    229|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    229|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    229|  do {                      \
  |  |  |  |  |  |   48|    229|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 229]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    229|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    229|               #member " callback failed")
  ------------------
 1421|    229|        break;
 1422|    229|      }
 1423|       |
 1424|  1.46k|      case Opcode::V128Load8Splat:
  ------------------
  |  Branch (1424:7): [True: 1.46k, False: 3.16M]
  ------------------
 1425|  1.82k|      case Opcode::V128Load16Splat:
  ------------------
  |  Branch (1425:7): [True: 363, False: 3.16M]
  ------------------
 1426|  2.08k|      case Opcode::V128Load32Splat:
  ------------------
  |  Branch (1426:7): [True: 255, False: 3.16M]
  ------------------
 1427|  2.21k|      case Opcode::V128Load64Splat: {
  ------------------
  |  Branch (1427:7): [True: 135, False: 3.16M]
  ------------------
 1428|  2.21k|        Address alignment_log2;
 1429|  2.21k|        Index memidx;
 1430|  2.21k|        Address offset;
 1431|  2.21k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  2.21k|  do {                              \
  |  |   56|  2.21k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 76, False: 2.14k]
  |  |  ------------------
  |  |   57|     76|      return ::wabt::Result::Error; \
  |  |   58|     76|    }                               \
  |  |   59|  2.21k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1432|  2.21k|                                     "load alignment", "load memidx",
 1433|  2.21k|                                     "load offset"));
 1434|  2.14k|        CALLBACK(OnLoadSplatExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  2.14k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.14k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.14k|  do {                      \
  |  |  |  |  |  |   48|  2.14k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.14k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.14k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.14k|               #member " callback failed")
  ------------------
 1435|  2.14k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  2.14k|  do {                              \
  |  |   56|  2.14k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 2.14k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  2.14k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1436|  2.14k|        break;
 1437|  2.14k|      }
 1438|  2.14k|      case Opcode::V128Load8Lane:
  ------------------
  |  Branch (1438:7): [True: 313, False: 3.16M]
  ------------------
 1439|    427|      case Opcode::V128Load16Lane:
  ------------------
  |  Branch (1439:7): [True: 114, False: 3.16M]
  ------------------
 1440|    567|      case Opcode::V128Load32Lane:
  ------------------
  |  Branch (1440:7): [True: 140, False: 3.16M]
  ------------------
 1441|  4.23k|      case Opcode::V128Load64Lane: {
  ------------------
  |  Branch (1441:7): [True: 3.66k, False: 3.16M]
  ------------------
 1442|  4.23k|        Address alignment_log2;
 1443|  4.23k|        Index memidx;
 1444|  4.23k|        Address offset;
 1445|  4.23k|        uint8_t lane_val;
 1446|  4.23k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  4.23k|  do {                              \
  |  |   56|  4.23k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 50, False: 4.18k]
  |  |  ------------------
  |  |   57|     50|      return ::wabt::Result::Error; \
  |  |   58|     50|    }                               \
  |  |   59|  4.23k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1447|  4.23k|                                     "load alignment", "load memidx",
 1448|  4.23k|                                     "load offset", &lane_val));
 1449|  4.18k|        CALLBACK(OnSimdLoadLaneExpr, opcode, memidx, alignment_log2, offset,
  ------------------
  |  |   66|  4.18k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.18k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.18k|  do {                      \
  |  |  |  |  |  |   48|  4.18k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.18k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.18k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.18k|               #member " callback failed")
  ------------------
 1450|  4.18k|                 lane_val);
 1451|  4.18k|        CHECK_RESULT(
  ------------------
  |  |   55|  4.18k|  do {                              \
  |  |   56|  4.18k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 4.18k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  4.18k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1452|  4.18k|            CallbackMemLocation(&alignment_log2, &memidx, &offset, &lane_val));
 1453|  4.18k|        break;
 1454|  4.18k|      }
 1455|  4.18k|      case Opcode::V128Store8Lane:
  ------------------
  |  Branch (1455:7): [True: 239, False: 3.16M]
  ------------------
 1456|    392|      case Opcode::V128Store16Lane:
  ------------------
  |  Branch (1456:7): [True: 153, False: 3.16M]
  ------------------
 1457|    556|      case Opcode::V128Store32Lane:
  ------------------
  |  Branch (1457:7): [True: 164, False: 3.16M]
  ------------------
 1458|  1.16k|      case Opcode::V128Store64Lane: {
  ------------------
  |  Branch (1458:7): [True: 612, False: 3.16M]
  ------------------
 1459|  1.16k|        Address alignment_log2;
 1460|  1.16k|        Index memidx;
 1461|  1.16k|        Address offset;
 1462|  1.16k|        uint8_t lane_val;
 1463|  1.16k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  1.16k|  do {                              \
  |  |   56|  1.16k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 87, False: 1.08k]
  |  |  ------------------
  |  |   57|     87|      return ::wabt::Result::Error; \
  |  |   58|     87|    }                               \
  |  |   59|  1.16k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1464|  1.16k|                                     "store alignment", "store memidx",
 1465|  1.16k|                                     "store offset", &lane_val));
 1466|  1.08k|        CALLBACK(OnSimdStoreLaneExpr, opcode, memidx, alignment_log2, offset,
  ------------------
  |  |   66|  1.08k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.08k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.08k|  do {                      \
  |  |  |  |  |  |   48|  1.08k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.08k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.08k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.08k|               #member " callback failed")
  ------------------
 1467|  1.08k|                 lane_val);
 1468|  1.08k|        CHECK_RESULT(
  ------------------
  |  |   55|  1.08k|  do {                              \
  |  |   56|  1.08k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 1.08k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  1.08k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1469|  1.08k|            CallbackMemLocation(&alignment_log2, &memidx, &offset, &lane_val));
 1470|  1.08k|        break;
 1471|  1.08k|      }
 1472|  1.13k|      case Opcode::V128Load32Zero:
  ------------------
  |  Branch (1472:7): [True: 1.13k, False: 3.16M]
  ------------------
 1473|  1.73k|      case Opcode::V128Load64Zero: {
  ------------------
  |  Branch (1473:7): [True: 598, False: 3.16M]
  ------------------
 1474|  1.73k|        Address alignment_log2;
 1475|  1.73k|        Index memidx;
 1476|  1.73k|        Address offset;
 1477|  1.73k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  1.73k|  do {                              \
  |  |   56|  1.73k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 33, False: 1.70k]
  |  |  ------------------
  |  |   57|     33|      return ::wabt::Result::Error; \
  |  |   58|     33|    }                               \
  |  |   59|  1.73k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1478|  1.73k|                                     "load alignment", "load memidx",
 1479|  1.73k|                                     "load offset"));
 1480|  1.70k|        CALLBACK(OnLoadZeroExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  1.70k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.70k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.70k|  do {                      \
  |  |  |  |  |  |   48|  1.70k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.70k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.70k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.70k|               #member " callback failed")
  ------------------
 1481|  1.70k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  1.70k|  do {                              \
  |  |   56|  1.70k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 1.70k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  1.70k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1482|  1.70k|        break;
 1483|  1.70k|      }
 1484|  1.70k|      case Opcode::I32TruncF32S:
  ------------------
  |  Branch (1484:7): [True: 996, False: 3.16M]
  ------------------
 1485|  4.04k|      case Opcode::I32TruncF64S:
  ------------------
  |  Branch (1485:7): [True: 3.05k, False: 3.16M]
  ------------------
 1486|  6.26k|      case Opcode::I32TruncF32U:
  ------------------
  |  Branch (1486:7): [True: 2.21k, False: 3.16M]
  ------------------
 1487|  13.5k|      case Opcode::I32TruncF64U:
  ------------------
  |  Branch (1487:7): [True: 7.24k, False: 3.16M]
  ------------------
 1488|  16.2k|      case Opcode::I32WrapI64:
  ------------------
  |  Branch (1488:7): [True: 2.75k, False: 3.16M]
  ------------------
 1489|  17.4k|      case Opcode::I64TruncF32S:
  ------------------
  |  Branch (1489:7): [True: 1.20k, False: 3.16M]
  ------------------
 1490|  30.0k|      case Opcode::I64TruncF64S:
  ------------------
  |  Branch (1490:7): [True: 12.6k, False: 3.15M]
  ------------------
 1491|  33.6k|      case Opcode::I64TruncF32U:
  ------------------
  |  Branch (1491:7): [True: 3.52k, False: 3.16M]
  ------------------
 1492|  41.9k|      case Opcode::I64TruncF64U:
  ------------------
  |  Branch (1492:7): [True: 8.38k, False: 3.15M]
  ------------------
 1493|  44.8k|      case Opcode::I64ExtendI32S:
  ------------------
  |  Branch (1493:7): [True: 2.86k, False: 3.16M]
  ------------------
 1494|  45.7k|      case Opcode::I64ExtendI32U:
  ------------------
  |  Branch (1494:7): [True: 856, False: 3.16M]
  ------------------
 1495|  51.7k|      case Opcode::F32ConvertI32S:
  ------------------
  |  Branch (1495:7): [True: 6.03k, False: 3.16M]
  ------------------
 1496|  65.8k|      case Opcode::F32ConvertI32U:
  ------------------
  |  Branch (1496:7): [True: 14.1k, False: 3.15M]
  ------------------
 1497|  69.5k|      case Opcode::F32ConvertI64S:
  ------------------
  |  Branch (1497:7): [True: 3.75k, False: 3.16M]
  ------------------
 1498|  72.6k|      case Opcode::F32ConvertI64U:
  ------------------
  |  Branch (1498:7): [True: 3.09k, False: 3.16M]
  ------------------
 1499|  75.0k|      case Opcode::F32DemoteF64:
  ------------------
  |  Branch (1499:7): [True: 2.34k, False: 3.16M]
  ------------------
 1500|  78.0k|      case Opcode::F32ReinterpretI32:
  ------------------
  |  Branch (1500:7): [True: 3.00k, False: 3.16M]
  ------------------
 1501|  79.0k|      case Opcode::F64ConvertI32S:
  ------------------
  |  Branch (1501:7): [True: 1.04k, False: 3.16M]
  ------------------
 1502|  84.7k|      case Opcode::F64ConvertI32U:
  ------------------
  |  Branch (1502:7): [True: 5.66k, False: 3.16M]
  ------------------
 1503|  85.7k|      case Opcode::F64ConvertI64S:
  ------------------
  |  Branch (1503:7): [True: 951, False: 3.16M]
  ------------------
 1504|  86.7k|      case Opcode::F64ConvertI64U:
  ------------------
  |  Branch (1504:7): [True: 1.06k, False: 3.16M]
  ------------------
 1505|  93.5k|      case Opcode::F64PromoteF32:
  ------------------
  |  Branch (1505:7): [True: 6.75k, False: 3.16M]
  ------------------
 1506|  97.7k|      case Opcode::F64ReinterpretI64:
  ------------------
  |  Branch (1506:7): [True: 4.26k, False: 3.16M]
  ------------------
 1507|   114k|      case Opcode::I32ReinterpretF32:
  ------------------
  |  Branch (1507:7): [True: 16.6k, False: 3.15M]
  ------------------
 1508|   142k|      case Opcode::I64ReinterpretF64:
  ------------------
  |  Branch (1508:7): [True: 27.9k, False: 3.14M]
  ------------------
 1509|   144k|      case Opcode::I32Eqz:
  ------------------
  |  Branch (1509:7): [True: 1.88k, False: 3.16M]
  ------------------
 1510|   147k|      case Opcode::I64Eqz:
  ------------------
  |  Branch (1510:7): [True: 2.81k, False: 3.16M]
  ------------------
 1511|   147k|      case Opcode::F32X4ConvertI32X4S:
  ------------------
  |  Branch (1511:7): [True: 266, False: 3.16M]
  ------------------
 1512|   147k|      case Opcode::F32X4ConvertI32X4U:
  ------------------
  |  Branch (1512:7): [True: 158, False: 3.16M]
  ------------------
 1513|   147k|      case Opcode::I32X4TruncSatF32X4S:
  ------------------
  |  Branch (1513:7): [True: 76, False: 3.16M]
  ------------------
 1514|   147k|      case Opcode::I32X4TruncSatF32X4U:
  ------------------
  |  Branch (1514:7): [True: 111, False: 3.16M]
  ------------------
 1515|   148k|      case Opcode::F32X4DemoteF64X2Zero:
  ------------------
  |  Branch (1515:7): [True: 727, False: 3.16M]
  ------------------
 1516|   148k|      case Opcode::F64X2PromoteLowF32X4:
  ------------------
  |  Branch (1516:7): [True: 144, False: 3.16M]
  ------------------
 1517|   148k|      case Opcode::I32X4TruncSatF64X2SZero:
  ------------------
  |  Branch (1517:7): [True: 127, False: 3.16M]
  ------------------
 1518|   148k|      case Opcode::I32X4TruncSatF64X2UZero:
  ------------------
  |  Branch (1518:7): [True: 189, False: 3.16M]
  ------------------
 1519|   148k|      case Opcode::F64X2ConvertLowI32X4S:
  ------------------
  |  Branch (1519:7): [True: 127, False: 3.16M]
  ------------------
 1520|   149k|      case Opcode::F64X2ConvertLowI32X4U:
  ------------------
  |  Branch (1520:7): [True: 174, False: 3.16M]
  ------------------
 1521|   149k|        CALLBACK(OnConvertExpr, opcode);
  ------------------
  |  |   66|   149k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   149k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   149k|  do {                      \
  |  |  |  |  |  |   48|   149k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 149k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   149k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   149k|               #member " callback failed")
  ------------------
 1522|   149k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|   149k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   149k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   149k|  do {                      \
  |  |  |  |  |  |   48|   149k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 149k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   149k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1523|   149k|        break;
 1524|       |
 1525|   149k|      case Opcode::Try: {
  ------------------
  |  Branch (1525:7): [True: 38.1k, False: 3.13M]
  ------------------
 1526|  38.1k|        nested_blocks.push(opcode);
 1527|  38.1k|        Type sig_type;
 1528|  38.1k|        CHECK_RESULT(ReadType(&sig_type, "try signature type"));
  ------------------
  |  |   55|  38.1k|  do {                              \
  |  |   56|  38.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 84, False: 38.0k]
  |  |  ------------------
  |  |   57|     84|      return ::wabt::Result::Error; \
  |  |   58|     84|    }                               \
  |  |   59|  38.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1529|  38.0k|        ERROR_UNLESS(IsBlockType(sig_type),
  ------------------
  |  |   53|  38.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  38.0k|  do {                      \
  |  |  |  |   48|  38.0k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 73, False: 37.9k]
  |  |  |  |  ------------------
  |  |  |  |   49|     73|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     73|  do {                       \
  |  |  |  |  |  |   42|     73|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     73|    return Result::Error;    \
  |  |  |  |  |  |   44|     73|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     73|    }                       \
  |  |  |  |   51|  38.0k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1530|  37.9k|                     "expected valid block signature type");
 1531|  37.9k|        CALLBACK(OnTryExpr, sig_type);
  ------------------
  |  |   66|  37.9k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  37.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  37.9k|  do {                      \
  |  |  |  |  |  |   48|  37.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 37.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  37.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  37.9k|               #member " callback failed")
  ------------------
 1532|  37.9k|        CALLBACK(OnOpcodeBlockSig, sig_type);
  ------------------
  |  |   66|  37.9k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  37.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  37.9k|  do {                      \
  |  |  |  |  |  |   48|  37.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 37.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  37.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  37.9k|               #member " callback failed")
  ------------------
 1533|  37.9k|        break;
 1534|  37.9k|      }
 1535|       |
 1536|  37.9k|      case Opcode::TryTable: {
  ------------------
  |  Branch (1536:7): [True: 2.68k, False: 3.16M]
  ------------------
 1537|  2.68k|        nested_blocks.push(opcode);
 1538|  2.68k|        Type sig_type;
 1539|  2.68k|        CHECK_RESULT(ReadType(&sig_type, "try_table signature type"));
  ------------------
  |  |   55|  2.68k|  do {                              \
  |  |   56|  2.68k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 44, False: 2.63k]
  |  |  ------------------
  |  |   57|     44|      return ::wabt::Result::Error; \
  |  |   58|     44|    }                               \
  |  |   59|  2.68k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1540|  2.63k|        ERROR_UNLESS(IsBlockType(sig_type),
  ------------------
  |  |   53|  2.63k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  2.63k|  do {                      \
  |  |  |  |   48|  2.63k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 39, False: 2.60k]
  |  |  |  |  ------------------
  |  |  |  |   49|     39|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     39|  do {                       \
  |  |  |  |  |  |   42|     39|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     39|    return Result::Error;    \
  |  |  |  |  |  |   44|     39|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     39|    }                       \
  |  |  |  |   51|  2.63k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1541|  2.60k|                     "expected valid block signature type");
 1542|  2.60k|        Index count;
 1543|  2.60k|        CHECK_RESULT(ReadCount(&count, "catch count"));
  ------------------
  |  |   55|  2.60k|  do {                              \
  |  |   56|  2.60k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 65, False: 2.53k]
  |  |  ------------------
  |  |   57|     65|      return ::wabt::Result::Error; \
  |  |   58|     65|    }                               \
  |  |   59|  2.60k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1544|       |
 1545|  2.53k|        catches_.resize(count);
 1546|  6.80k|        for (Index i = 0; i < count; i++) {
  ------------------
  |  Branch (1546:27): [True: 4.52k, False: 2.28k]
  ------------------
 1547|  4.52k|          uint8_t handler;
 1548|  4.52k|          CHECK_RESULT(ReadU8(&handler, "catch handler"));
  ------------------
  |  |   55|  4.52k|  do {                              \
  |  |   56|  4.52k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 23, False: 4.49k]
  |  |  ------------------
  |  |   57|     23|      return ::wabt::Result::Error; \
  |  |   58|     23|    }                               \
  |  |   59|  4.52k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1549|  4.49k|          ERROR_UNLESS(handler < 4, "expected valid catch handler");
  ------------------
  |  |   53|  4.49k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  4.49k|  do {                      \
  |  |  |  |   48|  4.49k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 151, False: 4.34k]
  |  |  |  |  ------------------
  |  |  |  |   49|    151|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    151|  do {                       \
  |  |  |  |  |  |   42|    151|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    151|    return Result::Error;    \
  |  |  |  |  |  |   44|    151|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    151|    }                       \
  |  |  |  |   51|  4.49k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1550|  4.34k|          bool is_catch_all = handler & 2;
 1551|  4.34k|          Index tag = kInvalidIndex;
 1552|  4.34k|          if (!(is_catch_all)) {
  ------------------
  |  Branch (1552:15): [True: 3.76k, False: 583]
  ------------------
 1553|  3.76k|            CHECK_RESULT(ReadIndex(&tag, "catch tag"));
  ------------------
  |  |   55|  3.76k|  do {                              \
  |  |   56|  3.76k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 20, False: 3.74k]
  |  |  ------------------
  |  |   57|     20|      return ::wabt::Result::Error; \
  |  |   58|     20|    }                               \
  |  |   59|  3.76k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1554|  3.76k|          }
 1555|  4.32k|          Index depth;
 1556|  4.32k|          CHECK_RESULT(ReadIndex(&depth, "catch depth"));
  ------------------
  |  |   55|  4.32k|  do {                              \
  |  |   56|  4.32k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 52, False: 4.27k]
  |  |  ------------------
  |  |   57|     52|      return ::wabt::Result::Error; \
  |  |   58|     52|    }                               \
  |  |   59|  4.32k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1557|  4.27k|          CatchClause catch_;
 1558|  4.27k|          catch_.kind = CatchKind(handler);
 1559|  4.27k|          catch_.tag = tag;
 1560|  4.27k|          catch_.depth = depth;
 1561|  4.27k|          catches_[i] = catch_;
 1562|  4.27k|        }
 1563|       |
 1564|  2.28k|        CALLBACK(OnTryTableExpr, sig_type, catches_);
  ------------------
  |  |   66|  2.28k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.28k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.28k|  do {                      \
  |  |  |  |  |  |   48|  2.28k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.28k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.28k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.28k|               #member " callback failed")
  ------------------
 1565|  2.28k|        break;
 1566|  2.28k|      }
 1567|       |
 1568|  5.01k|      case Opcode::Catch: {
  ------------------
  |  Branch (1568:7): [True: 5.01k, False: 3.16M]
  ------------------
 1569|  5.01k|        Index index;
 1570|  5.01k|        CHECK_RESULT(ReadIndex(&index, "tag index"));
  ------------------
  |  |   55|  5.01k|  do {                              \
  |  |   56|  5.01k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 66, False: 4.94k]
  |  |  ------------------
  |  |   57|     66|      return ::wabt::Result::Error; \
  |  |   58|     66|    }                               \
  |  |   59|  5.01k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1571|  4.94k|        CALLBACK(OnCatchExpr, index);
  ------------------
  |  |   66|  4.94k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.94k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.94k|  do {                      \
  |  |  |  |  |  |   48|  4.94k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.94k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.94k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.94k|               #member " callback failed")
  ------------------
 1572|  4.94k|        CALLBACK(OnOpcodeIndex, index);
  ------------------
  |  |   66|  4.94k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.94k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.94k|  do {                      \
  |  |  |  |  |  |   48|  4.94k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.94k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.94k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.94k|               #member " callback failed")
  ------------------
 1573|  4.94k|        break;
 1574|  4.94k|      }
 1575|       |
 1576|  4.94k|      case Opcode::CatchAll: {
  ------------------
  |  Branch (1576:7): [True: 4.59k, False: 3.16M]
  ------------------
 1577|  4.59k|        CALLBACK(OnCatchAllExpr);
  ------------------
  |  |   66|  4.59k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.59k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.59k|  do {                      \
  |  |  |  |  |  |   48|  4.59k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.59k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.59k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.59k|               #member " callback failed")
  ------------------
 1578|  4.59k|        CALLBACK(OnOpcodeBare);
  ------------------
  |  |   66|  4.59k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.59k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.59k|  do {                      \
  |  |  |  |  |  |   48|  4.59k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.59k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.59k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.59k|               #member " callback failed")
  ------------------
 1579|  4.59k|        break;
 1580|  4.59k|      }
 1581|       |
 1582|  14.0k|      case Opcode::Delegate: {
  ------------------
  |  Branch (1582:7): [True: 14.0k, False: 3.15M]
  ------------------
 1583|  14.0k|        ERROR_IF(nested_blocks.empty() || (nested_blocks.top() != Opcode::Try),
  ------------------
  |  |   47|  14.0k|  do {                      \
  |  |   48|  42.0k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 83, False: 13.9k]
  |  |  |  Branch (48:9): [True: 72, False: 13.9k]
  |  |  ------------------
  |  |   49|    155|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|    155|  do {                       \
  |  |  |  |   42|    155|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|    155|    return Result::Error;    \
  |  |  |  |   44|    155|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|    155|    }                       \
  |  |   51|  14.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1584|  14.0k|                 "delegate outside try block");
 1585|  13.9k|        nested_blocks.pop();
 1586|  13.9k|        Index index;
 1587|  13.9k|        CHECK_RESULT(ReadIndex(&index, "depth"));
  ------------------
  |  |   55|  13.9k|  do {                              \
  |  |   56|  13.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 28, False: 13.8k]
  |  |  ------------------
  |  |   57|     28|      return ::wabt::Result::Error; \
  |  |   58|     28|    }                               \
  |  |   59|  13.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1588|  13.8k|        CALLBACK(OnDelegateExpr, index);
  ------------------
  |  |   66|  13.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  13.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  13.8k|  do {                      \
  |  |  |  |  |  |   48|  13.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 13.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  13.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  13.8k|               #member " callback failed")
  ------------------
 1589|  13.8k|        CALLBACK(OnOpcodeIndex, index);
  ------------------
  |  |   66|  13.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  13.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  13.8k|  do {                      \
  |  |  |  |  |  |   48|  13.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 13.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  13.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  13.8k|               #member " callback failed")
  ------------------
 1590|  13.8k|        break;
 1591|  13.8k|      }
 1592|       |
 1593|  23.9k|      case Opcode::Rethrow: {
  ------------------
  |  Branch (1593:7): [True: 23.9k, False: 3.14M]
  ------------------
 1594|  23.9k|        Index depth;
 1595|  23.9k|        CHECK_RESULT(ReadIndex(&depth, "catch depth"));
  ------------------
  |  |   55|  23.9k|  do {                              \
  |  |   56|  23.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 132, False: 23.8k]
  |  |  ------------------
  |  |   57|    132|      return ::wabt::Result::Error; \
  |  |   58|    132|    }                               \
  |  |   59|  23.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1596|  23.8k|        CALLBACK(OnRethrowExpr, depth);
  ------------------
  |  |   66|  23.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  23.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  23.8k|  do {                      \
  |  |  |  |  |  |   48|  23.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 23.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  23.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  23.8k|               #member " callback failed")
  ------------------
 1597|  23.8k|        CALLBACK(OnOpcodeIndex, depth);
  ------------------
  |  |   66|  23.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  23.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  23.8k|  do {                      \
  |  |  |  |  |  |   48|  23.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 23.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  23.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  23.8k|               #member " callback failed")
  ------------------
 1598|  23.8k|        break;
 1599|  23.8k|      }
 1600|       |
 1601|  23.8k|      case Opcode::Throw: {
  ------------------
  |  Branch (1601:7): [True: 11.0k, False: 3.15M]
  ------------------
 1602|  11.0k|        Index index;
 1603|  11.0k|        CHECK_RESULT(ReadIndex(&index, "tag index"));
  ------------------
  |  |   55|  11.0k|  do {                              \
  |  |   56|  11.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 87, False: 10.9k]
  |  |  ------------------
  |  |   57|     87|      return ::wabt::Result::Error; \
  |  |   58|     87|    }                               \
  |  |   59|  11.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1604|  10.9k|        CALLBACK(OnThrowExpr, index);
  ------------------
  |  |   66|  10.9k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  10.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.9k|  do {                      \
  |  |  |  |  |  |   48|  10.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  10.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.9k|               #member " callback failed")
  ------------------
 1605|  10.9k|        CALLBACK(OnOpcodeIndex, index);
  ------------------
  |  |   66|  10.9k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  10.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.9k|  do {                      \
  |  |  |  |  |  |   48|  10.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  10.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.9k|               #member " callback failed")
  ------------------
 1606|  10.9k|        break;
 1607|  10.9k|      }
 1608|       |
 1609|  10.9k|      case Opcode::ThrowRef: {
  ------------------
  |  Branch (1609:7): [True: 6.52k, False: 3.16M]
  ------------------
 1610|  6.52k|        CALLBACK(OnThrowRefExpr);
  ------------------
  |  |   66|  6.52k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.52k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.52k|  do {                      \
  |  |  |  |  |  |   48|  6.52k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.52k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.52k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.52k|               #member " callback failed")
  ------------------
 1611|  6.52k|        CALLBACK(OnOpcodeBare);
  ------------------
  |  |   66|  6.52k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.52k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.52k|  do {                      \
  |  |  |  |  |  |   48|  6.52k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.52k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.52k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.52k|               #member " callback failed")
  ------------------
 1612|  6.52k|        break;
 1613|  6.52k|      }
 1614|       |
 1615|  6.52k|      case Opcode::I32Extend8S:
  ------------------
  |  Branch (1615:7): [True: 4.15k, False: 3.16M]
  ------------------
 1616|  6.55k|      case Opcode::I32Extend16S:
  ------------------
  |  Branch (1616:7): [True: 2.39k, False: 3.16M]
  ------------------
 1617|  7.31k|      case Opcode::I64Extend8S:
  ------------------
  |  Branch (1617:7): [True: 757, False: 3.16M]
  ------------------
 1618|  8.22k|      case Opcode::I64Extend16S:
  ------------------
  |  Branch (1618:7): [True: 910, False: 3.16M]
  ------------------
 1619|  9.54k|      case Opcode::I64Extend32S:
  ------------------
  |  Branch (1619:7): [True: 1.32k, False: 3.16M]
  ------------------
 1620|  9.54k|        CALLBACK(OnUnaryExpr, opcode);
  ------------------
  |  |   66|  9.54k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  9.54k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  9.54k|  do {                      \
  |  |  |  |  |  |   48|  9.54k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 9.54k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  9.54k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  9.54k|               #member " callback failed")
  ------------------
 1621|  9.54k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  9.54k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  9.54k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  9.54k|  do {                      \
  |  |  |  |  |  |   48|  9.54k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 9.54k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  9.54k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1622|  9.54k|        break;
 1623|       |
 1624|  9.54k|      case Opcode::I32TruncSatF32S:
  ------------------
  |  Branch (1624:7): [True: 3.36k, False: 3.16M]
  ------------------
 1625|  3.70k|      case Opcode::I32TruncSatF32U:
  ------------------
  |  Branch (1625:7): [True: 336, False: 3.16M]
  ------------------
 1626|  3.88k|      case Opcode::I32TruncSatF64S:
  ------------------
  |  Branch (1626:7): [True: 186, False: 3.16M]
  ------------------
 1627|  4.08k|      case Opcode::I32TruncSatF64U:
  ------------------
  |  Branch (1627:7): [True: 197, False: 3.16M]
  ------------------
 1628|  4.70k|      case Opcode::I64TruncSatF32S:
  ------------------
  |  Branch (1628:7): [True: 625, False: 3.16M]
  ------------------
 1629|  5.01k|      case Opcode::I64TruncSatF32U:
  ------------------
  |  Branch (1629:7): [True: 304, False: 3.16M]
  ------------------
 1630|  5.13k|      case Opcode::I64TruncSatF64S:
  ------------------
  |  Branch (1630:7): [True: 120, False: 3.16M]
  ------------------
 1631|  6.63k|      case Opcode::I64TruncSatF64U:
  ------------------
  |  Branch (1631:7): [True: 1.50k, False: 3.16M]
  ------------------
 1632|  6.63k|        CALLBACK(OnConvertExpr, opcode);
  ------------------
  |  |   66|  6.63k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.63k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.63k|  do {                      \
  |  |  |  |  |  |   48|  6.63k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.63k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.63k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.63k|               #member " callback failed")
  ------------------
 1633|  6.63k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  6.63k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  6.63k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.63k|  do {                      \
  |  |  |  |  |  |   48|  6.63k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.63k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.63k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1634|  6.63k|        break;
 1635|       |
 1636|  6.63k|      case Opcode::MemoryAtomicNotify: {
  ------------------
  |  Branch (1636:7): [True: 1.00k, False: 3.16M]
  ------------------
 1637|  1.00k|        Address alignment_log2;
 1638|  1.00k|        Index memidx;
 1639|  1.00k|        Address offset;
 1640|  1.00k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  1.00k|  do {                              \
  |  |   56|  1.00k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 33, False: 969]
  |  |  ------------------
  |  |   57|     33|      return ::wabt::Result::Error; \
  |  |   58|     33|    }                               \
  |  |   59|  1.00k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1641|  1.00k|                                     "notify alignment", "notify memidx",
 1642|  1.00k|                                     "notify offset"));
 1643|    969|        CALLBACK(OnAtomicNotifyExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|    969|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    969|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    969|  do {                      \
  |  |  |  |  |  |   48|    969|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 969]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    969|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    969|               #member " callback failed")
  ------------------
 1644|    969|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|    969|  do {                              \
  |  |   56|    969|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 969]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|    969|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1645|    969|        break;
 1646|    969|      }
 1647|       |
 1648|    969|      case Opcode::MemoryAtomicWait32:
  ------------------
  |  Branch (1648:7): [True: 469, False: 3.16M]
  ------------------
 1649|    632|      case Opcode::MemoryAtomicWait64: {
  ------------------
  |  Branch (1649:7): [True: 163, False: 3.16M]
  ------------------
 1650|    632|        Address alignment_log2;
 1651|    632|        Index memidx;
 1652|    632|        Address offset;
 1653|    632|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|    632|  do {                              \
  |  |   56|    632|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 37, False: 595]
  |  |  ------------------
  |  |   57|     37|      return ::wabt::Result::Error; \
  |  |   58|     37|    }                               \
  |  |   59|    632|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1654|    632|                                     "wait alignment", "wait memidx",
 1655|    632|                                     "wait offset"));
 1656|    595|        CALLBACK(OnAtomicWaitExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|    595|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    595|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    595|  do {                      \
  |  |  |  |  |  |   48|    595|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 595]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    595|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    595|               #member " callback failed")
  ------------------
 1657|    595|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|    595|  do {                              \
  |  |   56|    595|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 595]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|    595|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1658|    595|        break;
 1659|    595|      }
 1660|       |
 1661|    595|      case Opcode::AtomicFence: {
  ------------------
  |  Branch (1661:7): [True: 240, False: 3.16M]
  ------------------
 1662|    240|        uint8_t consistency_model;
 1663|    240|        CHECK_RESULT(ReadU8(&consistency_model, "consistency model"));
  ------------------
  |  |   55|    240|  do {                              \
  |  |   56|    240|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7, False: 233]
  |  |  ------------------
  |  |   57|      7|      return ::wabt::Result::Error; \
  |  |   58|      7|    }                               \
  |  |   59|    240|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1664|    233|        ERROR_UNLESS(consistency_model == 0,
  ------------------
  |  |   53|    233|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    233|  do {                      \
  |  |  |  |   48|    233|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 33, False: 200]
  |  |  |  |  ------------------
  |  |  |  |   49|     33|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     33|  do {                       \
  |  |  |  |  |  |   42|     33|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     33|    return Result::Error;    \
  |  |  |  |  |  |   44|     33|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     33|    }                       \
  |  |  |  |   51|    233|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1665|    200|                     "atomic.fence consistency model must be 0");
 1666|    200|        CALLBACK(OnAtomicFenceExpr, consistency_model);
  ------------------
  |  |   66|    200|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    200|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    200|  do {                      \
  |  |  |  |  |  |   48|    200|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 200]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    200|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    200|               #member " callback failed")
  ------------------
 1667|    200|        CALLBACK(OnOpcodeUint32, consistency_model);
  ------------------
  |  |   66|    200|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    200|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    200|  do {                      \
  |  |  |  |  |  |   48|    200|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 200]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    200|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    200|               #member " callback failed")
  ------------------
 1668|    200|        break;
 1669|    200|      }
 1670|       |
 1671|    200|      case Opcode::I32AtomicLoad8U:
  ------------------
  |  Branch (1671:7): [True: 92, False: 3.16M]
  ------------------
 1672|    312|      case Opcode::I32AtomicLoad16U:
  ------------------
  |  Branch (1672:7): [True: 220, False: 3.16M]
  ------------------
 1673|    423|      case Opcode::I64AtomicLoad8U:
  ------------------
  |  Branch (1673:7): [True: 111, False: 3.16M]
  ------------------
 1674|    715|      case Opcode::I64AtomicLoad16U:
  ------------------
  |  Branch (1674:7): [True: 292, False: 3.16M]
  ------------------
 1675|    807|      case Opcode::I64AtomicLoad32U:
  ------------------
  |  Branch (1675:7): [True: 92, False: 3.16M]
  ------------------
 1676|    887|      case Opcode::I32AtomicLoad:
  ------------------
  |  Branch (1676:7): [True: 80, False: 3.16M]
  ------------------
 1677|    989|      case Opcode::I64AtomicLoad: {
  ------------------
  |  Branch (1677:7): [True: 102, False: 3.16M]
  ------------------
 1678|    989|        Address alignment_log2;
 1679|    989|        Index memidx;
 1680|    989|        Address offset;
 1681|    989|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|    989|  do {                              \
  |  |   56|    989|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 62, False: 927]
  |  |  ------------------
  |  |   57|     62|      return ::wabt::Result::Error; \
  |  |   58|     62|    }                               \
  |  |   59|    989|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1682|    989|                                     "load alignment", "load memidx",
 1683|    989|                                     "load offset"));
 1684|    927|        CALLBACK(OnAtomicLoadExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|    927|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    927|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    927|  do {                      \
  |  |  |  |  |  |   48|    927|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 927]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    927|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    927|               #member " callback failed")
  ------------------
 1685|    927|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|    927|  do {                              \
  |  |   56|    927|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 927]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|    927|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1686|    927|        break;
 1687|    927|      }
 1688|       |
 1689|    927|      case Opcode::I32AtomicStore8:
  ------------------
  |  Branch (1689:7): [True: 253, False: 3.16M]
  ------------------
 1690|    407|      case Opcode::I32AtomicStore16:
  ------------------
  |  Branch (1690:7): [True: 154, False: 3.16M]
  ------------------
 1691|    493|      case Opcode::I64AtomicStore8:
  ------------------
  |  Branch (1691:7): [True: 86, False: 3.16M]
  ------------------
 1692|  1.11k|      case Opcode::I64AtomicStore16:
  ------------------
  |  Branch (1692:7): [True: 622, False: 3.16M]
  ------------------
 1693|  1.25k|      case Opcode::I64AtomicStore32:
  ------------------
  |  Branch (1693:7): [True: 136, False: 3.16M]
  ------------------
 1694|  1.35k|      case Opcode::I32AtomicStore:
  ------------------
  |  Branch (1694:7): [True: 106, False: 3.16M]
  ------------------
 1695|  1.43k|      case Opcode::I64AtomicStore: {
  ------------------
  |  Branch (1695:7): [True: 76, False: 3.16M]
  ------------------
 1696|  1.43k|        Address alignment_log2;
 1697|  1.43k|        Index memidx;
 1698|  1.43k|        Address offset;
 1699|  1.43k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  1.43k|  do {                              \
  |  |   56|  1.43k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 68, False: 1.36k]
  |  |  ------------------
  |  |   57|     68|      return ::wabt::Result::Error; \
  |  |   58|     68|    }                               \
  |  |   59|  1.43k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1700|  1.43k|                                     "store alignment", "store memidx",
 1701|  1.43k|                                     "store offset"));
 1702|  1.36k|        CALLBACK(OnAtomicStoreExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  1.36k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.36k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.36k|  do {                      \
  |  |  |  |  |  |   48|  1.36k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.36k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.36k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.36k|               #member " callback failed")
  ------------------
 1703|  1.36k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  1.36k|  do {                              \
  |  |   56|  1.36k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 1.36k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  1.36k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1704|  1.36k|        break;
 1705|  1.36k|      }
 1706|       |
 1707|  1.36k|      case Opcode::I32AtomicRmwAdd:
  ------------------
  |  Branch (1707:7): [True: 101, False: 3.16M]
  ------------------
 1708|    153|      case Opcode::I64AtomicRmwAdd:
  ------------------
  |  Branch (1708:7): [True: 52, False: 3.16M]
  ------------------
 1709|    234|      case Opcode::I32AtomicRmw8AddU:
  ------------------
  |  Branch (1709:7): [True: 81, False: 3.16M]
  ------------------
 1710|    345|      case Opcode::I32AtomicRmw16AddU:
  ------------------
  |  Branch (1710:7): [True: 111, False: 3.16M]
  ------------------
 1711|    485|      case Opcode::I64AtomicRmw8AddU:
  ------------------
  |  Branch (1711:7): [True: 140, False: 3.16M]
  ------------------
 1712|    584|      case Opcode::I64AtomicRmw16AddU:
  ------------------
  |  Branch (1712:7): [True: 99, False: 3.16M]
  ------------------
 1713|    741|      case Opcode::I64AtomicRmw32AddU:
  ------------------
  |  Branch (1713:7): [True: 157, False: 3.16M]
  ------------------
 1714|    886|      case Opcode::I32AtomicRmwSub:
  ------------------
  |  Branch (1714:7): [True: 145, False: 3.16M]
  ------------------
 1715|  1.32k|      case Opcode::I64AtomicRmwSub:
  ------------------
  |  Branch (1715:7): [True: 441, False: 3.16M]
  ------------------
 1716|  1.46k|      case Opcode::I32AtomicRmw8SubU:
  ------------------
  |  Branch (1716:7): [True: 137, False: 3.16M]
  ------------------
 1717|  1.65k|      case Opcode::I32AtomicRmw16SubU:
  ------------------
  |  Branch (1717:7): [True: 194, False: 3.16M]
  ------------------
 1718|  1.74k|      case Opcode::I64AtomicRmw8SubU:
  ------------------
  |  Branch (1718:7): [True: 82, False: 3.16M]
  ------------------
 1719|  2.91k|      case Opcode::I64AtomicRmw16SubU:
  ------------------
  |  Branch (1719:7): [True: 1.17k, False: 3.16M]
  ------------------
 1720|  3.03k|      case Opcode::I64AtomicRmw32SubU:
  ------------------
  |  Branch (1720:7): [True: 116, False: 3.16M]
  ------------------
 1721|  3.14k|      case Opcode::I32AtomicRmwAnd:
  ------------------
  |  Branch (1721:7): [True: 108, False: 3.16M]
  ------------------
 1722|  3.25k|      case Opcode::I64AtomicRmwAnd:
  ------------------
  |  Branch (1722:7): [True: 117, False: 3.16M]
  ------------------
 1723|  4.59k|      case Opcode::I32AtomicRmw8AndU:
  ------------------
  |  Branch (1723:7): [True: 1.33k, False: 3.16M]
  ------------------
 1724|  4.77k|      case Opcode::I32AtomicRmw16AndU:
  ------------------
  |  Branch (1724:7): [True: 178, False: 3.16M]
  ------------------
 1725|  5.67k|      case Opcode::I64AtomicRmw8AndU:
  ------------------
  |  Branch (1725:7): [True: 900, False: 3.16M]
  ------------------
 1726|  5.85k|      case Opcode::I64AtomicRmw16AndU:
  ------------------
  |  Branch (1726:7): [True: 183, False: 3.16M]
  ------------------
 1727|  5.98k|      case Opcode::I64AtomicRmw32AndU:
  ------------------
  |  Branch (1727:7): [True: 124, False: 3.16M]
  ------------------
 1728|  6.11k|      case Opcode::I32AtomicRmwOr:
  ------------------
  |  Branch (1728:7): [True: 131, False: 3.16M]
  ------------------
 1729|  6.34k|      case Opcode::I64AtomicRmwOr:
  ------------------
  |  Branch (1729:7): [True: 234, False: 3.16M]
  ------------------
 1730|  6.44k|      case Opcode::I32AtomicRmw8OrU:
  ------------------
  |  Branch (1730:7): [True: 101, False: 3.16M]
  ------------------
 1731|  6.55k|      case Opcode::I32AtomicRmw16OrU:
  ------------------
  |  Branch (1731:7): [True: 104, False: 3.16M]
  ------------------
 1732|  6.66k|      case Opcode::I64AtomicRmw8OrU:
  ------------------
  |  Branch (1732:7): [True: 116, False: 3.16M]
  ------------------
 1733|  6.78k|      case Opcode::I64AtomicRmw16OrU:
  ------------------
  |  Branch (1733:7): [True: 118, False: 3.16M]
  ------------------
 1734|  6.90k|      case Opcode::I64AtomicRmw32OrU:
  ------------------
  |  Branch (1734:7): [True: 114, False: 3.16M]
  ------------------
 1735|  6.99k|      case Opcode::I32AtomicRmwXor:
  ------------------
  |  Branch (1735:7): [True: 91, False: 3.16M]
  ------------------
 1736|  7.32k|      case Opcode::I64AtomicRmwXor:
  ------------------
  |  Branch (1736:7): [True: 331, False: 3.16M]
  ------------------
 1737|  7.41k|      case Opcode::I32AtomicRmw8XorU:
  ------------------
  |  Branch (1737:7): [True: 91, False: 3.16M]
  ------------------
 1738|  7.52k|      case Opcode::I32AtomicRmw16XorU:
  ------------------
  |  Branch (1738:7): [True: 112, False: 3.16M]
  ------------------
 1739|  7.66k|      case Opcode::I64AtomicRmw8XorU:
  ------------------
  |  Branch (1739:7): [True: 136, False: 3.16M]
  ------------------
 1740|  7.94k|      case Opcode::I64AtomicRmw16XorU:
  ------------------
  |  Branch (1740:7): [True: 278, False: 3.16M]
  ------------------
 1741|  8.48k|      case Opcode::I64AtomicRmw32XorU:
  ------------------
  |  Branch (1741:7): [True: 547, False: 3.16M]
  ------------------
 1742|  8.67k|      case Opcode::I32AtomicRmwXchg:
  ------------------
  |  Branch (1742:7): [True: 192, False: 3.16M]
  ------------------
 1743|  8.77k|      case Opcode::I64AtomicRmwXchg:
  ------------------
  |  Branch (1743:7): [True: 97, False: 3.16M]
  ------------------
 1744|  8.90k|      case Opcode::I32AtomicRmw8XchgU:
  ------------------
  |  Branch (1744:7): [True: 131, False: 3.16M]
  ------------------
 1745|  9.03k|      case Opcode::I32AtomicRmw16XchgU:
  ------------------
  |  Branch (1745:7): [True: 125, False: 3.16M]
  ------------------
 1746|  9.21k|      case Opcode::I64AtomicRmw8XchgU:
  ------------------
  |  Branch (1746:7): [True: 183, False: 3.16M]
  ------------------
 1747|  9.30k|      case Opcode::I64AtomicRmw16XchgU:
  ------------------
  |  Branch (1747:7): [True: 85, False: 3.16M]
  ------------------
 1748|  9.43k|      case Opcode::I64AtomicRmw32XchgU: {
  ------------------
  |  Branch (1748:7): [True: 132, False: 3.16M]
  ------------------
 1749|  9.43k|        Address alignment_log2;
 1750|  9.43k|        Index memidx;
 1751|  9.43k|        Address offset;
 1752|  9.43k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  9.43k|  do {                              \
  |  |   56|  9.43k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 462, False: 8.97k]
  |  |  ------------------
  |  |   57|    462|      return ::wabt::Result::Error; \
  |  |   58|    462|    }                               \
  |  |   59|  9.43k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1753|  9.43k|                                     "memory alignment", "memory memidx",
 1754|  9.43k|                                     "memory offset"));
 1755|  8.97k|        CALLBACK(OnAtomicRmwExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  8.97k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.97k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.97k|  do {                      \
  |  |  |  |  |  |   48|  8.97k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.97k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  8.97k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.97k|               #member " callback failed")
  ------------------
 1756|  8.97k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  8.97k|  do {                              \
  |  |   56|  8.97k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 8.97k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  8.97k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1757|  8.97k|        break;
 1758|  8.97k|      }
 1759|       |
 1760|  8.97k|      case Opcode::I32AtomicRmwCmpxchg:
  ------------------
  |  Branch (1760:7): [True: 351, False: 3.16M]
  ------------------
 1761|    733|      case Opcode::I64AtomicRmwCmpxchg:
  ------------------
  |  Branch (1761:7): [True: 382, False: 3.16M]
  ------------------
 1762|    826|      case Opcode::I32AtomicRmw8CmpxchgU:
  ------------------
  |  Branch (1762:7): [True: 93, False: 3.16M]
  ------------------
 1763|    975|      case Opcode::I32AtomicRmw16CmpxchgU:
  ------------------
  |  Branch (1763:7): [True: 149, False: 3.16M]
  ------------------
 1764|  1.12k|      case Opcode::I64AtomicRmw8CmpxchgU:
  ------------------
  |  Branch (1764:7): [True: 151, False: 3.16M]
  ------------------
 1765|  1.21k|      case Opcode::I64AtomicRmw16CmpxchgU:
  ------------------
  |  Branch (1765:7): [True: 93, False: 3.16M]
  ------------------
 1766|  1.37k|      case Opcode::I64AtomicRmw32CmpxchgU: {
  ------------------
  |  Branch (1766:7): [True: 156, False: 3.16M]
  ------------------
 1767|  1.37k|        Address alignment_log2;
 1768|  1.37k|        Index memidx;
 1769|  1.37k|        Address offset;
 1770|  1.37k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  1.37k|  do {                              \
  |  |   56|  1.37k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 90, False: 1.28k]
  |  |  ------------------
  |  |   57|     90|      return ::wabt::Result::Error; \
  |  |   58|     90|    }                               \
  |  |   59|  1.37k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1771|  1.37k|                                     "memory alignment", "memory memidx",
 1772|  1.37k|                                     "memory offset"));
 1773|  1.28k|        CALLBACK(OnAtomicRmwCmpxchgExpr, opcode, memidx, alignment_log2,
  ------------------
  |  |   66|  1.28k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.28k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.28k|  do {                      \
  |  |  |  |  |  |   48|  1.28k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.28k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  1.28k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.28k|               #member " callback failed")
  ------------------
 1774|  1.28k|                 offset);
 1775|  1.28k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  1.28k|  do {                              \
  |  |   56|  1.28k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 1.28k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  1.28k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1776|  1.28k|        break;
 1777|  1.28k|      }
 1778|       |
 1779|  1.28k|      case Opcode::TableInit: {
  ------------------
  |  Branch (1779:7): [True: 995, False: 3.16M]
  ------------------
 1780|    995|        Index segment;
 1781|    995|        CHECK_RESULT(ReadIndex(&segment, "elem segment index"));
  ------------------
  |  |   55|    995|  do {                              \
  |  |   56|    995|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 989]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|    995|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1782|    989|        Index table_index;
 1783|    989|        CHECK_RESULT(ReadIndex(&table_index, "reserved table index"));
  ------------------
  |  |   55|    989|  do {                              \
  |  |   56|    989|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7, False: 982]
  |  |  ------------------
  |  |   57|      7|      return ::wabt::Result::Error; \
  |  |   58|      7|    }                               \
  |  |   59|    989|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1784|    982|        CALLBACK(OnTableInitExpr, segment, table_index);
  ------------------
  |  |   66|    982|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    982|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    982|  do {                      \
  |  |  |  |  |  |   48|    982|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 982]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    982|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    982|               #member " callback failed")
  ------------------
 1785|    982|        CALLBACK(OnOpcodeUint32Uint32, segment, table_index);
  ------------------
  |  |   66|    982|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    982|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    982|  do {                      \
  |  |  |  |  |  |   48|    982|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 982]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    982|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    982|               #member " callback failed")
  ------------------
 1786|    982|        break;
 1787|    982|      }
 1788|       |
 1789|    982|      case Opcode::MemoryInit: {
  ------------------
  |  Branch (1789:7): [True: 101, False: 3.16M]
  ------------------
 1790|    101|        Index segment;
 1791|    101|        ERROR_IF(data_count_ == kInvalidIndex,
  ------------------
  |  |   47|    101|  do {                      \
  |  |   48|    101|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 16, False: 85]
  |  |  ------------------
  |  |   49|     16|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     16|  do {                       \
  |  |  |  |   42|     16|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     16|    return Result::Error;    \
  |  |  |  |   44|     16|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     16|    }                       \
  |  |   51|    101|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1792|    101|                 "memory.init requires data count section");
 1793|     85|        CHECK_RESULT(ReadIndex(&segment, "elem segment index"));
  ------------------
  |  |   55|     85|  do {                              \
  |  |   56|     85|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 11, False: 74]
  |  |  ------------------
  |  |   57|     11|      return ::wabt::Result::Error; \
  |  |   58|     11|    }                               \
  |  |   59|     85|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1794|     74|        Index memidx = 0;
 1795|     74|        if (!options_.features.multi_memory_enabled()) {
  ------------------
  |  Branch (1795:13): [True: 0, False: 74]
  ------------------
 1796|      0|          uint8_t reserved;
 1797|      0|          CHECK_RESULT(ReadU8(&reserved, "reserved memory index"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1798|      0|          ERROR_UNLESS(reserved == 0, "reserved value must be 0");
  ------------------
  |  |   53|      0|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|      0|  do {                      \
  |  |  |  |   48|      0|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1799|     74|        } else {
 1800|     74|          CHECK_RESULT(ReadMemidx(&memidx, "memory.init memidx"));
  ------------------
  |  |   55|     74|  do {                              \
  |  |   56|     74|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 68]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|     74|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1801|     74|        }
 1802|     68|        CALLBACK(OnMemoryInitExpr, segment, memidx);
  ------------------
  |  |   66|     68|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     68|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     68|  do {                      \
  |  |  |  |  |  |   48|     68|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 68]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     68|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     68|               #member " callback failed")
  ------------------
 1803|     68|        CALLBACK(OnOpcodeUint32Uint32, segment, memidx);
  ------------------
  |  |   66|     68|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     68|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     68|  do {                      \
  |  |  |  |  |  |   48|     68|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 68]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     68|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     68|               #member " callback failed")
  ------------------
 1804|     68|        break;
 1805|     68|      }
 1806|       |
 1807|     75|      case Opcode::DataDrop:
  ------------------
  |  Branch (1807:7): [True: 75, False: 3.16M]
  ------------------
 1808|     75|        ERROR_IF(data_count_ == kInvalidIndex,
  ------------------
  |  |   47|     75|  do {                      \
  |  |   48|     75|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 16, False: 59]
  |  |  ------------------
  |  |   49|     16|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     16|  do {                       \
  |  |  |  |   42|     16|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     16|    return Result::Error;    \
  |  |  |  |   44|     16|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     16|    }                       \
  |  |   51|     75|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1809|     75|                 "data.drop requires data count section");
 1810|     59|        [[fallthrough]];
 1811|    218|      case Opcode::ElemDrop: {
  ------------------
  |  Branch (1811:7): [True: 159, False: 3.16M]
  ------------------
 1812|    218|        Index segment;
 1813|    218|        CHECK_RESULT(ReadIndex(&segment, "segment index"));
  ------------------
  |  |   55|    218|  do {                              \
  |  |   56|    218|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 8, False: 210]
  |  |  ------------------
  |  |   57|      8|      return ::wabt::Result::Error; \
  |  |   58|      8|    }                               \
  |  |   59|    218|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1814|    210|        if (opcode == Opcode::DataDrop) {
  ------------------
  |  Branch (1814:13): [True: 57, False: 153]
  ------------------
 1815|     57|          CALLBACK(OnDataDropExpr, segment);
  ------------------
  |  |   66|     57|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     57|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     57|  do {                      \
  |  |  |  |  |  |   48|     57|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 57]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     57|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     57|               #member " callback failed")
  ------------------
 1816|    153|        } else {
 1817|    153|          CALLBACK(OnElemDropExpr, segment);
  ------------------
  |  |   66|    153|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    153|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    153|  do {                      \
  |  |  |  |  |  |   48|    153|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 153]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    153|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    153|               #member " callback failed")
  ------------------
 1818|    153|        }
 1819|    210|        CALLBACK(OnOpcodeUint32, segment);
  ------------------
  |  |   66|    210|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    210|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    210|  do {                      \
  |  |  |  |  |  |   48|    210|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 210]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    210|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    210|               #member " callback failed")
  ------------------
 1820|    210|        break;
 1821|    210|      }
 1822|       |
 1823|  12.5k|      case Opcode::MemoryFill: {
  ------------------
  |  Branch (1823:7): [True: 12.5k, False: 3.15M]
  ------------------
 1824|  12.5k|        Index memidx = 0;
 1825|  12.5k|        if (!options_.features.multi_memory_enabled()) {
  ------------------
  |  Branch (1825:13): [True: 0, False: 12.5k]
  ------------------
 1826|      0|          uint8_t reserved;
 1827|      0|          CHECK_RESULT(ReadU8(&reserved, "memory.fill reserved"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1828|      0|          ERROR_UNLESS(reserved == 0, "memory.fill reserved value must be 0");
  ------------------
  |  |   53|      0|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|      0|  do {                      \
  |  |  |  |   48|      0|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1829|  12.5k|        } else {
 1830|  12.5k|          CHECK_RESULT(ReadMemidx(&memidx, "memory.fill memidx"));
  ------------------
  |  |   55|  12.5k|  do {                              \
  |  |   56|  12.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 21, False: 12.5k]
  |  |  ------------------
  |  |   57|     21|      return ::wabt::Result::Error; \
  |  |   58|     21|    }                               \
  |  |   59|  12.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1831|  12.5k|        }
 1832|  12.5k|        CALLBACK(OnMemoryFillExpr, memidx);
  ------------------
  |  |   66|  12.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  12.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  12.5k|  do {                      \
  |  |  |  |  |  |   48|  12.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 12.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  12.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  12.5k|               #member " callback failed")
  ------------------
 1833|  12.5k|        CALLBACK(OnOpcodeUint32, memidx);
  ------------------
  |  |   66|  12.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  12.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  12.5k|  do {                      \
  |  |  |  |  |  |   48|  12.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 12.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  12.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  12.5k|               #member " callback failed")
  ------------------
 1834|  12.5k|        break;
 1835|  12.5k|      }
 1836|       |
 1837|  12.5k|      case Opcode::MemoryCopy: {
  ------------------
  |  Branch (1837:7): [True: 2.96k, False: 3.16M]
  ------------------
 1838|  2.96k|        Index destmemidx = 0;
 1839|  2.96k|        Index srcmemidx = 0;
 1840|  2.96k|        if (!options_.features.multi_memory_enabled()) {
  ------------------
  |  Branch (1840:13): [True: 0, False: 2.96k]
  ------------------
 1841|      0|          uint8_t reserved;
 1842|      0|          CHECK_RESULT(ReadU8(&reserved, "reserved memory index"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1843|      0|          ERROR_UNLESS(reserved == 0, "reserved value must be 0");
  ------------------
  |  |   53|      0|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|      0|  do {                      \
  |  |  |  |   48|      0|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1844|      0|          CHECK_RESULT(ReadU8(&reserved, "reserved memory index"));
  ------------------
  |  |   55|      0|  do {                              \
  |  |   56|      0|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1845|      0|          ERROR_UNLESS(reserved == 0, "reserved value must be 0");
  ------------------
  |  |   53|      0|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|      0|  do {                      \
  |  |  |  |   48|      0|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1846|  2.96k|        } else {
 1847|  2.96k|          CHECK_RESULT(ReadMemidx(&destmemidx, "memory.copy destmemindex"));
  ------------------
  |  |   55|  2.96k|  do {                              \
  |  |   56|  2.96k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 11, False: 2.95k]
  |  |  ------------------
  |  |   57|     11|      return ::wabt::Result::Error; \
  |  |   58|     11|    }                               \
  |  |   59|  2.96k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1848|  2.95k|          CHECK_RESULT(ReadMemidx(&srcmemidx, "memory.copy srcmemidx"));
  ------------------
  |  |   55|  2.95k|  do {                              \
  |  |   56|  2.95k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 16, False: 2.93k]
  |  |  ------------------
  |  |   57|     16|      return ::wabt::Result::Error; \
  |  |   58|     16|    }                               \
  |  |   59|  2.95k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1849|  2.95k|        }
 1850|  2.93k|        CALLBACK(OnMemoryCopyExpr, destmemidx, srcmemidx);
  ------------------
  |  |   66|  2.93k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.93k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.93k|  do {                      \
  |  |  |  |  |  |   48|  2.93k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.93k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.93k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.93k|               #member " callback failed")
  ------------------
 1851|  2.93k|        CALLBACK(OnOpcodeUint32Uint32, destmemidx, srcmemidx);
  ------------------
  |  |   66|  2.93k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.93k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.93k|  do {                      \
  |  |  |  |  |  |   48|  2.93k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.93k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.93k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.93k|               #member " callback failed")
  ------------------
 1852|  2.93k|        break;
 1853|  2.93k|      }
 1854|       |
 1855|  2.93k|      case Opcode::TableCopy: {
  ------------------
  |  Branch (1855:7): [True: 125, False: 3.16M]
  ------------------
 1856|    125|        Index table_dst;
 1857|    125|        Index table_src;
 1858|    125|        CHECK_RESULT(ReadIndex(&table_dst, "reserved table index"));
  ------------------
  |  |   55|    125|  do {                              \
  |  |   56|    125|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 9, False: 116]
  |  |  ------------------
  |  |   57|      9|      return ::wabt::Result::Error; \
  |  |   58|      9|    }                               \
  |  |   59|    125|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1859|    116|        CHECK_RESULT(ReadIndex(&table_src, "table src"));
  ------------------
  |  |   55|    116|  do {                              \
  |  |   56|    116|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 110]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|    116|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1860|    110|        CALLBACK(OnTableCopyExpr, table_dst, table_src);
  ------------------
  |  |   66|    110|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    110|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    110|  do {                      \
  |  |  |  |  |  |   48|    110|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 110]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    110|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    110|               #member " callback failed")
  ------------------
 1861|    110|        CALLBACK(OnOpcodeUint32Uint32, table_dst, table_src);
  ------------------
  |  |   66|    110|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    110|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    110|  do {                      \
  |  |  |  |  |  |   48|    110|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 110]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    110|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    110|               #member " callback failed")
  ------------------
 1862|    110|        break;
 1863|    110|      }
 1864|       |
 1865|  19.6k|      case Opcode::TableGet: {
  ------------------
  |  Branch (1865:7): [True: 19.6k, False: 3.14M]
  ------------------
 1866|  19.6k|        Index table;
 1867|  19.6k|        CHECK_RESULT(ReadIndex(&table, "table index"));
  ------------------
  |  |   55|  19.6k|  do {                              \
  |  |   56|  19.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 50, False: 19.5k]
  |  |  ------------------
  |  |   57|     50|      return ::wabt::Result::Error; \
  |  |   58|     50|    }                               \
  |  |   59|  19.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1868|  19.5k|        CALLBACK(OnTableGetExpr, table);
  ------------------
  |  |   66|  19.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  19.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  19.5k|  do {                      \
  |  |  |  |  |  |   48|  19.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 19.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  19.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  19.5k|               #member " callback failed")
  ------------------
 1869|  19.5k|        CALLBACK(OnOpcodeUint32, table);
  ------------------
  |  |   66|  19.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  19.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  19.5k|  do {                      \
  |  |  |  |  |  |   48|  19.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 19.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  19.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  19.5k|               #member " callback failed")
  ------------------
 1870|  19.5k|        break;
 1871|  19.5k|      }
 1872|       |
 1873|  19.5k|      case Opcode::TableSet: {
  ------------------
  |  Branch (1873:7): [True: 3.88k, False: 3.16M]
  ------------------
 1874|  3.88k|        Index table;
 1875|  3.88k|        CHECK_RESULT(ReadIndex(&table, "table index"));
  ------------------
  |  |   55|  3.88k|  do {                              \
  |  |   56|  3.88k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 28, False: 3.85k]
  |  |  ------------------
  |  |   57|     28|      return ::wabt::Result::Error; \
  |  |   58|     28|    }                               \
  |  |   59|  3.88k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1876|  3.85k|        CALLBACK(OnTableSetExpr, table);
  ------------------
  |  |   66|  3.85k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.85k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.85k|  do {                      \
  |  |  |  |  |  |   48|  3.85k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.85k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.85k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.85k|               #member " callback failed")
  ------------------
 1877|  3.85k|        CALLBACK(OnOpcodeUint32, table);
  ------------------
  |  |   66|  3.85k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.85k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.85k|  do {                      \
  |  |  |  |  |  |   48|  3.85k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.85k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.85k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.85k|               #member " callback failed")
  ------------------
 1878|  3.85k|        break;
 1879|  3.85k|      }
 1880|       |
 1881|  4.26k|      case Opcode::TableGrow: {
  ------------------
  |  Branch (1881:7): [True: 4.26k, False: 3.16M]
  ------------------
 1882|  4.26k|        Index table;
 1883|  4.26k|        CHECK_RESULT(ReadIndex(&table, "table index"));
  ------------------
  |  |   55|  4.26k|  do {                              \
  |  |   56|  4.26k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 4.26k]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|  4.26k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1884|  4.26k|        CALLBACK(OnTableGrowExpr, table);
  ------------------
  |  |   66|  4.26k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.26k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.26k|  do {                      \
  |  |  |  |  |  |   48|  4.26k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.26k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.26k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.26k|               #member " callback failed")
  ------------------
 1885|  4.26k|        CALLBACK(OnOpcodeUint32, table);
  ------------------
  |  |   66|  4.26k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.26k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.26k|  do {                      \
  |  |  |  |  |  |   48|  4.26k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.26k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.26k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.26k|               #member " callback failed")
  ------------------
 1886|  4.26k|        break;
 1887|  4.26k|      }
 1888|       |
 1889|  4.26k|      case Opcode::TableSize: {
  ------------------
  |  Branch (1889:7): [True: 928, False: 3.16M]
  ------------------
 1890|    928|        Index table;
 1891|    928|        CHECK_RESULT(ReadIndex(&table, "table index"));
  ------------------
  |  |   55|    928|  do {                              \
  |  |   56|    928|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 16, False: 912]
  |  |  ------------------
  |  |   57|     16|      return ::wabt::Result::Error; \
  |  |   58|     16|    }                               \
  |  |   59|    928|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1892|    912|        CALLBACK(OnTableSizeExpr, table);
  ------------------
  |  |   66|    912|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    912|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    912|  do {                      \
  |  |  |  |  |  |   48|    912|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 912]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    912|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    912|               #member " callback failed")
  ------------------
 1893|    912|        CALLBACK(OnOpcodeUint32, table);
  ------------------
  |  |   66|    912|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    912|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    912|  do {                      \
  |  |  |  |  |  |   48|    912|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 912]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    912|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    912|               #member " callback failed")
  ------------------
 1894|    912|        break;
 1895|    912|      }
 1896|       |
 1897|    912|      case Opcode::TableFill: {
  ------------------
  |  Branch (1897:7): [True: 93, False: 3.16M]
  ------------------
 1898|     93|        Index table;
 1899|     93|        CHECK_RESULT(ReadIndex(&table, "table index"));
  ------------------
  |  |   55|     93|  do {                              \
  |  |   56|     93|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 87]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|     93|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1900|     87|        CALLBACK(OnTableFillExpr, table);
  ------------------
  |  |   66|     87|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     87|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     87|  do {                      \
  |  |  |  |  |  |   48|     87|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 87]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     87|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     87|               #member " callback failed")
  ------------------
 1901|     87|        CALLBACK(OnOpcodeUint32, table);
  ------------------
  |  |   66|     87|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     87|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     87|  do {                      \
  |  |  |  |  |  |   48|     87|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 87]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     87|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     87|               #member " callback failed")
  ------------------
 1902|     87|        break;
 1903|     87|      }
 1904|       |
 1905|  5.10k|      case Opcode::RefFunc: {
  ------------------
  |  Branch (1905:7): [True: 5.10k, False: 3.16M]
  ------------------
 1906|  5.10k|        Index func;
 1907|  5.10k|        CHECK_RESULT(ReadIndex(&func, "func index"));
  ------------------
  |  |   55|  5.10k|  do {                              \
  |  |   56|  5.10k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 38, False: 5.07k]
  |  |  ------------------
  |  |   57|     38|      return ::wabt::Result::Error; \
  |  |   58|     38|    }                               \
  |  |   59|  5.10k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1908|  5.07k|        CALLBACK(OnRefFuncExpr, func);
  ------------------
  |  |   66|  5.07k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.07k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.07k|  do {                      \
  |  |  |  |  |  |   48|  5.07k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.07k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.07k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.07k|               #member " callback failed")
  ------------------
 1909|  5.07k|        CALLBACK(OnOpcodeUint32, func);
  ------------------
  |  |   66|  5.07k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.07k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.07k|  do {                      \
  |  |  |  |  |  |   48|  5.07k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.07k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.07k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.07k|               #member " callback failed")
  ------------------
 1910|  5.07k|        break;
 1911|  5.07k|      }
 1912|       |
 1913|  5.07k|      case Opcode::RefNull: {
  ------------------
  |  Branch (1913:7): [True: 2.86k, False: 3.16M]
  ------------------
 1914|  2.86k|        Type type;
 1915|  2.86k|        CHECK_RESULT(ReadRefType(&type, "ref.null type"));
  ------------------
  |  |   55|  2.86k|  do {                              \
  |  |   56|  2.86k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 413, False: 2.45k]
  |  |  ------------------
  |  |   57|    413|      return ::wabt::Result::Error; \
  |  |   58|    413|    }                               \
  |  |   59|  2.86k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1916|  2.45k|        CALLBACK(OnRefNullExpr, type);
  ------------------
  |  |   66|  2.45k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.45k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.45k|  do {                      \
  |  |  |  |  |  |   48|  2.45k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.45k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.45k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.45k|               #member " callback failed")
  ------------------
 1917|  2.45k|        CALLBACK(OnOpcodeType, type);
  ------------------
  |  |   66|  2.45k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.45k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.45k|  do {                      \
  |  |  |  |  |  |   48|  2.45k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.45k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  2.45k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.45k|               #member " callback failed")
  ------------------
 1918|  2.45k|        break;
 1919|  2.45k|      }
 1920|       |
 1921|  2.45k|      case Opcode::RefIsNull:
  ------------------
  |  Branch (1921:7): [True: 759, False: 3.16M]
  ------------------
 1922|    759|        CALLBACK(OnRefIsNullExpr);
  ------------------
  |  |   66|    759|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    759|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    759|  do {                      \
  |  |  |  |  |  |   48|    759|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 759]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    759|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    759|               #member " callback failed")
  ------------------
 1923|    759|        CALLBACK(OnOpcodeBare);
  ------------------
  |  |   66|    759|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    759|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    759|  do {                      \
  |  |  |  |  |  |   48|    759|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 759]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    759|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    759|               #member " callback failed")
  ------------------
 1924|    759|        break;
 1925|       |
 1926|  3.11k|      case Opcode::CallRef:
  ------------------
  |  Branch (1926:7): [True: 3.11k, False: 3.16M]
  ------------------
 1927|  3.11k|        CALLBACK(OnCallRefExpr);
  ------------------
  |  |   66|  3.11k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.11k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.11k|  do {                      \
  |  |  |  |  |  |   48|  3.11k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.11k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.11k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.11k|               #member " callback failed")
  ------------------
 1928|  3.11k|        CALLBACK(OnOpcodeBare);
  ------------------
  |  |   66|  3.11k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.11k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.11k|  do {                      \
  |  |  |  |  |  |   48|  3.11k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.11k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.11k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.11k|               #member " callback failed")
  ------------------
 1929|  3.11k|        break;
 1930|       |
 1931|  3.79k|      default:
  ------------------
  |  Branch (1931:7): [True: 3.79k, False: 3.16M]
  ------------------
 1932|  3.79k|        return ReportUnexpectedOpcode(opcode);
 1933|  3.16M|    }
 1934|  3.16M|  }
 1935|       |
 1936|  8.54k|  PrintError("%s must end with END opcode", context);
 1937|  8.54k|  return Result::Error;
 1938|  58.1k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10ReadOpcodeEPNS_6OpcodeEPKc:
  271|  3.17M|Result BinaryReader::ReadOpcode(Opcode* out_value, const char* desc) {
  272|  3.17M|  uint8_t value = 0;
  273|  3.17M|  CHECK_RESULT(ReadU8(&value, desc));
  ------------------
  |  |   55|  3.17M|  do {                              \
  |  |   56|  3.17M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.06k, False: 3.16M]
  |  |  ------------------
  |  |   57|  1.06k|      return ::wabt::Result::Error; \
  |  |   58|  1.06k|    }                               \
  |  |   59|  3.17M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  274|       |
  275|  3.16M|  if (Opcode::IsPrefixByte(value)) {
  ------------------
  |  Branch (275:7): [True: 176k, False: 2.99M]
  ------------------
  276|   176k|    uint32_t code;
  277|   176k|    CHECK_RESULT(ReadU32Leb128(&code, desc));
  ------------------
  |  |   55|   176k|  do {                              \
  |  |   56|   176k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 546, False: 176k]
  |  |  ------------------
  |  |   57|    546|      return ::wabt::Result::Error; \
  |  |   58|    546|    }                               \
  |  |   59|   176k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  278|   176k|    *out_value = Opcode::FromCode(value, code);
  279|  2.99M|  } else {
  280|  2.99M|    *out_value = Opcode::FromCode(value);
  281|  2.99M|  }
  282|  3.16M|  return Result::Ok;
  283|  3.16M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader22ReportUnexpectedOpcodeENS_6OpcodeEPKc:
  251|  4.14k|Result BinaryReader::ReportUnexpectedOpcode(Opcode opcode, const char* where) {
  252|  4.14k|  std::string message = "unexpected opcode";
  253|  4.14k|  if (where) {
  ------------------
  |  Branch (253:7): [True: 0, False: 4.14k]
  ------------------
  254|      0|    message += ' ';
  255|      0|    message += where;
  256|      0|  }
  257|       |
  258|  4.14k|  message += ":";
  259|       |
  260|  4.14k|  std::vector<uint8_t> bytes = opcode.GetBytes();
  261|  4.14k|  assert(bytes.size() > 0);
  262|       |
  263|  5.65k|  for (uint8_t byte : bytes) {
  ------------------
  |  Branch (263:21): [True: 5.65k, False: 4.14k]
  ------------------
  264|  5.65k|    message += StringPrintf(" 0x%x", byte);
  265|  5.65k|  }
  266|       |
  267|  4.14k|  PrintError("%s", message.c_str());
  268|  4.14k|  return Result::Error;
  269|  4.14k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader11IsBlockTypeENS_4TypeE:
  581|   960k|bool BinaryReader::IsBlockType(Type type) {
  582|   960k|  if (IsConcreteType(type) || type == Type::Void) {
  ------------------
  |  Branch (582:7): [True: 34.4k, False: 926k]
  |  Branch (582:31): [True: 1.75k, False: 924k]
  ------------------
  583|  36.2k|    return true;
  584|  36.2k|  }
  585|       |
  586|   924k|  if (!(options_.features.multi_value_enabled() && type.IsIndex())) {
  ------------------
  |  Branch (586:9): [True: 924k, False: 0]
  |  Branch (586:52): [True: 923k, False: 620]
  ------------------
  587|    620|    return false;
  588|    620|  }
  589|       |
  590|   923k|  return true;
  591|   924k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13ReadS64Leb128EPmPKc:
  356|  34.6k|Result BinaryReader::ReadS64Leb128(uint64_t* out_value, const char* desc) {
  357|  34.6k|  const uint8_t* p = state_.data + state_.offset;
  358|  34.6k|  const uint8_t* end = state_.data + read_end_;
  359|  34.6k|  size_t bytes_read = wabt::ReadS64Leb128(p, end, out_value);
  360|  34.6k|  ERROR_UNLESS(bytes_read > 0, "unable to read i64 leb128: %s", desc);
  ------------------
  |  |   53|  34.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  34.6k|  do {                      \
  |  |  |  |   48|  34.6k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 396, False: 34.2k]
  |  |  |  |  ------------------
  |  |  |  |   49|    396|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    396|  do {                       \
  |  |  |  |  |  |   42|    396|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    396|    return Result::Error;    \
  |  |  |  |  |  |   44|    396|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    396|    }                       \
  |  |  |  |   51|  34.6k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  361|  34.2k|  state_.offset += bytes_read;
  362|  34.2k|  return Result::Ok;
  363|  34.6k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader7ReadF32EPjPKc:
  317|  54.8k|Result BinaryReader::ReadF32(uint32_t* out_value, const char* desc) {
  318|  54.8k|  return ReadT(out_value, "float", desc);
  319|  54.8k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader7ReadF64EPmPKc:
  321|  13.3k|Result BinaryReader::ReadF64(uint64_t* out_value, const char* desc) {
  322|  13.3k|  return ReadT(out_value, "double", desc);
  323|  13.3k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader5ReadTImEENS_6ResultEPT_PKcS7_:
  288|  13.3k|                           const char* desc) {
  289|  13.3k|  if (state_.offset + sizeof(T) > read_end_) {
  ------------------
  |  Branch (289:7): [True: 145, False: 13.2k]
  ------------------
  290|    145|    PrintError("unable to read %s: %s", type_name, desc);
  291|    145|    return Result::Error;
  292|    145|  }
  293|       |#if WABT_BIG_ENDIAN
  294|       |  uint8_t tmp[sizeof(T)];
  295|       |  memcpy(tmp, state_.data + state_.offset, sizeof(tmp));
  296|       |  SwapBytesSized(tmp, sizeof(tmp));
  297|       |  memcpy(out_value, tmp, sizeof(T));
  298|       |#else
  299|  13.2k|  memcpy(out_value, state_.data + state_.offset, sizeof(T));
  300|  13.2k|#endif
  301|  13.2k|  state_.offset += sizeof(T);
  302|  13.2k|  return Result::Ok;
  303|  13.3k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader8ReadV128EP4v128PKc:
  325|    421|Result BinaryReader::ReadV128(v128* out_value, const char* desc) {
  326|    421|  return ReadT(out_value, "v128", desc);
  327|    421|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader5ReadTI4v128EENS_6ResultEPT_PKcS8_:
  288|    421|                           const char* desc) {
  289|    421|  if (state_.offset + sizeof(T) > read_end_) {
  ------------------
  |  Branch (289:7): [True: 62, False: 359]
  ------------------
  290|     62|    PrintError("unable to read %s: %s", type_name, desc);
  291|     62|    return Result::Error;
  292|     62|  }
  293|       |#if WABT_BIG_ENDIAN
  294|       |  uint8_t tmp[sizeof(T)];
  295|       |  memcpy(tmp, state_.data + state_.offset, sizeof(tmp));
  296|       |  SwapBytesSized(tmp, sizeof(tmp));
  297|       |  memcpy(out_value, tmp, sizeof(T));
  298|       |#else
  299|    359|  memcpy(out_value, state_.data + state_.offset, sizeof(T));
  300|    359|#endif
  301|    359|  state_.offset += sizeof(T);
  302|    359|  return Result::Ok;
  303|    421|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadMemLocationEPmPjS2_PKcS5_S5_Ph:
  480|  74.3k|                                     uint8_t* lane_val) {
  481|  74.3k|  bool has_memidx = false;
  482|  74.3k|  CHECK_RESULT(ReadAlignment(alignment_log2, desc_align));
  ------------------
  |  |   55|  74.3k|  do {                              \
  |  |   56|  74.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.13k, False: 73.2k]
  |  |  ------------------
  |  |   57|  1.13k|      return ::wabt::Result::Error; \
  |  |   58|  1.13k|    }                               \
  |  |   59|  74.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  483|  73.2k|  CHECK_RESULT(TakeHasMemidx(alignment_log2, &has_memidx));
  ------------------
  |  |   55|  73.2k|  do {                              \
  |  |   56|  73.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 73.2k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  73.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  484|  73.2k|  CHECK_RESULT(CheckAlignment(alignment_log2, desc_align));
  ------------------
  |  |   55|  73.2k|  do {                              \
  |  |   56|  73.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.51k, False: 71.7k]
  |  |  ------------------
  |  |   57|  1.51k|      return ::wabt::Result::Error; \
  |  |   58|  1.51k|    }                               \
  |  |   59|  73.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  485|  71.7k|  *memidx = 0;
  486|  71.7k|  if (has_memidx) {
  ------------------
  |  Branch (486:7): [True: 13.5k, False: 58.1k]
  ------------------
  487|  13.5k|    ERROR_IF(!options_.features.multi_memory_enabled(),
  ------------------
  |  |   47|  13.5k|  do {                      \
  |  |   48|  13.5k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      0|  do {                       \
  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      0|    }                       \
  |  |   51|  13.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  488|  13.5k|             "multi_memory not allowed");
  489|  13.5k|    CHECK_RESULT(ReadMemidx(memidx, desc_memidx));
  ------------------
  |  |   55|  13.5k|  do {                              \
  |  |   56|  13.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 79, False: 13.5k]
  |  |  ------------------
  |  |   57|     79|      return ::wabt::Result::Error; \
  |  |   58|     79|    }                               \
  |  |   59|  13.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  490|  13.5k|  }
  491|  71.6k|  CHECK_RESULT(ReadAddress(offset, 0, desc_offset));
  ------------------
  |  |   55|  71.6k|  do {                              \
  |  |   56|  71.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 414, False: 71.2k]
  |  |  ------------------
  |  |   57|    414|      return ::wabt::Result::Error; \
  |  |   58|    414|    }                               \
  |  |   59|  71.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  492|       |
  493|  71.2k|  if (lane_val) {
  ------------------
  |  Branch (493:7): [True: 5.29k, False: 65.9k]
  ------------------
  494|  5.29k|    CHECK_RESULT(ReadU8(lane_val, "Lane idx"));
  ------------------
  |  |   55|  5.29k|  do {                              \
  |  |   56|  5.29k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 28, False: 5.26k]
  |  |  ------------------
  |  |   57|     28|      return ::wabt::Result::Error; \
  |  |   58|     28|    }                               \
  |  |   59|  5.29k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  495|  5.29k|  }
  496|       |
  497|  71.1k|  return Result::Ok;
  498|  71.2k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13TakeHasMemidxEPmPb:
  461|  73.2k|Result BinaryReader::TakeHasMemidx(Address* align_log2, bool* has_memidx) {
  462|       |  // extract the has_memidx flag
  463|  73.2k|  *has_memidx = (*align_log2 >> 6) & 1;
  464|       |  // then clear it
  465|  73.2k|  *align_log2 &= ~(1 << 6);
  466|  73.2k|  return Result::Ok;
  467|  73.2k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader11ReadAddressEPmjPKc:
  700|  71.6k|                                 const char* desc) {
  701|  71.6k|  if (options_.features.memory64_enabled()) {
  ------------------
  |  Branch (701:7): [True: 71.6k, False: 0]
  ------------------
  702|  71.6k|    return ReadU64Leb128(out_value, desc);
  703|  71.6k|  } else {
  704|      0|    uint32_t val;
  705|      0|    Result res = ReadU32Leb128(&val, desc);
  706|      0|    *out_value = val;
  707|      0|    return res;
  708|      0|  }
  709|  71.6k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader19CallbackMemLocationEPKmPKjS3_PKh:
  503|  71.1k|                                         const uint8_t* lane_val) {
  504|  71.1k|  if (lane_val) {
  ------------------
  |  Branch (504:7): [True: 5.26k, False: 65.9k]
  ------------------
  505|  5.26k|    if (*memidx) {
  ------------------
  |  Branch (505:9): [True: 774, False: 4.48k]
  ------------------
  506|    774|      CALLBACK(OnOpcodeUint32Uint32Uint32Uint32, *alignment_log2, *memidx,
  ------------------
  |  |   66|    774|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    774|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    774|  do {                      \
  |  |  |  |  |  |   48|    774|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 774]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    774|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    774|               #member " callback failed")
  ------------------
  507|    774|               *offset, *lane_val);
  508|  4.48k|    } else {
  509|  4.48k|      CALLBACK(OnOpcodeUint32Uint32Uint32, *alignment_log2, *offset, *lane_val);
  ------------------
  |  |   66|  4.48k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.48k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.48k|  do {                      \
  |  |  |  |  |  |   48|  4.48k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.48k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.48k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.48k|               #member " callback failed")
  ------------------
  510|  4.48k|    }
  511|  65.9k|  } else {
  512|  65.9k|    if (*memidx) {
  ------------------
  |  Branch (512:9): [True: 11.8k, False: 54.1k]
  ------------------
  513|  11.8k|      CALLBACK(OnOpcodeUint32Uint32Uint32, *alignment_log2, *memidx, *offset);
  ------------------
  |  |   66|  11.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  11.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  11.8k|  do {                      \
  |  |  |  |  |  |   48|  11.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 11.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  11.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  11.8k|               #member " callback failed")
  ------------------
  514|  54.1k|    } else {
  515|  54.1k|      CALLBACK(OnOpcodeUint32Uint32, *alignment_log2, *offset);
  ------------------
  |  |   66|  54.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  54.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  54.1k|  do {                      \
  |  |  |  |  |  |   48|  54.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 54.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  54.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  54.1k|               #member " callback failed")
  ------------------
  516|  54.1k|    }
  517|  65.9k|  }
  518|       |
  519|  71.1k|  return Result::Ok;
  520|  71.1k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10ReadMemidxEPjPKc:
  469|  43.4k|Result BinaryReader::ReadMemidx(Index* memidx, const char* desc) {
  470|  43.4k|  CHECK_RESULT(ReadIndex(memidx, desc));
  ------------------
  |  |   55|  43.4k|  do {                              \
  |  |   56|  43.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 272, False: 43.1k]
  |  |  ------------------
  |  |   57|    272|      return ::wabt::Result::Error; \
  |  |   58|    272|    }                               \
  |  |   59|  43.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  471|  43.1k|  return Result::Ok;
  472|  43.4k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadExportSectionEm:
 2757|  4.55k|Result BinaryReader::ReadExportSection(Offset section_size) {
 2758|  4.55k|  CALLBACK(BeginExportSection, section_size);
  ------------------
  |  |   66|  4.55k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.55k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.55k|  do {                      \
  |  |  |  |  |  |   48|  4.55k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.55k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  4.55k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.55k|               #member " callback failed")
  ------------------
 2759|  4.55k|  Index num_exports;
 2760|  4.55k|  CHECK_RESULT(ReadCount(&num_exports, "export count"));
  ------------------
  |  |   55|  4.55k|  do {                              \
  |  |   56|  4.55k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 595, False: 3.95k]
  |  |  ------------------
  |  |   57|    595|      return ::wabt::Result::Error; \
  |  |   58|    595|    }                               \
  |  |   59|  4.55k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2761|  3.95k|  CALLBACK(OnExportCount, num_exports);
  ------------------
  |  |   66|  3.95k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.95k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.95k|  do {                      \
  |  |  |  |  |  |   48|  3.95k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.95k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  3.95k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.95k|               #member " callback failed")
  ------------------
 2762|  29.5k|  for (Index i = 0; i < num_exports; ++i) {
  ------------------
  |  Branch (2762:21): [True: 29.3k, False: 230]
  ------------------
 2763|  29.3k|    std::string_view name;
 2764|  29.3k|    CHECK_RESULT(ReadStr(&name, "export item name"));
  ------------------
  |  |   55|  29.3k|  do {                              \
  |  |   56|  29.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.38k, False: 26.9k]
  |  |  ------------------
  |  |   57|  2.38k|      return ::wabt::Result::Error; \
  |  |   58|  2.38k|    }                               \
  |  |   59|  29.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2765|       |
 2766|  26.9k|    ExternalKind kind;
 2767|  26.9k|    CHECK_RESULT(ReadExternalKind(&kind, "export kind"));
  ------------------
  |  |   55|  26.9k|  do {                              \
  |  |   56|  26.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.21k, False: 25.7k]
  |  |  ------------------
  |  |   57|  1.21k|      return ::wabt::Result::Error; \
  |  |   58|  1.21k|    }                               \
  |  |   59|  26.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2768|       |
 2769|  25.7k|    Index item_index;
 2770|  25.7k|    CHECK_RESULT(ReadIndex(&item_index, "export item index"));
  ------------------
  |  |   55|  25.7k|  do {                              \
  |  |   56|  25.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 125, False: 25.6k]
  |  |  ------------------
  |  |   57|    125|      return ::wabt::Result::Error; \
  |  |   58|    125|    }                               \
  |  |   59|  25.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2771|  25.6k|    if (kind == ExternalKind::Tag) {
  ------------------
  |  Branch (2771:9): [True: 800, False: 24.8k]
  ------------------
 2772|    800|      ERROR_UNLESS(options_.features.exceptions_enabled(),
  ------------------
  |  |   53|    800|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    800|  do {                      \
  |  |  |  |   48|    800|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 800]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|    800|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2773|    800|                   "invalid export tag kind: exceptions not allowed");
 2774|    800|    }
 2775|       |
 2776|  25.6k|    CALLBACK(OnExport, i, static_cast<ExternalKind>(kind), item_index, name);
  ------------------
  |  |   66|  25.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  25.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  25.6k|  do {                      \
  |  |  |  |  |  |   48|  25.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 25.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  25.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  25.6k|               #member " callback failed")
  ------------------
 2777|  25.6k|  }
 2778|    230|  CALLBACK0(EndExportSection);
  ------------------
  |  |   63|    230|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    230|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    230|  do {                      \
  |  |  |  |  |  |   48|    230|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 230]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    230|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2779|    230|  return Result::Ok;
 2780|    230|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadExternalKindEPNS_12ExternalKindEPKc:
  385|  28.1k|                                      const char* desc) {
  386|  28.1k|  uint8_t value = 0;
  387|  28.1k|  CHECK_RESULT(ReadU8(&value, desc));
  ------------------
  |  |   55|  28.1k|  do {                              \
  |  |   56|  28.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 455, False: 27.7k]
  |  |  ------------------
  |  |   57|    455|      return ::wabt::Result::Error; \
  |  |   58|    455|    }                               \
  |  |   59|  28.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  388|  27.7k|  ERROR_UNLESS(value < kExternalKindCount, "invalid export external kind: %d",
  ------------------
  |  |   53|  27.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  27.7k|  do {                      \
  |  |  |  |   48|  27.7k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 830, False: 26.9k]
  |  |  |  |  ------------------
  |  |  |  |   49|    830|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    830|  do {                       \
  |  |  |  |  |  |   42|    830|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    830|    return Result::Error;    \
  |  |  |  |  |  |   44|    830|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    830|    }                       \
  |  |  |  |   51|  27.7k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  389|  26.9k|               value);
  390|  26.9k|  *out_value = static_cast<ExternalKind>(value);
  391|  26.9k|  return Result::Ok;
  392|  27.7k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadStartSectionEm:
 2782|    875|Result BinaryReader::ReadStartSection(Offset section_size) {
 2783|    875|  CALLBACK(BeginStartSection, section_size);
  ------------------
  |  |   66|    875|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    875|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    875|  do {                      \
  |  |  |  |  |  |   48|    875|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 875]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    875|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    875|               #member " callback failed")
  ------------------
 2784|    875|  Index func_index;
 2785|    875|  CHECK_RESULT(ReadIndex(&func_index, "start function index"));
  ------------------
  |  |   55|    875|  do {                              \
  |  |   56|    875|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 210, False: 665]
  |  |  ------------------
  |  |   57|    210|      return ::wabt::Result::Error; \
  |  |   58|    210|    }                               \
  |  |   59|    875|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2786|    665|  CALLBACK(OnStartFunction, func_index);
  ------------------
  |  |   66|    665|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    665|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    665|  do {                      \
  |  |  |  |  |  |   48|    665|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 665]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    665|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    665|               #member " callback failed")
  ------------------
 2787|    665|  CALLBACK0(EndStartSection);
  ------------------
  |  |   63|    665|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    665|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    665|  do {                      \
  |  |  |  |  |  |   48|    665|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 665]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    665|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2788|    665|  return Result::Ok;
 2789|    665|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadElemSectionEm:
 2791|  16.4k|Result BinaryReader::ReadElemSection(Offset section_size) {
 2792|  16.4k|  CALLBACK(BeginElemSection, section_size);
  ------------------
  |  |   66|  16.4k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  16.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  16.4k|  do {                      \
  |  |  |  |  |  |   48|  16.4k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 16.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  16.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  16.4k|               #member " callback failed")
  ------------------
 2793|  16.4k|  Index num_elem_segments;
 2794|  16.4k|  CHECK_RESULT(ReadCount(&num_elem_segments, "elem segment count"));
  ------------------
  |  |   55|  16.4k|  do {                              \
  |  |   56|  16.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 385, False: 16.0k]
  |  |  ------------------
  |  |   57|    385|      return ::wabt::Result::Error; \
  |  |   58|    385|    }                               \
  |  |   59|  16.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2795|  16.0k|  CALLBACK(OnElemSegmentCount, num_elem_segments);
  ------------------
  |  |   66|  16.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  16.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  16.0k|  do {                      \
  |  |  |  |  |  |   48|  16.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 16.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  16.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  16.0k|               #member " callback failed")
  ------------------
 2796|  28.2k|  for (Index i = 0; i < num_elem_segments; ++i) {
  ------------------
  |  Branch (2796:21): [True: 28.0k, False: 140]
  ------------------
 2797|  28.0k|    uint32_t flags;
 2798|  28.0k|    CHECK_RESULT(ReadU32Leb128(&flags, "elem segment flags"));
  ------------------
  |  |   55|  28.0k|  do {                              \
  |  |   56|  28.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 240, False: 27.8k]
  |  |  ------------------
  |  |   57|    240|      return ::wabt::Result::Error; \
  |  |   58|    240|    }                               \
  |  |   59|  28.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2799|  27.8k|    ERROR_IF(flags > SegFlagMax, "invalid elem segment flags: %#x", flags);
  ------------------
  |  |   47|  27.8k|  do {                      \
  |  |   48|  27.8k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 655, False: 27.1k]
  |  |  ------------------
  |  |   49|    655|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|    655|  do {                       \
  |  |  |  |   42|    655|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|    655|    return Result::Error;    \
  |  |  |  |   44|    655|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|    655|    }                       \
  |  |   51|  27.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2800|  27.1k|    Index table_index(0);
 2801|  27.1k|    if ((flags & (SegPassive | SegExplicitIndex)) == SegExplicitIndex) {
  ------------------
  |  Branch (2801:9): [True: 1.03k, False: 26.1k]
  ------------------
 2802|  1.03k|      CHECK_RESULT(ReadIndex(&table_index, "elem segment table index"));
  ------------------
  |  |   55|  1.03k|  do {                              \
  |  |   56|  1.03k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 5, False: 1.02k]
  |  |  ------------------
  |  |   57|      5|      return ::wabt::Result::Error; \
  |  |   58|      5|    }                               \
  |  |   59|  1.03k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2803|  1.03k|    }
 2804|  27.1k|    Type elem_type = Type::FuncRef;
 2805|       |
 2806|  27.1k|    CALLBACK(BeginElemSegment, i, table_index, flags);
  ------------------
  |  |   66|  27.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  27.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  27.1k|  do {                      \
  |  |  |  |  |  |   48|  27.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 27.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  27.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  27.1k|               #member " callback failed")
  ------------------
 2807|       |
 2808|  27.1k|    if (!(flags & SegPassive)) {
  ------------------
  |  Branch (2808:9): [True: 25.4k, False: 1.76k]
  ------------------
 2809|  25.4k|      CALLBACK(BeginElemSegmentInitExpr, i);
  ------------------
  |  |   66|  25.4k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  25.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  25.4k|  do {                      \
  |  |  |  |  |  |   48|  25.4k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 25.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  25.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  25.4k|               #member " callback failed")
  ------------------
 2810|  25.4k|      CHECK_RESULT(ReadInitExpr(i));
  ------------------
  |  |   55|  25.4k|  do {                              \
  |  |   56|  25.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 12.7k, False: 12.6k]
  |  |  ------------------
  |  |   57|  12.7k|      return ::wabt::Result::Error; \
  |  |   58|  12.7k|    }                               \
  |  |   59|  25.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2811|  12.6k|      CALLBACK(EndElemSegmentInitExpr, i);
  ------------------
  |  |   66|  12.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  12.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  12.6k|  do {                      \
  |  |  |  |  |  |   48|  12.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 12.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  12.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  12.6k|               #member " callback failed")
  ------------------
 2812|  12.6k|    }
 2813|       |
 2814|       |    // For backwards compat we support not declaring the element kind.
 2815|  14.4k|    if (flags & (SegPassive | SegExplicitIndex)) {
  ------------------
  |  Branch (2815:9): [True: 1.86k, False: 12.5k]
  ------------------
 2816|  1.86k|      if (flags & SegUseElemExprs) {
  ------------------
  |  Branch (2816:11): [True: 660, False: 1.20k]
  ------------------
 2817|    660|        CHECK_RESULT(ReadRefType(&elem_type, "table elem type"));
  ------------------
  |  |   55|    660|  do {                              \
  |  |   56|    660|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 355, False: 305]
  |  |  ------------------
  |  |   57|    355|      return ::wabt::Result::Error; \
  |  |   58|    355|    }                               \
  |  |   59|    660|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2818|  1.20k|      } else {
 2819|  1.20k|        ExternalKind kind;
 2820|  1.20k|        CHECK_RESULT(ReadExternalKind(&kind, "export kind"));
  ------------------
  |  |   55|  1.20k|  do {                              \
  |  |   56|  1.20k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 70, False: 1.13k]
  |  |  ------------------
  |  |   57|     70|      return ::wabt::Result::Error; \
  |  |   58|     70|    }                               \
  |  |   59|  1.20k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2821|  1.13k|        ERROR_UNLESS(kind == ExternalKind::Func,
  ------------------
  |  |   53|  1.13k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.13k|  do {                      \
  |  |  |  |   48|  1.13k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 30, False: 1.10k]
  |  |  |  |  ------------------
  |  |  |  |   49|     30|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     30|  do {                       \
  |  |  |  |  |  |   42|     30|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     30|    return Result::Error;    \
  |  |  |  |  |  |   44|     30|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     30|    }                       \
  |  |  |  |   51|  1.13k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2822|  1.10k|                     "segment elem type must be func (%s)",
 2823|  1.10k|                     elem_type.GetName().c_str());
 2824|  1.10k|        elem_type = Type::FuncRef;
 2825|  1.10k|      }
 2826|  1.86k|    }
 2827|       |
 2828|  14.0k|    CALLBACK(OnElemSegmentElemType, i, elem_type);
  ------------------
  |  |   66|  14.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  14.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  14.0k|  do {                      \
  |  |  |  |  |  |   48|  14.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 14.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  14.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  14.0k|               #member " callback failed")
  ------------------
 2829|       |
 2830|  14.0k|    Index num_elem_exprs;
 2831|  14.0k|    CHECK_RESULT(ReadCount(&num_elem_exprs, "elem count"));
  ------------------
  |  |   55|  14.0k|  do {                              \
  |  |   56|  14.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 405, False: 13.5k]
  |  |  ------------------
  |  |   57|    405|      return ::wabt::Result::Error; \
  |  |   58|    405|    }                               \
  |  |   59|  14.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2832|       |
 2833|  13.5k|    CALLBACK(OnElemSegmentElemExprCount, i, num_elem_exprs);
  ------------------
  |  |   66|  13.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  13.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  13.5k|  do {                      \
  |  |  |  |  |  |   48|  13.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 13.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  13.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  13.5k|               #member " callback failed")
  ------------------
 2834|  45.2k|    for (Index j = 0; j < num_elem_exprs; ++j) {
  ------------------
  |  Branch (2834:23): [True: 33.1k, False: 12.1k]
  ------------------
 2835|  33.1k|      CALLBACK(BeginElemExpr, i, j);
  ------------------
  |  |   66|  33.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  33.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  33.1k|  do {                      \
  |  |  |  |  |  |   48|  33.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 33.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  33.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  33.1k|               #member " callback failed")
  ------------------
 2836|  33.1k|      if (flags & SegUseElemExprs) {
  ------------------
  |  Branch (2836:11): [True: 9.76k, False: 23.3k]
  ------------------
 2837|  9.76k|        CHECK_RESULT(ReadInitExpr(j));
  ------------------
  |  |   55|  9.76k|  do {                              \
  |  |   56|  9.76k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.25k, False: 8.51k]
  |  |  ------------------
  |  |   57|  1.25k|      return ::wabt::Result::Error; \
  |  |   58|  1.25k|    }                               \
  |  |   59|  9.76k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2838|  23.3k|      } else {
 2839|  23.3k|        Index func_index;
 2840|  23.3k|        CHECK_RESULT(ReadIndex(&func_index, "elem expr func index"));
  ------------------
  |  |   55|  23.3k|  do {                              \
  |  |   56|  23.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 215, False: 23.1k]
  |  |  ------------------
  |  |   57|    215|      return ::wabt::Result::Error; \
  |  |   58|    215|    }                               \
  |  |   59|  23.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2841|  23.1k|        CALLBACK(OnOpcode, Opcode::RefFunc);
  ------------------
  |  |   66|  23.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  23.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  23.1k|  do {                      \
  |  |  |  |  |  |   48|  23.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 23.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  23.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  23.1k|               #member " callback failed")
  ------------------
 2842|  23.1k|        CALLBACK(OnRefFuncExpr, func_index);
  ------------------
  |  |   66|  23.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  23.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  23.1k|  do {                      \
  |  |  |  |  |  |   48|  23.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 23.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  23.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  23.1k|               #member " callback failed")
  ------------------
 2843|  23.1k|        CALLBACK(OnOpcodeUint32, func_index);
  ------------------
  |  |   66|  23.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  23.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  23.1k|  do {                      \
  |  |  |  |  |  |   48|  23.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 23.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  23.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  23.1k|               #member " callback failed")
  ------------------
 2844|  23.1k|        CALLBACK0(OnEndExpr);
  ------------------
  |  |   63|  23.1k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  23.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  23.1k|  do {                      \
  |  |  |  |  |  |   48|  23.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 23.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  23.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2845|  23.1k|      }
 2846|  31.6k|      CALLBACK(EndElemExpr, i, j);
  ------------------
  |  |   66|  31.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  31.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  31.6k|  do {                      \
  |  |  |  |  |  |   48|  31.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 31.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  31.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  31.6k|               #member " callback failed")
  ------------------
 2847|  31.6k|    }
 2848|  12.1k|    CALLBACK(EndElemSegment, i);
  ------------------
  |  |   66|  12.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  12.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  12.1k|  do {                      \
  |  |  |  |  |  |   48|  12.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 12.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  12.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  12.1k|               #member " callback failed")
  ------------------
 2849|  12.1k|  }
 2850|    140|  CALLBACK0(EndElemSection);
  ------------------
  |  |   63|    140|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    140|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    140|  do {                      \
  |  |  |  |  |  |   48|    140|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 140]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    140|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2851|    140|  return Result::Ok;
 2852|    140|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadCodeSectionEm:
 2854|  17.3k|Result BinaryReader::ReadCodeSection(Offset section_size) {
 2855|  17.3k|  CALLBACK(BeginCodeSection, section_size);
  ------------------
  |  |   66|  17.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  17.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  17.3k|  do {                      \
  |  |  |  |  |  |   48|  17.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 17.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  17.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  17.3k|               #member " callback failed")
  ------------------
 2856|  17.3k|  CHECK_RESULT(ReadCount(&num_function_bodies_, "function body count"));
  ------------------
  |  |   55|  17.3k|  do {                              \
  |  |   56|  17.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 605, False: 16.6k]
  |  |  ------------------
  |  |   57|    605|      return ::wabt::Result::Error; \
  |  |   58|    605|    }                               \
  |  |   59|  17.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2857|  16.6k|  ERROR_UNLESS(num_function_signatures_ == num_function_bodies_,
  ------------------
  |  |   53|  16.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  16.6k|  do {                      \
  |  |  |  |   48|  16.6k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 280, False: 16.4k]
  |  |  |  |  ------------------
  |  |  |  |   49|    280|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    280|  do {                       \
  |  |  |  |  |  |   42|    280|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    280|    return Result::Error;    \
  |  |  |  |  |  |   44|    280|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    280|    }                       \
  |  |  |  |   51|  16.6k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2858|  16.4k|               "function signature count != function body count");
 2859|  16.4k|  CALLBACK(OnFunctionBodyCount, num_function_bodies_);
  ------------------
  |  |   66|  16.4k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  16.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  16.4k|  do {                      \
  |  |  |  |  |  |   48|  16.4k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 16.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  16.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  16.4k|               #member " callback failed")
  ------------------
 2860|  35.7k|  for (Index i = 0; i < num_function_bodies_; ++i) {
  ------------------
  |  Branch (2860:21): [True: 35.0k, False: 725]
  ------------------
 2861|  35.0k|    Index func_index = num_func_imports_ + i;
 2862|  35.0k|    Offset func_offset = state_.offset;
 2863|  35.0k|    state_.offset = func_offset;
 2864|  35.0k|    uint32_t body_size;
 2865|  35.0k|    CHECK_RESULT(ReadU32Leb128(&body_size, "function body size"));
  ------------------
  |  |   55|  35.0k|  do {                              \
  |  |   56|  35.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10.4k, False: 24.5k]
  |  |  ------------------
  |  |   57|  10.4k|      return ::wabt::Result::Error; \
  |  |   58|  10.4k|    }                               \
  |  |   59|  35.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2866|  24.5k|    Offset body_start_offset = state_.offset;
 2867|  24.5k|    Offset end_offset = body_start_offset + body_size;
 2868|  24.5k|    CALLBACK(BeginFunctionBody, func_index, body_size);
  ------------------
  |  |   66|  24.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  24.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  24.5k|  do {                      \
  |  |  |  |  |  |   48|  24.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 24.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  24.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  24.5k|               #member " callback failed")
  ------------------
 2869|       |
 2870|  24.5k|    uint64_t total_locals = 0;
 2871|  24.5k|    Index num_local_decls;
 2872|  24.5k|    CHECK_RESULT(ReadCount(&num_local_decls, "local declaration count"));
  ------------------
  |  |   55|  24.5k|  do {                              \
  |  |   56|  24.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 909, False: 23.6k]
  |  |  ------------------
  |  |   57|    909|      return ::wabt::Result::Error; \
  |  |   58|    909|    }                               \
  |  |   59|  24.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2873|  23.6k|    CALLBACK(OnLocalDeclCount, num_local_decls);
  ------------------
  |  |   66|  23.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  23.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  23.6k|  do {                      \
  |  |  |  |  |  |   48|  23.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 23.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  23.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  23.6k|               #member " callback failed")
  ------------------
 2874|  34.5k|    for (Index k = 0; k < num_local_decls; ++k) {
  ------------------
  |  Branch (2874:23): [True: 12.2k, False: 22.3k]
  ------------------
 2875|  12.2k|      Index num_local_types;
 2876|  12.2k|      CHECK_RESULT(ReadIndex(&num_local_types, "local type count"));
  ------------------
  |  |   55|  12.2k|  do {                              \
  |  |   56|  12.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 99, False: 12.1k]
  |  |  ------------------
  |  |   57|     99|      return ::wabt::Result::Error; \
  |  |   58|     99|    }                               \
  |  |   59|  12.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2877|  12.1k|      total_locals += num_local_types;
 2878|  12.1k|      ERROR_UNLESS(total_locals <= UINT32_MAX, "local count must be <= 0x%x",
  ------------------
  |  |   53|  12.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  12.1k|  do {                      \
  |  |  |  |   48|  12.1k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 20, False: 12.0k]
  |  |  |  |  ------------------
  |  |  |  |   49|     20|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     20|  do {                       \
  |  |  |  |  |  |   42|     20|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     20|    return Result::Error;    \
  |  |  |  |  |  |   44|     20|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     20|    }                       \
  |  |  |  |   51|  12.1k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2879|  12.0k|                   UINT32_MAX);
 2880|  12.0k|      Type local_type;
 2881|  12.0k|      CHECK_RESULT(ReadType(&local_type, "local type"));
  ------------------
  |  |   55|  12.0k|  do {                              \
  |  |   56|  12.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 141, False: 11.9k]
  |  |  ------------------
  |  |   57|    141|      return ::wabt::Result::Error; \
  |  |   58|    141|    }                               \
  |  |   59|  12.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2882|  11.9k|      ERROR_UNLESS(IsConcreteType(local_type), "expected valid local type");
  ------------------
  |  |   53|  11.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  11.9k|  do {                      \
  |  |  |  |   48|  11.9k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 1.04k, False: 10.8k]
  |  |  |  |  ------------------
  |  |  |  |   49|  1.04k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  1.04k|  do {                       \
  |  |  |  |  |  |   42|  1.04k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  1.04k|    return Result::Error;    \
  |  |  |  |  |  |   44|  1.04k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  1.04k|    }                       \
  |  |  |  |   51|  11.9k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2883|  10.8k|      CALLBACK(OnLocalDecl, k, num_local_types, local_type);
  ------------------
  |  |   66|  10.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  10.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.8k|  do {                      \
  |  |  |  |  |  |   48|  10.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  10.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.8k|               #member " callback failed")
  ------------------
 2884|  10.8k|    }
 2885|  22.3k|    CALLBACK(EndLocalDecls);
  ------------------
  |  |   66|  22.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  22.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  22.3k|  do {                      \
  |  |  |  |  |  |   48|  22.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 22.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  22.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  22.3k|               #member " callback failed")
  ------------------
 2886|       |
 2887|  22.3k|    if (options_.skip_function_bodies) {
  ------------------
  |  Branch (2887:9): [True: 18.5k, False: 3.74k]
  ------------------
 2888|  18.5k|      state_.offset = end_offset;
 2889|  18.5k|    } else {
 2890|  3.74k|      CHECK_RESULT(ReadFunctionBody(end_offset));
  ------------------
  |  |   55|  3.74k|  do {                              \
  |  |   56|  3.74k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.99k, False: 751]
  |  |  ------------------
  |  |   57|  2.99k|      return ::wabt::Result::Error; \
  |  |   58|  2.99k|    }                               \
  |  |   59|  3.74k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2891|  3.74k|    }
 2892|       |
 2893|  19.3k|    CALLBACK(EndFunctionBody, func_index);
  ------------------
  |  |   66|  19.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  19.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  19.3k|  do {                      \
  |  |  |  |  |  |   48|  19.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 19.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  19.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  19.3k|               #member " callback failed")
  ------------------
 2894|  19.3k|  }
 2895|    725|  CALLBACK0(EndCodeSection);
  ------------------
  |  |   63|    725|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    725|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    725|  do {                      \
  |  |  |  |  |  |   48|    725|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 725]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    725|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2896|    725|  return Result::Ok;
 2897|    725|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadFunctionBodyEm:
  711|  3.74k|Result BinaryReader::ReadFunctionBody(Offset end_offset) {
  712|  3.74k|  CHECK_RESULT(ReadInstructions(end_offset, "function body"));
  ------------------
  |  |   55|  3.74k|  do {                              \
  |  |   56|  3.74k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.92k, False: 813]
  |  |  ------------------
  |  |   57|  2.92k|      return ::wabt::Result::Error; \
  |  |   58|  2.92k|    }                               \
  |  |   59|  3.74k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  713|    813|  ERROR_UNLESS(state_.offset == end_offset,
  ------------------
  |  |   53|    813|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    813|  do {                      \
  |  |  |  |   48|    813|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 62, False: 751]
  |  |  |  |  ------------------
  |  |  |  |   49|     62|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     62|  do {                       \
  |  |  |  |  |  |   42|     62|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     62|    return Result::Error;    \
  |  |  |  |  |  |   44|     62|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     62|    }                       \
  |  |  |  |   51|    813|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  714|    751|               "function body shorter than given size");
  715|    751|  return Result::Ok;
  716|    813|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadDataSectionEm:
 2899|  6.95k|Result BinaryReader::ReadDataSection(Offset section_size) {
 2900|  6.95k|  CALLBACK(BeginDataSection, section_size);
  ------------------
  |  |   66|  6.95k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.95k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.95k|  do {                      \
  |  |  |  |  |  |   48|  6.95k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.95k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.95k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.95k|               #member " callback failed")
  ------------------
 2901|  6.95k|  CHECK_RESULT(ReadCount(&num_data_segments_, "data segment count"));
  ------------------
  |  |   55|  6.95k|  do {                              \
  |  |   56|  6.95k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 840, False: 6.11k]
  |  |  ------------------
  |  |   57|    840|      return ::wabt::Result::Error; \
  |  |   58|    840|    }                               \
  |  |   59|  6.95k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2902|  6.11k|  CALLBACK(OnDataSegmentCount, num_data_segments_);
  ------------------
  |  |   66|  6.11k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.11k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.11k|  do {                      \
  |  |  |  |  |  |   48|  6.11k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.11k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  6.11k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.11k|               #member " callback failed")
  ------------------
 2903|       |  // If the DataCount section is not present, then data_count_ will be invalid.
 2904|  6.11k|  ERROR_UNLESS(
  ------------------
  |  |   53|  6.11k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  6.11k|  do {                      \
  |  |  |  |   48|  12.5k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 5.84k, False: 270]
  |  |  |  |  |  Branch (48:9): [True: 35, False: 235]
  |  |  |  |  ------------------
  |  |  |  |   49|    235|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    235|  do {                       \
  |  |  |  |  |  |   42|    235|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    235|    return Result::Error;    \
  |  |  |  |  |  |   44|    235|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    235|    }                       \
  |  |  |  |   51|  6.11k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2905|  5.88k|      data_count_ == kInvalidIndex || data_count_ == num_data_segments_,
 2906|  5.88k|      "data segment count does not equal count in DataCount section");
 2907|  18.9k|  for (Index i = 0; i < num_data_segments_; ++i) {
  ------------------
  |  Branch (2907:21): [True: 18.7k, False: 225]
  ------------------
 2908|  18.7k|    uint32_t flags;
 2909|  18.7k|    CHECK_RESULT(ReadU32Leb128(&flags, "data segment flags"));
  ------------------
  |  |   55|  18.7k|  do {                              \
  |  |   56|  18.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 440, False: 18.3k]
  |  |  ------------------
  |  |   57|    440|      return ::wabt::Result::Error; \
  |  |   58|    440|    }                               \
  |  |   59|  18.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2910|  18.3k|    ERROR_IF(flags != 0 && !options_.features.bulk_memory_enabled(),
  ------------------
  |  |   47|  18.3k|  do {                      \
  |  |   48|  41.0k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 4.40k, False: 13.9k]
  |  |  |  Branch (48:9): [True: 0, False: 4.40k]
  |  |  ------------------
  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      0|  do {                       \
  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      0|    }                       \
  |  |   51|  18.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2911|  18.3k|             "invalid memory index %d: bulk memory not allowed", flags);
 2912|  18.3k|    ERROR_IF(flags > SegFlagMax, "invalid data segment flags: %#x", flags);
  ------------------
  |  |   47|  18.3k|  do {                      \
  |  |   48|  18.3k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 545, False: 17.7k]
  |  |  ------------------
  |  |   49|    545|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|    545|  do {                       \
  |  |  |  |   42|    545|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|    545|    return Result::Error;    \
  |  |  |  |   44|    545|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|    545|    }                       \
  |  |   51|  18.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2913|  17.7k|    Index memory_index(0);
 2914|  17.7k|    if (flags & SegExplicitIndex) {
  ------------------
  |  Branch (2914:9): [True: 840, False: 16.9k]
  ------------------
 2915|    840|      CHECK_RESULT(ReadIndex(&memory_index, "data segment memory index"));
  ------------------
  |  |   55|    840|  do {                              \
  |  |   56|    840|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10, False: 830]
  |  |  ------------------
  |  |   57|     10|      return ::wabt::Result::Error; \
  |  |   58|     10|    }                               \
  |  |   59|    840|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2916|    840|    }
 2917|  17.7k|    CALLBACK(BeginDataSegment, i, memory_index, flags);
  ------------------
  |  |   66|  17.7k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  17.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  17.7k|  do {                      \
  |  |  |  |  |  |   48|  17.7k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 17.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  17.7k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  17.7k|               #member " callback failed")
  ------------------
 2918|  17.7k|    if (!(flags & SegPassive)) {
  ------------------
  |  Branch (2918:9): [True: 14.8k, False: 2.96k]
  ------------------
 2919|  14.8k|      CALLBACK(BeginDataSegmentInitExpr, i);
  ------------------
  |  |   66|  14.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  14.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  14.8k|  do {                      \
  |  |  |  |  |  |   48|  14.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 14.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  14.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  14.8k|               #member " callback failed")
  ------------------
 2920|  14.8k|      CHECK_RESULT(ReadInitExpr(i));
  ------------------
  |  |   55|  14.8k|  do {                              \
  |  |   56|  14.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 4.33k, False: 10.4k]
  |  |  ------------------
  |  |   57|  4.33k|      return ::wabt::Result::Error; \
  |  |   58|  4.33k|    }                               \
  |  |   59|  14.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2921|  10.4k|      CALLBACK(EndDataSegmentInitExpr, i);
  ------------------
  |  |   66|  10.4k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  10.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.4k|  do {                      \
  |  |  |  |  |  |   48|  10.4k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  10.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.4k|               #member " callback failed")
  ------------------
 2922|  10.4k|    }
 2923|       |
 2924|  13.4k|    Address data_size;
 2925|  13.4k|    const void* data;
 2926|  13.4k|    CHECK_RESULT(ReadBytes(&data, &data_size, "data segment data"));
  ------------------
  |  |   55|  13.4k|  do {                              \
  |  |   56|  13.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 330, False: 13.1k]
  |  |  ------------------
  |  |   57|    330|      return ::wabt::Result::Error; \
  |  |   58|    330|    }                               \
  |  |   59|  13.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2927|  13.1k|    CALLBACK(OnDataSegmentData, i, data, data_size);
  ------------------
  |  |   66|  13.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  13.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  13.1k|  do {                      \
  |  |  |  |  |  |   48|  13.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 13.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  13.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  13.1k|               #member " callback failed")
  ------------------
 2928|  13.1k|    CALLBACK(EndDataSegment, i);
  ------------------
  |  |   66|  13.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  13.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  13.1k|  do {                      \
  |  |  |  |  |  |   48|  13.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 13.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  13.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  13.1k|               #member " callback failed")
  ------------------
 2929|  13.1k|  }
 2930|    225|  CALLBACK0(EndDataSection);
  ------------------
  |  |   63|    225|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    225|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    225|  do {                      \
  |  |  |  |  |  |   48|    225|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 225]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    225|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2931|    225|  return Result::Ok;
 2932|    225|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader14ReadTagSectionEm:
 2414|    565|Result BinaryReader::ReadTagSection(Offset section_size) {
 2415|    565|  CALLBACK(BeginTagSection, section_size);
  ------------------
  |  |   66|    565|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    565|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    565|  do {                      \
  |  |  |  |  |  |   48|    565|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 565]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    565|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    565|               #member " callback failed")
  ------------------
 2416|    565|  Index num_tags;
 2417|    565|  CHECK_RESULT(ReadCount(&num_tags, "tag count"));
  ------------------
  |  |   55|    565|  do {                              \
  |  |   56|    565|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 300, False: 265]
  |  |  ------------------
  |  |   57|    300|      return ::wabt::Result::Error; \
  |  |   58|    300|    }                               \
  |  |   59|    565|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2418|    265|  CALLBACK(OnTagCount, num_tags);
  ------------------
  |  |   66|    265|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    265|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    265|  do {                      \
  |  |  |  |  |  |   48|    265|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 265]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    265|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    265|               #member " callback failed")
  ------------------
 2419|       |
 2420|  5.62k|  for (Index i = 0; i < num_tags; ++i) {
  ------------------
  |  Branch (2420:21): [True: 5.53k, False: 90]
  ------------------
 2421|  5.53k|    Index tag_index = num_tag_imports_ + i;
 2422|  5.53k|    Index sig_index;
 2423|  5.53k|    CHECK_RESULT(ReadTagType(&sig_index));
  ------------------
  |  |   55|  5.53k|  do {                              \
  |  |   56|  5.53k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 175, False: 5.35k]
  |  |  ------------------
  |  |   57|    175|      return ::wabt::Result::Error; \
  |  |   58|    175|    }                               \
  |  |   59|  5.53k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2424|  5.35k|    CALLBACK(OnTagType, tag_index, sig_index);
  ------------------
  |  |   66|  5.35k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.35k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.35k|  do {                      \
  |  |  |  |  |  |   48|  5.35k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.35k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|  5.35k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.35k|               #member " callback failed")
  ------------------
 2425|  5.35k|  }
 2426|       |
 2427|     90|  CALLBACK(EndTagSection);
  ------------------
  |  |   66|     90|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     90|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     90|  do {                      \
  |  |  |  |  |  |   48|     90|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 90]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     90|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     90|               #member " callback failed")
  ------------------
 2428|     90|  return Result::Ok;
 2429|     90|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader20ReadDataCountSectionEm:
 2934|    825|Result BinaryReader::ReadDataCountSection(Offset section_size) {
 2935|    825|  CALLBACK(BeginDataCountSection, section_size);
  ------------------
  |  |   66|    825|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    825|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    825|  do {                      \
  |  |  |  |  |  |   48|    825|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 825]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    825|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    825|               #member " callback failed")
  ------------------
 2936|    825|  Index data_count;
 2937|    825|  CHECK_RESULT(ReadIndex(&data_count, "data count"));
  ------------------
  |  |   55|    825|  do {                              \
  |  |   56|    825|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 90, False: 735]
  |  |  ------------------
  |  |   57|     90|      return ::wabt::Result::Error; \
  |  |   58|     90|    }                               \
  |  |   59|    825|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2938|    735|  CALLBACK(OnDataCount, data_count);
  ------------------
  |  |   66|    735|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    735|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    735|  do {                      \
  |  |  |  |  |  |   48|    735|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 735]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    735|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    735|               #member " callback failed")
  ------------------
 2939|    735|  CALLBACK0(EndDataCountSection);
  ------------------
  |  |   63|    735|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    735|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    735|  do {                      \
  |  |  |  |  |  |   48|    735|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 735]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    735|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2940|    735|  data_count_ = data_count;
 2941|    735|  return Result::Ok;
 2942|    735|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardImXadL_ZNS1_9read_end_EEEED2Ev:
   91|  12.2M|    ~ValueRestoreGuard() { this_->*member = previous_value_; }

_ZN4wabt15GetSectionOrderENS_13BinarySectionE:
   21|  57.3k|BinarySectionOrder GetSectionOrder(BinarySection sec) {
   22|  57.3k|  switch (sec) {
   23|      0|#define V(Name, name, code) \
   24|      0|  case BinarySection::Name: \
   25|      0|    return BinarySectionOrder::Name;
   26|      0|    WABT_FOREACH_BINARY_SECTION(V)
  ------------------
  |  |   47|      0|  V(Custom, custom, 0)                 \
  |  |  ------------------
  |  |  |  |   26|      0|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|      0|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 0, False: 57.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|      0|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   48|  2.19k|  V(Type, type, 1)                     \
  |  |  ------------------
  |  |  |  |   26|  2.19k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|  2.19k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 2.19k, False: 55.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|  2.19k|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   49|  2.20k|  V(Import, import, 2)                 \
  |  |  ------------------
  |  |  |  |   26|  2.20k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|  2.20k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 2.20k, False: 55.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|  2.20k|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|  19.9k|  V(Function, function, 3)             \
  |  |  ------------------
  |  |  |  |   26|  19.9k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|  19.9k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 19.9k, False: 37.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|  19.9k|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   51|  19.9k|  V(Table, table, 4)                   \
  |  |  ------------------
  |  |  |  |   26|  1.76k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|  1.76k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 1.76k, False: 55.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|  1.76k|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   52|  1.76k|  V(Memory, memory, 5)                 \
  |  |  ------------------
  |  |  |  |   26|    640|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    640|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 640, False: 56.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    640|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   53|    640|  V(Tag, tag, 13)                      \
  |  |  ------------------
  |  |  |  |   26|    245|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    245|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 245, False: 57.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    245|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   54|  1.09k|  V(Global, global, 6)                 \
  |  |  ------------------
  |  |  |  |   26|  1.09k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|  1.09k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 1.09k, False: 56.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|  1.09k|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.96k|  V(Export, export, 7)                 \
  |  |  ------------------
  |  |  |  |   26|  3.96k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|  3.96k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 3.96k, False: 53.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|  3.96k|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   56|  3.96k|  V(Start, start, 8)                   \
  |  |  ------------------
  |  |  |  |   26|    985|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    985|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 985, False: 56.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    985|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|  2.54k|  V(Elem, elem, 9)                     \
  |  |  ------------------
  |  |  |  |   26|  2.54k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|  2.54k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 2.54k, False: 54.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|  2.54k|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   58|  2.54k|  V(DataCount, data_count, 12)         \
  |  |  ------------------
  |  |  |  |   26|  1.02k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|  1.02k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 1.02k, False: 56.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|  1.02k|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   59|  17.8k|  V(Code, code, 10)                    \
  |  |  ------------------
  |  |  |  |   26|  17.8k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|  17.8k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 17.8k, False: 39.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|  17.8k|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   60|  17.8k|  V(Data, data, 11)
  |  |  ------------------
  |  |  |  |   26|  2.82k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|  2.82k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 2.82k, False: 54.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|  2.82k|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   27|      0|#undef V
   28|      0|    default:
  ------------------
  |  Branch (28:5): [True: 0, False: 57.3k]
  ------------------
   29|      0|      WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
   30|  57.3k|  }
   31|  57.3k|}
_ZN4wabt14GetSectionNameENS_13BinarySectionE:
   33|  6.60M|const char* GetSectionName(BinarySection sec) {
   34|  6.60M|  switch (sec) {
   35|      0|#define V(Name, name, code) \
   36|      0|  case BinarySection::Name: \
   37|      0|    return #Name;
   38|      0|    WABT_FOREACH_BINARY_SECTION(V)
  ------------------
  |  |   47|  6.53M|  V(Custom, custom, 0)                 \
  |  |  ------------------
  |  |  |  |   38|  6.53M|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  6.53M|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 6.53M, False: 73.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  6.53M|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   48|  6.53M|  V(Type, type, 1)                     \
  |  |  ------------------
  |  |  |  |   38|  5.67k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  5.67k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 5.67k, False: 6.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  5.67k|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   49|  5.67k|  V(Import, import, 2)                 \
  |  |  ------------------
  |  |  |  |   38|  3.03k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  3.03k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 3.03k, False: 6.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  3.03k|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|  18.7k|  V(Function, function, 3)             \
  |  |  ------------------
  |  |  |  |   38|  18.7k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  18.7k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 18.7k, False: 6.58M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  18.7k|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   51|  18.7k|  V(Table, table, 4)                   \
  |  |  ------------------
  |  |  |  |   38|  2.13k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  2.13k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 2.13k, False: 6.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  2.13k|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   52|  2.13k|  V(Memory, memory, 5)                 \
  |  |  ------------------
  |  |  |  |   38|  1.49k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  1.49k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 1.49k, False: 6.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  1.49k|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   53|  1.49k|  V(Tag, tag, 13)                      \
  |  |  ------------------
  |  |  |  |   38|    507|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|    507|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 507, False: 6.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|    507|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   54|  3.34k|  V(Global, global, 6)                 \
  |  |  ------------------
  |  |  |  |   38|  3.34k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  3.34k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 3.34k, False: 6.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  3.34k|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.81k|  V(Export, export, 7)                 \
  |  |  ------------------
  |  |  |  |   38|  3.81k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  3.81k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 3.81k, False: 6.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  3.81k|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   56|  3.81k|  V(Start, start, 8)                   \
  |  |  ------------------
  |  |  |  |   38|    925|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|    925|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 925, False: 6.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|    925|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|  13.3k|  V(Elem, elem, 9)                     \
  |  |  ------------------
  |  |  |  |   38|  13.3k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  13.3k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 13.3k, False: 6.59M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  13.3k|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   58|  13.3k|  V(DataCount, data_count, 12)         \
  |  |  ------------------
  |  |  |  |   38|    680|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|    680|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 680, False: 6.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|    680|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   59|  13.9k|  V(Code, code, 10)                    \
  |  |  ------------------
  |  |  |  |   38|  13.9k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  13.9k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 13.9k, False: 6.59M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  13.9k|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   60|  13.9k|  V(Data, data, 11)
  |  |  ------------------
  |  |  |  |   38|  5.72k|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  5.72k|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 5.72k, False: 6.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  5.72k|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   39|      0|#undef V
   40|      0|    default:
  ------------------
  |  Branch (40:5): [True: 0, False: 6.60M]
  ------------------
   41|      0|      WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
   42|  6.60M|  }
   43|  6.60M|}
_ZN4wabt28GetNameSectionSubsectionNameENS_21NameSectionSubsectionE:
   62|  46.7k|const char* GetNameSectionSubsectionName(NameSectionSubsection subsec) {
   63|  46.7k|  static_assert(WABT_ENUM_COUNT(NameSectionSubsection) ==
   64|  46.7k|                    WABT_ARRAY_SIZE(NameSubsectionName),
   65|  46.7k|                "Malformed ExprTypeName array");
   66|  46.7k|  return NameSubsectionName[size_t(subsec)];
   67|  46.7k|}

_ZN4wabt5RelocC2ENS_9RelocTypeEmji:
   41|  2.02k|    : type(type), offset(offset), index(index), addend(addend) {}

_ZN4wabt8Features18UpdateDependenciesEv:
   39|  1.43M|void Features::UpdateDependencies() {
   40|       |  // Exception handling requires reference types.
   41|  1.43M|  if (exceptions_enabled_) {
  ------------------
  |  Branch (41:7): [True: 1.43M, False: 0]
  ------------------
   42|  1.43M|    reference_types_enabled_ = true;
   43|  1.43M|  }
   44|       |
   45|       |  // Function references require reference types.
   46|  1.43M|  if (function_references_enabled_) {
  ------------------
  |  Branch (46:7): [True: 979k, False: 451k]
  ------------------
   47|   979k|    reference_types_enabled_ = true;
   48|   979k|  }
   49|       |
   50|       |  // Reference types requires bulk memory.
   51|  1.43M|  if (!bulk_memory_enabled_) {
  ------------------
  |  Branch (51:7): [True: 0, False: 1.43M]
  ------------------
   52|      0|    reference_types_enabled_ = false;
   53|      0|  }
   54|  1.43M|}

_ZN4wabt11GetBasenameENSt3__117basic_string_viewIcNS0_11char_traitsIcEEEE:
   29|  14.9k|std::string_view GetBasename(std::string_view filename) {
   30|  14.9k|  size_t last_slash = filename.find_last_of('/');
   31|  14.9k|  size_t last_backslash = filename.find_last_of('\\');
   32|  14.9k|  if (last_slash == std::string_view::npos &&
  ------------------
  |  Branch (32:7): [True: 14.9k, False: 0]
  ------------------
   33|  14.9k|      last_backslash == std::string_view::npos) {
  ------------------
  |  Branch (33:7): [True: 14.9k, False: 0]
  ------------------
   34|  14.9k|    return filename;
   35|  14.9k|  }
   36|       |
   37|      0|  if (last_slash == std::string_view::npos) {
  ------------------
  |  Branch (37:7): [True: 0, False: 0]
  ------------------
   38|      0|    if (last_backslash == std::string_view::npos) {
  ------------------
  |  Branch (38:9): [True: 0, False: 0]
  ------------------
   39|      0|      return filename;
   40|      0|    }
   41|      0|    last_slash = last_backslash;
   42|      0|  } else if (last_backslash != std::string_view::npos) {
  ------------------
  |  Branch (42:14): [True: 0, False: 0]
  ------------------
   43|      0|    last_slash = std::max(last_slash, last_backslash);
   44|      0|  }
   45|       |
   46|      0|  return filename.substr(last_slash + 1);
   47|      0|}

_ZN4wabt17WriteU32Leb128RawEPhS0_j:
   86|  20.1k|Offset WriteU32Leb128Raw(uint8_t* dest, uint8_t* dest_end, uint32_t value) {
   87|  20.1k|  uint8_t data[MAX_U32_LEB128_BYTES];
   88|  20.1k|  Offset length = 0;
   89|  20.1k|  LEB128_LOOP_UNTIL(value == 0);
  ------------------
  |  |   38|  23.9k|  do {                              \
  |  |   39|  23.9k|    uint8_t byte = value & 0x7f;    \
  |  |   40|  23.9k|    value >>= 7;                    \
  |  |   41|  23.9k|    if (end_cond) {                 \
  |  |  ------------------
  |  |  |  Branch (41:9): [True: 20.1k, False: 3.76k]
  |  |  ------------------
  |  |   42|  20.1k|      data[length++] = byte;        \
  |  |   43|  20.1k|      break;                        \
  |  |   44|  20.1k|    } else {                        \
  |  |   45|  3.76k|      data[length++] = byte | 0x80; \
  |  |   46|  3.76k|    }                               \
  |  |   47|  23.9k|  } while (1)
  |  |  ------------------
  |  |  |  Branch (47:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
   90|  20.1k|  if (static_cast<Offset>(dest_end - dest) < length) {
  ------------------
  |  Branch (90:7): [True: 0, False: 20.1k]
  ------------------
   91|      0|    return 0;
   92|      0|  }
   93|  20.1k|  memcpy(dest, data, length);
   94|  20.1k|  return length;
   95|  20.1k|}
_ZN4wabt13ReadU32Leb128EPKhS1_Pj:
  184|  42.5M|                     uint32_t* out_value) {
  185|  42.5M|  if (p < end && (p[0] & 0x80) == 0) {
  ------------------
  |  Branch (185:7): [True: 32.1M, False: 10.4M]
  |  Branch (185:18): [True: 30.7M, False: 1.39M]
  ------------------
  186|  30.7M|    *out_value = LEB128_1(uint32_t);
  ------------------
  |  |  166|  30.7M|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  ------------------
  |  |  |  |  164|  30.7M|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  ------------------
  187|  30.7M|    return 1;
  188|  30.7M|  } else if (p + 1 < end && (p[1] & 0x80) == 0) {
  ------------------
  |  Branch (188:14): [True: 1.35M, False: 10.4M]
  |  Branch (188:29): [True: 1.12M, False: 233k]
  ------------------
  189|  1.12M|    *out_value = LEB128_2(uint32_t);
  ------------------
  |  |  167|  1.12M|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  164|  1.12M|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  166|  1.12M|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.12M|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  190|  1.12M|    return 2;
  191|  10.6M|  } else if (p + 2 < end && (p[2] & 0x80) == 0) {
  ------------------
  |  Branch (191:14): [True: 231k, False: 10.4M]
  |  Branch (191:29): [True: 125k, False: 105k]
  ------------------
  192|   125k|    *out_value = LEB128_3(uint32_t);
  ------------------
  |  |  168|   125k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  164|   125k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  167|   125k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|   125k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  166|   125k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|   125k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  193|   125k|    return 3;
  194|  10.5M|  } else if (p + 3 < end && (p[3] & 0x80) == 0) {
  ------------------
  |  Branch (194:14): [True: 104k, False: 10.4M]
  |  Branch (194:29): [True: 51.1k, False: 53.7k]
  ------------------
  195|  51.1k|    *out_value = LEB128_4(uint32_t);
  ------------------
  |  |  169|  51.1k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  164|  51.1k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  168|  51.1k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  51.1k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  167|  51.1k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  51.1k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  166|  51.1k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  51.1k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  196|  51.1k|    return 4;
  197|  10.5M|  } else if (p + 4 < end && (p[4] & 0x80) == 0) {
  ------------------
  |  Branch (197:14): [True: 53.4k, False: 10.4M]
  |  Branch (197:29): [True: 47.5k, False: 5.94k]
  ------------------
  198|       |    // The top bits set represent values > 32 bits.
  199|  47.5k|    if (p[4] & 0xf0) {
  ------------------
  |  Branch (199:9): [True: 1.37k, False: 46.1k]
  ------------------
  200|  1.37k|      return 0;
  201|  1.37k|    }
  202|  46.1k|    *out_value = LEB128_5(uint32_t);
  ------------------
  |  |  170|  46.1k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  164|  46.1k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  169|  46.1k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  46.1k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|  46.1k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  46.1k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  167|  46.1k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  46.1k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  166|  46.1k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  46.1k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|  46.1k|    return 5;
  204|  10.4M|  } else {
  205|       |    // past the end.
  206|  10.4M|    *out_value = 0;
  207|  10.4M|    return 0;
  208|  10.4M|  }
  209|  42.5M|}
_ZN4wabt13ReadU64Leb128EPKhS1_Pm:
  213|   178k|                     uint64_t* out_value) {
  214|   178k|  if (p < end && (p[0] & 0x80) == 0) {
  ------------------
  |  Branch (214:7): [True: 178k, False: 415]
  |  Branch (214:18): [True: 161k, False: 17.1k]
  ------------------
  215|   161k|    *out_value = LEB128_1(uint64_t);
  ------------------
  |  |  166|   161k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  ------------------
  |  |  |  |  164|   161k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  ------------------
  216|   161k|    return 1;
  217|   161k|  } else if (p + 1 < end && (p[1] & 0x80) == 0) {
  ------------------
  |  Branch (217:14): [True: 17.0k, False: 536]
  |  Branch (217:29): [True: 8.38k, False: 8.68k]
  ------------------
  218|  8.38k|    *out_value = LEB128_2(uint64_t);
  ------------------
  |  |  167|  8.38k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  164|  8.38k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  166|  8.38k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  8.38k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  219|  8.38k|    return 2;
  220|  9.22k|  } else if (p + 2 < end && (p[2] & 0x80) == 0) {
  ------------------
  |  Branch (220:14): [True: 8.65k, False: 561]
  |  Branch (220:29): [True: 1.99k, False: 6.66k]
  ------------------
  221|  1.99k|    *out_value = LEB128_3(uint64_t);
  ------------------
  |  |  168|  1.99k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  164|  1.99k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  167|  1.99k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.99k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  166|  1.99k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.99k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  222|  1.99k|    return 3;
  223|  7.22k|  } else if (p + 3 < end && (p[3] & 0x80) == 0) {
  ------------------
  |  Branch (223:14): [True: 6.65k, False: 577]
  |  Branch (223:29): [True: 1.12k, False: 5.52k]
  ------------------
  224|  1.12k|    *out_value = LEB128_4(uint64_t);
  ------------------
  |  |  169|  1.12k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  164|  1.12k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  168|  1.12k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.12k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  167|  1.12k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.12k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  166|  1.12k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  1.12k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  225|  1.12k|    return 4;
  226|  6.10k|  } else if (p + 4 < end && (p[4] & 0x80) == 0) {
  ------------------
  |  Branch (226:14): [True: 5.51k, False: 582]
  |  Branch (226:29): [True: 1.54k, False: 3.97k]
  ------------------
  227|  1.54k|    *out_value = LEB128_5(uint64_t);
  ------------------
  |  |  170|  1.54k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  164|  1.54k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  169|  1.54k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.54k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|  1.54k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.54k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  167|  1.54k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  1.54k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  166|  1.54k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.54k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  228|  1.54k|    return 5;
  229|  4.55k|  } else if (p + 5 < end && (p[5] & 0x80) == 0) {
  ------------------
  |  Branch (229:14): [True: 3.96k, False: 587]
  |  Branch (229:29): [True: 243, False: 3.72k]
  ------------------
  230|    243|    *out_value = LEB128_6(uint64_t);
  ------------------
  |  |  171|    243|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  ------------------
  |  |  |  |  164|    243|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  ------------------
  |  |  |  |  170|    243|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    243|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  169|    243|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    243|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  168|    243|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    243|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  167|    243|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    243|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  166|    243|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    243|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  231|    243|    return 6;
  232|  4.30k|  } else if (p + 6 < end && (p[6] & 0x80) == 0) {
  ------------------
  |  Branch (232:14): [True: 3.72k, False: 587]
  |  Branch (232:29): [True: 515, False: 3.20k]
  ------------------
  233|    515|    *out_value = LEB128_7(uint64_t);
  ------------------
  |  |  172|    515|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  ------------------
  |  |  |  |  164|    515|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  ------------------
  |  |  |  |  171|    515|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    515|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  170|    515|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    515|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  169|    515|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    515|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  168|    515|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    515|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  167|    515|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    515|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  166|    515|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    515|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  234|    515|    return 7;
  235|  3.79k|  } else if (p + 7 < end && (p[7] & 0x80) == 0) {
  ------------------
  |  Branch (235:14): [True: 3.20k, False: 587]
  |  Branch (235:29): [True: 2.72k, False: 484]
  ------------------
  236|  2.72k|    *out_value = LEB128_8(uint64_t);
  ------------------
  |  |  173|  2.72k|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  ------------------
  |  |  |  |  164|  2.72k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  ------------------
  |  |  |  |  172|  2.72k|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  2.72k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  171|  2.72k|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  2.72k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  170|  2.72k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  2.72k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  169|  2.72k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  2.72k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  168|  2.72k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|  2.72k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  167|  2.72k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|  2.72k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  166|  2.72k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|  2.72k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  237|  2.72k|    return 8;
  238|  2.72k|  } else if (p + 8 < end && (p[8] & 0x80) == 0) {
  ------------------
  |  Branch (238:14): [True: 479, False: 592]
  |  Branch (238:29): [True: 272, False: 207]
  ------------------
  239|    272|    *out_value = LEB128_9(uint64_t);
  ------------------
  |  |  174|    272|#define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  ------------------
  |  |  |  |  164|    272|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  ------------------
  |  |  |  |  173|    272|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    272|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  172|    272|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    272|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  171|    272|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    272|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  170|    272|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    272|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  169|    272|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    272|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  168|    272|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    272|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  167|    272|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    272|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  166|    272|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    272|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  240|    272|    return 9;
  241|    799|  } else if (p + 9 < end && (p[9] & 0x80) == 0) {
  ------------------
  |  Branch (241:14): [True: 202, False: 597]
  |  Branch (241:29): [True: 151, False: 51]
  ------------------
  242|       |    // The top bits set represent values > 64 bits.
  243|    151|    if (p[9] & 0xfe) {
  ------------------
  |  Branch (243:9): [True: 51, False: 100]
  ------------------
  244|     51|      return 0;
  245|     51|    }
  246|    100|    *out_value = LEB128_10(uint64_t);
  ------------------
  |  |  175|    100|#define LEB128_10(type) (BYTE_AT(type, 9, 63) | LEB128_9(type))
  |  |  ------------------
  |  |  |  |  164|    100|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_10(type) (BYTE_AT(type, 9, 63) | LEB128_9(type))
  |  |  ------------------
  |  |  |  |  174|    100|#define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    100|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  173|    100|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    100|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  172|    100|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    100|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  171|    100|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    100|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |               #define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  170|    100|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    100|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  169|    100|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    100|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  168|    100|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    100|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  167|    100|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    100|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  166|    100|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    100|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  247|    100|    return 10;
  248|    648|  } else {
  249|       |    // past the end.
  250|    648|    *out_value = 0;
  251|    648|    return 0;
  252|    648|  }
  253|   178k|}
_ZN4wabt13ReadS32Leb128EPKhS1_Pj:
  257|  1.11M|                     uint32_t* out_value) {
  258|  1.11M|  if (p < end && (p[0] & 0x80) == 0) {
  ------------------
  |  Branch (258:7): [True: 1.11M, False: 1.59k]
  |  Branch (258:18): [True: 1.08M, False: 24.7k]
  ------------------
  259|  1.08M|    uint32_t result = LEB128_1(uint32_t);
  ------------------
  |  |  166|  1.08M|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  ------------------
  |  |  |  |  164|  1.08M|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  ------------------
  260|  1.08M|    *out_value = SIGN_EXTEND(int32_t, result, 6);
  ------------------
  |  |  179|  1.08M|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  1.08M|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  1.08M|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  1.08M|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  261|  1.08M|    return 1;
  262|  1.08M|  } else if (p + 1 < end && (p[1] & 0x80) == 0) {
  ------------------
  |  Branch (262:14): [True: 24.3k, False: 2.03k]
  |  Branch (262:29): [True: 12.6k, False: 11.7k]
  ------------------
  263|  12.6k|    uint32_t result = LEB128_2(uint32_t);
  ------------------
  |  |  167|  12.6k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  164|  12.6k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  166|  12.6k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  12.6k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  264|  12.6k|    *out_value = SIGN_EXTEND(int32_t, result, 13);
  ------------------
  |  |  179|  12.6k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  12.6k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  12.6k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  12.6k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  265|  12.6k|    return 2;
  266|  13.7k|  } else if (p + 2 < end && (p[2] & 0x80) == 0) {
  ------------------
  |  Branch (266:14): [True: 11.6k, False: 2.10k]
  |  Branch (266:29): [True: 4.47k, False: 7.16k]
  ------------------
  267|  4.47k|    uint32_t result = LEB128_3(uint32_t);
  ------------------
  |  |  168|  4.47k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  164|  4.47k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  167|  4.47k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  4.47k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  166|  4.47k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  4.47k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|  4.47k|    *out_value = SIGN_EXTEND(int32_t, result, 20);
  ------------------
  |  |  179|  4.47k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  4.47k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  4.47k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  4.47k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  269|  4.47k|    return 3;
  270|  9.26k|  } else if (p + 3 < end && (p[3] & 0x80) == 0) {
  ------------------
  |  Branch (270:14): [True: 7.12k, False: 2.13k]
  |  Branch (270:29): [True: 2.86k, False: 4.26k]
  ------------------
  271|  2.86k|    uint32_t result = LEB128_4(uint32_t);
  ------------------
  |  |  169|  2.86k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  164|  2.86k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  168|  2.86k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  2.86k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  167|  2.86k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  2.86k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  166|  2.86k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  2.86k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  272|  2.86k|    *out_value = SIGN_EXTEND(int32_t, result, 27);
  ------------------
  |  |  179|  2.86k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  2.86k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  2.86k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  2.86k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  273|  2.86k|    return 4;
  274|  6.40k|  } else if (p + 4 < end && (p[4] & 0x80) == 0) {
  ------------------
  |  Branch (274:14): [True: 4.23k, False: 2.16k]
  |  Branch (274:29): [True: 3.58k, False: 653]
  ------------------
  275|       |    // The top bits should be a sign-extension of the sign bit.
  276|  3.58k|    bool sign_bit_set = (p[4] & 0x8);
  277|  3.58k|    int top_bits = p[4] & 0xf0;
  278|  3.58k|    if ((sign_bit_set && top_bits != 0x70) ||
  ------------------
  |  Branch (278:10): [True: 559, False: 3.02k]
  |  Branch (278:26): [True: 230, False: 329]
  ------------------
  279|  3.58k|        (!sign_bit_set && top_bits != 0)) {
  ------------------
  |  Branch (279:10): [True: 3.02k, False: 329]
  |  Branch (279:27): [True: 133, False: 2.89k]
  ------------------
  280|    363|      return 0;
  281|    363|    }
  282|  3.21k|    uint32_t result = LEB128_5(uint32_t);
  ------------------
  |  |  170|  3.21k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  164|  3.21k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  169|  3.21k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  3.21k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|  3.21k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  3.21k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  167|  3.21k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  3.21k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  166|  3.21k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  3.21k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  283|  3.21k|    *out_value = result;
  284|  3.21k|    return 5;
  285|  3.58k|  } else {
  286|       |    // Past the end.
  287|  2.81k|    return 0;
  288|  2.81k|  }
  289|  1.11M|}
_ZN4wabt13ReadS64Leb128EPKhS1_Pm:
  293|  34.6k|                     uint64_t* out_value) {
  294|  34.6k|  if (p < end && (p[0] & 0x80) == 0) {
  ------------------
  |  Branch (294:7): [True: 34.5k, False: 170]
  |  Branch (294:18): [True: 28.0k, False: 6.49k]
  ------------------
  295|  28.0k|    uint64_t result = LEB128_1(uint64_t);
  ------------------
  |  |  166|  28.0k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  ------------------
  |  |  |  |  164|  28.0k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  ------------------
  296|  28.0k|    *out_value = SIGN_EXTEND(int64_t, result, 6);
  ------------------
  |  |  179|  28.0k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  28.0k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  28.0k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  28.0k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  297|  28.0k|    return 1;
  298|  28.0k|  } else if (p + 1 < end && (p[1] & 0x80) == 0) {
  ------------------
  |  Branch (298:14): [True: 6.46k, False: 196]
  |  Branch (298:29): [True: 547, False: 5.92k]
  ------------------
  299|    547|    uint64_t result = LEB128_2(uint64_t);
  ------------------
  |  |  167|    547|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  164|    547|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  166|    547|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    547|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  300|    547|    *out_value = SIGN_EXTEND(int64_t, result, 13);
  ------------------
  |  |  179|    547|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|    547|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|    547|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|    547|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  301|    547|    return 2;
  302|  6.11k|  } else if (p + 2 < end && (p[2] & 0x80) == 0) {
  ------------------
  |  Branch (302:14): [True: 5.92k, False: 197]
  |  Branch (302:29): [True: 753, False: 5.16k]
  ------------------
  303|    753|    uint64_t result = LEB128_3(uint64_t);
  ------------------
  |  |  168|    753|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  164|    753|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  167|    753|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    753|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  166|    753|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    753|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|    753|    *out_value = SIGN_EXTEND(int64_t, result, 20);
  ------------------
  |  |  179|    753|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|    753|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|    753|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|    753|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  305|    753|    return 3;
  306|  5.36k|  } else if (p + 3 < end && (p[3] & 0x80) == 0) {
  ------------------
  |  Branch (306:14): [True: 5.14k, False: 222]
  |  Branch (306:29): [True: 1.11k, False: 4.02k]
  ------------------
  307|  1.11k|    uint64_t result = LEB128_4(uint64_t);
  ------------------
  |  |  169|  1.11k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  164|  1.11k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  168|  1.11k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.11k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  167|  1.11k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.11k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  166|  1.11k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  1.11k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  308|  1.11k|    *out_value = SIGN_EXTEND(int64_t, result, 27);
  ------------------
  |  |  179|  1.11k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  1.11k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  1.11k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  1.11k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  309|  1.11k|    return 4;
  310|  4.25k|  } else if (p + 4 < end && (p[4] & 0x80) == 0) {
  ------------------
  |  Branch (310:14): [True: 4.02k, False: 229]
  |  Branch (310:29): [True: 2.04k, False: 1.97k]
  ------------------
  311|  2.04k|    uint64_t result = LEB128_5(uint64_t);
  ------------------
  |  |  170|  2.04k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  164|  2.04k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  169|  2.04k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  2.04k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|  2.04k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  2.04k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  167|  2.04k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  2.04k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  166|  2.04k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  2.04k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  312|  2.04k|    *out_value = SIGN_EXTEND(int64_t, result, 34);
  ------------------
  |  |  179|  2.04k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  2.04k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  2.04k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  2.04k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  313|  2.04k|    return 5;
  314|  2.20k|  } else if (p + 5 < end && (p[5] & 0x80) == 0) {
  ------------------
  |  Branch (314:14): [True: 1.97k, False: 229]
  |  Branch (314:29): [True: 628, False: 1.34k]
  ------------------
  315|    628|    uint64_t result = LEB128_6(uint64_t);
  ------------------
  |  |  171|    628|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  ------------------
  |  |  |  |  164|    628|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  ------------------
  |  |  |  |  170|    628|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    628|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  169|    628|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    628|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  168|    628|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    628|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  167|    628|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    628|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  166|    628|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    628|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  316|    628|    *out_value = SIGN_EXTEND(int64_t, result, 41);
  ------------------
  |  |  179|    628|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|    628|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|    628|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|    628|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  317|    628|    return 6;
  318|  1.57k|  } else if (p + 6 < end && (p[6] & 0x80) == 0) {
  ------------------
  |  Branch (318:14): [True: 1.34k, False: 230]
  |  Branch (318:29): [True: 499, False: 845]
  ------------------
  319|    499|    uint64_t result = LEB128_7(uint64_t);
  ------------------
  |  |  172|    499|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  ------------------
  |  |  |  |  164|    499|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  ------------------
  |  |  |  |  171|    499|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    499|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  170|    499|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    499|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  169|    499|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    499|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  168|    499|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    499|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  167|    499|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    499|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  166|    499|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    499|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|    499|    *out_value = SIGN_EXTEND(int64_t, result, 48);
  ------------------
  |  |  179|    499|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|    499|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|    499|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|    499|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  321|    499|    return 7;
  322|  1.07k|  } else if (p + 7 < end && (p[7] & 0x80) == 0) {
  ------------------
  |  Branch (322:14): [True: 835, False: 240]
  |  Branch (322:29): [True: 214, False: 621]
  ------------------
  323|    214|    uint64_t result = LEB128_8(uint64_t);
  ------------------
  |  |  173|    214|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  ------------------
  |  |  |  |  164|    214|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  ------------------
  |  |  |  |  172|    214|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    214|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  171|    214|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    214|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  170|    214|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    214|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  169|    214|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    214|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  168|    214|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    214|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  167|    214|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    214|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  166|    214|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    214|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  324|    214|    *out_value = SIGN_EXTEND(int64_t, result, 55);
  ------------------
  |  |  179|    214|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|    214|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|    214|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|    214|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  325|    214|    return 8;
  326|    861|  } else if (p + 8 < end && (p[8] & 0x80) == 0) {
  ------------------
  |  Branch (326:14): [True: 591, False: 270]
  |  Branch (326:29): [True: 286, False: 305]
  ------------------
  327|    286|    uint64_t result = LEB128_9(uint64_t);
  ------------------
  |  |  174|    286|#define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  ------------------
  |  |  |  |  164|    286|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  ------------------
  |  |  |  |  173|    286|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    286|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  172|    286|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    286|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  171|    286|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    286|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  170|    286|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    286|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  169|    286|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    286|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  168|    286|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    286|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  167|    286|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    286|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  166|    286|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    286|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  328|    286|    *out_value = SIGN_EXTEND(int64_t, result, 62);
  ------------------
  |  |  179|    286|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|    286|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|    286|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|    286|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  329|    286|    return 9;
  330|    575|  } else if (p + 9 < end && (p[9] & 0x80) == 0) {
  ------------------
  |  Branch (330:14): [True: 290, False: 285]
  |  Branch (330:29): [True: 209, False: 81]
  ------------------
  331|       |    // The top bits should be a sign-extension of the sign bit.
  332|    209|    bool sign_bit_set = (p[9] & 0x1);
  333|    209|    int top_bits = p[9] & 0xfe;
  334|    209|    if ((sign_bit_set && top_bits != 0x7e) ||
  ------------------
  |  Branch (334:10): [True: 49, False: 160]
  |  Branch (334:26): [True: 8, False: 41]
  ------------------
  335|    209|        (!sign_bit_set && top_bits != 0)) {
  ------------------
  |  Branch (335:10): [True: 160, False: 41]
  |  Branch (335:27): [True: 22, False: 138]
  ------------------
  336|     30|      return 0;
  337|     30|    }
  338|    179|    uint64_t result = LEB128_10(uint64_t);
  ------------------
  |  |  175|    179|#define LEB128_10(type) (BYTE_AT(type, 9, 63) | LEB128_9(type))
  |  |  ------------------
  |  |  |  |  164|    179|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  |  |               #define LEB128_10(type) (BYTE_AT(type, 9, 63) | LEB128_9(type))
  |  |  ------------------
  |  |  |  |  174|    179|#define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    179|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  |  |               #define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  173|    179|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    179|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  172|    179|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    179|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  171|    179|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    179|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |               #define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  170|    179|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    179|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  169|    179|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    179|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  168|    179|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    179|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  167|    179|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    179|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |               #define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  166|    179|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    179|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|    179|    *out_value = result;
  340|    179|    return 10;
  341|    366|  } else {
  342|       |    // Past the end.
  343|    366|    return 0;
  344|    366|  }
  345|  34.6k|}

_ZN4wabt13WriteFloatHexEPcmj:
  786|  13.2k|void WriteFloatHex(char* buffer, size_t size, uint32_t bits) {
  787|  13.2k|  return FloatWriter<float>::WriteHex(buffer, size, bits);
  788|  13.2k|}
_ZN4wabt14WriteDoubleHexEPcmm:
  790|  3.11k|void WriteDoubleHex(char* buffer, size_t size, uint64_t bits) {
  791|  3.11k|  return FloatWriter<double>::WriteHex(buffer, size, bits);
  792|  3.11k|}
literal.cc:_ZN4wabt12_GLOBAL__N_111FloatWriterIfE8WriteHexEPcmj:
  457|  13.2k|void FloatWriter<T>::WriteHex(char* out, size_t size, Uint bits) {
  458|  13.2k|  static constexpr int kNumNybbles = Traits::kBits / 4;
  459|  13.2k|  static constexpr int kTopNybbleShift = Traits::kBits - 4;
  460|  13.2k|  static constexpr Uint kTopNybble = Uint(0xf) << kTopNybbleShift;
  461|  13.2k|  static const char s_hex_digits[] = "0123456789abcdef";
  462|       |
  463|  13.2k|  char buffer[Traits::kMaxHexBufferSize];
  464|  13.2k|  char* p = buffer;
  465|  13.2k|  bool is_neg = (bits >> Traits::kSignShift);
  466|  13.2k|  int exp = ((bits >> Traits::kSigBits) & Traits::kExpMask) - Traits::kExpBias;
  467|  13.2k|  Uint sig = bits & Traits::kSigMask;
  468|       |
  469|  13.2k|  if (is_neg) {
  ------------------
  |  Branch (469:7): [True: 2.78k, False: 10.4k]
  ------------------
  470|  2.78k|    *p++ = '-';
  471|  2.78k|  }
  472|  13.2k|  if (exp == Traits::kMaxExp) {
  ------------------
  |  Branch (472:7): [True: 258, False: 12.9k]
  ------------------
  473|       |    // Infinity or nan.
  474|    258|    if (sig == 0) {
  ------------------
  |  Branch (474:9): [True: 51, False: 207]
  ------------------
  475|     51|      strcpy(p, "inf");
  476|     51|      p += 3;
  477|    207|    } else {
  478|    207|      strcpy(p, "nan");
  479|    207|      p += 3;
  480|    207|      if (sig != Traits::kQuietNanTag) {
  ------------------
  |  Branch (480:11): [True: 182, False: 25]
  ------------------
  481|    182|        strcpy(p, ":0x");
  482|    182|        p += 3;
  483|       |        // Skip leading zeroes.
  484|    182|        int num_nybbles = kNumNybbles;
  485|    578|        while ((sig & kTopNybble) == 0) {
  ------------------
  |  Branch (485:16): [True: 396, False: 182]
  ------------------
  486|    396|          sig <<= 4;
  487|    396|          num_nybbles--;
  488|    396|        }
  489|  1.24k|        while (num_nybbles) {
  ------------------
  |  Branch (489:16): [True: 1.06k, False: 182]
  ------------------
  490|  1.06k|          Uint nybble = (sig >> kTopNybbleShift) & 0xf;
  491|  1.06k|          *p++ = s_hex_digits[nybble];
  492|  1.06k|          sig <<= 4;
  493|  1.06k|          --num_nybbles;
  494|  1.06k|        }
  495|    182|      }
  496|    207|    }
  497|  12.9k|  } else {
  498|  12.9k|    bool is_zero = sig == 0 && exp == Traits::kMinExp;
  ------------------
  |  Branch (498:20): [True: 315, False: 12.6k]
  |  Branch (498:32): [True: 289, False: 26]
  ------------------
  499|  12.9k|    strcpy(p, "0x");
  500|  12.9k|    p += 2;
  501|  12.9k|    *p++ = is_zero ? '0' : '1';
  ------------------
  |  Branch (501:12): [True: 289, False: 12.6k]
  ------------------
  502|       |
  503|       |    // Shift sig up so the top 4-bits are at the top of the Uint.
  504|  12.9k|    sig <<= Traits::kBits - Traits::kSigBits;
  505|       |
  506|  12.9k|    if (sig) {
  ------------------
  |  Branch (506:9): [True: 12.6k, False: 315]
  ------------------
  507|  12.6k|      if (exp == Traits::kMinExp) {
  ------------------
  |  Branch (507:11): [True: 1.36k, False: 11.2k]
  ------------------
  508|       |        // Subnormal; shift the significand up, and shift out the implicit 1.
  509|  1.36k|        Uint leading_zeroes = Clz(sig);
  510|  1.36k|        if (leading_zeroes < Traits::kSignShift) {
  ------------------
  |  Branch (510:13): [True: 1.36k, False: 0]
  ------------------
  511|  1.36k|          sig <<= leading_zeroes + 1;
  512|  1.36k|        } else {
  513|      0|          sig = 0;
  514|      0|        }
  515|  1.36k|        exp -= leading_zeroes;
  516|  1.36k|      }
  517|       |
  518|  12.6k|      *p++ = '.';
  519|  84.4k|      while (sig) {
  ------------------
  |  Branch (519:14): [True: 71.8k, False: 12.6k]
  ------------------
  520|  71.8k|        int nybble = (sig >> kTopNybbleShift) & 0xf;
  521|  71.8k|        *p++ = s_hex_digits[nybble];
  522|  71.8k|        sig <<= 4;
  523|  71.8k|      }
  524|  12.6k|    }
  525|  12.9k|    *p++ = 'p';
  526|  12.9k|    if (is_zero) {
  ------------------
  |  Branch (526:9): [True: 289, False: 12.6k]
  ------------------
  527|    289|      strcpy(p, "+0");
  528|    289|      p += 2;
  529|  12.6k|    } else {
  530|  12.6k|      if (exp < 0) {
  ------------------
  |  Branch (530:11): [True: 4.11k, False: 8.53k]
  ------------------
  531|  4.11k|        *p++ = '-';
  532|  4.11k|        exp = -exp;
  533|  8.53k|      } else {
  534|  8.53k|        *p++ = '+';
  535|  8.53k|      }
  536|  12.6k|      if (exp >= 1000) {
  ------------------
  |  Branch (536:11): [True: 0, False: 12.6k]
  ------------------
  537|      0|        *p++ = '1';
  538|      0|      }
  539|  12.6k|      if (exp >= 100) {
  ------------------
  |  Branch (539:11): [True: 1.91k, False: 10.7k]
  ------------------
  540|  1.91k|        *p++ = '0' + (exp / 100) % 10;
  541|  1.91k|      }
  542|  12.6k|      if (exp >= 10) {
  ------------------
  |  Branch (542:11): [True: 3.17k, False: 9.47k]
  ------------------
  543|  3.17k|        *p++ = '0' + (exp / 10) % 10;
  544|  3.17k|      }
  545|  12.6k|      *p++ = '0' + exp % 10;
  546|  12.6k|    }
  547|  12.9k|  }
  548|       |
  549|  13.2k|  size_t len = p - buffer;
  550|  13.2k|  if (len >= size) {
  ------------------
  |  Branch (550:7): [True: 0, False: 13.2k]
  ------------------
  551|      0|    len = size - 1;
  552|      0|  }
  553|  13.2k|  memcpy(out, buffer, len);
  554|  13.2k|  out[len] = '\0';
  555|  13.2k|}
literal.cc:_ZN4wabt12_GLOBAL__N_111FloatWriterIdE8WriteHexEPcmm:
  457|  3.11k|void FloatWriter<T>::WriteHex(char* out, size_t size, Uint bits) {
  458|  3.11k|  static constexpr int kNumNybbles = Traits::kBits / 4;
  459|  3.11k|  static constexpr int kTopNybbleShift = Traits::kBits - 4;
  460|  3.11k|  static constexpr Uint kTopNybble = Uint(0xf) << kTopNybbleShift;
  461|  3.11k|  static const char s_hex_digits[] = "0123456789abcdef";
  462|       |
  463|  3.11k|  char buffer[Traits::kMaxHexBufferSize];
  464|  3.11k|  char* p = buffer;
  465|  3.11k|  bool is_neg = (bits >> Traits::kSignShift);
  466|  3.11k|  int exp = ((bits >> Traits::kSigBits) & Traits::kExpMask) - Traits::kExpBias;
  467|  3.11k|  Uint sig = bits & Traits::kSigMask;
  468|       |
  469|  3.11k|  if (is_neg) {
  ------------------
  |  Branch (469:7): [True: 1.26k, False: 1.84k]
  ------------------
  470|  1.26k|    *p++ = '-';
  471|  1.26k|  }
  472|  3.11k|  if (exp == Traits::kMaxExp) {
  ------------------
  |  Branch (472:7): [True: 336, False: 2.78k]
  ------------------
  473|       |    // Infinity or nan.
  474|    336|    if (sig == 0) {
  ------------------
  |  Branch (474:9): [True: 19, False: 317]
  ------------------
  475|     19|      strcpy(p, "inf");
  476|     19|      p += 3;
  477|    317|    } else {
  478|    317|      strcpy(p, "nan");
  479|    317|      p += 3;
  480|    317|      if (sig != Traits::kQuietNanTag) {
  ------------------
  |  Branch (480:11): [True: 305, False: 12]
  ------------------
  481|    305|        strcpy(p, ":0x");
  482|    305|        p += 3;
  483|       |        // Skip leading zeroes.
  484|    305|        int num_nybbles = kNumNybbles;
  485|  1.45k|        while ((sig & kTopNybble) == 0) {
  ------------------
  |  Branch (485:16): [True: 1.14k, False: 305]
  ------------------
  486|  1.14k|          sig <<= 4;
  487|  1.14k|          num_nybbles--;
  488|  1.14k|        }
  489|  4.03k|        while (num_nybbles) {
  ------------------
  |  Branch (489:16): [True: 3.73k, False: 305]
  ------------------
  490|  3.73k|          Uint nybble = (sig >> kTopNybbleShift) & 0xf;
  491|  3.73k|          *p++ = s_hex_digits[nybble];
  492|  3.73k|          sig <<= 4;
  493|  3.73k|          --num_nybbles;
  494|  3.73k|        }
  495|    305|      }
  496|    317|    }
  497|  2.78k|  } else {
  498|  2.78k|    bool is_zero = sig == 0 && exp == Traits::kMinExp;
  ------------------
  |  Branch (498:20): [True: 201, False: 2.58k]
  |  Branch (498:32): [True: 111, False: 90]
  ------------------
  499|  2.78k|    strcpy(p, "0x");
  500|  2.78k|    p += 2;
  501|  2.78k|    *p++ = is_zero ? '0' : '1';
  ------------------
  |  Branch (501:12): [True: 111, False: 2.67k]
  ------------------
  502|       |
  503|       |    // Shift sig up so the top 4-bits are at the top of the Uint.
  504|  2.78k|    sig <<= Traits::kBits - Traits::kSigBits;
  505|       |
  506|  2.78k|    if (sig) {
  ------------------
  |  Branch (506:9): [True: 2.58k, False: 201]
  ------------------
  507|  2.58k|      if (exp == Traits::kMinExp) {
  ------------------
  |  Branch (507:11): [True: 320, False: 2.26k]
  ------------------
  508|       |        // Subnormal; shift the significand up, and shift out the implicit 1.
  509|    320|        Uint leading_zeroes = Clz(sig);
  510|    320|        if (leading_zeroes < Traits::kSignShift) {
  ------------------
  |  Branch (510:13): [True: 320, False: 0]
  ------------------
  511|    320|          sig <<= leading_zeroes + 1;
  512|    320|        } else {
  513|      0|          sig = 0;
  514|      0|        }
  515|    320|        exp -= leading_zeroes;
  516|    320|      }
  517|       |
  518|  2.58k|      *p++ = '.';
  519|  32.7k|      while (sig) {
  ------------------
  |  Branch (519:14): [True: 30.1k, False: 2.58k]
  ------------------
  520|  30.1k|        int nybble = (sig >> kTopNybbleShift) & 0xf;
  521|  30.1k|        *p++ = s_hex_digits[nybble];
  522|  30.1k|        sig <<= 4;
  523|  30.1k|      }
  524|  2.58k|    }
  525|  2.78k|    *p++ = 'p';
  526|  2.78k|    if (is_zero) {
  ------------------
  |  Branch (526:9): [True: 111, False: 2.67k]
  ------------------
  527|    111|      strcpy(p, "+0");
  528|    111|      p += 2;
  529|  2.67k|    } else {
  530|  2.67k|      if (exp < 0) {
  ------------------
  |  Branch (530:11): [True: 1.58k, False: 1.08k]
  ------------------
  531|  1.58k|        *p++ = '-';
  532|  1.58k|        exp = -exp;
  533|  1.58k|      } else {
  534|  1.08k|        *p++ = '+';
  535|  1.08k|      }
  536|  2.67k|      if (exp >= 1000) {
  ------------------
  |  Branch (536:11): [True: 630, False: 2.04k]
  ------------------
  537|    630|        *p++ = '1';
  538|    630|      }
  539|  2.67k|      if (exp >= 100) {
  ------------------
  |  Branch (539:11): [True: 1.72k, False: 949]
  ------------------
  540|  1.72k|        *p++ = '0' + (exp / 100) % 10;
  541|  1.72k|      }
  542|  2.67k|      if (exp >= 10) {
  ------------------
  |  Branch (542:11): [True: 2.58k, False: 89]
  ------------------
  543|  2.58k|        *p++ = '0' + (exp / 10) % 10;
  544|  2.58k|      }
  545|  2.67k|      *p++ = '0' + exp % 10;
  546|  2.67k|    }
  547|  2.78k|  }
  548|       |
  549|  3.11k|  size_t len = p - buffer;
  550|  3.11k|  if (len >= size) {
  ------------------
  |  Branch (550:7): [True: 0, False: 3.11k]
  ------------------
  551|      0|    len = size - 1;
  552|      0|  }
  553|  3.11k|  memcpy(out, buffer, len);
  554|  3.11k|  out[len] = '\0';
  555|  3.11k|}

_ZNK4wabt6Opcode7GetInfoEv:
   41|   881k|Opcode::Info Opcode::GetInfo() const {
   42|   881k|  if (enum_ < Invalid) {
  ------------------
  |  Branch (42:7): [True: 871k, False: 9.36k]
  ------------------
   43|   871k|    return infos_[enum_];
   44|   871k|  }
   45|       |
   46|  9.36k|  Info invalid_info = infos_[Opcode::Invalid];
   47|  9.36k|  DecodeInvalidOpcode(enum_, &invalid_info.prefix, &invalid_info.code);
   48|  9.36k|  invalid_info.prefix_code = PrefixCode(invalid_info.prefix, invalid_info.code);
   49|  9.36k|  return invalid_info;
   50|   881k|}
_ZNK4wabt6Opcode9IsEnabledERKNS_8FeaturesE:
   64|  3.16M|bool Opcode::IsEnabled(const Features& features) const {
   65|  3.16M|  switch (enum_) {
   66|  38.1k|    case Opcode::Try:
  ------------------
  |  Branch (66:5): [True: 38.1k, False: 3.13M]
  ------------------
   67|  43.1k|    case Opcode::Catch:
  ------------------
  |  Branch (67:5): [True: 5.01k, False: 3.16M]
  ------------------
   68|  57.1k|    case Opcode::Delegate:
  ------------------
  |  Branch (68:5): [True: 14.0k, False: 3.15M]
  ------------------
   69|  68.2k|    case Opcode::Throw:
  ------------------
  |  Branch (69:5): [True: 11.0k, False: 3.15M]
  ------------------
   70|  74.8k|    case Opcode::ThrowRef:
  ------------------
  |  Branch (70:5): [True: 6.52k, False: 3.16M]
  ------------------
   71|  77.4k|    case Opcode::TryTable:
  ------------------
  |  Branch (71:5): [True: 2.68k, False: 3.16M]
  ------------------
   72|   101k|    case Opcode::Rethrow:
  ------------------
  |  Branch (72:5): [True: 23.9k, False: 3.14M]
  ------------------
   73|   101k|      return features.exceptions_enabled();
   74|       |
   75|  2.14k|    case Opcode::ReturnCallIndirect:
  ------------------
  |  Branch (75:5): [True: 2.14k, False: 3.16M]
  ------------------
   76|  4.05k|    case Opcode::ReturnCall:
  ------------------
  |  Branch (76:5): [True: 1.91k, False: 3.16M]
  ------------------
   77|  4.05k|      return features.tail_call_enabled();
   78|       |
   79|  3.36k|    case Opcode::I32TruncSatF32S:
  ------------------
  |  Branch (79:5): [True: 3.36k, False: 3.16M]
  ------------------
   80|  3.70k|    case Opcode::I32TruncSatF32U:
  ------------------
  |  Branch (80:5): [True: 336, False: 3.16M]
  ------------------
   81|  3.88k|    case Opcode::I32TruncSatF64S:
  ------------------
  |  Branch (81:5): [True: 186, False: 3.16M]
  ------------------
   82|  4.08k|    case Opcode::I32TruncSatF64U:
  ------------------
  |  Branch (82:5): [True: 197, False: 3.16M]
  ------------------
   83|  4.70k|    case Opcode::I64TruncSatF32S:
  ------------------
  |  Branch (83:5): [True: 625, False: 3.16M]
  ------------------
   84|  5.01k|    case Opcode::I64TruncSatF32U:
  ------------------
  |  Branch (84:5): [True: 304, False: 3.16M]
  ------------------
   85|  5.13k|    case Opcode::I64TruncSatF64S:
  ------------------
  |  Branch (85:5): [True: 120, False: 3.16M]
  ------------------
   86|  6.63k|    case Opcode::I64TruncSatF64U:
  ------------------
  |  Branch (86:5): [True: 1.50k, False: 3.16M]
  ------------------
   87|  6.63k|      return features.sat_float_to_int_enabled();
   88|       |
   89|  4.15k|    case Opcode::I32Extend8S:
  ------------------
  |  Branch (89:5): [True: 4.15k, False: 3.16M]
  ------------------
   90|  6.55k|    case Opcode::I32Extend16S:
  ------------------
  |  Branch (90:5): [True: 2.39k, False: 3.16M]
  ------------------
   91|  7.31k|    case Opcode::I64Extend8S:
  ------------------
  |  Branch (91:5): [True: 757, False: 3.16M]
  ------------------
   92|  8.22k|    case Opcode::I64Extend16S:
  ------------------
  |  Branch (92:5): [True: 910, False: 3.16M]
  ------------------
   93|  9.54k|    case Opcode::I64Extend32S:
  ------------------
  |  Branch (93:5): [True: 1.32k, False: 3.16M]
  ------------------
   94|  9.54k|      return features.sign_extension_enabled();
   95|       |
   96|  1.00k|    case Opcode::MemoryAtomicNotify:
  ------------------
  |  Branch (96:5): [True: 1.00k, False: 3.16M]
  ------------------
   97|  1.47k|    case Opcode::MemoryAtomicWait32:
  ------------------
  |  Branch (97:5): [True: 469, False: 3.16M]
  ------------------
   98|  1.63k|    case Opcode::MemoryAtomicWait64:
  ------------------
  |  Branch (98:5): [True: 163, False: 3.16M]
  ------------------
   99|  1.87k|    case Opcode::AtomicFence:
  ------------------
  |  Branch (99:5): [True: 240, False: 3.16M]
  ------------------
  100|  1.95k|    case Opcode::I32AtomicLoad:
  ------------------
  |  Branch (100:5): [True: 80, False: 3.16M]
  ------------------
  101|  2.05k|    case Opcode::I64AtomicLoad:
  ------------------
  |  Branch (101:5): [True: 102, False: 3.16M]
  ------------------
  102|  2.14k|    case Opcode::I32AtomicLoad8U:
  ------------------
  |  Branch (102:5): [True: 92, False: 3.16M]
  ------------------
  103|  2.36k|    case Opcode::I32AtomicLoad16U:
  ------------------
  |  Branch (103:5): [True: 220, False: 3.16M]
  ------------------
  104|  2.47k|    case Opcode::I64AtomicLoad8U:
  ------------------
  |  Branch (104:5): [True: 111, False: 3.16M]
  ------------------
  105|  2.77k|    case Opcode::I64AtomicLoad16U:
  ------------------
  |  Branch (105:5): [True: 292, False: 3.16M]
  ------------------
  106|  2.86k|    case Opcode::I64AtomicLoad32U:
  ------------------
  |  Branch (106:5): [True: 92, False: 3.16M]
  ------------------
  107|  2.96k|    case Opcode::I32AtomicStore:
  ------------------
  |  Branch (107:5): [True: 106, False: 3.16M]
  ------------------
  108|  3.04k|    case Opcode::I64AtomicStore:
  ------------------
  |  Branch (108:5): [True: 76, False: 3.16M]
  ------------------
  109|  3.29k|    case Opcode::I32AtomicStore8:
  ------------------
  |  Branch (109:5): [True: 253, False: 3.16M]
  ------------------
  110|  3.45k|    case Opcode::I32AtomicStore16:
  ------------------
  |  Branch (110:5): [True: 154, False: 3.16M]
  ------------------
  111|  3.53k|    case Opcode::I64AtomicStore8:
  ------------------
  |  Branch (111:5): [True: 86, False: 3.16M]
  ------------------
  112|  4.16k|    case Opcode::I64AtomicStore16:
  ------------------
  |  Branch (112:5): [True: 622, False: 3.16M]
  ------------------
  113|  4.29k|    case Opcode::I64AtomicStore32:
  ------------------
  |  Branch (113:5): [True: 136, False: 3.16M]
  ------------------
  114|  4.39k|    case Opcode::I32AtomicRmwAdd:
  ------------------
  |  Branch (114:5): [True: 101, False: 3.16M]
  ------------------
  115|  4.44k|    case Opcode::I64AtomicRmwAdd:
  ------------------
  |  Branch (115:5): [True: 52, False: 3.16M]
  ------------------
  116|  4.53k|    case Opcode::I32AtomicRmw8AddU:
  ------------------
  |  Branch (116:5): [True: 81, False: 3.16M]
  ------------------
  117|  4.64k|    case Opcode::I32AtomicRmw16AddU:
  ------------------
  |  Branch (117:5): [True: 111, False: 3.16M]
  ------------------
  118|  4.78k|    case Opcode::I64AtomicRmw8AddU:
  ------------------
  |  Branch (118:5): [True: 140, False: 3.16M]
  ------------------
  119|  4.88k|    case Opcode::I64AtomicRmw16AddU:
  ------------------
  |  Branch (119:5): [True: 99, False: 3.16M]
  ------------------
  120|  5.03k|    case Opcode::I64AtomicRmw32AddU:
  ------------------
  |  Branch (120:5): [True: 157, False: 3.16M]
  ------------------
  121|  5.18k|    case Opcode::I32AtomicRmwSub:
  ------------------
  |  Branch (121:5): [True: 145, False: 3.16M]
  ------------------
  122|  5.62k|    case Opcode::I64AtomicRmwSub:
  ------------------
  |  Branch (122:5): [True: 441, False: 3.16M]
  ------------------
  123|  5.76k|    case Opcode::I32AtomicRmw8SubU:
  ------------------
  |  Branch (123:5): [True: 137, False: 3.16M]
  ------------------
  124|  5.95k|    case Opcode::I32AtomicRmw16SubU:
  ------------------
  |  Branch (124:5): [True: 194, False: 3.16M]
  ------------------
  125|  6.03k|    case Opcode::I64AtomicRmw8SubU:
  ------------------
  |  Branch (125:5): [True: 82, False: 3.16M]
  ------------------
  126|  7.21k|    case Opcode::I64AtomicRmw16SubU:
  ------------------
  |  Branch (126:5): [True: 1.17k, False: 3.16M]
  ------------------
  127|  7.33k|    case Opcode::I64AtomicRmw32SubU:
  ------------------
  |  Branch (127:5): [True: 116, False: 3.16M]
  ------------------
  128|  7.43k|    case Opcode::I32AtomicRmwAnd:
  ------------------
  |  Branch (128:5): [True: 108, False: 3.16M]
  ------------------
  129|  7.55k|    case Opcode::I64AtomicRmwAnd:
  ------------------
  |  Branch (129:5): [True: 117, False: 3.16M]
  ------------------
  130|  8.89k|    case Opcode::I32AtomicRmw8AndU:
  ------------------
  |  Branch (130:5): [True: 1.33k, False: 3.16M]
  ------------------
  131|  9.07k|    case Opcode::I32AtomicRmw16AndU:
  ------------------
  |  Branch (131:5): [True: 178, False: 3.16M]
  ------------------
  132|  9.97k|    case Opcode::I64AtomicRmw8AndU:
  ------------------
  |  Branch (132:5): [True: 900, False: 3.16M]
  ------------------
  133|  10.1k|    case Opcode::I64AtomicRmw16AndU:
  ------------------
  |  Branch (133:5): [True: 183, False: 3.16M]
  ------------------
  134|  10.2k|    case Opcode::I64AtomicRmw32AndU:
  ------------------
  |  Branch (134:5): [True: 124, False: 3.16M]
  ------------------
  135|  10.4k|    case Opcode::I32AtomicRmwOr:
  ------------------
  |  Branch (135:5): [True: 131, False: 3.16M]
  ------------------
  136|  10.6k|    case Opcode::I64AtomicRmwOr:
  ------------------
  |  Branch (136:5): [True: 234, False: 3.16M]
  ------------------
  137|  10.7k|    case Opcode::I32AtomicRmw8OrU:
  ------------------
  |  Branch (137:5): [True: 101, False: 3.16M]
  ------------------
  138|  10.8k|    case Opcode::I32AtomicRmw16OrU:
  ------------------
  |  Branch (138:5): [True: 104, False: 3.16M]
  ------------------
  139|  10.9k|    case Opcode::I64AtomicRmw8OrU:
  ------------------
  |  Branch (139:5): [True: 116, False: 3.16M]
  ------------------
  140|  11.0k|    case Opcode::I64AtomicRmw16OrU:
  ------------------
  |  Branch (140:5): [True: 118, False: 3.16M]
  ------------------
  141|  11.1k|    case Opcode::I64AtomicRmw32OrU:
  ------------------
  |  Branch (141:5): [True: 114, False: 3.16M]
  ------------------
  142|  11.2k|    case Opcode::I32AtomicRmwXor:
  ------------------
  |  Branch (142:5): [True: 91, False: 3.16M]
  ------------------
  143|  11.6k|    case Opcode::I64AtomicRmwXor:
  ------------------
  |  Branch (143:5): [True: 331, False: 3.16M]
  ------------------
  144|  11.7k|    case Opcode::I32AtomicRmw8XorU:
  ------------------
  |  Branch (144:5): [True: 91, False: 3.16M]
  ------------------
  145|  11.8k|    case Opcode::I32AtomicRmw16XorU:
  ------------------
  |  Branch (145:5): [True: 112, False: 3.16M]
  ------------------
  146|  11.9k|    case Opcode::I64AtomicRmw8XorU:
  ------------------
  |  Branch (146:5): [True: 136, False: 3.16M]
  ------------------
  147|  12.2k|    case Opcode::I64AtomicRmw16XorU:
  ------------------
  |  Branch (147:5): [True: 278, False: 3.16M]
  ------------------
  148|  12.7k|    case Opcode::I64AtomicRmw32XorU:
  ------------------
  |  Branch (148:5): [True: 547, False: 3.16M]
  ------------------
  149|  12.9k|    case Opcode::I32AtomicRmwXchg:
  ------------------
  |  Branch (149:5): [True: 192, False: 3.16M]
  ------------------
  150|  13.0k|    case Opcode::I64AtomicRmwXchg:
  ------------------
  |  Branch (150:5): [True: 97, False: 3.16M]
  ------------------
  151|  13.2k|    case Opcode::I32AtomicRmw8XchgU:
  ------------------
  |  Branch (151:5): [True: 131, False: 3.16M]
  ------------------
  152|  13.3k|    case Opcode::I32AtomicRmw16XchgU:
  ------------------
  |  Branch (152:5): [True: 125, False: 3.16M]
  ------------------
  153|  13.5k|    case Opcode::I64AtomicRmw8XchgU:
  ------------------
  |  Branch (153:5): [True: 183, False: 3.16M]
  ------------------
  154|  13.5k|    case Opcode::I64AtomicRmw16XchgU:
  ------------------
  |  Branch (154:5): [True: 85, False: 3.16M]
  ------------------
  155|  13.7k|    case Opcode::I64AtomicRmw32XchgU:
  ------------------
  |  Branch (155:5): [True: 132, False: 3.16M]
  ------------------
  156|  14.0k|    case Opcode::I32AtomicRmwCmpxchg:
  ------------------
  |  Branch (156:5): [True: 351, False: 3.16M]
  ------------------
  157|  14.4k|    case Opcode::I64AtomicRmwCmpxchg:
  ------------------
  |  Branch (157:5): [True: 382, False: 3.16M]
  ------------------
  158|  14.5k|    case Opcode::I32AtomicRmw8CmpxchgU:
  ------------------
  |  Branch (158:5): [True: 93, False: 3.16M]
  ------------------
  159|  14.7k|    case Opcode::I32AtomicRmw16CmpxchgU:
  ------------------
  |  Branch (159:5): [True: 149, False: 3.16M]
  ------------------
  160|  14.8k|    case Opcode::I64AtomicRmw8CmpxchgU:
  ------------------
  |  Branch (160:5): [True: 151, False: 3.16M]
  ------------------
  161|  14.9k|    case Opcode::I64AtomicRmw16CmpxchgU:
  ------------------
  |  Branch (161:5): [True: 93, False: 3.16M]
  ------------------
  162|  15.1k|    case Opcode::I64AtomicRmw32CmpxchgU:
  ------------------
  |  Branch (162:5): [True: 156, False: 3.16M]
  ------------------
  163|  15.1k|      return features.threads_enabled();
  164|       |
  165|    164|    case Opcode::V128Const:
  ------------------
  |  Branch (165:5): [True: 164, False: 3.16M]
  ------------------
  166|  5.41k|    case Opcode::V128Load:
  ------------------
  |  Branch (166:5): [True: 5.24k, False: 3.16M]
  ------------------
  167|  6.04k|    case Opcode::V128Store:
  ------------------
  |  Branch (167:5): [True: 630, False: 3.16M]
  ------------------
  168|  6.40k|    case Opcode::I8X16Splat:
  ------------------
  |  Branch (168:5): [True: 358, False: 3.16M]
  ------------------
  169|  6.88k|    case Opcode::I16X8Splat:
  ------------------
  |  Branch (169:5): [True: 488, False: 3.16M]
  ------------------
  170|  7.21k|    case Opcode::I32X4Splat:
  ------------------
  |  Branch (170:5): [True: 322, False: 3.16M]
  ------------------
  171|  7.49k|    case Opcode::I64X2Splat:
  ------------------
  |  Branch (171:5): [True: 289, False: 3.16M]
  ------------------
  172|  7.61k|    case Opcode::F32X4Splat:
  ------------------
  |  Branch (172:5): [True: 112, False: 3.16M]
  ------------------
  173|  7.99k|    case Opcode::F64X2Splat:
  ------------------
  |  Branch (173:5): [True: 381, False: 3.16M]
  ------------------
  174|  8.10k|    case Opcode::I8X16ExtractLaneS:
  ------------------
  |  Branch (174:5): [True: 113, False: 3.16M]
  ------------------
  175|  8.21k|    case Opcode::I8X16ExtractLaneU:
  ------------------
  |  Branch (175:5): [True: 114, False: 3.16M]
  ------------------
  176|  8.34k|    case Opcode::I16X8ExtractLaneS:
  ------------------
  |  Branch (176:5): [True: 122, False: 3.16M]
  ------------------
  177|  8.98k|    case Opcode::I16X8ExtractLaneU:
  ------------------
  |  Branch (177:5): [True: 642, False: 3.16M]
  ------------------
  178|  9.18k|    case Opcode::I32X4ExtractLane:
  ------------------
  |  Branch (178:5): [True: 203, False: 3.16M]
  ------------------
  179|  9.34k|    case Opcode::I64X2ExtractLane:
  ------------------
  |  Branch (179:5): [True: 160, False: 3.16M]
  ------------------
  180|  9.52k|    case Opcode::F32X4ExtractLane:
  ------------------
  |  Branch (180:5): [True: 179, False: 3.16M]
  ------------------
  181|  14.6k|    case Opcode::F64X2ExtractLane:
  ------------------
  |  Branch (181:5): [True: 5.10k, False: 3.16M]
  ------------------
  182|  14.7k|    case Opcode::I8X16ReplaceLane:
  ------------------
  |  Branch (182:5): [True: 158, False: 3.16M]
  ------------------
  183|  15.4k|    case Opcode::I16X8ReplaceLane:
  ------------------
  |  Branch (183:5): [True: 669, False: 3.16M]
  ------------------
  184|  16.3k|    case Opcode::I32X4ReplaceLane:
  ------------------
  |  Branch (184:5): [True: 879, False: 3.16M]
  ------------------
  185|  16.4k|    case Opcode::I64X2ReplaceLane:
  ------------------
  |  Branch (185:5): [True: 91, False: 3.16M]
  ------------------
  186|  17.4k|    case Opcode::F32X4ReplaceLane:
  ------------------
  |  Branch (186:5): [True: 979, False: 3.16M]
  ------------------
  187|  18.4k|    case Opcode::F64X2ReplaceLane:
  ------------------
  |  Branch (187:5): [True: 1.02k, False: 3.16M]
  ------------------
  188|  18.6k|    case Opcode::I8X16Add:
  ------------------
  |  Branch (188:5): [True: 224, False: 3.16M]
  ------------------
  189|  18.7k|    case Opcode::I16X8Add:
  ------------------
  |  Branch (189:5): [True: 121, False: 3.16M]
  ------------------
  190|  18.8k|    case Opcode::I32X4Add:
  ------------------
  |  Branch (190:5): [True: 88, False: 3.16M]
  ------------------
  191|  18.9k|    case Opcode::I64X2Add:
  ------------------
  |  Branch (191:5): [True: 97, False: 3.16M]
  ------------------
  192|  19.2k|    case Opcode::I8X16Sub:
  ------------------
  |  Branch (192:5): [True: 326, False: 3.16M]
  ------------------
  193|  19.3k|    case Opcode::I16X8Sub:
  ------------------
  |  Branch (193:5): [True: 106, False: 3.16M]
  ------------------
  194|  19.4k|    case Opcode::I32X4Sub:
  ------------------
  |  Branch (194:5): [True: 51, False: 3.16M]
  ------------------
  195|  19.5k|    case Opcode::I64X2Sub:
  ------------------
  |  Branch (195:5): [True: 101, False: 3.16M]
  ------------------
  196|  19.5k|    case Opcode::I16X8Mul:
  ------------------
  |  Branch (196:5): [True: 46, False: 3.16M]
  ------------------
  197|  19.6k|    case Opcode::I32X4Mul:
  ------------------
  |  Branch (197:5): [True: 106, False: 3.16M]
  ------------------
  198|  20.8k|    case Opcode::I8X16Neg:
  ------------------
  |  Branch (198:5): [True: 1.10k, False: 3.16M]
  ------------------
  199|  21.0k|    case Opcode::I16X8Neg:
  ------------------
  |  Branch (199:5): [True: 268, False: 3.16M]
  ------------------
  200|  21.2k|    case Opcode::I32X4Neg:
  ------------------
  |  Branch (200:5): [True: 158, False: 3.16M]
  ------------------
  201|  21.8k|    case Opcode::I64X2Neg:
  ------------------
  |  Branch (201:5): [True: 647, False: 3.16M]
  ------------------
  202|  22.1k|    case Opcode::I8X16AddSatS:
  ------------------
  |  Branch (202:5): [True: 281, False: 3.16M]
  ------------------
  203|  23.7k|    case Opcode::I8X16AddSatU:
  ------------------
  |  Branch (203:5): [True: 1.61k, False: 3.16M]
  ------------------
  204|  23.9k|    case Opcode::I16X8AddSatS:
  ------------------
  |  Branch (204:5): [True: 157, False: 3.16M]
  ------------------
  205|  24.1k|    case Opcode::I16X8AddSatU:
  ------------------
  |  Branch (205:5): [True: 216, False: 3.16M]
  ------------------
  206|  26.8k|    case Opcode::I8X16SubSatS:
  ------------------
  |  Branch (206:5): [True: 2.70k, False: 3.16M]
  ------------------
  207|  27.8k|    case Opcode::I8X16SubSatU:
  ------------------
  |  Branch (207:5): [True: 1.02k, False: 3.16M]
  ------------------
  208|  28.0k|    case Opcode::I16X8SubSatS:
  ------------------
  |  Branch (208:5): [True: 162, False: 3.16M]
  ------------------
  209|  28.1k|    case Opcode::I16X8SubSatU:
  ------------------
  |  Branch (209:5): [True: 141, False: 3.16M]
  ------------------
  210|  28.4k|    case Opcode::I8X16Shl:
  ------------------
  |  Branch (210:5): [True: 292, False: 3.16M]
  ------------------
  211|  28.6k|    case Opcode::I16X8Shl:
  ------------------
  |  Branch (211:5): [True: 226, False: 3.16M]
  ------------------
  212|  28.8k|    case Opcode::I32X4Shl:
  ------------------
  |  Branch (212:5): [True: 126, False: 3.16M]
  ------------------
  213|  28.9k|    case Opcode::I64X2Shl:
  ------------------
  |  Branch (213:5): [True: 116, False: 3.16M]
  ------------------
  214|  29.1k|    case Opcode::I8X16ShrS:
  ------------------
  |  Branch (214:5): [True: 231, False: 3.16M]
  ------------------
  215|  29.7k|    case Opcode::I8X16ShrU:
  ------------------
  |  Branch (215:5): [True: 625, False: 3.16M]
  ------------------
  216|  29.8k|    case Opcode::I16X8ShrS:
  ------------------
  |  Branch (216:5): [True: 91, False: 3.16M]
  ------------------
  217|  30.2k|    case Opcode::I16X8ShrU:
  ------------------
  |  Branch (217:5): [True: 329, False: 3.16M]
  ------------------
  218|  30.3k|    case Opcode::I32X4ShrS:
  ------------------
  |  Branch (218:5): [True: 125, False: 3.16M]
  ------------------
  219|  30.6k|    case Opcode::I32X4ShrU:
  ------------------
  |  Branch (219:5): [True: 349, False: 3.16M]
  ------------------
  220|  30.9k|    case Opcode::I64X2ShrS:
  ------------------
  |  Branch (220:5): [True: 292, False: 3.16M]
  ------------------
  221|  31.0k|    case Opcode::I64X2ShrU:
  ------------------
  |  Branch (221:5): [True: 86, False: 3.16M]
  ------------------
  222|  31.2k|    case Opcode::V128And:
  ------------------
  |  Branch (222:5): [True: 172, False: 3.16M]
  ------------------
  223|  31.4k|    case Opcode::V128Or:
  ------------------
  |  Branch (223:5): [True: 232, False: 3.16M]
  ------------------
  224|  31.7k|    case Opcode::V128Xor:
  ------------------
  |  Branch (224:5): [True: 247, False: 3.16M]
  ------------------
  225|  32.3k|    case Opcode::V128Not:
  ------------------
  |  Branch (225:5): [True: 660, False: 3.16M]
  ------------------
  226|  33.1k|    case Opcode::V128BitSelect:
  ------------------
  |  Branch (226:5): [True: 764, False: 3.16M]
  ------------------
  227|  33.6k|    case Opcode::V128AnyTrue:
  ------------------
  |  Branch (227:5): [True: 540, False: 3.16M]
  ------------------
  228|  34.4k|    case Opcode::I8X16Bitmask:
  ------------------
  |  Branch (228:5): [True: 740, False: 3.16M]
  ------------------
  229|  34.5k|    case Opcode::I16X8Bitmask:
  ------------------
  |  Branch (229:5): [True: 117, False: 3.16M]
  ------------------
  230|  34.6k|    case Opcode::I32X4Bitmask:
  ------------------
  |  Branch (230:5): [True: 76, False: 3.16M]
  ------------------
  231|  35.1k|    case Opcode::I64X2Bitmask:
  ------------------
  |  Branch (231:5): [True: 567, False: 3.16M]
  ------------------
  232|  35.3k|    case Opcode::I8X16AllTrue:
  ------------------
  |  Branch (232:5): [True: 145, False: 3.16M]
  ------------------
  233|  35.4k|    case Opcode::I16X8AllTrue:
  ------------------
  |  Branch (233:5): [True: 154, False: 3.16M]
  ------------------
  234|  35.7k|    case Opcode::I32X4AllTrue:
  ------------------
  |  Branch (234:5): [True: 236, False: 3.16M]
  ------------------
  235|  35.9k|    case Opcode::I64X2AllTrue:
  ------------------
  |  Branch (235:5): [True: 246, False: 3.16M]
  ------------------
  236|  36.2k|    case Opcode::I8X16Eq:
  ------------------
  |  Branch (236:5): [True: 240, False: 3.16M]
  ------------------
  237|  38.3k|    case Opcode::I16X8Eq:
  ------------------
  |  Branch (237:5): [True: 2.17k, False: 3.16M]
  ------------------
  238|  38.7k|    case Opcode::I32X4Eq:
  ------------------
  |  Branch (238:5): [True: 337, False: 3.16M]
  ------------------
  239|  39.0k|    case Opcode::F32X4Eq:
  ------------------
  |  Branch (239:5): [True: 379, False: 3.16M]
  ------------------
  240|  39.4k|    case Opcode::F64X2Eq:
  ------------------
  |  Branch (240:5): [True: 316, False: 3.16M]
  ------------------
  241|  40.2k|    case Opcode::I8X16Ne:
  ------------------
  |  Branch (241:5): [True: 877, False: 3.16M]
  ------------------
  242|  40.8k|    case Opcode::I16X8Ne:
  ------------------
  |  Branch (242:5): [True: 590, False: 3.16M]
  ------------------
  243|  40.9k|    case Opcode::I32X4Ne:
  ------------------
  |  Branch (243:5): [True: 124, False: 3.16M]
  ------------------
  244|  41.1k|    case Opcode::F32X4Ne:
  ------------------
  |  Branch (244:5): [True: 139, False: 3.16M]
  ------------------
  245|  41.5k|    case Opcode::F64X2Ne:
  ------------------
  |  Branch (245:5): [True: 391, False: 3.16M]
  ------------------
  246|  41.6k|    case Opcode::I8X16LtS:
  ------------------
  |  Branch (246:5): [True: 172, False: 3.16M]
  ------------------
  247|  41.9k|    case Opcode::I8X16LtU:
  ------------------
  |  Branch (247:5): [True: 279, False: 3.16M]
  ------------------
  248|  42.2k|    case Opcode::I16X8LtS:
  ------------------
  |  Branch (248:5): [True: 282, False: 3.16M]
  ------------------
  249|  42.7k|    case Opcode::I16X8LtU:
  ------------------
  |  Branch (249:5): [True: 481, False: 3.16M]
  ------------------
  250|  42.9k|    case Opcode::I32X4LtS:
  ------------------
  |  Branch (250:5): [True: 175, False: 3.16M]
  ------------------
  251|  43.9k|    case Opcode::I32X4LtU:
  ------------------
  |  Branch (251:5): [True: 1.07k, False: 3.16M]
  ------------------
  252|  44.0k|    case Opcode::F32X4Lt:
  ------------------
  |  Branch (252:5): [True: 109, False: 3.16M]
  ------------------
  253|  44.2k|    case Opcode::F64X2Lt:
  ------------------
  |  Branch (253:5): [True: 127, False: 3.16M]
  ------------------
  254|  44.3k|    case Opcode::I8X16LeS:
  ------------------
  |  Branch (254:5): [True: 121, False: 3.16M]
  ------------------
  255|  44.5k|    case Opcode::I8X16LeU:
  ------------------
  |  Branch (255:5): [True: 219, False: 3.16M]
  ------------------
  256|  44.7k|    case Opcode::I16X8LeS:
  ------------------
  |  Branch (256:5): [True: 201, False: 3.16M]
  ------------------
  257|  46.5k|    case Opcode::I16X8LeU:
  ------------------
  |  Branch (257:5): [True: 1.75k, False: 3.16M]
  ------------------
  258|  46.6k|    case Opcode::I32X4LeS:
  ------------------
  |  Branch (258:5): [True: 123, False: 3.16M]
  ------------------
  259|  46.8k|    case Opcode::I32X4LeU:
  ------------------
  |  Branch (259:5): [True: 175, False: 3.16M]
  ------------------
  260|  46.9k|    case Opcode::F32X4Le:
  ------------------
  |  Branch (260:5): [True: 185, False: 3.16M]
  ------------------
  261|  47.1k|    case Opcode::F64X2Le:
  ------------------
  |  Branch (261:5): [True: 139, False: 3.16M]
  ------------------
  262|  47.3k|    case Opcode::I8X16GtS:
  ------------------
  |  Branch (262:5): [True: 197, False: 3.16M]
  ------------------
  263|  48.6k|    case Opcode::I8X16GtU:
  ------------------
  |  Branch (263:5): [True: 1.29k, False: 3.16M]
  ------------------
  264|  49.5k|    case Opcode::I16X8GtS:
  ------------------
  |  Branch (264:5): [True: 907, False: 3.16M]
  ------------------
  265|  49.9k|    case Opcode::I16X8GtU:
  ------------------
  |  Branch (265:5): [True: 424, False: 3.16M]
  ------------------
  266|  53.8k|    case Opcode::I32X4GtS:
  ------------------
  |  Branch (266:5): [True: 3.87k, False: 3.16M]
  ------------------
  267|  54.0k|    case Opcode::I32X4GtU:
  ------------------
  |  Branch (267:5): [True: 209, False: 3.16M]
  ------------------
  268|  55.5k|    case Opcode::F32X4Gt:
  ------------------
  |  Branch (268:5): [True: 1.47k, False: 3.16M]
  ------------------
  269|  55.8k|    case Opcode::F64X2Gt:
  ------------------
  |  Branch (269:5): [True: 313, False: 3.16M]
  ------------------
  270|  72.4k|    case Opcode::I8X16GeS:
  ------------------
  |  Branch (270:5): [True: 16.5k, False: 3.15M]
  ------------------
  271|  72.6k|    case Opcode::I8X16GeU:
  ------------------
  |  Branch (271:5): [True: 270, False: 3.16M]
  ------------------
  272|  72.9k|    case Opcode::I16X8GeS:
  ------------------
  |  Branch (272:5): [True: 287, False: 3.16M]
  ------------------
  273|  73.5k|    case Opcode::I16X8GeU:
  ------------------
  |  Branch (273:5): [True: 567, False: 3.16M]
  ------------------
  274|  73.8k|    case Opcode::I32X4GeS:
  ------------------
  |  Branch (274:5): [True: 277, False: 3.16M]
  ------------------
  275|  74.0k|    case Opcode::I32X4GeU:
  ------------------
  |  Branch (275:5): [True: 262, False: 3.16M]
  ------------------
  276|  74.2k|    case Opcode::F32X4Ge:
  ------------------
  |  Branch (276:5): [True: 152, False: 3.16M]
  ------------------
  277|  75.9k|    case Opcode::F64X2Ge:
  ------------------
  |  Branch (277:5): [True: 1.75k, False: 3.16M]
  ------------------
  278|  76.3k|    case Opcode::F32X4Neg:
  ------------------
  |  Branch (278:5): [True: 371, False: 3.16M]
  ------------------
  279|  76.4k|    case Opcode::F64X2Neg:
  ------------------
  |  Branch (279:5): [True: 87, False: 3.16M]
  ------------------
  280|  76.5k|    case Opcode::F32X4Abs:
  ------------------
  |  Branch (280:5): [True: 136, False: 3.16M]
  ------------------
  281|  76.7k|    case Opcode::F64X2Abs:
  ------------------
  |  Branch (281:5): [True: 122, False: 3.16M]
  ------------------
  282|  76.8k|    case Opcode::F32X4Min:
  ------------------
  |  Branch (282:5): [True: 183, False: 3.16M]
  ------------------
  283|  80.0k|    case Opcode::F32X4PMin:
  ------------------
  |  Branch (283:5): [True: 3.14k, False: 3.16M]
  ------------------
  284|  80.6k|    case Opcode::F64X2Min:
  ------------------
  |  Branch (284:5): [True: 632, False: 3.16M]
  ------------------
  285|  80.8k|    case Opcode::F64X2PMin:
  ------------------
  |  Branch (285:5): [True: 141, False: 3.16M]
  ------------------
  286|  81.0k|    case Opcode::F32X4Max:
  ------------------
  |  Branch (286:5): [True: 285, False: 3.16M]
  ------------------
  287|  81.2k|    case Opcode::F32X4PMax:
  ------------------
  |  Branch (287:5): [True: 186, False: 3.16M]
  ------------------
  288|  81.3k|    case Opcode::F64X2Max:
  ------------------
  |  Branch (288:5): [True: 91, False: 3.16M]
  ------------------
  289|  81.4k|    case Opcode::F64X2PMax:
  ------------------
  |  Branch (289:5): [True: 101, False: 3.16M]
  ------------------
  290|  81.5k|    case Opcode::F32X4Add:
  ------------------
  |  Branch (290:5): [True: 81, False: 3.16M]
  ------------------
  291|  81.6k|    case Opcode::F64X2Add:
  ------------------
  |  Branch (291:5): [True: 88, False: 3.16M]
  ------------------
  292|  81.8k|    case Opcode::F32X4Sub:
  ------------------
  |  Branch (292:5): [True: 186, False: 3.16M]
  ------------------
  293|  81.9k|    case Opcode::F64X2Sub:
  ------------------
  |  Branch (293:5): [True: 127, False: 3.16M]
  ------------------
  294|  85.5k|    case Opcode::F32X4Div:
  ------------------
  |  Branch (294:5): [True: 3.54k, False: 3.16M]
  ------------------
  295|  85.6k|    case Opcode::F64X2Div:
  ------------------
  |  Branch (295:5): [True: 106, False: 3.16M]
  ------------------
  296|  86.3k|    case Opcode::F32X4Mul:
  ------------------
  |  Branch (296:5): [True: 746, False: 3.16M]
  ------------------
  297|  86.4k|    case Opcode::F64X2Mul:
  ------------------
  |  Branch (297:5): [True: 118, False: 3.16M]
  ------------------
  298|  86.6k|    case Opcode::F32X4Sqrt:
  ------------------
  |  Branch (298:5): [True: 172, False: 3.16M]
  ------------------
  299|  86.7k|    case Opcode::F64X2Sqrt:
  ------------------
  |  Branch (299:5): [True: 106, False: 3.16M]
  ------------------
  300|  87.0k|    case Opcode::F32X4ConvertI32X4S:
  ------------------
  |  Branch (300:5): [True: 266, False: 3.16M]
  ------------------
  301|  87.1k|    case Opcode::F32X4ConvertI32X4U:
  ------------------
  |  Branch (301:5): [True: 158, False: 3.16M]
  ------------------
  302|  87.2k|    case Opcode::I32X4TruncSatF32X4S:
  ------------------
  |  Branch (302:5): [True: 76, False: 3.16M]
  ------------------
  303|  87.3k|    case Opcode::I32X4TruncSatF32X4U:
  ------------------
  |  Branch (303:5): [True: 111, False: 3.16M]
  ------------------
  304|  87.7k|    case Opcode::I8X16Swizzle:
  ------------------
  |  Branch (304:5): [True: 385, False: 3.16M]
  ------------------
  305|  88.0k|    case Opcode::I8X16Shuffle:
  ------------------
  |  Branch (305:5): [True: 257, False: 3.16M]
  ------------------
  306|  89.4k|    case Opcode::V128Load8Splat:
  ------------------
  |  Branch (306:5): [True: 1.46k, False: 3.16M]
  ------------------
  307|  89.8k|    case Opcode::V128Load16Splat:
  ------------------
  |  Branch (307:5): [True: 363, False: 3.16M]
  ------------------
  308|  90.0k|    case Opcode::V128Load32Splat:
  ------------------
  |  Branch (308:5): [True: 255, False: 3.16M]
  ------------------
  309|  90.2k|    case Opcode::V128Load64Splat:
  ------------------
  |  Branch (309:5): [True: 135, False: 3.16M]
  ------------------
  310|  90.5k|    case Opcode::V128Load8Lane:
  ------------------
  |  Branch (310:5): [True: 313, False: 3.16M]
  ------------------
  311|  90.6k|    case Opcode::V128Load16Lane:
  ------------------
  |  Branch (311:5): [True: 114, False: 3.16M]
  ------------------
  312|  90.7k|    case Opcode::V128Load32Lane:
  ------------------
  |  Branch (312:5): [True: 140, False: 3.16M]
  ------------------
  313|  94.4k|    case Opcode::V128Load64Lane:
  ------------------
  |  Branch (313:5): [True: 3.66k, False: 3.16M]
  ------------------
  314|  94.6k|    case Opcode::V128Store8Lane:
  ------------------
  |  Branch (314:5): [True: 239, False: 3.16M]
  ------------------
  315|  94.8k|    case Opcode::V128Store16Lane:
  ------------------
  |  Branch (315:5): [True: 153, False: 3.16M]
  ------------------
  316|  95.0k|    case Opcode::V128Store32Lane:
  ------------------
  |  Branch (316:5): [True: 164, False: 3.16M]
  ------------------
  317|  95.6k|    case Opcode::V128Store64Lane:
  ------------------
  |  Branch (317:5): [True: 612, False: 3.16M]
  ------------------
  318|  95.8k|    case Opcode::I8X16Abs:
  ------------------
  |  Branch (318:5): [True: 261, False: 3.16M]
  ------------------
  319|  95.9k|    case Opcode::I16X8Abs:
  ------------------
  |  Branch (319:5): [True: 102, False: 3.16M]
  ------------------
  320|  96.3k|    case Opcode::I32X4Abs:
  ------------------
  |  Branch (320:5): [True: 396, False: 3.16M]
  ------------------
  321|  96.3k|      return features.simd_enabled();
  322|       |
  323|    167|    case Opcode::I8X16RelaxedSwizzle:
  ------------------
  |  Branch (323:5): [True: 167, False: 3.16M]
  ------------------
  324|    333|    case Opcode::I32X4RelaxedTruncF32X4S:
  ------------------
  |  Branch (324:5): [True: 166, False: 3.16M]
  ------------------
  325|    411|    case Opcode::I32X4RelaxedTruncF32X4U:
  ------------------
  |  Branch (325:5): [True: 78, False: 3.16M]
  ------------------
  326|    497|    case Opcode::I32X4RelaxedTruncF64X2SZero:
  ------------------
  |  Branch (326:5): [True: 86, False: 3.16M]
  ------------------
  327|    693|    case Opcode::I32X4RelaxedTruncF64X2UZero:
  ------------------
  |  Branch (327:5): [True: 196, False: 3.16M]
  ------------------
  328|    876|    case Opcode::F32X4RelaxedMadd:
  ------------------
  |  Branch (328:5): [True: 183, False: 3.16M]
  ------------------
  329|    966|    case Opcode::F32X4RelaxedNmadd:
  ------------------
  |  Branch (329:5): [True: 90, False: 3.16M]
  ------------------
  330|  1.87k|    case Opcode::F64X2RelaxedMadd:
  ------------------
  |  Branch (330:5): [True: 912, False: 3.16M]
  ------------------
  331|  1.91k|    case Opcode::F64X2RelaxedNmadd:
  ------------------
  |  Branch (331:5): [True: 41, False: 3.16M]
  ------------------
  332|  2.00k|    case Opcode::I8X16RelaxedLaneSelect:
  ------------------
  |  Branch (332:5): [True: 86, False: 3.16M]
  ------------------
  333|  2.09k|    case Opcode::I16X8RelaxedLaneSelect:
  ------------------
  |  Branch (333:5): [True: 89, False: 3.16M]
  ------------------
  334|  2.23k|    case Opcode::I32X4RelaxedLaneSelect:
  ------------------
  |  Branch (334:5): [True: 142, False: 3.16M]
  ------------------
  335|  2.43k|    case Opcode::I64X2RelaxedLaneSelect:
  ------------------
  |  Branch (335:5): [True: 197, False: 3.16M]
  ------------------
  336|  2.51k|    case Opcode::F32X4RelaxedMin:
  ------------------
  |  Branch (336:5): [True: 86, False: 3.16M]
  ------------------
  337|  2.60k|    case Opcode::F32X4RelaxedMax:
  ------------------
  |  Branch (337:5): [True: 86, False: 3.16M]
  ------------------
  338|  2.70k|    case Opcode::F64X2RelaxedMin:
  ------------------
  |  Branch (338:5): [True: 101, False: 3.16M]
  ------------------
  339|  2.78k|    case Opcode::F64X2RelaxedMax:
  ------------------
  |  Branch (339:5): [True: 81, False: 3.16M]
  ------------------
  340|  2.87k|    case Opcode::I16X8RelaxedQ15mulrS:
  ------------------
  |  Branch (340:5): [True: 91, False: 3.16M]
  ------------------
  341|  2.96k|    case Opcode::I16X8DotI8X16I7X16S:
  ------------------
  |  Branch (341:5): [True: 91, False: 3.16M]
  ------------------
  342|  3.08k|    case Opcode::I32X4DotI8X16I7X16AddS:
  ------------------
  |  Branch (342:5): [True: 120, False: 3.16M]
  ------------------
  343|  3.08k|      return features.relaxed_simd_enabled();
  344|       |
  345|    101|    case Opcode::MemoryInit:
  ------------------
  |  Branch (345:5): [True: 101, False: 3.16M]
  ------------------
  346|    176|    case Opcode::DataDrop:
  ------------------
  |  Branch (346:5): [True: 75, False: 3.16M]
  ------------------
  347|  3.13k|    case Opcode::MemoryCopy:
  ------------------
  |  Branch (347:5): [True: 2.96k, False: 3.16M]
  ------------------
  348|  15.6k|    case Opcode::MemoryFill:
  ------------------
  |  Branch (348:5): [True: 12.5k, False: 3.15M]
  ------------------
  349|  16.6k|    case Opcode::TableInit:
  ------------------
  |  Branch (349:5): [True: 995, False: 3.16M]
  ------------------
  350|  16.8k|    case Opcode::ElemDrop:
  ------------------
  |  Branch (350:5): [True: 159, False: 3.16M]
  ------------------
  351|  16.9k|    case Opcode::TableCopy:
  ------------------
  |  Branch (351:5): [True: 125, False: 3.16M]
  ------------------
  352|  16.9k|      return features.bulk_memory_enabled();
  353|       |
  354|  19.6k|    case Opcode::TableGet:
  ------------------
  |  Branch (354:5): [True: 19.6k, False: 3.14M]
  ------------------
  355|  23.5k|    case Opcode::TableSet:
  ------------------
  |  Branch (355:5): [True: 3.88k, False: 3.16M]
  ------------------
  356|  27.7k|    case Opcode::TableGrow:
  ------------------
  |  Branch (356:5): [True: 4.26k, False: 3.16M]
  ------------------
  357|  28.6k|    case Opcode::TableSize:
  ------------------
  |  Branch (357:5): [True: 928, False: 3.16M]
  ------------------
  358|  31.5k|    case Opcode::RefNull:
  ------------------
  |  Branch (358:5): [True: 2.86k, False: 3.16M]
  ------------------
  359|  32.3k|    case Opcode::RefIsNull:
  ------------------
  |  Branch (359:5): [True: 759, False: 3.16M]
  ------------------
  360|  32.3k|      return features.reference_types_enabled();
  361|       |
  362|  3.11k|    case Opcode::CallRef:
  ------------------
  |  Branch (362:5): [True: 3.11k, False: 3.16M]
  ------------------
  363|  3.11k|      return features.function_references_enabled();
  364|       |
  365|       |    // Interpreter opcodes are never "enabled".
  366|     91|    case Opcode::InterpAlloca:
  ------------------
  |  Branch (366:5): [True: 91, False: 3.16M]
  ------------------
  367|    161|    case Opcode::InterpBrUnless:
  ------------------
  |  Branch (367:5): [True: 70, False: 3.16M]
  ------------------
  368|    283|    case Opcode::InterpCallImport:
  ------------------
  |  Branch (368:5): [True: 122, False: 3.16M]
  ------------------
  369|    307|    case Opcode::InterpData:
  ------------------
  |  Branch (369:5): [True: 24, False: 3.16M]
  ------------------
  370|    349|    case Opcode::InterpDropKeep:
  ------------------
  |  Branch (370:5): [True: 42, False: 3.16M]
  ------------------
  371|    349|      return false;
  372|       |
  373|  2.87M|    default:
  ------------------
  |  Branch (373:5): [True: 2.87M, False: 289k]
  ------------------
  374|  2.87M|      return true;
  375|  3.16M|  }
  376|  3.16M|}
_ZNK4wabt6Opcode8GetBytesEv:
  416|   300k|std::vector<uint8_t> Opcode::GetBytes() const {
  417|   300k|  std::vector<uint8_t> result;
  418|   300k|  if (HasPrefix()) {
  ------------------
  |  Branch (418:7): [True: 20.1k, False: 280k]
  ------------------
  419|  20.1k|    result.push_back(GetPrefix());
  420|  20.1k|    uint8_t buffer[5];
  421|  20.1k|    Offset length =
  422|  20.1k|        WriteU32Leb128Raw(buffer, buffer + sizeof(buffer), GetCode());
  423|  20.1k|    assert(length != 0);
  424|  20.1k|    result.insert(result.end(), buffer, buffer + length);
  425|   280k|  } else {
  426|   280k|    result.push_back(GetCode());
  427|   280k|  }
  428|   300k|  return result;
  429|   300k|}

_ZN4wabt6StreamC2EPS0_:
   33|   120k|    : offset_(0), result_(Result::Ok), log_stream_(log_stream) {}
_ZN4wabt6Stream11WriteDataAtEmPKvmPKcNS_10PrintCharsE:
   43|  28.5M|                         PrintChars print_chars) {
   44|  28.5M|  if (Failed(result_)) {
  ------------------
  |  Branch (44:7): [True: 0, False: 28.5M]
  ------------------
   45|      0|    return;
   46|      0|  }
   47|  28.5M|  if (log_stream_) {
  ------------------
  |  Branch (47:7): [True: 0, False: 28.5M]
  ------------------
   48|      0|    log_stream_->WriteMemoryDump(src, size, at, print_chars, nullptr, desc);
   49|      0|  }
   50|  28.5M|  result_ = WriteDataImpl(at, src, size);
   51|  28.5M|}
_ZN4wabt6Stream9WriteDataEPKvmPKcNS_10PrintCharsE:
   56|  28.5M|                       PrintChars print_chars) {
   57|  28.5M|  WriteDataAt(offset_, src, size, desc, print_chars);
   58|  28.5M|  offset_ += size;
   59|  28.5M|}
_ZN4wabt6Stream6WritefEPKcz:
   87|  9.74M|void Stream::Writef(const char* format, ...) {
   88|  9.74M|  WABT_SNPRINTF_ALLOCA(buffer, length, format);
  ------------------
  |  |   36|  9.74M|  va_list args;                                                            \
  |  |   37|  9.74M|  va_list args_copy;                                                       \
  |  |   38|  9.74M|  va_start(args, format);                                                  \
  |  |   39|  9.74M|  va_copy(args_copy, args);                                                \
  |  |   40|  9.74M|  char fixed_buf[WABT_DEFAULT_SNPRINTF_ALLOCA_BUFSIZE];                    \
  |  |   41|  9.74M|  char* buffer = fixed_buf;                                                \
  |  |   42|  9.74M|  size_t len = wabt_vsnprintf(fixed_buf, sizeof(fixed_buf), format, args); \
  |  |  ------------------
  |  |  |  |  288|  9.74M|#define wabt_vsnprintf vsnprintf
  |  |  ------------------
  |  |   43|  9.74M|  va_end(args);                                                            \
  |  |   44|  9.74M|  if (len + 1 > sizeof(fixed_buf)) {                                       \
  |  |  ------------------
  |  |  |  Branch (44:7): [True: 0, False: 9.74M]
  |  |  ------------------
  |  |   45|      0|    buffer = static_cast<char*>(alloca(len + 1));                          \
  |  |   46|      0|    len = wabt_vsnprintf(buffer, len + 1, format, args_copy);              \
  |  |  ------------------
  |  |  |  |  288|      0|#define wabt_vsnprintf vsnprintf
  |  |  ------------------
  |  |   47|      0|  }                                                                        \
  |  |   48|  9.74M|  va_end(args_copy)
  ------------------
   89|  9.74M|  WriteData(buffer, length);
   90|  9.74M|}
_ZN4wabt6Stream15WriteMemoryDumpEPKvmmNS_10PrintCharsEPKcS5_:
   97|  2.21M|                             const char* desc) {
   98|  2.21M|  const uint8_t* p = static_cast<const uint8_t*>(start);
   99|  2.21M|  const uint8_t* end = p + size;
  100|  2.87M|  while (p < end) {
  ------------------
  |  Branch (100:10): [True: 663k, False: 2.21M]
  ------------------
  101|   663k|    const uint8_t* line = p;
  102|   663k|    const uint8_t* line_end = p + DUMP_OCTETS_PER_LINE;
  ------------------
  |  |   23|   663k|#define DUMP_OCTETS_PER_LINE 16
  ------------------
  103|   663k|    if (prefix) {
  ------------------
  |  Branch (103:9): [True: 4.73k, False: 658k]
  ------------------
  104|  4.73k|      Writef("%s", prefix);
  105|  4.73k|    }
  106|   663k|    Writef("%07" PRIzx ": ", reinterpret_cast<intptr_t>(p) -
  107|   663k|                                 reinterpret_cast<intptr_t>(start) + offset);
  108|  5.96M|    while (p < line_end) {
  ------------------
  |  Branch (108:12): [True: 5.30M, False: 663k]
  ------------------
  109|  15.9M|      for (int i = 0; i < DUMP_OCTETS_PER_GROUP; ++i, ++p) {
  ------------------
  |  |   24|  15.9M|#define DUMP_OCTETS_PER_GROUP 2
  ------------------
  |  Branch (109:23): [True: 10.6M, False: 5.30M]
  ------------------
  110|  10.6M|        if (p < end) {
  ------------------
  |  Branch (110:13): [True: 9.01M, False: 1.59M]
  ------------------
  111|  9.01M|          Writef("%02x", *p);
  112|  9.01M|        } else {
  113|  1.59M|          WriteChar(' ');
  114|  1.59M|          WriteChar(' ');
  115|  1.59M|        }
  116|  10.6M|      }
  117|  5.30M|      WriteChar(' ');
  118|  5.30M|    }
  119|       |
  120|   663k|    if (print_chars == PrintChars::Yes) {
  ------------------
  |  Branch (120:9): [True: 663k, False: 0]
  ------------------
  121|   663k|      WriteChar(' ');
  122|   663k|      p = line;
  123|  9.67M|      for (int i = 0; i < DUMP_OCTETS_PER_LINE && p < end; ++i, ++p)
  ------------------
  |  |   23|  19.3M|#define DUMP_OCTETS_PER_LINE 16
  ------------------
  |  Branch (123:23): [True: 9.16M, False: 509k]
  |  Branch (123:51): [True: 9.01M, False: 153k]
  ------------------
  124|  9.01M|        WriteChar(isprint(*p) ? *p : '.');
  ------------------
  |  Branch (124:19): [True: 2.03M, False: 6.97M]
  ------------------
  125|   663k|    }
  126|       |
  127|       |    /* if there are multiple lines, only print the desc on the last one */
  128|   663k|    if (p >= end && desc) {
  ------------------
  |  Branch (128:9): [True: 159k, False: 503k]
  |  Branch (128:21): [True: 0, False: 159k]
  ------------------
  129|      0|      Writef("  ; %s", desc);
  130|      0|    }
  131|   663k|    WriteChar('\n');
  132|   663k|  }
  133|  2.21M|}
_ZN4wabt10FileStreamC2EP8_IO_FILEPNS_6StreamE:
  246|   120k|    : Stream(log_stream), file_(file), offset_(0), should_close_(false) {}
_ZN4wabt10FileStreamD2Ev:
  262|   120k|FileStream::~FileStream() {
  263|       |  // We don't want to close existing files (stdout/sterr, for example).
  264|   120k|  if (should_close_) {
  ------------------
  |  Branch (264:7): [True: 0, False: 120k]
  ------------------
  265|      0|    fclose(file_);
  266|      0|  }
  267|   120k|}
_ZN4wabt10FileStream13WriteDataImplEmPKvm:
  275|  28.5M|Result FileStream::WriteDataImpl(size_t at, const void* data, size_t size) {
  276|  28.5M|  if (!file_) {
  ------------------
  |  Branch (276:7): [True: 0, False: 28.5M]
  ------------------
  277|      0|    return Result::Error;
  278|      0|  }
  279|  28.5M|  if (size == 0) {
  ------------------
  |  Branch (279:7): [True: 0, False: 28.5M]
  ------------------
  280|      0|    return Result::Ok;
  281|      0|  }
  282|  28.5M|  if (at != offset_) {
  ------------------
  |  Branch (282:7): [True: 0, False: 28.5M]
  ------------------
  283|      0|    if (fseek(file_, at, SEEK_SET) != 0) {
  ------------------
  |  Branch (283:9): [True: 0, False: 0]
  ------------------
  284|      0|      ERROR("fseek offset=%" PRIzd " failed, errno=%d\n", size, errno);
  ------------------
  |  |   28|      0|  fprintf(stderr, "%s:%d: " fmt, __FILE__, __LINE__, __VA_ARGS__)
  ------------------
  285|      0|      return Result::Error;
  286|      0|    }
  287|      0|    offset_ = at;
  288|      0|  }
  289|  28.5M|  if (fwrite(data, size, 1, file_) != 1) {
  ------------------
  |  Branch (289:7): [True: 0, False: 28.5M]
  ------------------
  290|      0|    ERROR("fwrite size=%" PRIzd " failed, errno=%d\n", size, errno);
  ------------------
  |  |   28|      0|  fprintf(stderr, "%s:%d: " fmt, __FILE__, __LINE__, __VA_ARGS__)
  ------------------
  291|      0|    return Result::Error;
  292|      0|  }
  293|  28.5M|  offset_ += size;
  294|  28.5M|  return Result::Ok;
  295|  28.5M|}
_ZN4wabt10FileStream12CreateStdoutEv:
  321|  45.1k|std::unique_ptr<FileStream> FileStream::CreateStdout() {
  322|  45.1k|  return std::unique_ptr<FileStream>(new FileStream(stdout));
  323|  45.1k|}
_ZN4wabt10FileStream12CreateStderrEv:
  326|  75.3k|std::unique_ptr<FileStream> FileStream::CreateStderr() {
  327|  75.3k|  return std::unique_ptr<FileStream>(new FileStream(stderr));
  328|  75.3k|}

_ZN4wabt11IsValidUtf8EPKcm:
   54|  1.55M|bool IsValidUtf8(const char* s, size_t s_length) {
   55|  1.55M|  const uint8_t* p = reinterpret_cast<const uint8_t*>(s);
   56|  1.55M|  const uint8_t* end = p + s_length;
   57|  7.92M|  while (p < end) {
  ------------------
  |  Branch (57:10): [True: 6.38M, False: 1.53M]
  ------------------
   58|  6.38M|    uint8_t cu0 = *p;
   59|  6.38M|    int length = s_utf8_length[cu0];
   60|  6.38M|    if (p + length > end) {
  ------------------
  |  Branch (60:9): [True: 1.12k, False: 6.38M]
  ------------------
   61|  1.12k|      return false;
   62|  1.12k|    }
   63|       |
   64|  6.38M|    switch (length) {
  ------------------
  |  Branch (64:13): [True: 0, False: 6.38M]
  ------------------
   65|  9.75k|      case 0:
  ------------------
  |  Branch (65:7): [True: 9.75k, False: 6.37M]
  ------------------
   66|  9.75k|        return false;
   67|       |
   68|  6.32M|      case 1:
  ------------------
  |  Branch (68:7): [True: 6.32M, False: 67.1k]
  ------------------
   69|  6.32M|        p++;
   70|  6.32M|        break;
   71|       |
   72|  9.57k|      case 2:
  ------------------
  |  Branch (72:7): [True: 9.57k, False: 6.37M]
  ------------------
   73|  9.57k|        p++;
   74|  9.57k|        if (!IsCont(*p++)) {
  ------------------
  |  Branch (74:13): [True: 1.46k, False: 8.11k]
  ------------------
   75|  1.46k|          return false;
   76|  1.46k|        }
   77|  8.11k|        break;
   78|       |
   79|  29.2k|      case 3: {
  ------------------
  |  Branch (79:7): [True: 29.2k, False: 6.35M]
  ------------------
   80|  29.2k|        p++;
   81|  29.2k|        uint8_t cu1 = *p++;
   82|  29.2k|        uint8_t cu2 = *p++;
   83|  29.2k|        if (!(IsCont(cu1) && IsCont(cu2)) ||
  ------------------
  |  Branch (83:15): [True: 27.9k, False: 1.28k]
  |  Branch (83:30): [True: 27.7k, False: 144]
  ------------------
   84|  29.2k|            (cu0 == 0xe0 && cu1 < 0xa0) ||  // Overlong encoding.
  ------------------
  |  Branch (84:14): [True: 7.09k, False: 20.6k]
  |  Branch (84:29): [True: 485, False: 6.60k]
  ------------------
   85|  29.2k|            (cu0 == 0xed && cu1 >= 0xa0))   // UTF-16 surrogate halves.
  ------------------
  |  Branch (85:14): [True: 5.14k, False: 22.1k]
  |  Branch (85:29): [True: 172, False: 4.97k]
  ------------------
   86|  2.08k|          return false;
   87|  27.1k|        break;
   88|  29.2k|      }
   89|       |
   90|  27.1k|      case 4: {
  ------------------
  |  Branch (90:7): [True: 18.6k, False: 6.36M]
  ------------------
   91|  18.6k|        p++;
   92|  18.6k|        uint8_t cu1 = *p++;
   93|  18.6k|        uint8_t cu2 = *p++;
   94|  18.6k|        uint8_t cu3 = *p++;
   95|  18.6k|        if (!(IsCont(cu1) && IsCont(cu2) && IsCont(cu3)) ||
  ------------------
  |  Branch (95:15): [True: 18.4k, False: 182]
  |  Branch (95:30): [True: 18.1k, False: 279]
  |  Branch (95:45): [True: 17.8k, False: 297]
  ------------------
   96|  18.6k|            (cu0 == 0xf0 && cu1 < 0x90) ||  // Overlong encoding.
  ------------------
  |  Branch (96:14): [True: 5.96k, False: 11.9k]
  |  Branch (96:29): [True: 85, False: 5.88k]
  ------------------
   97|  18.6k|            (cu0 == 0xf4 && cu1 >= 0x90))   // Code point >= 0x11000.
  ------------------
  |  Branch (97:14): [True: 250, False: 17.5k]
  |  Branch (97:29): [True: 195, False: 55]
  ------------------
   98|  1.03k|          return false;
   99|  17.5k|        break;
  100|  18.6k|      }
  101|  6.38M|    }
  102|  6.38M|  }
  103|  1.53M|  return true;
  104|  1.55M|}
utf8.cc:_ZN4wabt12_GLOBAL__N_16IsContEh:
   48|   121k|bool IsCont(uint8_t c) {
   49|   121k|  return (c & 0xc0) == 0x80;
   50|   121k|}

LLVMFuzzerTestOneInput:
   18|  15.0k|extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
   19|  15.0k|  wabt::ObjdumpOptions objdump_options{};
   20|  15.0k|  wabt::ObjdumpState state;
   21|       |
   22|  15.0k|  objdump_options.debug = false;
   23|  15.0k|  objdump_options.filename = "dummy";
   24|  15.0k|  objdump_options.log_stream = nullptr;
   25|       |
   26|  15.0k|  objdump_options.mode = wabt::ObjdumpMode::Prepass;
   27|  15.0k|  wabt::ReadBinaryObjdump(data, size, &objdump_options, &state);
   28|       |
   29|  15.0k|  objdump_options.mode = wabt::ObjdumpMode::Headers;
   30|  15.0k|  wabt::ReadBinaryObjdump(data, size, &objdump_options, &state);
   31|       |
   32|  15.0k|  objdump_options.mode = wabt::ObjdumpMode::Details;
   33|  15.0k|  wabt::ReadBinaryObjdump(data, size, &objdump_options, &state);
   34|       |
   35|  15.0k|  objdump_options.mode = wabt::ObjdumpMode::Disassemble;
   36|  15.0k|  wabt::ReadBinaryObjdump(data, size, &objdump_options, &state);
   37|       |
   38|  15.0k|  objdump_options.mode = wabt::ObjdumpMode::RawData;
   39|  15.0k|  wabt::ReadBinaryObjdump(data, size, &objdump_options, &state);
   40|       |
   41|  15.0k|  return 0;
   42|  15.0k|}

