LLVMFuzzerTestOneInput:
   25|  14.6k|extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   26|  14.6k|  wabt::Errors errors;
   27|  14.6k|  wabt::Module module;
   28|  14.6k|  wabt::Features features;
   29|  14.6k|  FuzzedDataProvider data_provider(data, size);
   30|  14.6k|#define WABT_FEATURE(variable, flag, default_, help) \
   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
   32|  14.6k|#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|  14.6k|WABT_FEATURE(exceptions,          "exceptions",              false,   "Experimental exception handling")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 8.50k, False: 6.10k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   26|  14.6k|WABT_FEATURE(mutable_globals,     "mutable-globals",         true,    "Import/export mutable globals")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.96k, False: 7.65k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   27|  14.6k|WABT_FEATURE(sat_float_to_int,    "saturating-float-to-int", true,    "Saturating float-to-int operators")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.92k, False: 7.68k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   28|  14.6k|WABT_FEATURE(sign_extension,      "sign-extension",          true,    "Sign-extension operators")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.99k, False: 7.61k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   29|  14.6k|WABT_FEATURE(simd,                "simd",                    true,    "SIMD support")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.85k, False: 7.75k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   30|  14.6k|WABT_FEATURE(threads,             "threads",                 false,   "Threading support")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 7.39k, False: 7.21k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   31|  14.6k|WABT_FEATURE(function_references, "function-references",     false,   "Typed function references")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 7.02k, False: 7.58k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   32|  14.6k|WABT_FEATURE(multi_value,         "multi-value",             true,    "Multi-value")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.87k, False: 7.73k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   33|  14.6k|WABT_FEATURE(tail_call,           "tail-call",               false,   "Tail-call support")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 7.05k, False: 7.55k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   34|  14.6k|WABT_FEATURE(bulk_memory,         "bulk-memory",             true,    "Bulk-memory operations")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.97k, False: 7.64k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   35|  14.6k|WABT_FEATURE(reference_types,     "reference-types",         true,    "Reference types (externref)")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.87k, False: 7.73k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   36|  14.6k|WABT_FEATURE(annotations,         "annotations",             false,   "Custom annotation syntax")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.82k, False: 7.78k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   37|  14.6k|WABT_FEATURE(code_metadata,       "code-metadata",           false,   "Code metadata")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 7.22k, False: 7.38k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   38|  14.6k|WABT_FEATURE(gc,                  "gc",                      false,   "Garbage collection")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.94k, False: 7.66k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   39|  14.6k|WABT_FEATURE(memory64,            "memory64",                false,   "64-bit memory")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 7.16k, False: 7.44k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   40|  14.6k|WABT_FEATURE(multi_memory,        "multi-memory",            false,   "Multi-memory")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.92k, False: 7.68k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   41|  14.6k|WABT_FEATURE(extended_const,      "extended-const",          false,   "Extended constant expressions")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.76k, False: 7.84k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   42|  14.6k|WABT_FEATURE(relaxed_simd,        "relaxed-simd",            false,   "Relaxed SIMD")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.85k, False: 7.75k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   43|  14.6k|WABT_FEATURE(custom_page_sizes,   "custom-page-sizes",       false,   "Custom page sizes")
  |  |  ------------------
  |  |  |  |   31|  14.6k|  if (data_provider.ConsumeBool()) { features.enable_##variable(); }
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (31:7): [True: 6.17k, False: 8.43k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   33|  14.6k|#undef WABT_FEATURE
   34|       |  // Add only feature related options, but no logging, stop_on_first_error, etc.
   35|  14.6k|  wabt::ReadBinaryOptions options(features, nullptr, false, false, false);
   36|  14.6k|  std::vector<uint8_t> text = data_provider.ConsumeRemainingBytes<uint8_t>();
   37|  14.6k|  ReadBinaryIr("", text.data(), text.size(), options, &errors, &module);
   38|  14.6k|  return 0;
   39|  14.6k|}

_ZN4wabt15BinaryReaderNop11BeginModuleEj:
   29|  14.4k|  Result BeginModule(uint32_t version) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop9EndModuleEv:
   30|  2.03k|  Result EndModule() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12BeginSectionEjNS_13BinarySectionEm:
   34|  3.69M|                      Offset size) override {
   35|  3.69M|    return Result::Ok;
   36|  3.69M|  }
_ZN4wabt15BinaryReaderNop18BeginCustomSectionEjmNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
   41|   748k|                            std::string_view section_name) override {
   42|   748k|    return Result::Ok;
   43|   748k|  }
_ZN4wabt15BinaryReaderNop16EndCustomSectionEv:
   44|   445k|  Result EndCustomSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16BeginTypeSectionEm:
   47|  1.28k|  Result BeginTypeSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14EndTypeSectionEv:
   62|     66|  Result EndTypeSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18BeginImportSectionEm:
   65|    615|  Result BeginImportSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop8OnImportEjNS_12ExternalKindENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_:
   70|  71.7k|                  std::string_view field_name) override {
   71|  71.7k|    return Result::Ok;
   72|  71.7k|  }
_ZN4wabt15BinaryReaderNop16EndImportSectionEv:
  111|     35|  Result EndImportSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop20BeginFunctionSectionEm:
  114|  1.40k|  Result BeginFunctionSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18EndFunctionSectionEv:
  119|  1.11k|  Result EndFunctionSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17BeginTableSectionEm:
  122|    473|  Result BeginTableSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15EndTableSectionEv:
  129|    149|  Result EndTableSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18BeginMemorySectionEm:
  132|    541|  Result BeginMemorySection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16EndMemorySectionEv:
  139|    138|  Result EndMemorySection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18BeginGlobalSectionEm:
  142|    842|  Result BeginGlobalSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop9EndGlobalEj:
  149|    728|  Result EndGlobal(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16EndGlobalSectionEv:
  150|      7|  Result EndGlobalSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18BeginExportSectionEm:
  153|    593|  Result BeginExportSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16EndExportSectionEv:
  161|     55|  Result EndExportSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17BeginStartSectionEm:
  164|     86|  Result BeginStartSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop15EndStartSectionEv:
  166|     63|  Result EndStartSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16BeginCodeSectionEm:
  169|    733|  Result BeginCodeSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16OnLocalDeclCountEj:
  174|    888|  Result OnLocalDeclCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13EndLocalDeclsEv:
  178|    708|  Result EndLocalDecls() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnOpcodeBareEv:
  183|  4.55M|  Result OnOpcodeBare() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnOpcodeUint32Ej:
  188|   309k|  Result OnOpcodeUint32(uint32_t value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnOpcodeIndexEj:
  184|   126k|  Result OnOpcodeIndex(Index value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop20OnOpcodeUint32Uint32Ejj:
  189|   166k|  Result OnOpcodeUint32Uint32(uint32_t value, uint32_t value2) override {
  190|   166k|    return Result::Ok;
  191|   166k|  }
_ZN4wabt15BinaryReaderNop26OnOpcodeUint32Uint32Uint32Ejjj:
  194|  15.0k|                                    uint32_t value3) override {
  195|  15.0k|    return Result::Ok;
  196|  15.0k|  }
_ZN4wabt15BinaryReaderNop32OnOpcodeUint32Uint32Uint32Uint32Ejjjj:
  200|  2.10k|                                          uint32_t value4) override {
  201|  2.10k|    return Result::Ok;
  202|  2.10k|  }
_ZN4wabt15BinaryReaderNop14OnOpcodeUint64Em:
  203|  33.2k|  Result OnOpcodeUint64(uint64_t value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11OnOpcodeF32Ej:
  204|  9.49k|  Result OnOpcodeF32(uint32_t value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11OnOpcodeF64Em:
  205|  2.80k|  Result OnOpcodeF64(uint64_t value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnOpcodeV128E4v128:
  206|  18.5k|  Result OnOpcodeV128(v128 value) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16OnOpcodeBlockSigENS_4TypeE:
  207|   989k|  Result OnOpcodeBlockSig(Type sig_type) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnOpcodeTypeENS_4TypeE:
  208|  3.42k|  Result OnOpcodeType(Type type) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14EndCodeSectionEv:
  332|      7|  Result EndCodeSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16BeginElemSectionEm:
  367|  3.80k|  Result BeginElemSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14EndElemSegmentEj:
  388|  23.2k|  Result EndElemSegment(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14EndElemSectionEv:
  389|     46|  Result EndElemSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop16BeginDataSectionEm:
  392|  3.46k|  Result BeginDataSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14EndDataSegmentEj:
  406|  12.1k|  Result EndDataSegment(Index index) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14EndDataSectionEv:
  407|     30|  Result EndDataSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop21BeginDataCountSectionEm:
  410|    267|  Result BeginDataCountSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop11OnDataCountEj:
  411|    252|  Result OnDataCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop19EndDataCountSectionEv:
  412|    252|  Result EndDataCountSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop17BeginRelocSectionEm:
  466|  5.12k|  Result BeginRelocSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnRelocCountEjj:
  467|  4.71k|  Result OnRelocCount(Index count, Index section_code) override {
  468|  4.71k|    return Result::Ok;
  469|  4.71k|  }
_ZN4wabt15BinaryReaderNop7OnRelocENS_9RelocTypeEmjj:
  473|  15.1k|                 uint32_t addend) override {
  474|  15.1k|    return Result::Ok;
  475|  15.1k|  }
_ZN4wabt15BinaryReaderNop15EndRelocSectionEv:
  476|    604|  Result EndRelocSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18BeginDylinkSectionEm:
  500|  43.4k|  Result BeginDylinkSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop12OnDylinkInfoEjjjj:
  504|  27.4k|                      uint32_t table_align) override {
  505|  27.4k|    return Result::Ok;
  506|  27.4k|  }
_ZN4wabt15BinaryReaderNop19OnDylinkImportCountEj:
  511|  2.59k|  Result OnDylinkImportCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop19OnDylinkExportCountEj:
  512|  2.36k|  Result OnDylinkExportCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnDylinkImportENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEES5_j:
  515|  3.81k|                        uint32_t flags) override {
  516|  3.81k|    return Result::Ok;
  517|  3.81k|  }
_ZN4wabt15BinaryReaderNop14OnDylinkExportENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEj:
  518|    706|  Result OnDylinkExport(std::string_view name, uint32_t flags) override {
  519|    706|    return Result::Ok;
  520|    706|  }
_ZN4wabt15BinaryReaderNop19OnDylinkNeededCountEj:
  507|  29.2k|  Result OnDylinkNeededCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnDylinkNeededENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  508|  1.63k|  Result OnDylinkNeeded(std::string_view so_name) override {
  509|  1.63k|    return Result::Ok;
  510|  1.63k|  }
_ZN4wabt15BinaryReaderNop16EndDylinkSectionEv:
  521|  25.9k|  Result EndDylinkSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop26BeginTargetFeaturesSectionEm:
  524|  27.3k|  Result BeginTargetFeaturesSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnFeatureCountEj:
  525|  27.1k|  Result OnFeatureCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop9OnFeatureEhNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  526|   175k|  Result OnFeature(uint8_t prefix, std::string_view name) override {
  527|   175k|    return Result::Ok;
  528|   175k|  }
_ZN4wabt15BinaryReaderNop24EndTargetFeaturesSectionEv:
  529|  6.89k|  Result EndTargetFeaturesSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop25BeginGenericCustomSectionEm:
  532|   748k|  Result BeginGenericCustomSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop23EndGenericCustomSectionEv:
  538|   748k|  Result EndGenericCustomSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop19BeginLinkingSectionEm:
  541|  37.8k|  Result BeginLinkingSection(Offset size) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnSymbolCountEj:
  542|  25.6k|  Result OnSymbolCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop18OnSegmentInfoCountEj:
  580|  8.35k|  Result OnSegmentInfoCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnSegmentInfoEjNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEmj:
  584|    854|                       uint32_t flags) override {
  585|    854|    return Result::Ok;
  586|    854|  }
_ZN4wabt15BinaryReaderNop19OnInitFunctionCountEj:
  587|  1.25k|  Result OnInitFunctionCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop14OnInitFunctionEjj:
  588|    653|  Result OnInitFunction(uint32_t priority, Index symbol_index) override {
  589|    653|    return Result::Ok;
  590|    653|  }
_ZN4wabt15BinaryReaderNop13OnComdatCountEj:
  591|  6.29k|  Result OnComdatCount(Index count) override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop13OnComdatBeginENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEjj:
  594|  8.90k|                       Index count) override {
  595|  8.90k|    return Result::Ok;
  596|  8.90k|  }
_ZN4wabt15BinaryReaderNop13OnComdatEntryENS_10ComdatTypeEj:
  597|  6.81k|  Result OnComdatEntry(ComdatType kind, Index index) override {
  598|  6.81k|    return Result::Ok;
  599|  6.81k|  }
_ZN4wabt15BinaryReaderNop17EndLinkingSectionEv:
  600|    462|  Result EndLinkingSection() override { return Result::Ok; }
_ZN4wabt15BinaryReaderNop22EndCodeMetadataSectionEv:
  497|  40.8k|  Result EndCodeMetadataSection() override { return Result::Ok; }

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

_ZN4wabt7BindingC2Ej:
   33|  55.2k|  explicit Binding(Index index) : index(index) {}
_ZN4wabt7BindingC2ERKNS_8LocationEj:
   34|  23.0k|  Binding(const Location& loc, Index index) : loc(loc), index(index) {}

_ZN4wabt4castINS_7TryExprENS_4ExprEEEPT_PT0_:
   77|  74.0k|Derived* cast(Base* base) {
   78|  74.0k|  assert(isa<Derived>(base));
   79|  74.0k|  return static_cast<Derived*>(base);
   80|  74.0k|};
_ZN4wabt3isaINS_7TryExprENS_4ExprEEEbPKT0_:
   65|  74.0k|bool isa(const Base* base) {
   66|  74.0k|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|  74.0k|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|  74.0k|  return Derived::classof(base);
   68|  74.0k|}
_ZN4wabt4castINS_6IfExprENS_4ExprEEEPT_PT0_:
   77|  31.5k|Derived* cast(Base* base) {
   78|  31.5k|  assert(isa<Derived>(base));
   79|  31.5k|  return static_cast<Derived*>(base);
   80|  31.5k|};
_ZN4wabt3isaINS_6IfExprENS_4ExprEEEbPKT0_:
   65|  31.5k|bool isa(const Base* base) {
   66|  31.5k|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|  31.5k|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|  31.5k|  return Derived::classof(base);
   68|  31.5k|}
_ZN4wabt4castINS_13BlockExprBaseILNS_8ExprTypeE8EEENS_4ExprEEEPT_PT0_:
   77|  19.7k|Derived* cast(Base* base) {
   78|  19.7k|  assert(isa<Derived>(base));
   79|  19.7k|  return static_cast<Derived*>(base);
   80|  19.7k|};
_ZN4wabt3isaINS_13BlockExprBaseILNS_8ExprTypeE8EEENS_4ExprEEEbPKT0_:
   65|  19.7k|bool isa(const Base* base) {
   66|  19.7k|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|  19.7k|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|  19.7k|  return Derived::classof(base);
   68|  19.7k|}
_ZN4wabt4castINS_13BlockExprBaseILNS_8ExprTypeE27EEENS_4ExprEEEPT_PT0_:
   77|  14.9k|Derived* cast(Base* base) {
   78|  14.9k|  assert(isa<Derived>(base));
   79|  14.9k|  return static_cast<Derived*>(base);
   80|  14.9k|};
_ZN4wabt3isaINS_13BlockExprBaseILNS_8ExprTypeE27EEENS_4ExprEEEbPKT0_:
   65|  14.9k|bool isa(const Base* base) {
   66|  14.9k|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|  14.9k|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|  14.9k|  return Derived::classof(base);
   68|  14.9k|}
_ZN4wabt4castINS_12TryTableExprENS_4ExprEEEPT_PT0_:
   77|    968|Derived* cast(Base* base) {
   78|    968|  assert(isa<Derived>(base));
   79|    968|  return static_cast<Derived*>(base);
   80|    968|};
_ZN4wabt3isaINS_12TryTableExprENS_4ExprEEEbPKT0_:
   65|    968|bool isa(const Base* base) {
   66|    968|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|    968|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|    968|  return Derived::classof(base);
   68|    968|}
_ZN4wabt8dyn_castINS_8FuncTypeENS_9TypeEntryEEEPT_PT0_:
   88|  44.7k|Derived* dyn_cast(Base* base) {
   89|  44.7k|  return isa<Derived>(base) ? static_cast<Derived*>(base) : nullptr;
  ------------------
  |  Branch (89:10): [True: 44.5k, False: 210]
  ------------------
   90|  44.7k|};
_ZN4wabt3isaINS_8FuncTypeENS_9TypeEntryEEEbPKT0_:
   65|  44.7k|bool isa(const Base* base) {
   66|  44.7k|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|  44.7k|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|  44.7k|  return Derived::classof(base);
   68|  44.7k|}
_ZN4wabt4castINS_10FuncImportENS_6ImportEEEPT_PT0_:
   77|  66.6k|Derived* cast(Base* base) {
   78|  66.6k|  assert(isa<Derived>(base));
   79|  66.6k|  return static_cast<Derived*>(base);
   80|  66.6k|};
_ZN4wabt3isaINS_10FuncImportENS_6ImportEEEbPKT0_:
   65|  66.6k|bool isa(const Base* base) {
   66|  66.6k|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|  66.6k|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|  66.6k|  return Derived::classof(base);
   68|  66.6k|}
_ZN4wabt4castINS_11TableImportENS_6ImportEEEPT_PT0_:
   77|    552|Derived* cast(Base* base) {
   78|    552|  assert(isa<Derived>(base));
   79|    552|  return static_cast<Derived*>(base);
   80|    552|};
_ZN4wabt3isaINS_11TableImportENS_6ImportEEEbPKT0_:
   65|    552|bool isa(const Base* base) {
   66|    552|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|    552|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|    552|  return Derived::classof(base);
   68|    552|}
_ZN4wabt4castINS_12MemoryImportENS_6ImportEEEPT_PT0_:
   77|  1.45k|Derived* cast(Base* base) {
   78|  1.45k|  assert(isa<Derived>(base));
   79|  1.45k|  return static_cast<Derived*>(base);
   80|  1.45k|};
_ZN4wabt3isaINS_12MemoryImportENS_6ImportEEEbPKT0_:
   65|  1.45k|bool isa(const Base* base) {
   66|  1.45k|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|  1.45k|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|  1.45k|  return Derived::classof(base);
   68|  1.45k|}
_ZN4wabt4castINS_12GlobalImportENS_6ImportEEEPT_PT0_:
   77|    956|Derived* cast(Base* base) {
   78|    956|  assert(isa<Derived>(base));
   79|    956|  return static_cast<Derived*>(base);
   80|    956|};
_ZN4wabt3isaINS_12GlobalImportENS_6ImportEEEbPKT0_:
   65|    956|bool isa(const Base* base) {
   66|    956|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|    956|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|    956|  return Derived::classof(base);
   68|    956|}
_ZN4wabt4castINS_9TagImportENS_6ImportEEEPT_PT0_:
   77|  1.93k|Derived* cast(Base* base) {
   78|  1.93k|  assert(isa<Derived>(base));
   79|  1.93k|  return static_cast<Derived*>(base);
   80|  1.93k|};
_ZN4wabt3isaINS_9TagImportENS_6ImportEEEbPKT0_:
   65|  1.93k|bool isa(const Base* base) {
   66|  1.93k|  WABT_STATIC_ASSERT((std::is_base_of<Base, Derived>::value));
  ------------------
  |  |   89|  1.93k|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
   67|  1.93k|  return Derived::classof(base);
   68|  1.93k|}

_ZN4wabt8LocationC2Ev:
  211|  27.9M|  Location() : line(0), first_column(0), last_column(0) {}
_ZN4wabt17MemcpyEndianAwareEPvPKvmmmmm:
   95|  40.2k|                              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|  40.2k|  memcpy(static_cast<char*>(dst) + (doff),
  101|  40.2k|         static_cast<const char*>(src) + (soff), (len));
  102|  40.2k|#endif
  103|  40.2k|}
_ZN4wabt8LocationC2Em:
  220|  3.60M|  explicit Location(size_t offset) : offset(offset) {}
_ZN4v1284FromIjEEviT_:
  151|  22.4k|  void From(int lane, T data) {
  152|  22.4k|    static_assert(sizeof(T) <= sizeof(v), "Invalid cast!");
  153|  22.4k|    assert((lane + 1) * sizeof(T) <= sizeof(v));
  154|  22.4k|    wabt::MemcpyEndianAware(v, &data, sizeof(v), sizeof(data), lane * sizeof(T),
  155|  22.4k|                            0, sizeof(data));
  156|  22.4k|  }
_ZN4v1284FromImEEviT_:
  151|  17.0k|  void From(int lane, T data) {
  152|  17.0k|    static_assert(sizeof(T) <= sizeof(v), "Invalid cast!");
  153|  17.0k|    assert((lane + 1) * sizeof(T) <= sizeof(v));
  154|  17.0k|    wabt::MemcpyEndianAware(v, &data, sizeof(v), sizeof(data), lane * sizeof(T),
  155|  17.0k|                            0, sizeof(data));
  156|  17.0k|  }
_ZN4v1284FromIS_EEviT_:
  151|    757|  void From(int lane, T data) {
  152|    757|    static_assert(sizeof(T) <= sizeof(v), "Invalid cast!");
  153|    757|    assert((lane + 1) * sizeof(T) <= sizeof(v));
  154|    757|    wabt::MemcpyEndianAware(v, &data, sizeof(v), sizeof(data), lane * sizeof(T),
  155|    757|                            0, sizeof(data));
  156|    757|  }
_ZN4wabt6LimitsC2Ev:
  380|  8.90k|  Limits() = default;
binary-reader.cc:_ZN4wabtL16GetRelocTypeNameENS_9RelocTypeE:
  421|    531|static inline const char* GetRelocTypeName(RelocType reloc) {
  422|    531|  return static_cast<size_t>(reloc) < kRelocTypeCount
  ------------------
  |  Branch (422:10): [True: 0, False: 531]
  ------------------
  423|    531|             ? g_reloc_type_name[static_cast<size_t>(reloc)]
  424|    531|             : "<error_reloc_type>";
  425|    531|}
_ZN4wabt10ZeroMemoryI4v128EEvRT_:
  172|    768|void ZeroMemory(T& v) {
  173|    768|  WABT_STATIC_ASSERT(std::is_trivial<T>::value);
  ------------------
  |  |   89|    768|#define WABT_STATIC_ASSERT(x) static_assert((x), #x)
  ------------------
  174|    768|  memset(&v, 0, sizeof(v));
  175|    768|}

_ZN4wabt5ErrorC2ENS_10ErrorLevelENS_8LocationENSt3__117basic_string_viewIcNS3_11char_traitsIcEEEE:
   47|  3.60M|      : error_level(error_level), loc(loc), message(message) {}

_ZN4wabt8Features17enable_exceptionsEv:
   38|  8.50k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features22set_exceptions_enabledEb:
   40|  8.50k|  void set_##variable##_enabled(bool value) {                     \
   41|  8.50k|    variable##_enabled_ = value;                                  \
   42|  8.50k|    UpdateDependencies();                                         \
   43|  8.50k|  }
_ZN4wabt8Features22enable_mutable_globalsEv:
   38|  6.96k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features27set_mutable_globals_enabledEb:
   40|  6.96k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.96k|    variable##_enabled_ = value;                                  \
   42|  6.96k|    UpdateDependencies();                                         \
   43|  6.96k|  }
_ZN4wabt8Features23enable_sat_float_to_intEv:
   38|  6.92k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features28set_sat_float_to_int_enabledEb:
   40|  6.92k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.92k|    variable##_enabled_ = value;                                  \
   42|  6.92k|    UpdateDependencies();                                         \
   43|  6.92k|  }
_ZN4wabt8Features21enable_sign_extensionEv:
   38|  6.99k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features26set_sign_extension_enabledEb:
   40|  6.99k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.99k|    variable##_enabled_ = value;                                  \
   42|  6.99k|    UpdateDependencies();                                         \
   43|  6.99k|  }
_ZN4wabt8Features11enable_simdEv:
   38|  6.85k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features16set_simd_enabledEb:
   40|  6.85k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.85k|    variable##_enabled_ = value;                                  \
   42|  6.85k|    UpdateDependencies();                                         \
   43|  6.85k|  }
_ZN4wabt8Features14enable_threadsEv:
   38|  7.39k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features19set_threads_enabledEb:
   40|  7.39k|  void set_##variable##_enabled(bool value) {                     \
   41|  7.39k|    variable##_enabled_ = value;                                  \
   42|  7.39k|    UpdateDependencies();                                         \
   43|  7.39k|  }
_ZN4wabt8Features26enable_function_referencesEv:
   38|  7.02k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features31set_function_references_enabledEb:
   40|  7.02k|  void set_##variable##_enabled(bool value) {                     \
   41|  7.02k|    variable##_enabled_ = value;                                  \
   42|  7.02k|    UpdateDependencies();                                         \
   43|  7.02k|  }
_ZN4wabt8Features18enable_multi_valueEv:
   38|  6.87k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features23set_multi_value_enabledEb:
   40|  6.87k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.87k|    variable##_enabled_ = value;                                  \
   42|  6.87k|    UpdateDependencies();                                         \
   43|  6.87k|  }
_ZN4wabt8Features16enable_tail_callEv:
   38|  7.05k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features21set_tail_call_enabledEb:
   40|  7.05k|  void set_##variable##_enabled(bool value) {                     \
   41|  7.05k|    variable##_enabled_ = value;                                  \
   42|  7.05k|    UpdateDependencies();                                         \
   43|  7.05k|  }
_ZN4wabt8Features18enable_bulk_memoryEv:
   38|  6.97k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features23set_bulk_memory_enabledEb:
   40|  6.97k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.97k|    variable##_enabled_ = value;                                  \
   42|  6.97k|    UpdateDependencies();                                         \
   43|  6.97k|  }
_ZN4wabt8Features22enable_reference_typesEv:
   38|  6.87k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features27set_reference_types_enabledEb:
   40|  6.87k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.87k|    variable##_enabled_ = value;                                  \
   42|  6.87k|    UpdateDependencies();                                         \
   43|  6.87k|  }
_ZN4wabt8Features18enable_annotationsEv:
   38|  6.82k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features23set_annotations_enabledEb:
   40|  6.82k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.82k|    variable##_enabled_ = value;                                  \
   42|  6.82k|    UpdateDependencies();                                         \
   43|  6.82k|  }
_ZN4wabt8Features20enable_code_metadataEv:
   38|  7.22k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features25set_code_metadata_enabledEb:
   40|  7.22k|  void set_##variable##_enabled(bool value) {                     \
   41|  7.22k|    variable##_enabled_ = value;                                  \
   42|  7.22k|    UpdateDependencies();                                         \
   43|  7.22k|  }
_ZN4wabt8Features9enable_gcEv:
   38|  6.94k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features14set_gc_enabledEb:
   40|  6.94k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.94k|    variable##_enabled_ = value;                                  \
   42|  6.94k|    UpdateDependencies();                                         \
   43|  6.94k|  }
_ZN4wabt8Features15enable_memory64Ev:
   38|  7.16k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features20set_memory64_enabledEb:
   40|  7.16k|  void set_##variable##_enabled(bool value) {                     \
   41|  7.16k|    variable##_enabled_ = value;                                  \
   42|  7.16k|    UpdateDependencies();                                         \
   43|  7.16k|  }
_ZN4wabt8Features19enable_multi_memoryEv:
   38|  6.92k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features24set_multi_memory_enabledEb:
   40|  6.92k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.92k|    variable##_enabled_ = value;                                  \
   42|  6.92k|    UpdateDependencies();                                         \
   43|  6.92k|  }
_ZN4wabt8Features21enable_extended_constEv:
   38|  6.76k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features26set_extended_const_enabledEb:
   40|  6.76k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.76k|    variable##_enabled_ = value;                                  \
   42|  6.76k|    UpdateDependencies();                                         \
   43|  6.76k|  }
_ZN4wabt8Features19enable_relaxed_simdEv:
   38|  6.85k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features24set_relaxed_simd_enabledEb:
   40|  6.85k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.85k|    variable##_enabled_ = value;                                  \
   42|  6.85k|    UpdateDependencies();                                         \
   43|  6.85k|  }
_ZN4wabt8Features24enable_custom_page_sizesEv:
   38|  6.17k|  void enable_##variable() { set_##variable##_enabled(true); }    \
_ZN4wabt8Features29set_custom_page_sizes_enabledEb:
   40|  6.17k|  void set_##variable##_enabled(bool value) {                     \
   41|  6.17k|    variable##_enabled_ = value;                                  \
   42|  6.17k|    UpdateDependencies();                                         \
   43|  6.17k|  }
_ZNK4wabt8Features18exceptions_enabledEv:
   37|   649k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features24sat_float_to_int_enabledEv:
   37|  10.5k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features22sign_extension_enabledEv:
   37|  15.5k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features12simd_enabledEv:
   37|   234k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features15threads_enabledEv:
   37|  44.7k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features27function_references_enabledEv:
   37|  14.4k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features19multi_value_enabledEv:
   37|   957k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features17tail_call_enabledEv:
   37|  8.63k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features19bulk_memory_enabledEv:
   37|  18.9k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features23reference_types_enabledEv:
   37|  42.2k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features21code_metadata_enabledEv:
   37|   634k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features10gc_enabledEv:
   37|  3.30k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features16memory64_enabledEv:
   37|   171k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features20multi_memory_enabledEv:
   37|  29.4k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features20relaxed_simd_enabledEv:
   37|  16.0k|  bool variable##_enabled() const { return variable##_enabled_; } \
_ZNK4wabt8Features25custom_page_sizes_enabledEv:
   37|    180|  bool variable##_enabled() const { return variable##_enabled_; } \

_ZN4wabt14intrusive_listINS_11ModuleFieldEEC2Ev:
  267|  14.6k|inline intrusive_list<T>::intrusive_list() {}
_ZN4wabt14intrusive_listINS_11ModuleFieldEED2Ev:
  287|  14.6k|inline intrusive_list<T>::~intrusive_list() {
  288|  14.6k|  clear();
  289|  14.6k|}
_ZN4wabt14intrusive_listINS_11ModuleFieldEE5clearEv:
  593|  14.6k|inline void intrusive_list<T>::clear() noexcept {
  594|   201k|  for (T* iter = first_; iter;) {
  ------------------
  |  Branch (594:26): [True: 186k, False: 14.6k]
  ------------------
  595|   186k|    T* next = iter->next_;
  596|   186k|    delete iter;
  597|   186k|    iter = next;
  598|   186k|  }
  599|  14.6k|  first_ = last_ = nullptr;
  600|  14.6k|  size_ = 0;
  601|  14.6k|}
_ZN4wabt14intrusive_listINS_4ExprEE5clearEv:
  593|  1.66M|inline void intrusive_list<T>::clear() noexcept {
  594|  7.99M|  for (T* iter = first_; iter;) {
  ------------------
  |  Branch (594:26): [True: 6.32M, False: 1.66M]
  ------------------
  595|  6.32M|    T* next = iter->next_;
  596|  6.32M|    delete iter;
  597|  6.32M|    iter = next;
  598|  6.32M|  }
  599|  1.66M|  first_ = last_ = nullptr;
  600|  1.66M|  size_ = 0;
  601|  1.66M|}
_ZN4wabt14intrusive_listINS_4ExprEEC2Ev:
  267|  1.65M|inline intrusive_list<T>::intrusive_list() {}
_ZN4wabt14intrusive_listINS_4ExprEED2Ev:
  287|  1.66M|inline intrusive_list<T>::~intrusive_list() {
  288|  1.66M|  clear();
  289|  1.66M|}
_ZN4wabt14intrusive_listINS_4ExprEE9push_backENSt3__110unique_ptrIS1_NS3_14default_deleteIS1_EEEE:
  444|  6.32M|inline void intrusive_list<T>::push_back(std::unique_ptr<T> node) {
  445|  6.32M|  assert(node->prev_ == nullptr && node->next_ == nullptr);
  446|       |
  447|  6.32M|  T* node_p = node.release();
  448|  6.32M|  if (last_) {
  ------------------
  |  Branch (448:7): [True: 5.06M, False: 1.26M]
  ------------------
  449|  5.06M|    node_p->prev_ = last_;
  450|  5.06M|    last_->next_ = node_p;
  451|  5.06M|  } else {
  452|  1.26M|    first_ = node_p;
  453|  1.26M|  }
  454|  6.32M|  last_ = node_p;
  455|  6.32M|  size_++;
  456|  6.32M|}
_ZN4wabt14intrusive_listINS_4ExprEEC2EOS2_:
  281|  15.2k|    : first_(other.first_), last_(other.last_), size_(other.size_) {
  282|  15.2k|  other.first_ = other.last_ = nullptr;
  283|  15.2k|  other.size_ = 0;
  284|  15.2k|}
_ZNK4wabt14intrusive_listINS_4ExprEE5emptyEv:
  381|   266k|inline bool intrusive_list<T>::empty() const noexcept {
  382|   266k|  return size_ == 0;
  383|   266k|}
_ZN4wabt14intrusive_listINS_4ExprEE4backEv:
  399|   133k|inline typename intrusive_list<T>::reference intrusive_list<T>::back() {
  400|   133k|  assert(!empty());
  401|   133k|  return *last_;
  402|   133k|}
_ZN4wabt14intrusive_listINS_11ModuleFieldEE9push_backENSt3__110unique_ptrIS1_NS3_14default_deleteIS1_EEEE:
  444|   186k|inline void intrusive_list<T>::push_back(std::unique_ptr<T> node) {
  445|   186k|  assert(node->prev_ == nullptr && node->next_ == nullptr);
  446|       |
  447|   186k|  T* node_p = node.release();
  448|   186k|  if (last_) {
  ------------------
  |  Branch (448:7): [True: 177k, False: 9.84k]
  ------------------
  449|   177k|    node_p->prev_ = last_;
  450|   177k|    last_->next_ = node_p;
  451|   177k|  } else {
  452|  9.84k|    first_ = node_p;
  453|  9.84k|  }
  454|   186k|  last_ = node_p;
  455|   186k|  size_++;
  456|   186k|}

_ZNK4wabt3Var8is_indexEv:
   55|  4.09M|  bool is_index() const { return type_ == VarType::Index; }
_ZNK4wabt3Var7is_nameEv:
   56|  10.3M|  bool is_name() const { return type_ == VarType::Name; }
_ZNK4wabt3Var5indexEv:
   58|  1.09M|  Index index() const {
   59|  1.09M|    assert(is_index());
   60|  1.09M|    return index_;
   61|  1.09M|  }
_ZN4wabt5Const3I32EjRKNS_8LocationE:
   89|  12.9k|  static Const I32(uint32_t val = 0, const Location& loc = Location()) {
   90|  12.9k|    return Const(Type::I32, val, loc);
   91|  12.9k|  }
_ZN4wabt5Const3I64EmRKNS_8LocationE:
   92|  14.2k|  static Const I64(uint64_t val = 0, const Location& loc = Location()) {
   93|  14.2k|    return Const(Type::I64, val, loc);
   94|  14.2k|  }
_ZN4wabt5Const3F32EjRKNS_8LocationE:
   95|  9.49k|  static Const F32(uint32_t val = 0, const Location& loc = Location()) {
   96|  9.49k|    return Const(Type::F32, val, loc);
   97|  9.49k|  }
_ZN4wabt5Const3F64EmRKNS_8LocationE:
   98|  2.80k|  static Const F64(uint64_t val = 0, const Location& loc = Location()) {
   99|  2.80k|    return Const(Type::F64, val, loc);
  100|  2.80k|  }
_ZN4wabt5Const4V128E4v128RKNS_8LocationE:
  101|    757|  static Const V128(v128 val, const Location& loc = Location()) {
  102|    757|    return Const(Type::V128, val, loc);
  103|    757|  }
_ZN4wabt5Const16set_expected_nanEiNS_11ExpectedNanE:
  168|  40.2k|  void set_expected_nan(int lane, ExpectedNan nan) {
  169|  40.2k|    if (lane < 4) {
  ------------------
  |  Branch (169:9): [True: 40.2k, False: 0]
  ------------------
  170|  40.2k|      nan_[lane] = nan;
  171|  40.2k|    }
  172|  40.2k|  }
_ZNK4wabt9TypeEntry4kindEv:
  278|  44.7k|  TypeEntryKind kind() const { return kind_; }
_ZN4wabt9TypeEntryC2ENS_13TypeEntryKindENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEERKNS_8LocationE:
  287|  1.81k|      : loc(loc), name(name), kind_(kind) {}
_ZN4wabt8FuncType7classofEPKNS_9TypeEntryE:
  294|  44.7k|  static bool classof(const TypeEntry* entry) {
  295|  44.7k|    return entry->kind() == TypeEntryKind::Func;
  296|  44.7k|  }
_ZN4wabt8FuncTypeC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  299|  1.44k|      : TypeEntry(TypeEntryKind::Func, name) {}
_ZN4wabt10StructTypeC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  329|    338|      : TypeEntry(TypeEntryKind::Struct) {}
_ZN4wabt9ArrayTypeC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  341|     25|      : TypeEntry(TypeEntryKind::Array) {}
_ZN4wabt5CatchC2ERKNS_8LocationE:
  446|  1.32k|  explicit Catch(const Location& loc = Location()) : loc(loc) {}
_ZN4wabt5CatchC2ERKNS_3VarERKNS_8LocationE:
  448|  6.39k|      : loc(loc), var(var) {}
_ZNK4wabt5Catch10IsCatchAllEv:
  452|  7.99k|  bool IsCatchAll() const {
  453|  7.99k|    return var.is_index() && var.index() == kInvalidIndex;
  ------------------
  |  Branch (453:12): [True: 7.99k, False: 0]
  |  Branch (453:30): [True: 1.29k, False: 6.70k]
  ------------------
  454|  7.99k|  }
_ZN4wabt10TableCatchC2ERKNS_8LocationE:
  459|  3.55k|  explicit TableCatch(const Location& loc = Location()) : loc(loc) {}
_ZNK4wabt4Expr4typeEv:
  481|   141k|  ExprType type() const { return type_; }
_ZN4wabt4ExprC2ENS_8ExprTypeERKNS_8LocationE:
  487|  6.33M|      : loc(loc), type_(type) {}
_ZN4wabt14SimdLaneOpExprC2ENS_6OpcodeEmRKNS_8LocationE:
  567|  19.0k|      : ExprMixin<ExprType::SimdLaneOp>(loc), opcode(opcode), val(val) {}
_ZN4wabt16SimdLoadLaneExprC2ENS_6OpcodeENS_3VarEmmmRKNS_8LocationE:
  581|  3.28k|      : MemoryExpr<ExprType::SimdLoadLane>(memidx, loc),
  582|  3.28k|        opcode(opcode),
  583|  3.28k|        align(align),
  584|  3.28k|        offset(offset),
  585|  3.28k|        val(val) {}
_ZN4wabt17SimdStoreLaneExprC2ENS_6OpcodeENS_3VarEmmmRKNS_8LocationE:
  601|  4.93k|      : MemoryExpr<ExprType::SimdStoreLane>(memidx, loc),
  602|  4.93k|        opcode(opcode),
  603|  4.93k|        align(align),
  604|  4.93k|        offset(offset),
  605|  4.93k|        val(val) {}
_ZN4wabt17SimdShuffleOpExprC2ENS_6OpcodeE4v128RKNS_8LocationE:
  616|  17.8k|      : ExprMixin<ExprType::SimdShuffleOp>(loc), opcode(opcode), val(val) {}
_ZN4wabt10SelectExprC2ENSt3__16vectorINS_4TypeENS1_9allocatorIS3_EEEERKNS_8LocationE:
  666|  19.9k|      : ExprMixin<ExprType::Select>(loc), result_type(type) {}
_ZN4wabt13TableInitExprC2ERKNS_3VarES3_RKNS_8LocationE:
  675|    983|      : ExprMixin<ExprType::TableInit>(loc),
  676|    983|        segment_index(segment_index),
  677|    983|        table_index(table_index) {}
_ZN4wabt13TableCopyExprC2ERKNS_3VarES3_RKNS_8LocationE:
  688|    905|      : ExprMixin<ExprType::TableCopy>(loc), dst_table(dst), src_table(src) {}
_ZN4wabt16CallIndirectExprC2ERKNS_8LocationE:
  697|  8.24k|      : ExprMixin<ExprType::CallIndirect>(loc) {}
_ZN4wabt16CodeMetadataExprC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEENS1_6vectorIhNS1_9allocatorIhEEEERKNS_8LocationE:
  708|  7.02k|      : ExprMixin<ExprType::CodeMetadata>(loc),
  709|  7.02k|        name(std::move(name)),
  710|  7.02k|        data(std::move(data)) {}
_ZN4wabt22ReturnCallIndirectExprC2ERKNS_8LocationE:
  719|  5.41k|      : ExprMixin<ExprType::ReturnCallIndirect>(loc) {}
_ZN4wabt11CallRefExprC2ERKNS_8LocationE:
  728|  12.5k|      : ExprMixin<ExprType::CallRef>(loc) {}
_ZN4wabt6IfExprC2ERKNS_8LocationE:
  750|   232k|      : ExprMixin<ExprType::If>(loc) {}
_ZN4wabt12TryTableExprC2ERKNS_8LocationE:
  760|  3.80k|      : ExprMixin<ExprType::TryTable>(loc) {}
_ZN4wabt7TryExprC2ERKNS_8LocationE:
  769|   611k|      : ExprMixin<ExprType::Try>(loc), kind(TryKind::Plain) {}
_ZN4wabt11BrTableExprC2ERKNS_8LocationE:
  780|   101k|      : ExprMixin<ExprType::BrTable>(loc) {}
_ZN4wabt9ConstExprC2ERKNS_5ConstERKNS_8LocationE:
  789|  40.2k|      : ExprMixin<ExprType::Const>(loc), const_(c) {}
_ZN4wabt15AtomicFenceExprC2EjRKNS_8LocationE:
  829|  1.35k|      : ExprMixin<ExprType::AtomicFence>(loc),
  830|  1.35k|        consistency_model(consistency_model) {}
_ZN4wabt3TagC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  836|  3.78k|  explicit Tag(std::string_view name) : name(name) {}
_ZN4wabt10LocalTypes10AppendDeclENS_4TypeEj:
  862|  1.94k|  void AppendDecl(Type type, Index count) {
  863|  1.94k|    if (count != 0) {
  ------------------
  |  Branch (863:9): [True: 1.87k, False: 78]
  ------------------
  864|  1.87k|      decls_.emplace_back(type, count);
  865|  1.87k|    }
  866|  1.94k|  }
_ZN4wabt4FuncC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  904|   109k|  explicit Func(std::string_view name) : name(name) {}
_ZNK4wabt4Func12GetNumLocalsEv:
  911|  1.94k|  Index GetNumLocals() const { return local_types.size(); }
_ZN4wabt6GlobalC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  934|  2.31k|  explicit Global(std::string_view name) : name(name) {}
_ZN4wabt5TableC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  944|  1.01k|      : name(name), elem_type(Type::FuncRef) {}
_ZN4wabt11ElemSegmentC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  954|  26.8k|  explicit ElemSegment(std::string_view name) : name(name) {}
_ZN4wabt6MemoryC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  966|  3.18k|  explicit Memory(std::string_view name) : name(name) {}
_ZN4wabt11DataSegmentC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
  974|  15.3k|  explicit DataSegment(std::string_view name) : name(name) {}
_ZNK4wabt6Import4kindEv:
  990|   143k|  ExternalKind kind() const { return kind_; }
_ZN4wabt6ImportC2ENS_12ExternalKindE:
  996|  71.5k|  Import(ExternalKind kind) : kind_(kind) {}
_ZN4wabt10FuncImportC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
 1014|  66.6k|      : ImportMixin<ExternalKind::Func>(), func(name) {}
_ZN4wabt11TableImportC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
 1022|    552|      : ImportMixin<ExternalKind::Table>(), table(name) {}
_ZN4wabt12MemoryImportC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
 1030|  1.45k|      : ImportMixin<ExternalKind::Memory>(), memory(name) {}
_ZN4wabt12GlobalImportC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
 1038|    956|      : ImportMixin<ExternalKind::Global>(), global(name) {}
_ZN4wabt9TagImportC2ENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
 1046|  1.93k|      : ImportMixin<ExternalKind::Tag>(), tag(name) {}
_ZN4wabt11ModuleFieldC2ENS_15ModuleFieldTypeERKNS_8LocationE:
 1083|   186k|      : loc(loc), type_(type) {}
_ZN4wabt15FuncModuleFieldC2ERKNS_8LocationENSt3__117basic_string_viewIcNS4_11char_traitsIcEEEE:
 1104|  42.8k|      : ModuleFieldMixin<ModuleFieldType::Func>(loc), func(name) {}
_ZN4wabt17GlobalModuleFieldC2ERKNS_8LocationENSt3__117basic_string_viewIcNS4_11char_traitsIcEEEE:
 1113|  1.35k|      : ModuleFieldMixin<ModuleFieldType::Global>(loc), global(name) {}
_ZN4wabt17ImportModuleFieldC2ENSt3__110unique_ptrINS_6ImportENS1_14default_deleteIS3_EEEERKNS_8LocationE:
 1124|  71.5k|      : ModuleFieldMixin<ModuleFieldType::Import>(loc),
 1125|  71.5k|        import(std::move(import)) {}
_ZN4wabt17ExportModuleFieldC2ERKNS_8LocationE:
 1133|  23.0k|      : ModuleFieldMixin<ModuleFieldType::Export>(loc) {}
_ZN4wabt15TypeModuleFieldC2ERKNS_8LocationE:
 1141|  1.81k|      : ModuleFieldMixin<ModuleFieldType::Type>(loc) {}
_ZN4wabt16TableModuleFieldC2ERKNS_8LocationENSt3__117basic_string_viewIcNS4_11char_traitsIcEEEE:
 1150|    464|      : ModuleFieldMixin<ModuleFieldType::Table>(loc), table(name) {}
_ZN4wabt22ElemSegmentModuleFieldC2ERKNS_8LocationENSt3__117basic_string_viewIcNS4_11char_traitsIcEEEE:
 1160|  26.8k|      : ModuleFieldMixin<ModuleFieldType::ElemSegment>(loc),
 1161|  26.8k|        elem_segment(name) {}
_ZN4wabt17MemoryModuleFieldC2ERKNS_8LocationENSt3__117basic_string_viewIcNS4_11char_traitsIcEEEE:
 1170|  1.73k|      : ModuleFieldMixin<ModuleFieldType::Memory>(loc), memory(name) {}
_ZN4wabt22DataSegmentModuleFieldC2ERKNS_8LocationENSt3__117basic_string_viewIcNS4_11char_traitsIcEEEE:
 1180|  15.3k|      : ModuleFieldMixin<ModuleFieldType::DataSegment>(loc),
 1181|  15.3k|        data_segment(name) {}
_ZN4wabt14TagModuleFieldC2ERKNS_8LocationENSt3__117basic_string_viewIcNS4_11char_traitsIcEEEE:
 1190|  1.84k|      : ModuleFieldMixin<ModuleFieldType::Tag>(loc), tag(name) {}
_ZN4wabt16StartModuleFieldC2ENS_3VarERKNS_8LocationE:
 1198|     63|      : ModuleFieldMixin<ModuleFieldType::Start>(loc), start(start) {}
_ZN4wabt6CustomC2ERKNS_8LocationENSt3__117basic_string_viewIcNS4_11char_traitsIcEEEENS4_6vectorIhNS4_9allocatorIhEEEE:
 1207|   748k|      : name(name), data(data), loc(loc) {}
_ZN4wabt5Const4FromI4v128EEvNS_4TypeET_i:
  191|    757|  void From(Type type, T data, int lane = 0) {
  192|    757|    static_assert(sizeof(T) <= sizeof(data_), "Invalid cast!");
  193|    757|    assert((lane + 1) * sizeof(T) <= sizeof(data_));
  194|    757|    type_ = type;
  195|    757|    data_.From<T>(lane, data);
  196|    757|    set_expected_nan(lane, ExpectedNan::None);
  197|    757|  }
_ZN4wabt5Const4FromIjEEvNS_4TypeET_i:
  191|  22.4k|  void From(Type type, T data, int lane = 0) {
  192|  22.4k|    static_assert(sizeof(T) <= sizeof(data_), "Invalid cast!");
  193|  22.4k|    assert((lane + 1) * sizeof(T) <= sizeof(data_));
  194|  22.4k|    type_ = type;
  195|  22.4k|    data_.From<T>(lane, data);
  196|  22.4k|    set_expected_nan(lane, ExpectedNan::None);
  197|  22.4k|  }
_ZN4wabt5Const4FromImEEvNS_4TypeET_i:
  191|  17.0k|  void From(Type type, T data, int lane = 0) {
  192|  17.0k|    static_assert(sizeof(T) <= sizeof(data_), "Invalid cast!");
  193|  17.0k|    assert((lane + 1) * sizeof(T) <= sizeof(data_));
  194|  17.0k|    type_ = type;
  195|  17.0k|    data_.From<T>(lane, data);
  196|  17.0k|    set_expected_nan(lane, ExpectedNan::None);
  197|  17.0k|  }
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE4EEC2ERKNS_8LocationE:
 1097|  1.81k|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt11ModuleFieldD2Ev:
 1075|   186k|  virtual ~ModuleField() = default;
_ZN4wabt9TypeEntryD2Ev:
  276|  1.81k|  virtual ~TypeEntry() = default;
_ZN4wabt11ImportMixinILNS_12ExternalKindE0EEC2Ev:
 1008|  66.6k|  ImportMixin() : Import(TypeEnum) {}
_ZN4wabt6ImportD2Ev:
  988|  71.5k|  virtual ~Import() = default;
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE2EEC2ERKNS_8LocationE:
 1097|  71.5k|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt11ImportMixinILNS_12ExternalKindE1EEC2Ev:
 1008|    552|  ImportMixin() : Import(TypeEnum) {}
_ZN4wabt11ImportMixinILNS_12ExternalKindE2EEC2Ev:
 1008|  1.45k|  ImportMixin() : Import(TypeEnum) {}
_ZN4wabt11ImportMixinILNS_12ExternalKindE3EEC2Ev:
 1008|    956|  ImportMixin() : Import(TypeEnum) {}
_ZN4wabt11ImportMixinILNS_12ExternalKindE4EEC2Ev:
 1008|  1.93k|  ImportMixin() : Import(TypeEnum) {}
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE0EEC2ERKNS_8LocationE:
 1097|  42.8k|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE5EEC2ERKNS_8LocationE:
 1097|    464|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE7EEC2ERKNS_8LocationE:
 1097|  1.73k|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE1EEC2ERKNS_8LocationE:
 1097|  1.35k|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE3EEC2ERKNS_8LocationE:
 1097|  23.0k|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE9EEC2ERKNS_8LocationE:
 1097|     63|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt13LoadStoreExprILNS_8ExprTypeE0EEC2ENS_6OpcodeENS_3VarEmmRKNS_8LocationE:
  803|  3.62k|      : MemoryExpr<TypeEnum>(memidx, loc),
  804|  3.62k|        opcode(opcode),
  805|  3.62k|        align(align),
  806|  3.62k|        offset(offset) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE0EEC2ENS_3VarERKNS_8LocationE:
  506|  3.62k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE0EEC2ERKNS_8LocationE:
  499|  3.62k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt4ExprD2Ev:
  479|  6.33M|  virtual ~Expr() = default;
_ZN4wabt13LoadStoreExprILNS_8ExprTypeE3EEC2ENS_6OpcodeENS_3VarEmmRKNS_8LocationE:
  803|  3.44k|      : MemoryExpr<TypeEnum>(memidx, loc),
  804|  3.44k|        opcode(opcode),
  805|  3.44k|        align(align),
  806|  3.44k|        offset(offset) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE3EEC2ENS_3VarERKNS_8LocationE:
  506|  3.44k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE3EEC2ERKNS_8LocationE:
  499|  3.44k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13LoadStoreExprILNS_8ExprTypeE1EEC2ENS_6OpcodeENS_3VarEmmRKNS_8LocationE:
  803|  22.7k|      : MemoryExpr<TypeEnum>(memidx, loc),
  804|  22.7k|        opcode(opcode),
  805|  22.7k|        align(align),
  806|  22.7k|        offset(offset) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE1EEC2ENS_3VarERKNS_8LocationE:
  506|  22.7k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE1EEC2ERKNS_8LocationE:
  499|  22.7k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13LoadStoreExprILNS_8ExprTypeE2EEC2ENS_6OpcodeENS_3VarEmmRKNS_8LocationE:
  803|  5.20k|      : MemoryExpr<TypeEnum>(memidx, loc),
  804|  5.20k|        opcode(opcode),
  805|  5.20k|        align(align),
  806|  5.20k|        offset(offset) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE2EEC2ENS_3VarERKNS_8LocationE:
  506|  5.20k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE2EEC2ERKNS_8LocationE:
  499|  5.20k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13LoadStoreExprILNS_8ExprTypeE6EEC2ENS_6OpcodeENS_3VarEmmRKNS_8LocationE:
  803|  3.56k|      : MemoryExpr<TypeEnum>(memidx, loc),
  804|  3.56k|        opcode(opcode),
  805|  3.56k|        align(align),
  806|  3.56k|        offset(offset) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE6EEC2ENS_3VarERKNS_8LocationE:
  506|  3.56k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE6EEC2ERKNS_8LocationE:
  499|  3.56k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE5EEC2ERKNS_8LocationE:
  499|  1.35k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13LoadStoreExprILNS_8ExprTypeE4EEC2ENS_6OpcodeENS_3VarEmmRKNS_8LocationE:
  803|  3.12k|      : MemoryExpr<TypeEnum>(memidx, loc),
  804|  3.12k|        opcode(opcode),
  805|  3.12k|        align(align),
  806|  3.12k|        offset(offset) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE4EEC2ENS_3VarERKNS_8LocationE:
  506|  3.12k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE4EEC2ERKNS_8LocationE:
  499|  3.12k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt10OpcodeExprILNS_8ExprTypeE7EEC2ENS_6OpcodeERKNS_8LocationE:
  553|   561k|      : ExprMixin<TypeEnum>(loc), opcode(opcode) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE7EEC2ERKNS_8LocationE:
  499|   561k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13BlockExprBaseILNS_8ExprTypeE8EEC2ERKNS_8LocationE:
  739|  52.3k|      : ExprMixin<TypeEnum>(loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE8EEC2ERKNS_8LocationE:
  499|  52.3k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt5BlockC2Ev:
  436|   993k|  Block() = default;
_ZN4wabt7VarExprILNS_8ExprTypeE9EEC2ERKNS_3VarERKNS_8LocationE:
  626|  11.6k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE9EEC2ERKNS_8LocationE:
  499|  11.6k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE10EEC2ERKNS_3VarERKNS_8LocationE:
  626|  6.73k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE10EEC2ERKNS_8LocationE:
  499|  6.73k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE11EEC2ERKNS_8LocationE:
  499|   101k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE12EEC2ERKNS_3VarERKNS_8LocationE:
  626|  11.1k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE12EEC2ERKNS_8LocationE:
  499|  11.1k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE13EEC2ERKNS_8LocationE:
  499|  8.24k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE14EEC2ERKNS_8LocationE:
  499|  12.5k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE61EE7classofEPKNS_4ExprE:
  497|  74.0k|  static bool classof(const Expr* expr) { return expr->type() == TypeEnum; }
_ZN4wabt10OpcodeExprILNS_8ExprTypeE16EEC2ENS_6OpcodeERKNS_8LocationE:
  553|   432k|      : ExprMixin<TypeEnum>(loc), opcode(opcode) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE16EEC2ERKNS_8LocationE:
  499|   432k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt10OpcodeExprILNS_8ExprTypeE18EEC2ENS_6OpcodeERKNS_8LocationE:
  553|   169k|      : ExprMixin<TypeEnum>(loc), opcode(opcode) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE18EEC2ERKNS_8LocationE:
  499|   169k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE19EEC2ERKNS_8LocationE:
  499|  13.3k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE22EE7classofEPKNS_4ExprE:
  497|  31.5k|  static bool classof(const Expr* expr) { return expr->type() == TypeEnum; }
_ZN4wabt9ExprMixinILNS_8ExprTypeE8EE7classofEPKNS_4ExprE:
  497|  19.7k|  static bool classof(const Expr* expr) { return expr->type() == TypeEnum; }
_ZN4wabt9ExprMixinILNS_8ExprTypeE27EE7classofEPKNS_4ExprE:
  497|  14.9k|  static bool classof(const Expr* expr) { return expr->type() == TypeEnum; }
_ZN4wabt9ExprMixinILNS_8ExprTypeE62EE7classofEPKNS_4ExprE:
  497|    968|  static bool classof(const Expr* expr) { return expr->type() == TypeEnum; }
_ZN4wabt9ExprMixinILNS_8ExprTypeE17EEC2ERKNS_8LocationE:
  499|  40.2k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt5ConstC2IjEENS_4TypeET_RKNS_8LocationE:
  186|  22.4k|  Const(Type type, T data, const Location& loc = Location()) : loc(loc) {
  187|  22.4k|    From<T>(type, data);
  188|  22.4k|  }
_ZN4wabt5ConstC2ImEENS_4TypeET_RKNS_8LocationE:
  186|  17.0k|  Const(Type type, T data, const Location& loc = Location()) : loc(loc) {
  187|  17.0k|    From<T>(type, data);
  188|  17.0k|  }
_ZN4wabt5ConstC2I4v128EENS_4TypeET_RKNS_8LocationE:
  186|    757|  Const(Type type, T data, const Location& loc = Location()) : loc(loc) {
  187|    757|    From<T>(type, data);
  188|    757|  }
_ZN4wabt7VarExprILNS_8ExprTypeE20EEC2ERKNS_3VarERKNS_8LocationE:
  626|  5.61k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE20EEC2ERKNS_8LocationE:
  499|  5.61k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE21EEC2ERKNS_3VarERKNS_8LocationE:
  626|  7.37k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE21EEC2ERKNS_8LocationE:
  499|  7.37k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE22EEC2ERKNS_8LocationE:
  499|   232k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13LoadStoreExprILNS_8ExprTypeE23EEC2ENS_6OpcodeENS_3VarEmmRKNS_8LocationE:
  803|  72.7k|      : MemoryExpr<TypeEnum>(memidx, loc),
  804|  72.7k|        opcode(opcode),
  805|  72.7k|        align(align),
  806|  72.7k|        offset(offset) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE23EEC2ENS_3VarERKNS_8LocationE:
  506|  72.7k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE23EEC2ERKNS_8LocationE:
  499|  72.7k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE24EEC2ERKNS_3VarERKNS_8LocationE:
  626|  11.9k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE24EEC2ERKNS_8LocationE:
  499|  11.9k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE25EEC2ERKNS_3VarERKNS_8LocationE:
  626|  40.5k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE25EEC2ERKNS_8LocationE:
  499|  40.5k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE26EEC2ERKNS_3VarERKNS_8LocationE:
  626|  4.93k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE26EEC2ERKNS_8LocationE:
  499|  4.93k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13BlockExprBaseILNS_8ExprTypeE27EEC2ERKNS_8LocationE:
  739|  93.5k|      : ExprMixin<TypeEnum>(loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE27EEC2ERKNS_8LocationE:
  499|  93.5k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt16MemoryBinaryExprILNS_8ExprTypeE28EEC2ENS_3VarES3_RKNS_8LocationE:
  517|  1.03k|      : ExprMixin<TypeEnum>(loc),
  518|  1.03k|        destmemidx(destmemidx),
  519|  1.03k|        srcmemidx(srcmemidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE28EEC2ERKNS_8LocationE:
  499|  1.03k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE29EEC2ERKNS_3VarERKNS_8LocationE:
  626|     50|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE29EEC2ERKNS_8LocationE:
  499|     50|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE30EEC2ENS_3VarERKNS_8LocationE:
  506|  2.99k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE30EEC2ERKNS_8LocationE:
  499|  2.99k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE31EEC2ENS_3VarERKNS_8LocationE:
  506|  6.80k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE31EEC2ERKNS_8LocationE:
  499|  6.80k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13MemoryVarExprILNS_8ExprTypeE32EEC2ERKNS_3VarES3_RKNS_8LocationE:
  635|     41|      : MemoryExpr<TypeEnum>(memidx, loc), var(var) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE32EEC2ENS_3VarERKNS_8LocationE:
  506|     41|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE32EEC2ERKNS_8LocationE:
  499|     41|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE33EEC2ENS_3VarERKNS_8LocationE:
  506|  5.15k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE33EEC2ERKNS_8LocationE:
  499|  5.15k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE50EEC2ERKNS_8LocationE:
  499|    905|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE51EEC2ERKNS_3VarERKNS_8LocationE:
  626|    509|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE51EEC2ERKNS_8LocationE:
  499|    509|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE52EEC2ERKNS_8LocationE:
  499|    983|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE53EEC2ERKNS_3VarERKNS_8LocationE:
  626|  7.49k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE53EEC2ERKNS_8LocationE:
  499|  7.49k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE56EEC2ERKNS_3VarERKNS_8LocationE:
  626|  4.90k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE56EEC2ERKNS_8LocationE:
  499|  4.90k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE54EEC2ERKNS_3VarERKNS_8LocationE:
  626|  1.90k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE54EEC2ERKNS_8LocationE:
  499|  1.90k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE55EEC2ERKNS_3VarERKNS_8LocationE:
  626|    489|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE55EEC2ERKNS_8LocationE:
  499|    489|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE57EEC2ERKNS_3VarERKNS_8LocationE:
  626|  1.54k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE57EEC2ERKNS_8LocationE:
  499|  1.54k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE36EEC2ERKNS_3VarERKNS_8LocationE:
  626|   263k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE36EEC2ERKNS_8LocationE:
  499|   263k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt11RefTypeExprILNS_8ExprTypeE37EEC2ENS_4TypeERKNS_8LocationE:
  541|  1.38k|      : ExprMixin<TypeEnum>(loc), type(type) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE37EEC2ERKNS_8LocationE:
  499|  1.38k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE35EEC2ERKNS_8LocationE:
  499|  4.93k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE34EEC2ERKNS_8LocationE:
  499|   199k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE38EEC2ERKNS_3VarERKNS_8LocationE:
  626|  11.5k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE38EEC2ERKNS_8LocationE:
  499|  11.5k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE39EEC2ERKNS_8LocationE:
  499|  17.3k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE40EEC2ERKNS_3VarERKNS_8LocationE:
  626|  3.16k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE40EEC2ERKNS_8LocationE:
  499|  3.16k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE41EEC2ERKNS_8LocationE:
  499|  5.41k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE42EEC2ERKNS_8LocationE:
  499|  19.9k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13LoadStoreExprILNS_8ExprTypeE49EEC2ENS_6OpcodeENS_3VarEmmRKNS_8LocationE:
  803|  39.3k|      : MemoryExpr<TypeEnum>(memidx, loc),
  804|  39.3k|        opcode(opcode),
  805|  39.3k|        align(align),
  806|  39.3k|        offset(offset) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE49EEC2ENS_3VarERKNS_8LocationE:
  506|  39.3k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE49EEC2ERKNS_8LocationE:
  499|  39.3k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt7VarExprILNS_8ExprTypeE59EEC2ERKNS_3VarERKNS_8LocationE:
  626|  5.09k|      : ExprMixin<TypeEnum>(loc), var(var) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE59EEC2ERKNS_8LocationE:
  499|  5.09k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE60EEC2ERKNS_8LocationE:
  499|  6.44k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE61EEC2ERKNS_8LocationE:
  499|   611k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE62EEC2ERKNS_8LocationE:
  499|  3.80k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt10OpcodeExprILNS_8ExprTypeE63EEC2ENS_6OpcodeERKNS_8LocationE:
  553|   286k|      : ExprMixin<TypeEnum>(loc), opcode(opcode) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE63EEC2ERKNS_8LocationE:
  499|   286k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt10OpcodeExprILNS_8ExprTypeE58EEC2ENS_6OpcodeERKNS_8LocationE:
  553|  8.68k|      : ExprMixin<TypeEnum>(loc), opcode(opcode) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE58EEC2ERKNS_8LocationE:
  499|  8.68k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE64EEC2ERKNS_8LocationE:
  499|  2.82M|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE43EEC2ERKNS_8LocationE:
  499|  19.0k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE46EEC2ERKNS_8LocationE:
  499|  17.8k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE44EEC2ENS_3VarERKNS_8LocationE:
  506|  3.28k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE44EEC2ERKNS_8LocationE:
  499|  3.28k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE45EEC2ENS_3VarERKNS_8LocationE:
  506|  4.93k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE45EEC2ERKNS_8LocationE:
  499|  4.93k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13LoadStoreExprILNS_8ExprTypeE47EEC2ENS_6OpcodeENS_3VarEmmRKNS_8LocationE:
  803|  3.72k|      : MemoryExpr<TypeEnum>(memidx, loc),
  804|  3.72k|        opcode(opcode),
  805|  3.72k|        align(align),
  806|  3.72k|        offset(offset) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE47EEC2ENS_3VarERKNS_8LocationE:
  506|  3.72k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE47EEC2ERKNS_8LocationE:
  499|  3.72k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt13LoadStoreExprILNS_8ExprTypeE48EEC2ENS_6OpcodeENS_3VarEmmRKNS_8LocationE:
  803|  1.14k|      : MemoryExpr<TypeEnum>(memidx, loc),
  804|  1.14k|        opcode(opcode),
  805|  1.14k|        align(align),
  806|  1.14k|        offset(offset) {}
_ZN4wabt10MemoryExprILNS_8ExprTypeE48EEC2ENS_3VarERKNS_8LocationE:
  506|  1.14k|      : ExprMixin<TypeEnum>(loc), memidx(memidx) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE48EEC2ERKNS_8LocationE:
  499|  1.14k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE6EEC2ERKNS_8LocationE:
 1097|  26.8k|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE8EEC2ERKNS_8LocationE:
 1097|  15.3k|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt16ModuleFieldMixinILNS_15ModuleFieldTypeE10EEC2ERKNS_8LocationE:
 1097|  1.84k|  explicit ModuleFieldMixin(const Location& loc) : ModuleField(TypeEnum, loc) {}
_ZN4wabt9ExprMixinILNS_8ExprTypeE15EEC2ERKNS_8LocationE:
  499|  7.02k|  explicit ExprMixin(const Location& loc = Location()) : Expr(TypeEnum, loc) {}
_ZN4wabt11ImportMixinILNS_12ExternalKindE0EE7classofEPKNS_6ImportE:
 1004|  66.6k|  static bool classof(const Import* import) {
 1005|  66.6k|    return import->kind() == TypeEnum;
 1006|  66.6k|  }
_ZN4wabt11ImportMixinILNS_12ExternalKindE1EE7classofEPKNS_6ImportE:
 1004|    552|  static bool classof(const Import* import) {
 1005|    552|    return import->kind() == TypeEnum;
 1006|    552|  }
_ZN4wabt11ImportMixinILNS_12ExternalKindE2EE7classofEPKNS_6ImportE:
 1004|  1.45k|  static bool classof(const Import* import) {
 1005|  1.45k|    return import->kind() == TypeEnum;
 1006|  1.45k|  }
_ZN4wabt11ImportMixinILNS_12ExternalKindE3EE7classofEPKNS_6ImportE:
 1004|    956|  static bool classof(const Import* import) {
 1005|    956|    return import->kind() == TypeEnum;
 1006|    956|  }
_ZN4wabt11ImportMixinILNS_12ExternalKindE4EE7classofEPKNS_6ImportE:
 1004|  1.93k|  static bool classof(const Import* import) {
 1005|  1.93k|    return import->kind() == TypeEnum;
 1006|  1.93k|  }

_ZN4wabt6OpcodeC2ENS0_4EnumE:
   52|  6.48M|  Opcode(Enum e) : enum_(e) {}
_ZNK4wabt6OpcodecvNS0_4EnumEEv:
   53|  6.22M|  operator Enum() const { return enum_; }
_ZNK4wabt6Opcode9HasPrefixEv:
   57|  1.20k|  bool HasPrefix() const { return GetInfo().prefix != 0; }
_ZNK4wabt6Opcode9GetPrefixEv:
   58|  6.48M|  uint8_t GetPrefix() const { return GetInfo().prefix; }
_ZNK4wabt6Opcode7GetCodeEv:
   59|  1.20k|  uint32_t GetCode() const { return GetInfo().code; }
_ZNK4wabt6Opcode13GetResultTypeEv:
   65|  6.48M|  Type GetResultType() const { return GetInfo().result_type; }
_ZN4wabt6Opcode12IsPrefixByteEh:
   86|  6.22M|  static bool IsPrefixByte(uint8_t byte) {
   87|  6.22M|    return byte == kMathPrefix || byte == kThreadsPrefix || byte == kSimdPrefix;
  ------------------
  |  Branch (87:12): [True: 21.2k, False: 6.20M]
  |  Branch (87:35): [True: 43.4k, False: 6.15M]
  |  Branch (87:61): [True: 349k, False: 5.81M]
  ------------------
   88|  6.22M|  }
_ZN4wabt6Opcode10PrefixCodeEhj:
  109|  6.22M|  static uint32_t PrefixCode(uint8_t prefix, uint32_t code) {
  110|  6.22M|    if (code >= (1 << MAX_OPCODE_BITS)) {
  ------------------
  |  |   32|  6.22M|#define MAX_OPCODE_BITS 9
  ------------------
  |  Branch (110:9): [True: 194, False: 6.22M]
  ------------------
  111|       |      // Clamp to (2^bits - 1), since we know that it is an invalid code.
  112|    194|      code = (1 << MAX_OPCODE_BITS) - 1;
  ------------------
  |  |   32|    194|#define MAX_OPCODE_BITS 9
  ------------------
  113|    194|    }
  114|  6.22M|    return (prefix << MAX_OPCODE_BITS) | code;
  ------------------
  |  |   32|  6.22M|#define MAX_OPCODE_BITS 9
  ------------------
  115|  6.22M|  }
_ZN4wabt6Opcode19EncodeInvalidOpcodeEj:
  129|    951|  static Enum EncodeInvalidOpcode(uint32_t prefix_code) {
  130|    951|    Enum result = static_cast<Enum>(~prefix_code + 1);
  131|    951|    assert(result >= Invalid);
  132|    951|    return result;
  133|    951|  }
_ZN4wabt6Opcode19DecodeInvalidOpcodeENS0_4EnumEPhPj:
  137|  4.07k|                                  uint32_t* out_code) {
  138|  4.07k|    uint32_t prefix_code = ~static_cast<uint32_t>(e) + 1;
  139|  4.07k|    *out_prefix = prefix_code >> MAX_OPCODE_BITS;
  ------------------
  |  |   32|  4.07k|#define MAX_OPCODE_BITS 9
  ------------------
  140|  4.07k|    *out_code = prefix_code & 0xff;
  141|  4.07k|  }
_ZN4wabt6Opcode8FromCodeEj:
  150|  5.81M|inline Opcode Opcode::FromCode(uint32_t code) {
  151|  5.81M|  return FromCode(0, code);
  152|  5.81M|}
_ZN4wabt6Opcode8FromCodeEhj:
  155|  6.22M|inline Opcode Opcode::FromCode(uint8_t prefix, uint32_t code) {
  156|  6.22M|  uint32_t prefix_code = PrefixCode(prefix, code);
  157|       |
  158|  6.22M|  if (WABT_LIKELY(prefix_code < WABT_ARRAY_SIZE(WabtOpcodeCodeTable))) {
  ------------------
  |  |   73|  6.22M|#define WABT_LIKELY(x) __builtin_expect(!!(x), 1)
  |  |  ------------------
  |  |  |  Branch (73:24): [True: 6.22M, False: 0]
  |  |  ------------------
  ------------------
  159|  6.22M|    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|  6.22M|    if (WABT_LIKELY(value != 0 || code == 0)) {
  ------------------
  |  |   73|  9.04M|#define WABT_LIKELY(x) __builtin_expect(!!(x), 1)
  |  |  ------------------
  |  |  |  Branch (73:24): [True: 6.22M, False: 951]
  |  |  |  Branch (73:44): [True: 3.40M, False: 2.82M]
  |  |  |  Branch (73:44): [True: 2.82M, False: 951]
  |  |  ------------------
  ------------------
  163|  6.22M|      return Opcode(static_cast<Enum>(value));
  164|  6.22M|    }
  165|  6.22M|  }
  166|       |
  167|    951|  return Opcode(EncodeInvalidOpcode(prefix_code));
  168|  6.22M|}

_ZN4wabt6ResultC2ENS0_4EnumE:
   29|  94.4M|  Result(Enum e) : enum_(e) {}
_ZNK4wabt6ResultcvNS0_4EnumEEv:
   30|  94.1M|  operator Enum() const { return enum_; }
_ZN4wabtorENS_6ResultES0_:
   37|  81.5k|inline Result operator|(Result lhs, Result rhs) {
   38|  81.5k|  return (lhs == Result::Error || rhs == Result::Error) ? Result::Error
  ------------------
  |  Branch (38:11): [True: 68.9k, False: 12.6k]
  |  Branch (38:35): [True: 10.9k, False: 1.68k]
  ------------------
   39|  81.5k|                                                        : Result::Ok;
   40|  81.5k|}
_ZN4wabt6ResultoRES0_:
   42|  81.5k|inline Result& Result::operator|=(Result rhs) {
   43|  81.5k|  enum_ = *this | rhs;
   44|  81.5k|  return *this;
   45|  81.5k|}
_ZN4wabt9SucceededENS_6ResultE:
   47|  33.0M|inline bool Succeeded(Result result) {
   48|  33.0M|  return result == Result::Ok;
   49|  33.0M|}
_ZN4wabt6FailedENS_6ResultE:
   50|  60.8M|inline bool Failed(Result result) {
   51|  60.8M|  return result == Result::Error;
   52|  60.8M|}

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

_ZN4wabt4TypeC2Ei:
   63|  1.01M|      : enum_(static_cast<Enum>(code)), type_index_(0) {
   64|  1.01M|    assert(!EnumIsReferenceWithIndex(enum_));
   65|  1.01M|  }
_ZN4wabt4TypeC2ENS0_4EnumE:
   66|  93.4k|  Type(Enum e) : enum_(e), type_index_(0) {
   67|  93.4k|    assert(!EnumIsReferenceWithIndex(enum_));
   68|  93.4k|  }
_ZN4wabt4TypeC2ENS0_4EnumEj:
   69|  2.36k|  Type(Enum e, Index type_index) : enum_(e), type_index_(type_index) {
   70|  2.36k|    assert(EnumIsReferenceWithIndex(e));
   71|  2.36k|  }
_ZNK4wabt4TypecvNS0_4EnumEEv:
   72|  1.01M|  constexpr operator Enum() const { return enum_; }
_ZN4wabteqENS_4TypeENS0_4EnumE:
   80|  7.46M|  friend constexpr bool operator==(const Type ty, const Enum code) {
   81|  7.46M|    return ty.enum_ == code;
   82|  7.46M|  }
_ZNK4wabt4Type5IsRefEv:
   91|  2.84k|  bool IsRef() const {
   92|  2.84k|    return enum_ == Type::ExternRef || enum_ == Type::FuncRef ||
  ------------------
  |  Branch (92:12): [True: 806, False: 2.03k]
  |  Branch (92:40): [True: 907, False: 1.13k]
  ------------------
   93|  2.84k|           enum_ == Type::Reference || enum_ == Type::ExnRef;
  ------------------
  |  Branch (93:12): [True: 443, False: 688]
  |  Branch (93:40): [True: 397, False: 291]
  ------------------
   94|  2.84k|  }
_ZNK4wabt4Type7GetNameEv:
  103|      7|  std::string GetName() const {
  104|      7|    switch (enum_) {
  105|      0|      case Type::I32:       return "i32";
  ------------------
  |  Branch (105:7): [True: 0, False: 7]
  ------------------
  106|      0|      case Type::I64:       return "i64";
  ------------------
  |  Branch (106:7): [True: 0, False: 7]
  ------------------
  107|      0|      case Type::F32:       return "f32";
  ------------------
  |  Branch (107:7): [True: 0, False: 7]
  ------------------
  108|      0|      case Type::F64:       return "f64";
  ------------------
  |  Branch (108:7): [True: 0, False: 7]
  ------------------
  109|      0|      case Type::V128:      return "v128";
  ------------------
  |  Branch (109:7): [True: 0, False: 7]
  ------------------
  110|      0|      case Type::I8:        return "i8";
  ------------------
  |  Branch (110:7): [True: 0, False: 7]
  ------------------
  111|      0|      case Type::I16:       return "i16";
  ------------------
  |  Branch (111:7): [True: 0, False: 7]
  ------------------
  112|      0|      case Type::ExnRef:    return "exnref";
  ------------------
  |  Branch (112:7): [True: 0, False: 7]
  ------------------
  113|      7|      case Type::FuncRef:   return "funcref";
  ------------------
  |  Branch (113:7): [True: 7, False: 0]
  ------------------
  114|      0|      case Type::Func:      return "func";
  ------------------
  |  Branch (114:7): [True: 0, False: 7]
  ------------------
  115|      0|      case Type::Void:      return "void";
  ------------------
  |  Branch (115:7): [True: 0, False: 7]
  ------------------
  116|      0|      case Type::Any:       return "any";
  ------------------
  |  Branch (116:7): [True: 0, False: 7]
  ------------------
  117|      0|      case Type::ExternRef: return "externref";
  ------------------
  |  Branch (117:7): [True: 0, False: 7]
  ------------------
  118|      0|      case Type::Reference:
  ------------------
  |  Branch (118:7): [True: 0, False: 7]
  ------------------
  119|      0|        return StringPrintf("(ref %d)", type_index_);
  120|      0|      default:
  ------------------
  |  Branch (120:7): [True: 0, False: 7]
  ------------------
  121|      0|        return StringPrintf("<type_index[%d]>", enum_);
  122|      7|    }
  123|      7|  }
_ZNK4wabt4Type7IsIndexEv:
  148|  2.94M|  bool IsIndex() const { return static_cast<int32_t>(enum_) >= 0; }
_ZNK4wabt4Type8GetIndexEv:
  150|   957k|  Index GetIndex() const {
  151|   957k|    assert(IsIndex());
  152|   957k|    return static_cast<Index>(enum_);
  153|   957k|  }
_ZNK4wabt4Type15GetInlineVectorEv:
  160|  35.8k|  TypeVector GetInlineVector() const {
  161|  35.8k|    assert(!IsIndex());
  162|  35.8k|    switch (enum_) {
  163|  2.48k|      case Type::Void:
  ------------------
  |  Branch (163:7): [True: 2.48k, False: 33.3k]
  ------------------
  164|  2.48k|        return TypeVector();
  165|       |
  166|    936|      case Type::I32:
  ------------------
  |  Branch (166:7): [True: 936, False: 34.8k]
  ------------------
  167|  8.07k|      case Type::I64:
  ------------------
  |  Branch (167:7): [True: 7.13k, False: 28.6k]
  ------------------
  168|  12.8k|      case Type::F32:
  ------------------
  |  Branch (168:7): [True: 4.80k, False: 31.0k]
  ------------------
  169|  27.5k|      case Type::F64:
  ------------------
  |  Branch (169:7): [True: 14.6k, False: 21.1k]
  ------------------
  170|  28.0k|      case Type::V128:
  ------------------
  |  Branch (170:7): [True: 544, False: 35.2k]
  ------------------
  171|  29.5k|      case Type::FuncRef:
  ------------------
  |  Branch (171:7): [True: 1.54k, False: 34.2k]
  ------------------
  172|  30.2k|      case Type::ExnRef:
  ------------------
  |  Branch (172:7): [True: 630, False: 35.1k]
  ------------------
  173|  32.1k|      case Type::ExternRef:
  ------------------
  |  Branch (173:7): [True: 1.95k, False: 33.8k]
  ------------------
  174|  33.3k|      case Type::Reference:
  ------------------
  |  Branch (174:7): [True: 1.14k, False: 34.6k]
  ------------------
  175|  33.3k|        return TypeVector(this, this + 1);
  176|       |
  177|      0|      default:
  ------------------
  |  Branch (177:7): [True: 0, False: 35.8k]
  ------------------
  178|      0|        WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
  179|  35.8k|    }
  180|  35.8k|  }
_ZN4wabt4Type24EnumIsReferenceWithIndexENS0_4EnumE:
  183|  1.10M|  static bool EnumIsReferenceWithIndex(Enum value) {
  184|  1.10M|    return value == Type::Reference;
  185|  1.10M|  }

_ZN4wabt12ReadBinaryIrEPKcPKvmRKNS_17ReadBinaryOptionsEPNSt3__16vectorINS_5ErrorENS7_9allocatorIS9_EEEEPNS_6ModuleE:
 1855|  14.6k|                    Module* out_module) {
 1856|  14.6k|  BinaryReaderIR reader(out_module, filename, errors);
 1857|  14.6k|  return ReadBinary(data, size, &reader, options);
 1858|  14.6k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIRC2EPNS_6ModuleEPKcPNSt3__16vectorINS_5ErrorENS6_9allocatorIS8_EEEE:
  406|  14.6k|    : errors_(errors), module_(out_module), filename_(filename) {}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_121CodeMetadataExprQueueC2Ev:
   57|  14.6k|  CodeMetadataExprQueue() {}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR7OnErrorERKNS_5ErrorE:
  507|  3.59M|bool BinaryReaderIR::OnError(const Error& error) {
  508|  3.59M|  errors_->push_back(error);
  509|  3.59M|  return true;
  510|  3.59M|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11OnTypeCountEj:
  512|  1.01k|Result BinaryReaderIR::OnTypeCount(Index count) {
  513|  1.01k|  WABT_TRY
  514|  1.01k|  module_->types.reserve(count);
  515|  1.01k|  WABT_CATCH_BAD_ALLOC
  516|  1.01k|  return Result::Ok;
  517|  1.01k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnFuncTypeEjjPNS_4TypeEjS3_:
  523|  1.44k|                                  Type* result_types) {
  524|  1.44k|  if (param_count > kMaxFunctionParams) {
  ------------------
  |  Branch (524:7): [True: 0, False: 1.44k]
  ------------------
  525|      0|    PrintError("FuncType param count exceeds maximum value");
  526|      0|    return Result::Error;
  527|      0|  }
  528|       |
  529|  1.44k|  if (result_count > kMaxFunctionResults) {
  ------------------
  |  Branch (529:7): [True: 0, False: 1.44k]
  ------------------
  530|      0|    PrintError("FuncType result count exceeds maximum value");
  531|      0|    return Result::Error;
  532|      0|  }
  533|       |
  534|  1.44k|  auto field = std::make_unique<TypeModuleField>(GetLocation());
  535|  1.44k|  auto func_type = std::make_unique<FuncType>();
  536|  1.44k|  func_type->sig.param_types.assign(param_types, param_types + param_count);
  537|  1.44k|  func_type->sig.result_types.assign(result_types, result_types + result_count);
  538|       |
  539|  1.44k|  module_->features_used.simd |=
  540|  1.44k|      std::any_of(func_type->sig.param_types.begin(),
  ------------------
  |  Branch (540:7): [True: 241, False: 1.20k]
  ------------------
  541|  1.44k|                  func_type->sig.param_types.end(),
  542|  1.44k|                  [](auto x) { return x == Type::V128; }) ||
  543|  1.44k|      std::any_of(func_type->sig.result_types.begin(),
  ------------------
  |  Branch (543:7): [True: 167, False: 1.03k]
  ------------------
  544|  1.20k|                  func_type->sig.result_types.end(),
  545|  1.20k|                  [](auto x) { return x == Type::V128; });
  546|  1.44k|  module_->features_used.exceptions |=
  547|  1.44k|      std::any_of(func_type->sig.param_types.begin(),
  ------------------
  |  Branch (547:7): [True: 40, False: 1.40k]
  ------------------
  548|  1.44k|                  func_type->sig.param_types.end(),
  549|  1.44k|                  [](auto x) { return x == Type::ExnRef; }) ||
  550|  1.44k|      std::any_of(func_type->sig.result_types.begin(),
  ------------------
  |  Branch (550:7): [True: 38, False: 1.36k]
  ------------------
  551|  1.40k|                  func_type->sig.result_types.end(),
  552|  1.40k|                  [](auto x) { return x == Type::ExnRef; });
  553|       |
  554|  1.44k|  field->type = std::move(func_type);
  555|  1.44k|  module_->AppendField(std::move(field));
  556|  1.44k|  return Result::Ok;
  557|  1.44k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10PrintErrorEPKcz:
  416|  8.08k|                                                         ...) {
  417|  8.08k|  WABT_SNPRINTF_ALLOCA(buffer, length, format);
  ------------------
  |  |   36|  8.08k|  va_list args;                                                            \
  |  |   37|  8.08k|  va_list args_copy;                                                       \
  |  |   38|  8.08k|  va_start(args, format);                                                  \
  |  |   39|  8.08k|  va_copy(args_copy, args);                                                \
  |  |   40|  8.08k|  char fixed_buf[WABT_DEFAULT_SNPRINTF_ALLOCA_BUFSIZE];                    \
  |  |   41|  8.08k|  char* buffer = fixed_buf;                                                \
  |  |   42|  8.08k|  size_t len = wabt_vsnprintf(fixed_buf, sizeof(fixed_buf), format, args); \
  |  |  ------------------
  |  |  |  |  288|  8.08k|#define wabt_vsnprintf vsnprintf
  |  |  ------------------
  |  |   43|  8.08k|  va_end(args);                                                            \
  |  |   44|  8.08k|  if (len + 1 > sizeof(fixed_buf)) {                                       \
  |  |  ------------------
  |  |  |  Branch (44:7): [True: 0, False: 8.08k]
  |  |  ------------------
  |  |   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|  8.08k|  va_end(args_copy)
  ------------------
  418|  8.08k|  errors_->emplace_back(ErrorLevel::Error, Location(kInvalidOffset), buffer);
  419|  8.08k|}
binary-reader-ir.cc:_ZNK4wabt12_GLOBAL__N_114BinaryReaderIR11GetLocationEv:
  408|  16.5M|Location BinaryReaderIR::GetLocation() const {
  409|  16.5M|  Location loc;
  410|  16.5M|  loc.filename = filename_;
  411|  16.5M|  loc.offset = state->offset;
  412|  16.5M|  return loc;
  413|  16.5M|}
binary-reader-ir.cc:_ZZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnFuncTypeEjjPNS_4TypeEjS3_ENK3$_0clIS2_EEDaT_:
  542|  1.36k|                  [](auto x) { return x == Type::V128; }) ||
binary-reader-ir.cc:_ZZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnFuncTypeEjjPNS_4TypeEjS3_ENK3$_1clIS2_EEDaT_:
  545|  1.70k|                  [](auto x) { return x == Type::V128; });
binary-reader-ir.cc:_ZZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnFuncTypeEjjPNS_4TypeEjS3_ENK3$_2clIS2_EEDaT_:
  549|  1.53k|                  [](auto x) { return x == Type::ExnRef; }) ||
binary-reader-ir.cc:_ZZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnFuncTypeEjjPNS_4TypeEjS3_ENK3$_3clIS2_EEDaT_:
  552|  1.62k|                  [](auto x) { return x == Type::ExnRef; });
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR12OnStructTypeEjjPNS_7TypeMutE:
  561|    338|                                    TypeMut* fields) {
  562|    338|  auto field = std::make_unique<TypeModuleField>(GetLocation());
  563|    338|  auto struct_type = std::make_unique<StructType>();
  564|    338|  struct_type->fields.resize(field_count);
  565|    677|  for (Index i = 0; i < field_count; ++i) {
  ------------------
  |  Branch (565:21): [True: 339, False: 338]
  ------------------
  566|    339|    struct_type->fields[i].type = fields[i].type;
  567|    339|    struct_type->fields[i].mutable_ = fields[i].mutable_;
  568|    339|    module_->features_used.simd |= (fields[i].type == Type::V128);
  569|    339|    module_->features_used.exceptions |= (fields[i].type == Type::ExnRef);
  570|    339|  }
  571|    338|  field->type = std::move(struct_type);
  572|    338|  module_->AppendField(std::move(field));
  573|    338|  return Result::Ok;
  574|    338|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11OnArrayTypeEjNS_7TypeMutE:
  576|     25|Result BinaryReaderIR::OnArrayType(Index index, TypeMut type_mut) {
  577|     25|  auto field = std::make_unique<TypeModuleField>(GetLocation());
  578|     25|  auto array_type = std::make_unique<ArrayType>();
  579|     25|  array_type->field.type = type_mut.type;
  580|     25|  array_type->field.mutable_ = type_mut.mutable_;
  581|     25|  module_->features_used.simd |= (type_mut.type == Type::V128);
  582|     25|  module_->features_used.exceptions |= (type_mut.type == Type::ExnRef);
  583|     25|  field->type = std::move(array_type);
  584|     25|  module_->AppendField(std::move(field));
  585|     25|  return Result::Ok;
  586|     25|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnImportCountEj:
  588|    487|Result BinaryReaderIR::OnImportCount(Index count) {
  589|    487|  WABT_TRY
  590|    487|  module_->imports.reserve(count);
  591|    487|  WABT_CATCH_BAD_ALLOC
  592|    487|  return Result::Ok;
  593|    487|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR12OnImportFuncEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jj:
  599|  66.6k|                                    Index sig_index) {
  600|  66.6k|  auto import = std::make_unique<FuncImport>();
  601|  66.6k|  import->module_name = module_name;
  602|  66.6k|  import->field_name = field_name;
  603|  66.6k|  SetFuncDeclaration(&import->func.decl, Var(sig_index, GetLocation()));
  604|  66.6k|  module_->AppendField(
  605|  66.6k|      std::make_unique<ImportModuleField>(std::move(import), GetLocation()));
  606|  66.6k|  return Result::Ok;
  607|  66.6k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR18SetFuncDeclarationEPNS_15FuncDeclarationENS_3VarE:
  477|  1.08M|void BinaryReaderIR::SetFuncDeclaration(FuncDeclaration* decl, Var var) {
  478|  1.08M|  decl->has_func_type = true;
  479|  1.08M|  decl->type_var = var;
  480|  1.08M|  if (auto* func_type = module_->GetFuncType(var)) {
  ------------------
  |  Branch (480:13): [True: 44.0k, False: 1.04M]
  ------------------
  481|  44.0k|    decl->sig = func_type->sig;
  482|  44.0k|  }
  483|  1.08M|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnImportTableEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jNS_4TypeEPKNS_6LimitsE:
  614|    552|                                     const Limits* elem_limits) {
  615|    552|  auto import = std::make_unique<TableImport>();
  616|    552|  import->module_name = module_name;
  617|    552|  import->field_name = field_name;
  618|    552|  import->table.elem_limits = *elem_limits;
  619|    552|  import->table.elem_type = elem_type;
  620|    552|  module_->AppendField(
  621|    552|      std::make_unique<ImportModuleField>(std::move(import), GetLocation()));
  622|    552|  return Result::Ok;
  623|    552|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnImportMemoryEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jPKNS_6LimitsEj:
  630|  1.45k|                                      uint32_t page_size) {
  631|  1.45k|  auto import = std::make_unique<MemoryImport>();
  632|  1.45k|  import->module_name = module_name;
  633|  1.45k|  import->field_name = field_name;
  634|  1.45k|  import->memory.page_limits = *page_limits;
  635|  1.45k|  import->memory.page_size = page_size;
  636|  1.45k|  if (import->memory.page_limits.is_shared) {
  ------------------
  |  Branch (636:7): [True: 703, False: 753]
  ------------------
  637|    703|    module_->features_used.threads = true;
  638|    703|  }
  639|  1.45k|  module_->AppendField(
  640|  1.45k|      std::make_unique<ImportModuleField>(std::move(import), GetLocation()));
  641|  1.45k|  return Result::Ok;
  642|  1.45k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnImportGlobalEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jNS_4TypeEb:
  649|    956|                                      bool mutable_) {
  650|    956|  auto import = std::make_unique<GlobalImport>();
  651|    956|  import->module_name = module_name;
  652|    956|  import->field_name = field_name;
  653|    956|  import->global.type = type;
  654|    956|  import->global.mutable_ = mutable_;
  655|    956|  module_->AppendField(
  656|    956|      std::make_unique<ImportModuleField>(std::move(import), GetLocation()));
  657|    956|  module_->features_used.simd |= (type == Type::V128);
  658|    956|  module_->features_used.exceptions |= (type == Type::ExnRef);
  659|    956|  return Result::Ok;
  660|    956|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11OnImportTagEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEES6_jj:
  666|  1.93k|                                   Index sig_index) {
  667|  1.93k|  auto import = std::make_unique<TagImport>();
  668|  1.93k|  import->module_name = module_name;
  669|  1.93k|  import->field_name = field_name;
  670|  1.93k|  SetFuncDeclaration(&import->tag.decl, Var(sig_index, GetLocation()));
  671|  1.93k|  module_->AppendField(
  672|  1.93k|      std::make_unique<ImportModuleField>(std::move(import), GetLocation()));
  673|  1.93k|  module_->features_used.exceptions = true;
  674|  1.93k|  return Result::Ok;
  675|  1.93k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnFunctionCountEj:
  677|  1.25k|Result BinaryReaderIR::OnFunctionCount(Index count) {
  678|  1.25k|  WABT_TRY
  679|  1.25k|  module_->funcs.reserve(module_->num_func_imports + count);
  680|  1.25k|  WABT_CATCH_BAD_ALLOC
  681|  1.25k|  return Result::Ok;
  682|  1.25k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnFunctionEjj:
  684|  42.8k|Result BinaryReaderIR::OnFunction(Index index, Index sig_index) {
  685|  42.8k|  auto field = std::make_unique<FuncModuleField>(GetLocation());
  686|  42.8k|  Func& func = field->func;
  687|  42.8k|  SetFuncDeclaration(&func.decl, Var(sig_index, GetLocation()));
  688|  42.8k|  module_->AppendField(std::move(field));
  689|  42.8k|  return Result::Ok;
  690|  42.8k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR12OnTableCountEj:
  692|    339|Result BinaryReaderIR::OnTableCount(Index count) {
  693|    339|  WABT_TRY
  694|    339|  module_->tables.reserve(module_->num_table_imports + count);
  695|    339|  WABT_CATCH_BAD_ALLOC
  696|    339|  return Result::Ok;
  697|    339|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR7OnTableEjNS_4TypeEPKNS_6LimitsE:
  701|    464|                               const Limits* elem_limits) {
  702|    464|  auto field = std::make_unique<TableModuleField>(GetLocation());
  703|    464|  Table& table = field->table;
  704|    464|  table.elem_limits = *elem_limits;
  705|    464|  table.elem_type = elem_type;
  706|    464|  module_->features_used.exceptions |= (elem_type == Type::ExnRef);
  707|    464|  module_->AppendField(std::move(field));
  708|    464|  return Result::Ok;
  709|    464|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnMemoryCountEj:
  711|    391|Result BinaryReaderIR::OnMemoryCount(Index count) {
  712|    391|  WABT_TRY
  713|    391|  module_->memories.reserve(module_->num_memory_imports + count);
  714|    391|  WABT_CATCH_BAD_ALLOC
  715|    391|  return Result::Ok;
  716|    391|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR8OnMemoryEjPKNS_6LimitsEj:
  720|  1.73k|                                uint32_t page_size) {
  721|  1.73k|  auto field = std::make_unique<MemoryModuleField>(GetLocation());
  722|  1.73k|  Memory& memory = field->memory;
  723|  1.73k|  memory.page_limits = *page_limits;
  724|  1.73k|  memory.page_size = page_size;
  725|  1.73k|  if (memory.page_limits.is_shared) {
  ------------------
  |  Branch (725:7): [True: 563, False: 1.17k]
  ------------------
  726|    563|    module_->features_used.threads = true;
  727|    563|  }
  728|  1.73k|  module_->AppendField(std::move(field));
  729|  1.73k|  return Result::Ok;
  730|  1.73k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnGlobalCountEj:
  732|    771|Result BinaryReaderIR::OnGlobalCount(Index count) {
  733|    771|  WABT_TRY
  734|    771|  module_->globals.reserve(module_->num_global_imports + count);
  735|    771|  WABT_CATCH_BAD_ALLOC
  736|    771|  return Result::Ok;
  737|    771|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11BeginGlobalEjNS_4TypeEb:
  739|  1.35k|Result BinaryReaderIR::BeginGlobal(Index index, Type type, bool mutable_) {
  740|  1.35k|  auto field = std::make_unique<GlobalModuleField>(GetLocation());
  741|  1.35k|  Global& global = field->global;
  742|  1.35k|  global.type = type;
  743|  1.35k|  global.mutable_ = mutable_;
  744|  1.35k|  module_->AppendField(std::move(field));
  745|  1.35k|  module_->features_used.simd |= (type == Type::V128);
  746|  1.35k|  module_->features_used.exceptions |= (type == Type::ExnRef);
  747|  1.35k|  return Result::Ok;
  748|  1.35k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR19BeginGlobalInitExprEj:
  750|  1.35k|Result BinaryReaderIR::BeginGlobalInitExpr(Index index) {
  751|  1.35k|  assert(index == module_->globals.size() - 1);
  752|  1.35k|  Global* global = module_->globals[index];
  753|  1.35k|  return BeginInitExpr(&global->init_expr);
  754|  1.35k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13BeginInitExprEPNS_14intrusive_listINS_4ExprEEE:
 1396|   281k|Result BinaryReaderIR::BeginInitExpr(ExprList* expr) {
 1397|   281k|  return PushLabel(LabelType::InitExpr, expr);
 1398|   281k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR9PushLabelENS_9LabelTypeEPNS_14intrusive_listINS_4ExprEEEPS4_:
  423|  1.27M|                                 Expr* context) {
  424|  1.27M|  if (label_stack_.size() >= kMaxNestingDepth) {
  ------------------
  |  Branch (424:7): [True: 14, False: 1.27M]
  ------------------
  425|     14|    PrintError("label stack exceeds max nesting depth");
  426|     14|    return Result::Error;
  427|     14|  }
  428|  1.27M|  label_stack_.emplace_back(label_type, first, context);
  429|  1.27M|  return Result::Ok;
  430|  1.27M|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_19LabelNodeC2ENS_9LabelTypeEPNS_14intrusive_listINS_4ExprEEEPS4_:
   45|  1.27M|    : label_type(label_type), exprs(exprs), context(context) {}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR17EndGlobalInitExprEj:
  756|    728|Result BinaryReaderIR::EndGlobalInitExpr(Index index) {
  757|    728|  return EndInitExpr();
  758|    728|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11EndInitExprEv:
 1406|   274k|Result BinaryReaderIR::EndInitExpr() {
 1407|   274k|  if (!label_stack_.empty()) {
  ------------------
  |  Branch (1407:7): [True: 14, False: 274k]
  ------------------
 1408|     14|    PrintError("init expression missing end marker");
 1409|     14|    return Result::Error;
 1410|     14|  }
 1411|   274k|  return Result::Ok;
 1412|   274k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnExportCountEj:
  760|    526|Result BinaryReaderIR::OnExportCount(Index count) {
  761|    526|  WABT_TRY
  762|    526|  module_->exports.reserve(count);
  763|    526|  WABT_CATCH_BAD_ALLOC
  764|    526|  return Result::Ok;
  765|    526|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR8OnExportEjNS_12ExternalKindEjNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEE:
  770|  23.0k|                                std::string_view name) {
  771|  23.0k|  auto field = std::make_unique<ExportModuleField>(GetLocation());
  772|  23.0k|  Export& export_ = field->export_;
  773|  23.0k|  export_.name = name;
  774|  23.0k|  export_.var = Var(item_index, GetLocation());
  775|  23.0k|  export_.kind = kind;
  776|  23.0k|  module_->AppendField(std::move(field));
  777|  23.0k|  return Result::Ok;
  778|  23.0k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnStartFunctionEj:
  780|     63|Result BinaryReaderIR::OnStartFunction(Index func_index) {
  781|     63|  Var start(func_index, GetLocation());
  782|     63|  module_->AppendField(
  783|     63|      std::make_unique<StartModuleField>(start, GetLocation()));
  784|     63|  return Result::Ok;
  785|     63|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR19OnFunctionBodyCountEj:
  787|    623|Result BinaryReaderIR::OnFunctionBodyCount(Index count) {
  788|       |  // Can hit this case on a malformed module if we don't stop on first error.
  789|    623|  if (module_->num_func_imports + count != module_->funcs.size()) {
  ------------------
  |  Branch (789:7): [True: 5, False: 618]
  ------------------
  790|      5|    PrintError(
  791|      5|        "number of imported func + func count in code section does not match "
  792|      5|        "actual number of funcs in module");
  793|      5|    return Result::Error;
  794|      5|  }
  795|    618|  return Result::Ok;
  796|    623|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR17BeginFunctionBodyEjm:
  798|    920|Result BinaryReaderIR::BeginFunctionBody(Index index, Offset size) {
  799|    920|  current_func_ = module_->funcs[index];
  800|    920|  current_func_->loc = GetLocation();
  801|    920|  return PushLabel(LabelType::Func, &current_func_->exprs);
  802|    920|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11OnLocalDeclEjjNS_4TypeE:
  804|  1.94k|Result BinaryReaderIR::OnLocalDecl(Index decl_index, Index count, Type type) {
  805|  1.94k|  current_func_->local_types.AppendDecl(type, count);
  806|       |
  807|  1.94k|  if (current_func_->GetNumLocals() > kMaxFunctionLocals) {
  ------------------
  |  Branch (807:7): [True: 48, False: 1.90k]
  ------------------
  808|     48|    PrintError("function local count exceeds maximum value");
  809|     48|    return Result::Error;
  810|     48|  }
  811|       |
  812|  1.90k|  module_->features_used.simd |= (type == Type::V128);
  813|  1.90k|  module_->features_used.exceptions |= (type == Type::ExnRef);
  814|  1.90k|  return Result::Ok;
  815|  1.94k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR8OnOpcodeENS_6OpcodeE:
  817|  6.48M|Result BinaryReaderIR::OnOpcode(Opcode opcode) {
  818|  6.48M|  std::unique_ptr<CodeMetadataExpr> metadata =
  819|  6.48M|      code_metadata_queue_.pop_match(current_func_, GetLocation().offset - 1);
  820|  6.48M|  if (metadata) {
  ------------------
  |  Branch (820:7): [True: 22, False: 6.48M]
  ------------------
  821|     22|    return AppendExpr(std::move(metadata));
  822|     22|  }
  823|  6.48M|  module_->features_used.simd |= (opcode.GetResultType() == Type::V128);
  824|  6.48M|  module_->features_used.threads |= (opcode.GetPrefix() == 0xfe);
  825|  6.48M|  return Result::Ok;
  826|  6.48M|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_121CodeMetadataExprQueue9pop_matchEPNS_4FuncEm:
   64|  6.48M|  std::unique_ptr<CodeMetadataExpr> pop_match(Func* f, Offset offset) {
   65|  6.48M|    std::unique_ptr<CodeMetadataExpr> ret;
   66|  6.48M|    if (entries.empty()) {
  ------------------
  |  Branch (66:9): [True: 6.45M, False: 28.8k]
  ------------------
   67|  6.45M|      return ret;
   68|  6.45M|    }
   69|       |
   70|  28.8k|    auto& current_entry = entries.front();
   71|       |
   72|  28.8k|    if (current_entry.func != f)
  ------------------
  |  Branch (72:9): [True: 3.55k, False: 25.2k]
  ------------------
   73|  3.55k|      return ret;
   74|  25.2k|    if (current_entry.func_queue.empty()) {
  ------------------
  |  Branch (74:9): [True: 24.6k, False: 642]
  ------------------
   75|  24.6k|      entries.pop_front();
   76|  24.6k|      return ret;
   77|  24.6k|    }
   78|       |
   79|    642|    auto& current_metadata = current_entry.func_queue.front();
   80|    642|    if (current_metadata->loc.offset + current_entry.func->loc.offset !=
  ------------------
  |  Branch (80:9): [True: 620, False: 22]
  ------------------
   81|    642|        offset) {
   82|    620|      return ret;
   83|    620|    }
   84|       |
   85|     22|    current_metadata->loc = Location(offset);
   86|     22|    ret = std::move(current_metadata);
   87|     22|    current_entry.func_queue.pop_front();
   88|       |
   89|     22|    return ret;
   90|    642|  }
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10AppendExprENSt3__110unique_ptrINS_4ExprENS2_14default_deleteIS4_EEEE:
  469|  6.32M|Result BinaryReaderIR::AppendExpr(std::unique_ptr<Expr> expr) {
  470|  6.32M|  expr->loc = GetLocation();
  471|  6.32M|  LabelNode* label;
  472|  6.32M|  CHECK_RESULT(TopLabel(&label));
  ------------------
  |  |   55|  6.32M|  do {                              \
  |  |   56|  6.32M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 6.32M]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  6.32M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  473|  6.32M|  label->exprs->push_back(std::move(expr));
  474|  6.32M|  return Result::Ok;
  475|  6.32M|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR8TopLabelEPPNS0_9LabelNodeE:
  453|  6.46M|Result BinaryReaderIR::TopLabel(LabelNode** label) {
  454|  6.46M|  return GetLabelAt(label, 0);
  455|  6.46M|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10GetLabelAtEPPNS0_9LabelNodeEj:
  442|  6.60M|Result BinaryReaderIR::GetLabelAt(LabelNode** label, Index depth) {
  443|  6.60M|  if (depth >= label_stack_.size()) {
  ------------------
  |  Branch (443:7): [True: 0, False: 6.60M]
  ------------------
  444|      0|    PrintError("accessing stack depth: %" PRIindex " >= max: %" PRIzd, depth,
  ------------------
  |  |  265|      0|#define PRIzd "zd"
  ------------------
  445|      0|               label_stack_.size());
  446|      0|    return Result::Error;
  447|      0|  }
  448|       |
  449|  6.60M|  *label = &label_stack_[label_stack_.size() - depth - 1];
  450|  6.60M|  return Result::Ok;
  451|  6.60M|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16OnAtomicLoadExprENS_6OpcodeEjmm:
  831|  3.62k|                                        Address offset) {
  832|  3.62k|  return AppendExpr(std::make_unique<AtomicLoadExpr>(
  833|  3.62k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset));
  834|  3.62k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR17OnAtomicStoreExprENS_6OpcodeEjmm:
  839|  3.44k|                                         Address offset) {
  840|  3.44k|  return AppendExpr(std::make_unique<AtomicStoreExpr>(
  841|  3.44k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset));
  842|  3.44k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnAtomicRmwExprENS_6OpcodeEjmm:
  847|  22.7k|                                       Address offset) {
  848|  22.7k|  return AppendExpr(std::make_unique<AtomicRmwExpr>(
  849|  22.7k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset));
  850|  22.7k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR22OnAtomicRmwCmpxchgExprENS_6OpcodeEjmm:
  855|  5.20k|                                              Address offset) {
  856|  5.20k|  return AppendExpr(std::make_unique<AtomicRmwCmpxchgExpr>(
  857|  5.20k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset));
  858|  5.20k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16OnAtomicWaitExprENS_6OpcodeEjmm:
  863|  3.56k|                                        Address offset) {
  864|  3.56k|  return AppendExpr(std::make_unique<AtomicWaitExpr>(
  865|  3.56k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset));
  866|  3.56k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR17OnAtomicFenceExprEj:
  868|  1.35k|Result BinaryReaderIR::OnAtomicFenceExpr(uint32_t consistency_model) {
  869|  1.35k|  return AppendExpr(std::make_unique<AtomicFenceExpr>(consistency_model));
  870|  1.35k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR18OnAtomicNotifyExprENS_6OpcodeEjmm:
  875|  3.12k|                                          Address offset) {
  876|  3.12k|  return AppendExpr(std::make_unique<AtomicNotifyExpr>(
  877|  3.12k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset));
  878|  3.12k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR12OnBinaryExprENS_6OpcodeE:
  880|   561k|Result BinaryReaderIR::OnBinaryExpr(Opcode opcode) {
  881|   561k|  return AppendExpr(std::make_unique<BinaryExpr>(opcode));
  882|   561k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11OnBlockExprENS_4TypeE:
  884|  52.3k|Result BinaryReaderIR::OnBlockExpr(Type sig_type) {
  885|  52.3k|  auto expr = std::make_unique<BlockExpr>();
  886|  52.3k|  SetBlockDeclaration(&expr->block.decl, sig_type);
  887|  52.3k|  ExprList* expr_list = &expr->block.exprs;
  888|  52.3k|  CHECK_RESULT(AppendExpr(std::move(expr)));
  ------------------
  |  |   55|  52.3k|  do {                              \
  |  |   56|  52.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 52.3k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  52.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  889|  52.3k|  return PushLabel(LabelType::Block, expr_list);
  890|  52.3k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR19SetBlockDeclarationEPNS_15FuncDeclarationENS_4TypeE:
  486|   993k|                                         Type sig_type) {
  487|   993k|  if (sig_type.IsIndex()) {
  ------------------
  |  Branch (487:7): [True: 957k, False: 35.8k]
  ------------------
  488|   957k|    Index type_index = sig_type.GetIndex();
  489|   957k|    SetFuncDeclaration(decl, Var(type_index, GetLocation()));
  490|   957k|  } else {
  491|  35.8k|    decl->has_func_type = false;
  492|  35.8k|    decl->sig.param_types.clear();
  493|  35.8k|    decl->sig.result_types = sig_type.GetInlineVector();
  494|  35.8k|  }
  495|   993k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR8OnBrExprEj:
  892|  11.6k|Result BinaryReaderIR::OnBrExpr(Index depth) {
  893|  11.6k|  return AppendExpr(std::make_unique<BrExpr>(Var(depth, GetLocation())));
  894|  11.6k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnBrIfExprEj:
  896|  6.73k|Result BinaryReaderIR::OnBrIfExpr(Index depth) {
  897|  6.73k|  return AppendExpr(std::make_unique<BrIfExpr>(Var(depth, GetLocation())));
  898|  6.73k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnBrTableExprEjPjj:
  902|   101k|                                     Index default_target_depth) {
  903|   101k|  auto expr = std::make_unique<BrTableExpr>();
  904|   101k|  expr->default_target = Var(default_target_depth, GetLocation());
  905|   101k|  expr->targets.resize(num_targets);
  906|   855k|  for (Index i = 0; i < num_targets; ++i) {
  ------------------
  |  Branch (906:21): [True: 753k, False: 101k]
  ------------------
  907|   753k|    expr->targets[i] = Var(target_depths[i], GetLocation());
  908|   753k|  }
  909|   101k|  return AppendExpr(std::move(expr));
  910|   101k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnCallExprEj:
  912|  11.1k|Result BinaryReaderIR::OnCallExpr(Index func_index) {
  913|  11.1k|  return AppendExpr(std::make_unique<CallExpr>(Var(func_index, GetLocation())));
  914|  11.1k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR18OnCallIndirectExprEjj:
  916|  8.24k|Result BinaryReaderIR::OnCallIndirectExpr(Index sig_index, Index table_index) {
  917|  8.24k|  auto expr = std::make_unique<CallIndirectExpr>();
  918|  8.24k|  SetFuncDeclaration(&expr->decl, Var(sig_index, GetLocation()));
  919|  8.24k|  expr->table = Var(table_index, GetLocation());
  920|  8.24k|  return AppendExpr(std::move(expr));
  921|  8.24k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnCallRefExprEv:
  923|  12.5k|Result BinaryReaderIR::OnCallRefExpr() {
  924|  12.5k|  return AppendExpr(std::make_unique<CallRefExpr>());
  925|  12.5k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11OnCatchExprEj:
 1254|  6.39k|Result BinaryReaderIR::OnCatchExpr(Index except_index) {
 1255|  6.39k|  return AppendCatch(Catch(Var(except_index, GetLocation())));
 1256|  6.39k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11AppendCatchEONS_5CatchE:
 1225|  7.71k|Result BinaryReaderIR::AppendCatch(Catch&& catch_) {
 1226|  7.71k|  LabelNode* label = nullptr;
 1227|  7.71k|  CHECK_RESULT(TopLabel(&label));
  ------------------
  |  |   55|  7.71k|  do {                              \
  |  |   56|  7.71k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 7.71k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  7.71k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1228|       |
 1229|  7.71k|  if (label->label_type != LabelType::Try) {
  ------------------
  |  Branch (1229:7): [True: 80, False: 7.63k]
  ------------------
 1230|     80|    PrintError("catch not inside try block");
 1231|     80|    return Result::Error;
 1232|     80|  }
 1233|       |
 1234|  7.63k|  auto* try_ = cast<TryExpr>(label->context);
 1235|       |
 1236|  7.63k|  if (catch_.IsCatchAll() && !try_->catches.empty() &&
  ------------------
  |  Branch (1236:7): [True: 1.29k, False: 6.34k]
  |  Branch (1236:30): [True: 361, False: 931]
  ------------------
 1237|  7.63k|      try_->catches.back().IsCatchAll()) {
  ------------------
  |  Branch (1237:7): [True: 7, False: 354]
  ------------------
 1238|      7|    PrintError("only one catch_all allowed in try block");
 1239|      7|    return Result::Error;
 1240|      7|  }
 1241|       |
 1242|  7.63k|  if (try_->kind == TryKind::Plain) {
  ------------------
  |  Branch (1242:7): [True: 2.48k, False: 5.14k]
  ------------------
 1243|  2.48k|    try_->kind = TryKind::Catch;
 1244|  5.14k|  } else if (try_->kind != TryKind::Catch) {
  ------------------
  |  Branch (1244:14): [True: 0, False: 5.14k]
  ------------------
 1245|      0|    PrintError("catch not allowed in try-delegate");
 1246|      0|    return Result::Error;
 1247|      0|  }
 1248|       |
 1249|  7.63k|  try_->catches.push_back(std::move(catch_));
 1250|  7.63k|  label->exprs = &try_->catches.back().exprs;
 1251|  7.63k|  return Result::Ok;
 1252|  7.63k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnCatchAllExprEv:
 1258|  1.32k|Result BinaryReaderIR::OnCatchAllExpr() {
 1259|  1.32k|  return AppendCatch(Catch(GetLocation()));
 1260|  1.32k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnCompareExprENS_6OpcodeE:
  954|   432k|Result BinaryReaderIR::OnCompareExpr(Opcode opcode) {
  955|   432k|  return AppendExpr(std::make_unique<CompareExpr>(opcode));
  956|   432k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnConvertExprENS_6OpcodeE:
  958|   169k|Result BinaryReaderIR::OnConvertExpr(Opcode opcode) {
  959|   169k|  return AppendExpr(std::make_unique<ConvertExpr>(opcode));
  960|   169k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnDelegateExprEj:
 1283|    564|Result BinaryReaderIR::OnDelegateExpr(Index depth) {
 1284|    564|  LabelNode* label = nullptr;
 1285|    564|  CHECK_RESULT(TopLabel(&label));
  ------------------
  |  |   55|    564|  do {                              \
  |  |   56|    564|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 564]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|    564|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1286|       |
 1287|    564|  if (label->label_type != LabelType::Try) {
  ------------------
  |  Branch (1287:7): [True: 0, False: 564]
  ------------------
 1288|      0|    PrintError("delegate not inside try block");
 1289|      0|    return Result::Error;
 1290|      0|  }
 1291|       |
 1292|    564|  auto* try_ = cast<TryExpr>(label->context);
 1293|       |
 1294|    564|  if (try_->kind == TryKind::Plain) {
  ------------------
  |  Branch (1294:7): [True: 557, False: 7]
  ------------------
 1295|    557|    try_->kind = TryKind::Delegate;
 1296|    557|  } else if (try_->kind != TryKind::Delegate) {
  ------------------
  |  Branch (1296:14): [True: 7, False: 0]
  ------------------
 1297|      7|    PrintError("delegate not allowed in try-catch");
 1298|      7|    return Result::Error;
 1299|      7|  }
 1300|       |
 1301|    557|  try_->delegate_target = Var(depth, GetLocation());
 1302|       |
 1303|    557|  PopLabel();
 1304|    557|  return Result::Ok;
 1305|    564|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR8PopLabelEv:
  432|   403k|Result BinaryReaderIR::PopLabel() {
  433|   403k|  if (label_stack_.size() == 0) {
  ------------------
  |  Branch (433:7): [True: 0, False: 403k]
  ------------------
  434|      0|    PrintError("popping empty label stack");
  435|      0|    return Result::Error;
  436|      0|  }
  437|       |
  438|   403k|  label_stack_.pop_back();
  439|   403k|  return Result::Ok;
  440|   403k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnDropExprEv:
  962|  13.3k|Result BinaryReaderIR::OnDropExpr() {
  963|  13.3k|  return AppendExpr(std::make_unique<DropExpr>());
  964|  13.3k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnElseExprEv:
  966|  4.55k|Result BinaryReaderIR::OnElseExpr() {
  967|  4.55k|  LabelNode* label;
  968|  4.55k|  Expr* expr;
  969|  4.55k|  CHECK_RESULT(TopLabelExpr(&label, &expr));
  ------------------
  |  |   55|  4.55k|  do {                              \
  |  |   56|  4.55k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 4.55k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  4.55k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  970|       |
  971|  4.55k|  if (label->label_type == LabelType::If) {
  ------------------
  |  Branch (971:7): [True: 4.53k, False: 18]
  ------------------
  972|  4.53k|    auto* if_expr = cast<IfExpr>(expr);
  973|  4.53k|    if_expr->true_.end_loc = GetLocation();
  974|  4.53k|    label->exprs = &if_expr->false_;
  975|  4.53k|    label->label_type = LabelType::Else;
  976|  4.53k|  } else {
  977|     18|    PrintError("else expression without matching if");
  978|     18|    return Result::Error;
  979|     18|  }
  980|       |
  981|  4.53k|  return Result::Ok;
  982|  4.55k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR12TopLabelExprEPPNS0_9LabelNodeEPPNS_4ExprE:
  457|   133k|Result BinaryReaderIR::TopLabelExpr(LabelNode** label, Expr** expr) {
  458|   133k|  CHECK_RESULT(TopLabel(label));
  ------------------
  |  |   55|   133k|  do {                              \
  |  |   56|   133k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 133k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|   133k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  459|   133k|  LabelNode* parent_label;
  460|   133k|  CHECK_RESULT(GetLabelAt(&parent_label, 1));
  ------------------
  |  |   55|   133k|  do {                              \
  |  |   56|   133k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 133k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|   133k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  461|   133k|  if (parent_label->exprs->empty()) {
  ------------------
  |  Branch (461:7): [True: 19, False: 133k]
  ------------------
  462|     19|    PrintError("TopLabelExpr: parent label has empty expr list");
  463|     19|    return Result::Error;
  464|     19|  }
  465|   133k|  *expr = &parent_label->exprs->back();
  466|   133k|  return Result::Ok;
  467|   133k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR9OnEndExprEv:
  984|   403k|Result BinaryReaderIR::OnEndExpr() {
  985|   403k|  if (label_stack_.size() > 1) {
  ------------------
  |  Branch (985:7): [True: 128k, False: 274k]
  ------------------
  986|   128k|    LabelNode* label;
  987|   128k|    Expr* expr;
  988|   128k|    CHECK_RESULT(TopLabelExpr(&label, &expr));
  ------------------
  |  |   55|   128k|  do {                              \
  |  |   56|   128k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 19, False: 128k]
  |  |  ------------------
  |  |   57|     19|      return ::wabt::Result::Error; \
  |  |   58|     19|    }                               \
  |  |   59|   128k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  989|   128k|    switch (label->label_type) {
  ------------------
  |  Branch (989:13): [True: 0, False: 128k]
  ------------------
  990|  19.7k|      case LabelType::Block:
  ------------------
  |  Branch (990:7): [True: 19.7k, False: 108k]
  ------------------
  991|  19.7k|        cast<BlockExpr>(expr)->block.end_loc = GetLocation();
  992|  19.7k|        break;
  993|  14.9k|      case LabelType::Loop:
  ------------------
  |  Branch (993:7): [True: 14.9k, False: 113k]
  ------------------
  994|  14.9k|        cast<LoopExpr>(expr)->block.end_loc = GetLocation();
  995|  14.9k|        break;
  996|  25.7k|      case LabelType::If:
  ------------------
  |  Branch (996:7): [True: 25.7k, False: 102k]
  ------------------
  997|  25.7k|        cast<IfExpr>(expr)->true_.end_loc = GetLocation();
  998|  25.7k|        break;
  999|  1.30k|      case LabelType::Else:
  ------------------
  |  Branch (999:7): [True: 1.30k, False: 127k]
  ------------------
 1000|  1.30k|        cast<IfExpr>(expr)->false_end_loc = GetLocation();
 1001|  1.30k|        break;
 1002|  65.8k|      case LabelType::Try:
  ------------------
  |  Branch (1002:7): [True: 65.8k, False: 62.8k]
  ------------------
 1003|  65.8k|        cast<TryExpr>(expr)->block.end_loc = GetLocation();
 1004|  65.8k|        break;
 1005|    968|      case LabelType::TryTable:
  ------------------
  |  Branch (1005:7): [True: 968, False: 127k]
  ------------------
 1006|    968|        cast<TryTableExpr>(expr)->block.end_loc = GetLocation();
 1007|    968|        break;
 1008|       |
 1009|     14|      case LabelType::InitExpr:
  ------------------
  |  Branch (1009:7): [True: 14, False: 128k]
  ------------------
 1010|     17|      case LabelType::Func:
  ------------------
  |  Branch (1010:7): [True: 3, False: 128k]
  ------------------
 1011|     17|      case LabelType::Catch:
  ------------------
  |  Branch (1011:7): [True: 0, False: 128k]
  ------------------
 1012|     17|        break;
 1013|   128k|    }
 1014|   128k|  }
 1015|       |
 1016|   403k|  return PopLabel();
 1017|   403k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnF32ConstExprEj:
 1019|  9.49k|Result BinaryReaderIR::OnF32ConstExpr(uint32_t value_bits) {
 1020|  9.49k|  return AppendExpr(
 1021|  9.49k|      std::make_unique<ConstExpr>(Const::F32(value_bits, GetLocation())));
 1022|  9.49k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnF64ConstExprEm:
 1024|  2.80k|Result BinaryReaderIR::OnF64ConstExpr(uint64_t value_bits) {
 1025|  2.80k|  return AppendExpr(
 1026|  2.80k|      std::make_unique<ConstExpr>(Const::F64(value_bits, GetLocation())));
 1027|  2.80k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnV128ConstExprE4v128:
 1029|    757|Result BinaryReaderIR::OnV128ConstExpr(v128 value_bits) {
 1030|    757|  return AppendExpr(
 1031|    757|      std::make_unique<ConstExpr>(Const::V128(value_bits, GetLocation())));
 1032|    757|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnGlobalGetExprEj:
 1034|  5.61k|Result BinaryReaderIR::OnGlobalGetExpr(Index global_index) {
 1035|  5.61k|  return AppendExpr(
 1036|  5.61k|      std::make_unique<GlobalGetExpr>(Var(global_index, GetLocation())));
 1037|  5.61k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnGlobalSetExprEj:
 1181|  7.37k|Result BinaryReaderIR::OnGlobalSetExpr(Index global_index) {
 1182|  7.37k|  return AppendExpr(
 1183|  7.37k|      std::make_unique<GlobalSetExpr>(Var(global_index, GetLocation())));
 1184|  7.37k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnI32ConstExprEj:
 1044|  12.9k|Result BinaryReaderIR::OnI32ConstExpr(uint32_t value) {
 1045|  12.9k|  return AppendExpr(
 1046|  12.9k|      std::make_unique<ConstExpr>(Const::I32(value, GetLocation())));
 1047|  12.9k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnI64ConstExprEm:
 1049|  14.2k|Result BinaryReaderIR::OnI64ConstExpr(uint64_t value) {
 1050|  14.2k|  return AppendExpr(
 1051|  14.2k|      std::make_unique<ConstExpr>(Const::I64(value, GetLocation())));
 1052|  14.2k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR8OnIfExprENS_4TypeE:
 1054|   232k|Result BinaryReaderIR::OnIfExpr(Type sig_type) {
 1055|   232k|  auto expr = std::make_unique<IfExpr>();
 1056|   232k|  SetBlockDeclaration(&expr->true_.decl, sig_type);
 1057|   232k|  ExprList* expr_list = &expr->true_.exprs;
 1058|   232k|  CHECK_RESULT(AppendExpr(std::move(expr)));
  ------------------
  |  |   55|   232k|  do {                              \
  |  |   56|   232k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 232k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|   232k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1059|   232k|  return PushLabel(LabelType::If, expr_list);
 1060|   232k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnLoadExprENS_6OpcodeEjmm:
 1065|  72.7k|                                  Address offset) {
 1066|  72.7k|  return AppendExpr(std::make_unique<LoadExpr>(
 1067|  72.7k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset));
 1068|  72.7k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnLocalGetExprEj:
 1039|  11.9k|Result BinaryReaderIR::OnLocalGetExpr(Index local_index) {
 1040|  11.9k|  return AppendExpr(
 1041|  11.9k|      std::make_unique<LocalGetExpr>(Var(local_index, GetLocation())));
 1042|  11.9k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnLocalSetExprEj:
 1186|  40.5k|Result BinaryReaderIR::OnLocalSetExpr(Index local_index) {
 1187|  40.5k|  return AppendExpr(
 1188|  40.5k|      std::make_unique<LocalSetExpr>(Var(local_index, GetLocation())));
 1189|  40.5k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnLocalTeeExprEj:
 1209|  4.93k|Result BinaryReaderIR::OnLocalTeeExpr(Index local_index) {
 1210|  4.93k|  return AppendExpr(
 1211|  4.93k|      std::make_unique<LocalTeeExpr>(Var(local_index, GetLocation())));
 1212|  4.93k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnLoopExprENS_4TypeE:
 1070|  93.5k|Result BinaryReaderIR::OnLoopExpr(Type sig_type) {
 1071|  93.5k|  auto expr = std::make_unique<LoopExpr>();
 1072|  93.5k|  SetBlockDeclaration(&expr->block.decl, sig_type);
 1073|  93.5k|  ExprList* expr_list = &expr->block.exprs;
 1074|  93.5k|  CHECK_RESULT(AppendExpr(std::move(expr)));
  ------------------
  |  |   55|  93.5k|  do {                              \
  |  |   56|  93.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 93.5k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  93.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1075|  93.5k|  return PushLabel(LabelType::Loop, expr_list);
 1076|  93.5k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16OnMemoryCopyExprEjj:
 1078|  1.03k|Result BinaryReaderIR::OnMemoryCopyExpr(Index destmemidx, Index srcmemidx) {
 1079|  1.03k|  return AppendExpr(std::make_unique<MemoryCopyExpr>(
 1080|  1.03k|      Var(destmemidx, GetLocation()), Var(srcmemidx, GetLocation())));
 1081|  1.03k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnDataDropExprEj:
 1083|     50|Result BinaryReaderIR::OnDataDropExpr(Index segment) {
 1084|     50|  return AppendExpr(
 1085|     50|      std::make_unique<DataDropExpr>(Var(segment, GetLocation())));
 1086|     50|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16OnMemoryFillExprEj:
 1088|  2.99k|Result BinaryReaderIR::OnMemoryFillExpr(Index memidx) {
 1089|  2.99k|  return AppendExpr(
 1090|  2.99k|      std::make_unique<MemoryFillExpr>(Var(memidx, GetLocation())));
 1091|  2.99k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16OnMemoryGrowExprEj:
 1093|  6.80k|Result BinaryReaderIR::OnMemoryGrowExpr(Index memidx) {
 1094|  6.80k|  return AppendExpr(
 1095|  6.80k|      std::make_unique<MemoryGrowExpr>(Var(memidx, GetLocation())));
 1096|  6.80k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16OnMemoryInitExprEjj:
 1098|     41|Result BinaryReaderIR::OnMemoryInitExpr(Index segment, Index memidx) {
 1099|     41|  return AppendExpr(std::make_unique<MemoryInitExpr>(
 1100|     41|      Var(segment, GetLocation()), Var(memidx, GetLocation())));
 1101|     41|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16OnMemorySizeExprEj:
 1103|  5.15k|Result BinaryReaderIR::OnMemorySizeExpr(Index memidx) {
 1104|  5.15k|  return AppendExpr(
 1105|  5.15k|      std::make_unique<MemorySizeExpr>(Var(memidx, GetLocation())));
 1106|  5.15k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnTableCopyExprEjj:
 1108|    905|Result BinaryReaderIR::OnTableCopyExpr(Index dst_index, Index src_index) {
 1109|    905|  return AppendExpr(std::make_unique<TableCopyExpr>(
 1110|    905|      Var(dst_index, GetLocation()), Var(src_index, GetLocation())));
 1111|    905|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnElemDropExprEj:
 1113|    509|Result BinaryReaderIR::OnElemDropExpr(Index segment) {
 1114|    509|  return AppendExpr(
 1115|    509|      std::make_unique<ElemDropExpr>(Var(segment, GetLocation())));
 1116|    509|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnTableInitExprEjj:
 1118|    983|Result BinaryReaderIR::OnTableInitExpr(Index segment, Index table_index) {
 1119|    983|  return AppendExpr(std::make_unique<TableInitExpr>(
 1120|    983|      Var(segment, GetLocation()), Var(table_index, GetLocation())));
 1121|    983|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnTableGetExprEj:
 1123|  7.49k|Result BinaryReaderIR::OnTableGetExpr(Index table_index) {
 1124|  7.49k|  return AppendExpr(
 1125|  7.49k|      std::make_unique<TableGetExpr>(Var(table_index, GetLocation())));
 1126|  7.49k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnTableSetExprEj:
 1128|  4.90k|Result BinaryReaderIR::OnTableSetExpr(Index table_index) {
 1129|  4.90k|  return AppendExpr(
 1130|  4.90k|      std::make_unique<TableSetExpr>(Var(table_index, GetLocation())));
 1131|  4.90k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnTableGrowExprEj:
 1133|  1.90k|Result BinaryReaderIR::OnTableGrowExpr(Index table_index) {
 1134|  1.90k|  return AppendExpr(
 1135|  1.90k|      std::make_unique<TableGrowExpr>(Var(table_index, GetLocation())));
 1136|  1.90k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnTableSizeExprEj:
 1138|    489|Result BinaryReaderIR::OnTableSizeExpr(Index table_index) {
 1139|    489|  return AppendExpr(
 1140|    489|      std::make_unique<TableSizeExpr>(Var(table_index, GetLocation())));
 1141|    489|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnTableFillExprEj:
 1143|  1.54k|Result BinaryReaderIR::OnTableFillExpr(Index table_index) {
 1144|  1.54k|  return AppendExpr(
 1145|  1.54k|      std::make_unique<TableFillExpr>(Var(table_index, GetLocation())));
 1146|  1.54k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnRefFuncExprEj:
 1148|   263k|Result BinaryReaderIR::OnRefFuncExpr(Index func_index) {
 1149|   263k|  module_->used_func_refs.insert(func_index);
 1150|   263k|  return AppendExpr(
 1151|   263k|      std::make_unique<RefFuncExpr>(Var(func_index, GetLocation())));
 1152|   263k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnRefNullExprENS_4TypeE:
 1154|  1.38k|Result BinaryReaderIR::OnRefNullExpr(Type type) {
 1155|  1.38k|  module_->features_used.exceptions |= (type == Type::ExnRef);
 1156|  1.38k|  return AppendExpr(std::make_unique<RefNullExpr>(type));
 1157|  1.38k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnRefIsNullExprEv:
 1159|  4.93k|Result BinaryReaderIR::OnRefIsNullExpr() {
 1160|  4.93k|  return AppendExpr(std::make_unique<RefIsNullExpr>());
 1161|  4.93k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR9OnNopExprEv:
 1163|   199k|Result BinaryReaderIR::OnNopExpr() {
 1164|   199k|  return AppendExpr(std::make_unique<NopExpr>());
 1165|   199k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnRethrowExprEj:
 1167|  11.5k|Result BinaryReaderIR::OnRethrowExpr(Index depth) {
 1168|  11.5k|  return AppendExpr(std::make_unique<RethrowExpr>(Var(depth, GetLocation())));
 1169|  11.5k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR12OnReturnExprEv:
 1171|  17.3k|Result BinaryReaderIR::OnReturnExpr() {
 1172|  17.3k|  return AppendExpr(std::make_unique<ReturnExpr>());
 1173|  17.3k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16OnReturnCallExprEj:
  927|  3.16k|Result BinaryReaderIR::OnReturnCallExpr(Index func_index) {
  928|  3.16k|  if (current_func_) {
  ------------------
  |  Branch (928:7): [True: 580, False: 2.58k]
  ------------------
  929|       |    // syntactically, a return_call expr can occur in an init expression
  930|       |    // (outside a function)
  931|    580|    current_func_->features_used.tailcall = true;
  932|    580|  }
  933|  3.16k|  return AppendExpr(
  934|  3.16k|      std::make_unique<ReturnCallExpr>(Var(func_index, GetLocation())));
  935|  3.16k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR24OnReturnCallIndirectExprEjj:
  938|  5.41k|                                                Index table_index) {
  939|  5.41k|  if (current_func_) {
  ------------------
  |  Branch (939:7): [True: 216, False: 5.20k]
  ------------------
  940|       |    // syntactically, a return_call_indirect expr can occur in an init
  941|       |    // expression (outside a function)
  942|    216|    current_func_->features_used.tailcall = true;
  943|    216|  }
  944|  5.41k|  auto expr = std::make_unique<ReturnCallIndirectExpr>();
  945|  5.41k|  SetFuncDeclaration(&expr->decl, Var(sig_index, GetLocation()));
  946|  5.41k|  expr->table = Var(table_index, GetLocation());
  947|  5.41k|  FuncType* type = module_->GetFuncType(Var(sig_index, GetLocation()));
  948|  5.41k|  if (type) {
  ------------------
  |  Branch (948:7): [True: 493, False: 4.92k]
  ------------------
  949|    493|    type->features_used.tailcall = true;
  950|    493|  }
  951|  5.41k|  return AppendExpr(std::move(expr));
  952|  5.41k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR12OnSelectExprEjPNS_4TypeE:
 1175|  19.9k|Result BinaryReaderIR::OnSelectExpr(Index result_count, Type* result_types) {
 1176|  19.9k|  TypeVector results;
 1177|  19.9k|  results.assign(result_types, result_types + result_count);
 1178|  19.9k|  return AppendExpr(std::make_unique<SelectExpr>(results));
 1179|  19.9k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11OnStoreExprENS_6OpcodeEjmm:
 1194|  39.3k|                                   Address offset) {
 1195|  39.3k|  return AppendExpr(std::make_unique<StoreExpr>(
 1196|  39.3k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset));
 1197|  39.3k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11OnThrowExprEj:
 1199|  5.09k|Result BinaryReaderIR::OnThrowExpr(Index tag_index) {
 1200|  5.09k|  module_->features_used.exceptions = true;
 1201|  5.09k|  return AppendExpr(std::make_unique<ThrowExpr>(Var(tag_index, GetLocation())));
 1202|  5.09k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnThrowRefExprEv:
 1204|  6.44k|Result BinaryReaderIR::OnThrowRefExpr() {
 1205|  6.44k|  module_->features_used.exceptions = true;
 1206|  6.44k|  return AppendExpr(std::make_unique<ThrowRefExpr>());
 1207|  6.44k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR9OnTryExprENS_4TypeE:
 1214|   611k|Result BinaryReaderIR::OnTryExpr(Type sig_type) {
 1215|   611k|  auto expr_ptr = std::make_unique<TryExpr>();
 1216|       |  // Save expr so it can be used below, after expr_ptr has been moved.
 1217|   611k|  TryExpr* expr = expr_ptr.get();
 1218|   611k|  ExprList* expr_list = &expr->block.exprs;
 1219|   611k|  SetBlockDeclaration(&expr->block.decl, sig_type);
 1220|   611k|  CHECK_RESULT(AppendExpr(std::move(expr_ptr)));
  ------------------
  |  |   55|   611k|  do {                              \
  |  |   56|   611k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 611k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|   611k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1221|   611k|  module_->features_used.exceptions = true;
 1222|   611k|  return PushLabel(LabelType::Try, expr_list, expr);
 1223|   611k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnTryTableExprENS_4TypeERKNSt3__16vectorINS_11CatchClauseENS3_9allocatorIS5_EEEE:
 1263|  3.80k|                                      const CatchClauseVector& catches) {
 1264|  3.80k|  auto expr_ptr = std::make_unique<TryTableExpr>();
 1265|  3.80k|  TryTableExpr* expr = expr_ptr.get();
 1266|  3.80k|  expr->catches.reserve(catches.size());
 1267|  3.80k|  SetBlockDeclaration(&expr->block.decl, sig_type);
 1268|  3.80k|  ExprList* expr_list = &expr->block.exprs;
 1269|       |
 1270|  3.80k|  for (auto& raw_catch : catches) {
  ------------------
  |  Branch (1270:24): [True: 3.55k, False: 3.80k]
  ------------------
 1271|  3.55k|    TableCatch catch_;
 1272|  3.55k|    catch_.kind = raw_catch.kind;
 1273|  3.55k|    catch_.tag = Var(raw_catch.tag, GetLocation());
 1274|  3.55k|    catch_.target = Var(raw_catch.depth, GetLocation());
 1275|  3.55k|    expr->catches.push_back(std::move(catch_));
 1276|  3.55k|  }
 1277|       |
 1278|  3.80k|  CHECK_RESULT(AppendExpr(std::move(expr_ptr)));
  ------------------
  |  |   55|  3.80k|  do {                              \
  |  |   56|  3.80k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 3.80k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  3.80k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1279|  3.80k|  module_->features_used.exceptions = true;
 1280|  3.80k|  return PushLabel(LabelType::TryTable, expr_list, expr);
 1281|  3.80k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11OnUnaryExprENS_6OpcodeE:
 1307|   286k|Result BinaryReaderIR::OnUnaryExpr(Opcode opcode) {
 1308|   286k|  return AppendExpr(std::make_unique<UnaryExpr>(opcode));
 1309|   286k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnTernaryExprENS_6OpcodeE:
 1311|  8.68k|Result BinaryReaderIR::OnTernaryExpr(Opcode opcode) {
 1312|  8.68k|  return AppendExpr(std::make_unique<TernaryExpr>(opcode));
 1313|  8.68k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR17OnUnreachableExprEv:
 1315|  2.82M|Result BinaryReaderIR::OnUnreachableExpr() {
 1316|  2.82M|  return AppendExpr(std::make_unique<UnreachableExpr>());
 1317|  2.82M|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15EndFunctionBodyEj:
 1319|    312|Result BinaryReaderIR::EndFunctionBody(Index index) {
 1320|    312|  current_func_ = nullptr;
 1321|    312|  if (!label_stack_.empty()) {
  ------------------
  |  Branch (1321:7): [True: 2, False: 310]
  ------------------
 1322|      2|    PrintError("function %" PRIindex " missing end marker", index);
 1323|      2|    return Result::Error;
 1324|      2|  }
 1325|    310|  return Result::Ok;
 1326|    312|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16OnSimdLaneOpExprENS_6OpcodeEm:
 1328|  19.0k|Result BinaryReaderIR::OnSimdLaneOpExpr(Opcode opcode, uint64_t value) {
 1329|  19.0k|  return AppendExpr(std::make_unique<SimdLaneOpExpr>(opcode, value));
 1330|  19.0k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR19OnSimdShuffleOpExprENS_6OpcodeE4v128:
 1352|  17.8k|Result BinaryReaderIR::OnSimdShuffleOpExpr(Opcode opcode, v128 value) {
 1353|  17.8k|  return AppendExpr(std::make_unique<SimdShuffleOpExpr>(opcode, value));
 1354|  17.8k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR18OnSimdLoadLaneExprENS_6OpcodeEjmmm:
 1336|  3.28k|                                          uint64_t value) {
 1337|  3.28k|  return AppendExpr(std::make_unique<SimdLoadLaneExpr>(
 1338|  3.28k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset,
 1339|  3.28k|      value));
 1340|  3.28k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR19OnSimdStoreLaneExprENS_6OpcodeEjmmm:
 1346|  4.93k|                                           uint64_t value) {
 1347|  4.93k|  return AppendExpr(std::make_unique<SimdStoreLaneExpr>(
 1348|  4.93k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset,
 1349|  4.93k|      value));
 1350|  4.93k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnLoadSplatExprENS_6OpcodeEjmm:
 1359|  3.72k|                                       Address offset) {
 1360|  3.72k|  return AppendExpr(std::make_unique<LoadSplatExpr>(
 1361|  3.72k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset));
 1362|  3.72k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnLoadZeroExprENS_6OpcodeEjmm:
 1367|  1.14k|                                      Address offset) {
 1368|  1.14k|  return AppendExpr(std::make_unique<LoadZeroExpr>(
 1369|  1.14k|      opcode, Var(memidx, GetLocation()), 1ull << alignment_log2, offset));
 1370|  1.14k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR18OnElemSegmentCountEj:
 1372|  3.75k|Result BinaryReaderIR::OnElemSegmentCount(Index count) {
 1373|  3.75k|  WABT_TRY
 1374|  3.75k|  module_->elem_segments.reserve(count);
 1375|  3.75k|  WABT_CATCH_BAD_ALLOC
 1376|  3.75k|  return Result::Ok;
 1377|  3.75k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16BeginElemSegmentEjjh:
 1381|  26.8k|                                        uint8_t flags) {
 1382|  26.8k|  auto field = std::make_unique<ElemSegmentModuleField>(GetLocation());
 1383|  26.8k|  ElemSegment& elem_segment = field->elem_segment;
 1384|  26.8k|  elem_segment.table_var = Var(table_index, GetLocation());
 1385|  26.8k|  if ((flags & SegDeclared) == SegDeclared) {
  ------------------
  |  Branch (1385:7): [True: 132, False: 26.6k]
  ------------------
 1386|    132|    elem_segment.kind = SegmentKind::Declared;
 1387|  26.6k|  } else if ((flags & SegPassive) == SegPassive) {
  ------------------
  |  Branch (1387:14): [True: 14.7k, False: 11.9k]
  ------------------
 1388|  14.7k|    elem_segment.kind = SegmentKind::Passive;
 1389|  14.7k|  } else {
 1390|  11.9k|    elem_segment.kind = SegmentKind::Active;
 1391|  11.9k|  }
 1392|  26.8k|  module_->AppendField(std::move(field));
 1393|  26.8k|  return Result::Ok;
 1394|  26.8k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR24BeginElemSegmentInitExprEj:
 1400|  11.9k|Result BinaryReaderIR::BeginElemSegmentInitExpr(Index index) {
 1401|  11.9k|  assert(index == module_->elem_segments.size() - 1);
 1402|  11.9k|  ElemSegment* segment = module_->elem_segments[index];
 1403|  11.9k|  return BeginInitExpr(&segment->offset);
 1404|  11.9k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR22EndElemSegmentInitExprEj:
 1414|  8.85k|Result BinaryReaderIR::EndElemSegmentInitExpr(Index index) {
 1415|  8.85k|  return EndInitExpr();
 1416|  8.85k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR21OnElemSegmentElemTypeEjNS_4TypeE:
 1418|  23.6k|Result BinaryReaderIR::OnElemSegmentElemType(Index index, Type elem_type) {
 1419|  23.6k|  assert(index == module_->elem_segments.size() - 1);
 1420|  23.6k|  ElemSegment* segment = module_->elem_segments[index];
 1421|  23.6k|  segment->elem_type = elem_type;
 1422|  23.6k|  return Result::Ok;
 1423|  23.6k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR26OnElemSegmentElemExprCountEjj:
 1425|  23.5k|Result BinaryReaderIR::OnElemSegmentElemExprCount(Index index, Index count) {
 1426|  23.5k|  assert(index == module_->elem_segments.size() - 1);
 1427|  23.5k|  ElemSegment* segment = module_->elem_segments[index];
 1428|  23.5k|  WABT_TRY
 1429|  23.5k|  segment->elem_exprs.reserve(count);
 1430|  23.5k|  WABT_CATCH_BAD_ALLOC
 1431|  23.5k|  return Result::Ok;
 1432|  23.5k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13BeginElemExprEjj:
 1434|   264k|Result BinaryReaderIR::BeginElemExpr(Index elem_index, Index expr_index) {
 1435|   264k|  assert(elem_index == module_->elem_segments.size() - 1);
 1436|   264k|  ElemSegment* segment = module_->elem_segments[elem_index];
 1437|   264k|  assert(expr_index == segment->elem_exprs.size());
 1438|   264k|  segment->elem_exprs.emplace_back();
 1439|   264k|  return BeginInitExpr(&segment->elem_exprs.back());
 1440|   264k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11EndElemExprEjj:
 1442|   263k|Result BinaryReaderIR::EndElemExpr(Index elem_index, Index expr_index) {
 1443|   263k|  return EndInitExpr();
 1444|   263k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR18OnDataSegmentCountEj:
 1446|  3.39k|Result BinaryReaderIR::OnDataSegmentCount(Index count) {
 1447|  3.39k|  WABT_TRY
 1448|  3.39k|  module_->data_segments.reserve(count);
 1449|  3.39k|  WABT_CATCH_BAD_ALLOC
 1450|  3.39k|  return Result::Ok;
 1451|  3.39k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16BeginDataSegmentEjjh:
 1455|  15.3k|                                        uint8_t flags) {
 1456|  15.3k|  auto field = std::make_unique<DataSegmentModuleField>(GetLocation());
 1457|  15.3k|  DataSegment& data_segment = field->data_segment;
 1458|  15.3k|  data_segment.memory_var = Var(memory_index, GetLocation());
 1459|  15.3k|  if ((flags & SegPassive) == SegPassive) {
  ------------------
  |  Branch (1459:7): [True: 11.3k, False: 4.01k]
  ------------------
 1460|  11.3k|    data_segment.kind = SegmentKind::Passive;
 1461|  11.3k|  } else {
 1462|  4.01k|    data_segment.kind = SegmentKind::Active;
 1463|  4.01k|  }
 1464|  15.3k|  module_->AppendField(std::move(field));
 1465|  15.3k|  return Result::Ok;
 1466|  15.3k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR24BeginDataSegmentInitExprEj:
 1468|  4.01k|Result BinaryReaderIR::BeginDataSegmentInitExpr(Index index) {
 1469|  4.01k|  assert(index == module_->data_segments.size() - 1);
 1470|  4.01k|  DataSegment* segment = module_->data_segments[index];
 1471|  4.01k|  return BeginInitExpr(&segment->offset);
 1472|  4.01k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR22EndDataSegmentInitExprEj:
 1474|    864|Result BinaryReaderIR::EndDataSegmentInitExpr(Index index) {
 1475|    864|  return EndInitExpr();
 1476|    864|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR17OnDataSegmentDataEjPKvm:
 1480|  12.1k|                                         Address size) {
 1481|  12.1k|  assert(index == module_->data_segments.size() - 1);
 1482|  12.1k|  DataSegment* segment = module_->data_segments[index];
 1483|  12.1k|  segment->data.resize(size);
 1484|  12.1k|  if (size > 0) {
  ------------------
  |  Branch (1484:7): [True: 11.1k, False: 941]
  ------------------
 1485|  11.1k|    memcpy(segment->data.data(), data, size);
 1486|  11.1k|  }
 1487|  12.1k|  return Result::Ok;
 1488|  12.1k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114MakeDollarNameENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEE:
 1500|  55.2k|static std::string MakeDollarName(std::string_view name) {
 1501|  55.2k|  return std::string("$") + std::string(name);
 1502|  55.2k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13GetUniqueNameEPNS_11BindingHashERKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEE:
  498|  55.2k|                                          const std::string& orig_name) {
  499|  55.2k|  int counter = 1;
  500|  55.2k|  std::string unique_name = orig_name;
  501|  14.9M|  while (bindings->count(unique_name) != 0) {
  ------------------
  |  Branch (501:10): [True: 14.8M, False: 55.2k]
  ------------------
  502|  14.8M|    unique_name = orig_name + "." + std::to_string(counter++);
  503|  14.8M|  }
  504|  55.2k|  return unique_name;
  505|  55.2k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13SetGlobalNameEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
 1513|  9.06k|Result BinaryReaderIR::SetGlobalName(Index index, std::string_view name) {
 1514|  9.06k|  if (name.empty()) {
  ------------------
  |  Branch (1514:7): [True: 593, False: 8.47k]
  ------------------
 1515|    593|    return Result::Ok;
 1516|    593|  }
 1517|  8.47k|  if (index >= module_->globals.size()) {
  ------------------
  |  Branch (1517:7): [True: 836, False: 7.63k]
  ------------------
 1518|    836|    PrintError("invalid global index: %" PRIindex, index);
  ------------------
  |  |   84|    836|#define PRIindex "u"
  ------------------
 1519|    836|    return Result::Error;
 1520|    836|  }
 1521|  7.63k|  Global* glob = module_->globals[index];
 1522|  7.63k|  std::string dollar_name =
 1523|  7.63k|      GetUniqueName(&module_->global_bindings, MakeDollarName(name));
 1524|  7.63k|  glob->name = dollar_name;
 1525|  7.63k|  module_->global_bindings.emplace(dollar_name, Binding(index));
 1526|  7.63k|  return Result::Ok;
 1527|  8.47k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR12SetTableNameEjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEE:
 1561|  43.3k|Result BinaryReaderIR::SetTableName(Index index, std::string_view name) {
 1562|  43.3k|  if (name.empty()) {
  ------------------
  |  Branch (1562:7): [True: 610, False: 42.7k]
  ------------------
 1563|    610|    return Result::Ok;
 1564|    610|  }
 1565|  42.7k|  if (index >= module_->tables.size()) {
  ------------------
  |  Branch (1565:7): [True: 340, False: 42.3k]
  ------------------
 1566|    340|    PrintError("invalid table index: %" PRIindex, index);
  ------------------
  |  |   84|    340|#define PRIindex "u"
  ------------------
 1567|    340|    return Result::Error;
 1568|    340|  }
 1569|  42.3k|  Table* table = module_->tables[index];
 1570|  42.3k|  std::string dollar_name =
 1571|  42.3k|      GetUniqueName(&module_->table_bindings, MakeDollarName(name));
 1572|  42.3k|  table->name = dollar_name;
 1573|  42.3k|  module_->table_bindings.emplace(dollar_name, Binding(index));
 1574|  42.3k|  return Result::Ok;
 1575|  42.7k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR22OnGenericCustomSectionENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEPKvm:
 1838|   748k|                                              Offset size) {
 1839|   748k|  Custom custom = Custom(GetLocation(), name);
 1840|   748k|  custom.data.resize(size);
 1841|   748k|  if (size > 0) {
  ------------------
  |  Branch (1841:7): [True: 470k, False: 277k]
  ------------------
 1842|   470k|    memcpy(custom.data.data(), data, size);
 1843|   470k|  }
 1844|   748k|  module_->customs.push_back(std::move(custom));
 1845|   748k|  return Result::Ok;
 1846|   748k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR12OnDataSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEjjj:
 1749|  10.3k|                                    uint32_t size) {
 1750|  10.3k|  if (name.empty()) {
  ------------------
  |  Branch (1750:7): [True: 1.39k, False: 8.98k]
  ------------------
 1751|  1.39k|    return Result::Ok;
 1752|  1.39k|  }
 1753|  8.98k|  if (flags & WABT_SYMBOL_FLAG_UNDEFINED) {
  ------------------
  |  |  342|  8.98k|#define WABT_SYMBOL_FLAG_UNDEFINED 0x10
  ------------------
  |  Branch (1753:7): [True: 683, False: 8.29k]
  ------------------
 1754|       |    // Refers to data in another file, `segment` not valid.
 1755|    683|    return Result::Ok;
 1756|    683|  }
 1757|  8.29k|  if (offset) {
  ------------------
  |  Branch (1757:7): [True: 526, False: 7.77k]
  ------------------
 1758|       |    // If it is pointing into the data segment, then it's not really naming
 1759|       |    // the whole segment.
 1760|    526|    return Result::Ok;
 1761|    526|  }
 1762|  7.77k|  if (segment >= module_->data_segments.size()) {
  ------------------
  |  Branch (1762:7): [True: 4.63k, False: 3.13k]
  ------------------
 1763|  4.63k|    PrintError("invalid data segment index: %" PRIindex, segment);
  ------------------
  |  |   84|  4.63k|#define PRIindex "u"
  ------------------
 1764|  4.63k|    return Result::Error;
 1765|  4.63k|  }
 1766|  3.13k|  DataSegment* seg = module_->data_segments[segment];
 1767|  3.13k|  std::string dollar_name =
 1768|  3.13k|      GetUniqueName(&module_->data_segment_bindings, MakeDollarName(name));
 1769|  3.13k|  seg->name = dollar_name;
 1770|  3.13k|  module_->data_segment_bindings.emplace(dollar_name, Binding(segment));
 1771|  3.13k|  return Result::Ok;
 1772|  7.77k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR16OnFunctionSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
 1777|  10.5k|                                        Index func_index) {
 1778|  10.5k|  if (name.empty()) {
  ------------------
  |  Branch (1778:7): [True: 8.73k, False: 1.83k]
  ------------------
 1779|  8.73k|    return Result::Ok;
 1780|  8.73k|  }
 1781|  1.83k|  if (func_index >= module_->funcs.size()) {
  ------------------
  |  Branch (1781:7): [True: 582, False: 1.25k]
  ------------------
 1782|    582|    PrintError("invalid function index: %" PRIindex, func_index);
  ------------------
  |  |   84|    582|#define PRIindex "u"
  ------------------
 1783|    582|    return Result::Error;
 1784|    582|  }
 1785|  1.25k|  Func* func = module_->funcs[func_index];
 1786|  1.25k|  if (!func->name.empty()) {
  ------------------
  |  Branch (1786:7): [True: 1.09k, False: 162]
  ------------------
 1787|       |    // The name section has already named this function.
 1788|  1.09k|    return Result::Ok;
 1789|  1.09k|  }
 1790|    162|  std::string dollar_name =
 1791|    162|      GetUniqueName(&module_->func_bindings, MakeDollarName(name));
 1792|    162|  func->name = dollar_name;
 1793|    162|  module_->func_bindings.emplace(dollar_name, Binding(func_index));
 1794|    162|  return Result::Ok;
 1795|  1.25k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnGlobalSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
 1800|  9.06k|                                      Index global_index) {
 1801|  9.06k|  return SetGlobalName(global_index, name);
 1802|  9.06k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15OnSectionSymbolEjjj:
 1806|    302|                                       Index section_index) {
 1807|    302|  return Result::Ok;
 1808|    302|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR11OnTagSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
 1813|  5.23k|                                   Index tag_index) {
 1814|  5.23k|  if (name.empty()) {
  ------------------
  |  Branch (1814:7): [True: 1.77k, False: 3.45k]
  ------------------
 1815|  1.77k|    return Result::Ok;
 1816|  1.77k|  }
 1817|  3.45k|  if (tag_index >= module_->tags.size()) {
  ------------------
  |  Branch (1817:7): [True: 1.48k, False: 1.97k]
  ------------------
 1818|  1.48k|    PrintError("invalid tag index: %" PRIindex, tag_index);
  ------------------
  |  |   84|  1.48k|#define PRIindex "u"
  ------------------
 1819|  1.48k|    return Result::Error;
 1820|  1.48k|  }
 1821|  1.97k|  Tag* tag = module_->tags[tag_index];
 1822|  1.97k|  std::string dollar_name =
 1823|  1.97k|      GetUniqueName(&module_->tag_bindings, MakeDollarName(name));
 1824|  1.97k|  tag->name = dollar_name;
 1825|  1.97k|  module_->tag_bindings.emplace(dollar_name, Binding(tag_index));
 1826|  1.97k|  return Result::Ok;
 1827|  3.45k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13OnTableSymbolEjjNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEj:
 1832|  43.3k|                                     Index table_index) {
 1833|  43.3k|  return SetTableName(table_index, name);
 1834|  43.3k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR15BeginTagSectionEm:
  327|    153|  Result BeginTagSection(Offset size) override { return Result::Ok; }
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR10OnTagCountEj:
  328|    111|  Result OnTagCount(Index count) override { return Result::Ok; }
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR9OnTagTypeEjj:
 1735|  1.84k|Result BinaryReaderIR::OnTagType(Index index, Index sig_index) {
 1736|  1.84k|  auto field = std::make_unique<TagModuleField>(GetLocation());
 1737|  1.84k|  Tag& tag = field->tag;
 1738|  1.84k|  SetFuncDeclaration(&tag.decl, Var(sig_index, GetLocation()));
 1739|  1.84k|  module_->AppendField(std::move(field));
 1740|  1.84k|  module_->features_used.exceptions = true;
 1741|  1.84k|  return Result::Ok;
 1742|  1.84k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR13EndTagSectionEv:
  330|     20|  Result EndTagSection() override { return Result::Ok; }
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR24BeginCodeMetadataSectionENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEm:
 1696|   264k|                                                Offset size) {
 1697|   264k|  current_metadata_name_ = name;
 1698|   264k|  return Result::Ok;
 1699|   264k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR23OnCodeMetadataFuncCountEj:
 1701|   263k|Result BinaryReaderIR::OnCodeMetadataFuncCount(Index count) {
 1702|   263k|  return Result::Ok;
 1703|   263k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR19OnCodeMetadataCountEjj:
 1705|   696k|Result BinaryReaderIR::OnCodeMetadataCount(Index function_index, Index count) {
 1706|   696k|  code_metadata_queue_.push_func(module_->funcs[function_index]);
 1707|   696k|  return Result::Ok;
 1708|   696k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_121CodeMetadataExprQueue9push_funcEPNS_4FuncE:
   58|   696k|  void push_func(Func* f) { entries.emplace_back(f); }
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_121CodeMetadataExprQueue5EntryC2EPNS_4FuncE:
   52|   696k|    Entry(Func* f) : func(f) {}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_114BinaryReaderIR14OnCodeMetadataEmPKvm:
 1712|  7.02k|                                      Address size) {
 1713|  7.02k|  std::vector<uint8_t> data_(static_cast<const uint8_t*>(data),
 1714|  7.02k|                             static_cast<const uint8_t*>(data) + size);
 1715|  7.02k|  auto meta = std::make_unique<CodeMetadataExpr>(current_metadata_name_,
 1716|  7.02k|                                                 std::move(data_));
 1717|  7.02k|  meta->loc.offset = offset;
 1718|  7.02k|  code_metadata_queue_.push_metadata(std::move(meta));
 1719|  7.02k|  return Result::Ok;
 1720|  7.02k|}
binary-reader-ir.cc:_ZN4wabt12_GLOBAL__N_121CodeMetadataExprQueue13push_metadataENSt3__110unique_ptrINS_16CodeMetadataExprENS2_14default_deleteIS4_EEEE:
   59|  7.02k|  void push_metadata(std::unique_ptr<CodeMetadataExpr> meta) {
   60|  7.02k|    assert(!entries.empty());
   61|  7.02k|    entries.back().func_queue.push_back(std::move(meta));
   62|  7.02k|  }

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

_ZN4wabt10ReadBinaryEPKvmPNS_20BinaryReaderDelegateERKNS_17ReadBinaryOptionsE:
 3137|  14.6k|                  const ReadBinaryOptions& options) {
 3138|  14.6k|  BinaryReader reader(data, size, delegate, options);
 3139|  14.6k|  return reader.ReadModule(
 3140|  14.6k|      BinaryReader::ReadModuleOptions{options.stop_on_first_error});
 3141|  14.6k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReaderC2EPKvmPNS_20BinaryReaderDelegateERKNS_17ReadBinaryOptionsE:
  224|  14.6k|    : read_end_(size),
  225|  14.6k|      state_(static_cast<const uint8_t*>(data), size),
  226|  14.6k|      logging_delegate_(options.log_stream, delegate),
  227|  14.6k|      delegate_(options.log_stream ? &logging_delegate_ : delegate),
  ------------------
  |  Branch (227:17): [True: 0, False: 14.6k]
  ------------------
  228|  14.6k|      options_(options),
  229|  14.6k|      last_known_section_(BinarySection::Invalid) {
  230|  14.6k|  delegate->OnSetState(&state_);
  231|  14.6k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10ReadModuleERKNS1_17ReadModuleOptionsE:
 3093|  14.6k|Result BinaryReader::ReadModule(const ReadModuleOptions& options) {
 3094|  14.6k|  uint32_t magic = 0;
 3095|  14.6k|  CHECK_RESULT(ReadU32(&magic, "magic"));
  ------------------
  |  |   55|  14.6k|  do {                              \
  |  |   56|  14.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 46, False: 14.5k]
  |  |  ------------------
  |  |   57|     46|      return ::wabt::Result::Error; \
  |  |   58|     46|    }                               \
  |  |   59|  14.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3096|  14.5k|  ERROR_UNLESS(magic == WABT_BINARY_MAGIC, "bad magic value");
  ------------------
  |  |   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: 68, False: 14.4k]
  |  |  |  |  ------------------
  |  |  |  |   49|     68|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     68|  do {                       \
  |  |  |  |  |  |   42|     68|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     68|    return Result::Error;    \
  |  |  |  |  |  |   44|     68|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     68|    }                       \
  |  |  |  |   51|  14.5k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3097|       |
 3098|  14.4k|  uint16_t version = 0, layer = 0;
 3099|  14.4k|  CHECK_RESULT(ReadU16(&version, "version"));
  ------------------
  |  |   55|  14.4k|  do {                              \
  |  |   56|  14.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2, False: 14.4k]
  |  |  ------------------
  |  |   57|      2|      return ::wabt::Result::Error; \
  |  |   58|      2|    }                               \
  |  |   59|  14.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3100|  14.4k|  CHECK_RESULT(ReadU16(&layer, "layer"));
  ------------------
  |  |   55|  14.4k|  do {                              \
  |  |   56|  14.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2, False: 14.4k]
  |  |  ------------------
  |  |   57|      2|      return ::wabt::Result::Error; \
  |  |   58|      2|    }                               \
  |  |   59|  14.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3101|       |
 3102|  14.4k|  switch (layer) {
 3103|  14.4k|    case WABT_BINARY_LAYER_MODULE:
  ------------------
  |  |   24|  14.4k|#define WABT_BINARY_LAYER_MODULE 0
  ------------------
  |  Branch (3103:5): [True: 14.4k, False: 4]
  ------------------
 3104|  14.4k|      ERROR_UNLESS(version == WABT_BINARY_VERSION,
  ------------------
  |  |   53|  14.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  14.4k|  do {                      \
  |  |  |  |   48|  14.4k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 17, False: 14.4k]
  |  |  |  |  ------------------
  |  |  |  |   49|     17|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     17|  do {                       \
  |  |  |  |  |  |   42|     17|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     17|    return Result::Error;    \
  |  |  |  |  |  |   44|     17|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     17|    }                       \
  |  |  |  |   51|  14.4k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3105|  14.4k|                   "bad wasm file version: %#x (expected %#x)", version,
 3106|  14.4k|                   WABT_BINARY_VERSION);
 3107|  14.4k|      break;
 3108|  14.4k|    case WABT_BINARY_LAYER_COMPONENT:
  ------------------
  |  |   25|      1|#define WABT_BINARY_LAYER_COMPONENT 1
  ------------------
  |  Branch (3108:5): [True: 1, False: 14.4k]
  ------------------
 3109|      1|      ERROR("wasm components are not yet supported in this tool");
  ------------------
  |  |   41|      1|  do {                       \
  |  |   42|      1|    PrintError(__VA_ARGS__); \
  |  |   43|      1|    return Result::Error;    \
  |  |   44|      1|  } while (0)
  |  |  ------------------
  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3110|      0|      break;
 3111|      3|    default:
  ------------------
  |  Branch (3111:5): [True: 3, False: 14.4k]
  ------------------
 3112|      3|      ERROR("unsupported wasm layer: %#x", layer);
  ------------------
  |  |   41|      3|  do {                       \
  |  |   42|      3|    PrintError(__VA_ARGS__); \
  |  |   43|      3|    return Result::Error;    \
  |  |   44|      3|  } while (0)
  |  |  ------------------
  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3113|      0|      break;
 3114|  14.4k|  }
 3115|       |
 3116|  14.4k|  CALLBACK(BeginModule, version);
  ------------------
  |  |   66|  14.4k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  14.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  14.4k|  do {                      \
  |  |  |  |  |  |   48|  14.4k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 14.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|  14.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  14.4k|               #member " callback failed")
  ------------------
 3117|  14.4k|  CHECK_RESULT(ReadSections(ReadSectionsOptions{options.stop_on_first_error}));
  ------------------
  |  |   55|  14.4k|  do {                              \
  |  |   56|  14.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 12.2k, False: 2.18k]
  |  |  ------------------
  |  |   57|  12.2k|      return ::wabt::Result::Error; \
  |  |   58|  12.2k|    }                               \
  |  |   59|  14.4k|  } 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|  2.18k|  ERROR_UNLESS(num_function_signatures_ == num_function_bodies_,
  ------------------
  |  |   53|  2.18k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  2.18k|  do {                      \
  |  |  |  |   48|  2.18k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 98, False: 2.08k]
  |  |  |  |  ------------------
  |  |  |  |   49|     98|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     98|  do {                       \
  |  |  |  |  |  |   42|     98|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     98|    return Result::Error;    \
  |  |  |  |  |  |   44|     98|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     98|    }                       \
  |  |  |  |   51|  2.18k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3121|  2.08k|               "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|  2.08k|  ERROR_IF(num_data_segments_ == 0 && data_count_ != kInvalidIndex &&
  ------------------
  |  |   47|  2.08k|  do {                      \
  |  |   48|  8.41k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 2.08k, False: 4]
  |  |  |  Branch (48:9): [True: 61, False: 2.02k]
  |  |  |  Branch (48:9): [True: 59, False: 2]
  |  |  ------------------
  |  |   49|     59|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     59|  do {                       \
  |  |  |  |   42|     59|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     59|    return Result::Error;    \
  |  |  |  |   44|     59|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     59|    }                       \
  |  |   51|  2.08k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3125|  2.08k|               data_count_ != 0,
 3126|  2.08k|           "Data section missing but DataCount non-zero");
 3127|  2.03k|  CALLBACK0(EndModule);
  ------------------
  |  |   63|  2.03k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  2.03k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.03k|  do {                      \
  |  |  |  |  |  |   48|  2.03k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.03k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.03k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3128|       |
 3129|  2.03k|  return Result::Ok;
 3130|  2.03k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader7ReadU32EPjPKc:
  313|  14.6k|Result BinaryReader::ReadU32(uint32_t* out_value, const char* desc) {
  314|  14.6k|  return ReadT(out_value, "uint32_t", desc);
  315|  14.6k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader5ReadTIjEENS_6ResultEPT_PKcS7_:
  288|  24.1k|                           const char* desc) {
  289|  24.1k|  if (state_.offset + sizeof(T) > read_end_) {
  ------------------
  |  Branch (289:7): [True: 73, False: 24.0k]
  ------------------
  290|     73|    PrintError("unable to read %s: %s", type_name, desc);
  291|     73|    return Result::Error;
  292|     73|  }
  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|  24.0k|  memcpy(out_value, state_.data + state_.offset, sizeof(T));
  300|  24.0k|#endif
  301|  24.0k|  state_.offset += sizeof(T);
  302|  24.0k|  return Result::Ok;
  303|  24.1k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10PrintErrorEPKcz:
  234|  3.59M|                                                       ...) {
  235|  3.59M|  ErrorLevel error_level =
  236|  3.59M|      reading_custom_section_ && !options_.fail_on_custom_section_error
  ------------------
  |  Branch (236:7): [True: 303k, False: 3.29M]
  |  Branch (236:34): [True: 303k, False: 0]
  ------------------
  237|  3.59M|          ? ErrorLevel::Warning
  238|  3.59M|          : ErrorLevel::Error;
  239|       |
  240|  3.59M|  WABT_SNPRINTF_ALLOCA(buffer, length, format);
  ------------------
  |  |   36|  3.59M|  va_list args;                                                            \
  |  |   37|  3.59M|  va_list args_copy;                                                       \
  |  |   38|  3.59M|  va_start(args, format);                                                  \
  |  |   39|  3.59M|  va_copy(args_copy, args);                                                \
  |  |   40|  3.59M|  char fixed_buf[WABT_DEFAULT_SNPRINTF_ALLOCA_BUFSIZE];                    \
  |  |   41|  3.59M|  char* buffer = fixed_buf;                                                \
  |  |   42|  3.59M|  size_t len = wabt_vsnprintf(fixed_buf, sizeof(fixed_buf), format, args); \
  |  |  ------------------
  |  |  |  |  288|  3.59M|#define wabt_vsnprintf vsnprintf
  |  |  ------------------
  |  |   43|  3.59M|  va_end(args);                                                            \
  |  |   44|  3.59M|  if (len + 1 > sizeof(fixed_buf)) {                                       \
  |  |  ------------------
  |  |  |  Branch (44:7): [True: 0, False: 3.59M]
  |  |  ------------------
  |  |   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|  3.59M|  va_end(args_copy)
  ------------------
  241|  3.59M|  Error error(error_level, Location(state_.offset), buffer);
  242|  3.59M|  bool handled = delegate_->OnError(error);
  243|       |
  244|  3.59M|  if (!handled) {
  ------------------
  |  Branch (244:7): [True: 0, False: 3.59M]
  ------------------
  245|       |    // Not great to just print, but we don't want to eat the error either.
  246|      0|    fprintf(stderr, "%07" PRIzx ": %s: %s\n", state_.offset,
  247|      0|            GetErrorLevelName(error_level), buffer);
  248|      0|  }
  249|  3.59M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader7ReadU16EPtPKc:
  309|  28.9k|Result BinaryReader::ReadU16(uint16_t* out_value, const char* desc) {
  310|  28.9k|  return ReadT(out_value, "uint16_t", desc);
  311|  28.9k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader5ReadTItEENS_6ResultEPT_PKcS7_:
  288|  28.9k|                           const char* desc) {
  289|  28.9k|  if (state_.offset + sizeof(T) > read_end_) {
  ------------------
  |  Branch (289:7): [True: 4, False: 28.9k]
  ------------------
  290|      4|    PrintError("unable to read %s: %s", type_name, desc);
  291|      4|    return Result::Error;
  292|      4|  }
  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|  28.9k|  memcpy(out_value, state_.data + state_.offset, sizeof(T));
  300|  28.9k|#endif
  301|  28.9k|  state_.offset += sizeof(T);
  302|  28.9k|  return Result::Ok;
  303|  28.9k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader12ReadSectionsERKNS1_19ReadSectionsOptionsE:
 2944|  14.4k|Result BinaryReader::ReadSections(const ReadSectionsOptions& options) {
 2945|  14.4k|  Result result = Result::Ok;
 2946|  14.4k|  Index section_index = 0;
 2947|  14.4k|  bool seen_section_code[static_cast<int>(BinarySection::Last) + 1] = {false};
 2948|       |
 2949|  3.98M|  for (; state_.offset < state_.size; ++section_index) {
  ------------------
  |  Branch (2949:10): [True: 3.97M, False: 11.8k]
  ------------------
 2950|  3.97M|    uint8_t section_code;
 2951|  3.97M|    Offset section_size;
 2952|  3.97M|    CHECK_RESULT(ReadU8(&section_code, "section code"));
  ------------------
  |  |   55|  3.97M|  do {                              \
  |  |   56|  3.97M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 3.97M]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  3.97M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2953|  3.97M|    CHECK_RESULT(ReadOffset(&section_size, "section size"));
  ------------------
  |  |   55|  3.97M|  do {                              \
  |  |   56|  3.97M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.38k, False: 3.97M]
  |  |  ------------------
  |  |   57|  1.38k|      return ::wabt::Result::Error; \
  |  |   58|  1.38k|    }                               \
  |  |   59|  3.97M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2954|  3.97M|    ReadEndRestoreGuard guard(this);
 2955|  3.97M|    read_end_ = state_.offset + section_size;
 2956|  3.97M|    if (section_code >= kBinarySectionCount) {
  ------------------
  |  Branch (2956:9): [True: 281k, False: 3.69M]
  ------------------
 2957|   281k|      PrintError("invalid section code: %u", section_code);
 2958|   281k|      if (options.stop_on_first_error) {
  ------------------
  |  Branch (2958:11): [True: 0, False: 281k]
  ------------------
 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|   281k|      result = Result::Error;
 2967|   281k|      state_.offset = read_end_;
 2968|   281k|      continue;
 2969|   281k|    }
 2970|       |
 2971|  3.69M|    BinarySection section = static_cast<BinarySection>(section_code);
 2972|  3.69M|    if (section != BinarySection::Custom) {
  ------------------
  |  Branch (2972:9): [True: 14.9k, False: 3.67M]
  ------------------
 2973|  14.9k|      if (seen_section_code[section_code]) {
  ------------------
  |  Branch (2973:11): [True: 141, False: 14.7k]
  ------------------
 2974|    141|        PrintError("multiple %s sections", GetSectionName(section));
 2975|    141|        return Result::Error;
 2976|    141|      }
 2977|  14.7k|      seen_section_code[section_code] = true;
 2978|  14.7k|    }
 2979|       |
 2980|  3.69M|    ERROR_UNLESS(read_end_ <= state_.size,
  ------------------
  |  |   53|  3.69M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  3.69M|  do {                      \
  |  |  |  |   48|  3.69M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 754, False: 3.69M]
  |  |  |  |  ------------------
  |  |  |  |   49|    754|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    754|  do {                       \
  |  |  |  |  |  |   42|    754|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    754|    return Result::Error;    \
  |  |  |  |  |  |   44|    754|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    754|    }                       \
  |  |  |  |   51|  3.69M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2981|  3.69M|                 "invalid section size: extends past end");
 2982|       |
 2983|  3.69M|    ERROR_UNLESS(
  ------------------
  |  |   53|  3.69M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  3.69M|  do {                      \
  |  |  |  |   48|  14.2M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 575k, False: 3.11M]
  |  |  |  |  |  Branch (48:9): [True: 3.11M, False: 2.69k]
  |  |  |  |  |  Branch (48:9): [True: 2.40k, False: 284]
  |  |  |  |  ------------------
  |  |  |  |   49|    284|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    284|  do {                       \
  |  |  |  |  |  |   42|    284|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    284|    return Result::Error;    \
  |  |  |  |  |  |   44|    284|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    284|    }                       \
  |  |  |  |   51|  3.69M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2984|  3.69M|        last_known_section_ == BinarySection::Invalid ||
 2985|  3.69M|            section == BinarySection::Custom ||
 2986|  3.69M|            GetSectionOrder(section) > GetSectionOrder(last_known_section_),
 2987|  3.69M|        "section %s out of order", GetSectionName(section));
 2988|       |
 2989|  3.69M|    ERROR_UNLESS(!did_read_names_section_ || section == BinarySection::Custom,
  ------------------
  |  |   53|  3.69M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  3.69M|  do {                      \
  |  |  |  |   48|  7.38M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 3.69M, False: 0]
  |  |  |  |  |  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|  3.69M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2990|  3.69M|                 "%s section can not occur after Name section",
 2991|  3.69M|                 GetSectionName(section));
 2992|       |
 2993|  3.69M|    CALLBACK(BeginSection, section_index, section, section_size);
  ------------------
  |  |   66|  3.69M|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.69M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.69M|  do {                      \
  |  |  |  |  |  |   48|  3.69M|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.69M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.69M|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.69M|               #member " callback failed")
  ------------------
 2994|       |
 2995|  3.69M|    bool stop_on_first_error = options_.stop_on_first_error;
 2996|  3.69M|    Result section_result = Result::Error;
 2997|  3.69M|    switch (section) {
  ------------------
  |  Branch (2997:13): [True: 0, False: 3.69M]
  ------------------
 2998|  3.67M|      case BinarySection::Custom:
  ------------------
  |  Branch (2998:7): [True: 3.67M, False: 14.2k]
  ------------------
 2999|  3.67M|        section_result = ReadCustomSection(section_index, section_size);
 3000|  3.67M|        if (options_.fail_on_custom_section_error) {
  ------------------
  |  Branch (3000:13): [True: 0, False: 3.67M]
  ------------------
 3001|      0|          result |= section_result;
 3002|  3.67M|        } else {
 3003|  3.67M|          stop_on_first_error = false;
 3004|  3.67M|        }
 3005|  3.67M|        break;
 3006|  1.28k|      case BinarySection::Type:
  ------------------
  |  Branch (3006:7): [True: 1.28k, False: 3.69M]
  ------------------
 3007|  1.28k|        section_result = ReadTypeSection(section_size);
 3008|  1.28k|        result |= section_result;
 3009|  1.28k|        break;
 3010|    615|      case BinarySection::Import:
  ------------------
  |  Branch (3010:7): [True: 615, False: 3.69M]
  ------------------
 3011|    615|        section_result = ReadImportSection(section_size);
 3012|    615|        result |= section_result;
 3013|    615|        break;
 3014|  1.40k|      case BinarySection::Function:
  ------------------
  |  Branch (3014:7): [True: 1.40k, False: 3.69M]
  ------------------
 3015|  1.40k|        section_result = ReadFunctionSection(section_size);
 3016|  1.40k|        result |= section_result;
 3017|  1.40k|        break;
 3018|    473|      case BinarySection::Table:
  ------------------
  |  Branch (3018:7): [True: 473, False: 3.69M]
  ------------------
 3019|    473|        section_result = ReadTableSection(section_size);
 3020|    473|        result |= section_result;
 3021|    473|        break;
 3022|    541|      case BinarySection::Memory:
  ------------------
  |  Branch (3022:7): [True: 541, False: 3.69M]
  ------------------
 3023|    541|        section_result = ReadMemorySection(section_size);
 3024|    541|        result |= section_result;
 3025|    541|        break;
 3026|    842|      case BinarySection::Global:
  ------------------
  |  Branch (3026:7): [True: 842, False: 3.69M]
  ------------------
 3027|    842|        section_result = ReadGlobalSection(section_size);
 3028|    842|        result |= section_result;
 3029|    842|        break;
 3030|    593|      case BinarySection::Export:
  ------------------
  |  Branch (3030:7): [True: 593, False: 3.69M]
  ------------------
 3031|    593|        section_result = ReadExportSection(section_size);
 3032|    593|        result |= section_result;
 3033|    593|        break;
 3034|     86|      case BinarySection::Start:
  ------------------
  |  Branch (3034:7): [True: 86, False: 3.69M]
  ------------------
 3035|     86|        section_result = ReadStartSection(section_size);
 3036|     86|        result |= section_result;
 3037|     86|        break;
 3038|  3.80k|      case BinarySection::Elem:
  ------------------
  |  Branch (3038:7): [True: 3.80k, False: 3.68M]
  ------------------
 3039|  3.80k|        section_result = ReadElemSection(section_size);
 3040|  3.80k|        result |= section_result;
 3041|  3.80k|        break;
 3042|    733|      case BinarySection::Code:
  ------------------
  |  Branch (3042:7): [True: 733, False: 3.69M]
  ------------------
 3043|    733|        section_result = ReadCodeSection(section_size);
 3044|    733|        result |= section_result;
 3045|    733|        break;
 3046|  3.46k|      case BinarySection::Data:
  ------------------
  |  Branch (3046:7): [True: 3.46k, False: 3.68M]
  ------------------
 3047|  3.46k|        section_result = ReadDataSection(section_size);
 3048|  3.46k|        result |= section_result;
 3049|  3.46k|        break;
 3050|    161|      case BinarySection::Tag:
  ------------------
  |  Branch (3050:7): [True: 161, False: 3.69M]
  ------------------
 3051|    161|        ERROR_UNLESS(options_.features.exceptions_enabled(),
  ------------------
  |  |   53|    161|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    161|  do {                      \
  |  |  |  |   48|    161|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 8, False: 153]
  |  |  |  |  ------------------
  |  |  |  |   49|      8|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      8|  do {                       \
  |  |  |  |  |  |   42|      8|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      8|    return Result::Error;    \
  |  |  |  |  |  |   44|      8|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      8|    }                       \
  |  |  |  |   51|    161|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3052|    153|                     "invalid section code: %u",
 3053|    153|                     static_cast<unsigned int>(section));
 3054|    153|        section_result = ReadTagSection(section_size);
 3055|    153|        result |= section_result;
 3056|    153|        break;
 3057|    267|      case BinarySection::DataCount:
  ------------------
  |  Branch (3057:7): [True: 267, False: 3.69M]
  ------------------
 3058|    267|        ERROR_UNLESS(options_.features.bulk_memory_enabled(),
  ------------------
  |  |   53|    267|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    267|  do {                      \
  |  |  |  |   48|    267|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 267]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|    267|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3059|    267|                     "invalid section code: %u",
 3060|    267|                     static_cast<unsigned int>(section));
 3061|    267|        section_result = ReadDataCountSection(section_size);
 3062|    267|        result |= section_result;
 3063|    267|        break;
 3064|      0|      case BinarySection::Invalid:
  ------------------
  |  Branch (3064:7): [True: 0, False: 3.69M]
  ------------------
 3065|      0|        WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
 3066|  3.69M|    }
 3067|       |
 3068|  3.69M|    if (Succeeded(section_result) && state_.offset != read_end_) {
  ------------------
  |  Branch (3068:9): [True: 447k, False: 3.24M]
  |  Branch (3068:38): [True: 67.3k, False: 379k]
  ------------------
 3069|  67.3k|      PrintError("unfinished section (expected end: 0x%" PRIzx ")", read_end_);
 3070|  67.3k|      section_result = Result::Error;
 3071|  67.3k|      result |= section_result;
 3072|  67.3k|    }
 3073|       |
 3074|  3.69M|    if (Failed(section_result)) {
  ------------------
  |  Branch (3074:9): [True: 3.31M, False: 379k]
  ------------------
 3075|  3.31M|      if (stop_on_first_error) {
  ------------------
  |  Branch (3075:11): [True: 0, False: 3.31M]
  ------------------
 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|  3.31M|      state_.offset = read_end_;
 3083|  3.31M|    }
 3084|       |
 3085|  3.69M|    if (section != BinarySection::Custom) {
  ------------------
  |  Branch (3085:9): [True: 14.2k, False: 3.67M]
  ------------------
 3086|  14.2k|      last_known_section_ = section;
 3087|  14.2k|    }
 3088|  3.69M|  }
 3089|       |
 3090|  11.8k|  return result;
 3091|  14.4k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader6ReadU8EPhPKc:
  305|  10.5M|Result BinaryReader::ReadU8(uint8_t* out_value, const char* desc) {
  306|  10.5M|  return ReadT(out_value, "uint8_t", desc);
  307|  10.5M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader5ReadTIhEENS_6ResultEPT_PKcS7_:
  288|  10.5M|                           const char* desc) {
  289|  10.5M|  if (state_.offset + sizeof(T) > read_end_) {
  ------------------
  |  Branch (289:7): [True: 10.2k, False: 10.5M]
  ------------------
  290|  10.2k|    PrintError("unable to read %s: %s", type_name, desc);
  291|  10.2k|    return Result::Error;
  292|  10.2k|  }
  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|  10.5M|  memcpy(out_value, state_.data + state_.offset, sizeof(T));
  300|  10.5M|#endif
  301|  10.5M|  state_.offset += sizeof(T);
  302|  10.5M|  return Result::Ok;
  303|  10.5M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10ReadOffsetEPmPKc:
  438|  4.24M|Result BinaryReader::ReadOffset(Offset* offset, const char* desc) {
  439|  4.24M|  uint32_t value;
  440|  4.24M|  CHECK_RESULT(ReadU32Leb128(&value, desc));
  ------------------
  |  |   55|  4.24M|  do {                              \
  |  |   56|  4.24M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7.53k, False: 4.23M]
  |  |  ------------------
  |  |   57|  7.53k|      return ::wabt::Result::Error; \
  |  |   58|  7.53k|    }                               \
  |  |   59|  4.24M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  441|  4.23M|  *offset = value;
  442|  4.23M|  return Result::Ok;
  443|  4.24M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13ReadU32Leb128EPjPKc:
  329|  13.5M|Result BinaryReader::ReadU32Leb128(uint32_t* out_value, const char* desc) {
  330|  13.5M|  const uint8_t* p = state_.data + state_.offset;
  331|  13.5M|  const uint8_t* end = state_.data + read_end_;
  332|  13.5M|  size_t bytes_read = wabt::ReadU32Leb128(p, end, out_value);
  333|  13.5M|  ERROR_UNLESS(bytes_read > 0, "unable to read u32 leb128: %s", desc);
  ------------------
  |  |   53|  13.5M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  13.5M|  do {                      \
  |  |  |  |   48|  13.5M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 2.95M, False: 10.5M]
  |  |  |  |  ------------------
  |  |  |  |   49|  2.95M|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  2.95M|  do {                       \
  |  |  |  |  |  |   42|  2.95M|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  2.95M|    return Result::Error;    \
  |  |  |  |  |  |   44|  2.95M|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  2.95M|    }                       \
  |  |  |  |   51|  13.5M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  334|  10.5M|  state_.offset += bytes_read;
  335|  10.5M|  return Result::Ok;
  336|  13.5M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardImXadL_ZNS1_9read_end_EEEEC2EPS1_:
   90|  4.20M|        : this_(this_), previous_value_(this_->*member) {}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadCustomSectionEjm:
 2483|  3.67M|                                       Offset section_size) {
 2484|  3.67M|  std::string_view section_name;
 2485|  3.67M|  CHECK_RESULT(ReadStr(&section_name, "section name"));
  ------------------
  |  |   55|  3.67M|  do {                              \
  |  |   56|  3.67M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.93M, False: 748k]
  |  |  ------------------
  |  |   57|  2.93M|      return ::wabt::Result::Error; \
  |  |   58|  2.93M|    }                               \
  |  |   59|  3.67M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2486|   748k|  CALLBACK(BeginCustomSection, section_index, section_size, section_name);
  ------------------
  |  |   66|   748k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   748k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   748k|  do {                      \
  |  |  |  |  |  |   48|   748k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 748k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   748k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   748k|               #member " callback failed")
  ------------------
 2487|   748k|  ValueRestoreGuard<bool, &BinaryReader::reading_custom_section_> guard(this);
 2488|   748k|  reading_custom_section_ = true;
 2489|       |
 2490|   748k|  {
 2491|       |    // Backtrack parser when scope ends
 2492|   748k|    ValueRestoreGuard<BinaryReaderDelegate::State, &BinaryReader::state_> guard(
 2493|   748k|        this);
 2494|   748k|    CHECK_RESULT(ReadGenericCustomSection(section_name, section_size));
  ------------------
  |  |   55|   748k|  do {                              \
  |  |   56|   748k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 748k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|   748k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2495|   748k|  }
 2496|       |
 2497|   748k|  if (options_.read_debug_names && section_name == WABT_BINARY_SECTION_NAME) {
  ------------------
  |  |   38|      0|#define WABT_BINARY_SECTION_NAME "name"
  ------------------
  |  Branch (2497:7): [True: 0, False: 748k]
  |  Branch (2497:36): [True: 0, False: 0]
  ------------------
 2498|      0|    CHECK_RESULT(ReadNameSection(section_size));
  ------------------
  |  |   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]
  |  |  ------------------
  ------------------
 2499|      0|    did_read_names_section_ = true;
 2500|   748k|  } else if (section_name == WABT_BINARY_SECTION_DYLINK0) {
  ------------------
  |  |   43|   748k|#define WABT_BINARY_SECTION_DYLINK0 "dylink.0"
  ------------------
  |  Branch (2500:14): [True: 14.8k, False: 733k]
  ------------------
 2501|  14.8k|    CHECK_RESULT(ReadDylink0Section(section_size));
  ------------------
  |  |   55|  14.8k|  do {                              \
  |  |   56|  14.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 14.4k, False: 457]
  |  |  ------------------
  |  |   57|  14.4k|      return ::wabt::Result::Error; \
  |  |   58|  14.4k|    }                               \
  |  |   59|  14.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2502|   733k|  } else if (section_name == WABT_BINARY_SECTION_DYLINK) {
  ------------------
  |  |   42|   733k|#define WABT_BINARY_SECTION_DYLINK "dylink"
  ------------------
  |  Branch (2502:14): [True: 28.5k, False: 704k]
  ------------------
 2503|  28.5k|    CHECK_RESULT(ReadDylinkSection(section_size));
  ------------------
  |  |   55|  28.5k|  do {                              \
  |  |   56|  28.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3.02k, False: 25.5k]
  |  |  ------------------
  |  |   57|  3.02k|      return ::wabt::Result::Error; \
  |  |   58|  3.02k|    }                               \
  |  |   59|  28.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2504|   704k|  } else if (section_name.rfind(WABT_BINARY_SECTION_RELOC, 0) == 0) {
  ------------------
  |  |   39|   704k|#define WABT_BINARY_SECTION_RELOC "reloc"
  ------------------
  |  Branch (2504:14): [True: 5.12k, False: 699k]
  ------------------
 2505|       |    // Reloc sections always begin with "reloc."
 2506|  5.12k|    CHECK_RESULT(ReadRelocSection(section_size));
  ------------------
  |  |   55|  5.12k|  do {                              \
  |  |   56|  5.12k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 4.52k, False: 604]
  |  |  ------------------
  |  |   57|  4.52k|      return ::wabt::Result::Error; \
  |  |   58|  4.52k|    }                               \
  |  |   59|  5.12k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2507|   699k|  } else if (section_name == WABT_BINARY_SECTION_TARGET_FEATURES) {
  ------------------
  |  |   41|   699k|#define WABT_BINARY_SECTION_TARGET_FEATURES "target_features"
  ------------------
  |  Branch (2507:14): [True: 27.3k, False: 672k]
  ------------------
 2508|  27.3k|    CHECK_RESULT(ReadTargetFeaturesSections(section_size));
  ------------------
  |  |   55|  27.3k|  do {                              \
  |  |   56|  27.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 20.4k, False: 6.89k]
  |  |  ------------------
  |  |   57|  20.4k|      return ::wabt::Result::Error; \
  |  |   58|  20.4k|    }                               \
  |  |   59|  27.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2509|   672k|  } else if (section_name == WABT_BINARY_SECTION_LINKING) {
  ------------------
  |  |   40|   672k|#define WABT_BINARY_SECTION_LINKING "linking"
  ------------------
  |  Branch (2509:14): [True: 37.8k, False: 634k]
  ------------------
 2510|  37.8k|    CHECK_RESULT(ReadLinkingSection(section_size));
  ------------------
  |  |   55|  37.8k|  do {                              \
  |  |   56|  37.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 37.3k, False: 462]
  |  |  ------------------
  |  |   57|  37.3k|      return ::wabt::Result::Error; \
  |  |   58|  37.3k|    }                               \
  |  |   59|  37.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2511|   634k|  } else if (options_.features.code_metadata_enabled() &&
  ------------------
  |  Branch (2511:14): [True: 522k, False: 111k]
  ------------------
 2512|   634k|             section_name.find(WABT_BINARY_SECTION_CODE_METADATA) == 0) {
  ------------------
  |  |   44|   522k|#define WABT_BINARY_SECTION_CODE_METADATA "metadata.code."
  ------------------
  |  Branch (2512:14): [True: 264k, False: 258k]
  ------------------
 2513|   264k|    std::string_view metadata_name = section_name;
 2514|   264k|    metadata_name.remove_prefix(sizeof(WABT_BINARY_SECTION_CODE_METADATA) - 1);
  ------------------
  |  |   44|   264k|#define WABT_BINARY_SECTION_CODE_METADATA "metadata.code."
  ------------------
 2515|   264k|    CHECK_RESULT(ReadCodeMetadataSection(metadata_name, section_size));
  ------------------
  |  |   55|   264k|  do {                              \
  |  |   56|   264k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 223k, False: 40.8k]
  |  |  ------------------
  |  |   57|   223k|      return ::wabt::Result::Error; \
  |  |   58|   223k|    }                               \
  |  |   59|   264k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2516|   370k|  } else {
 2517|       |    // Skip. This is a generic custom section, and is handled above.
 2518|   370k|    state_.offset = read_end_;
 2519|   370k|  }
 2520|   445k|  CALLBACK0(EndCustomSection);
  ------------------
  |  |   63|   445k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   445k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   445k|  do {                      \
  |  |  |  |  |  |   48|   445k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 445k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   445k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2521|   445k|  return Result::Ok;
 2522|   445k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader7ReadStrEPNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEPKc:
  394|  4.14M|Result BinaryReader::ReadStr(std::string_view* out_str, const char* desc) {
  395|  4.14M|  uint32_t str_len = 0;
  396|  4.14M|  CHECK_RESULT(ReadU32Leb128(&str_len, "string length"));
  ------------------
  |  |   55|  4.14M|  do {                              \
  |  |   56|  4.14M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.91M, False: 1.22M]
  |  |  ------------------
  |  |   57|  2.91M|      return ::wabt::Result::Error; \
  |  |   58|  2.91M|    }                               \
  |  |   59|  4.14M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  397|       |
  398|  1.22M|  ERROR_UNLESS(state_.offset + str_len <= read_end_,
  ------------------
  |  |   53|  1.22M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.22M|  do {                      \
  |  |  |  |   48|  1.22M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 20.4k, False: 1.20M]
  |  |  |  |  ------------------
  |  |  |  |   49|  20.4k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  20.4k|  do {                       \
  |  |  |  |  |  |   42|  20.4k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  20.4k|    return Result::Error;    \
  |  |  |  |  |  |   44|  20.4k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  20.4k|    }                       \
  |  |  |  |   51|  1.22M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  399|  1.20M|               "unable to read string: %s", desc);
  400|       |
  401|  1.20M|  *out_str = std::string_view(
  402|  1.20M|      reinterpret_cast<const char*>(state_.data) + state_.offset, str_len);
  403|  1.20M|  state_.offset += str_len;
  404|       |
  405|  1.20M|  ERROR_UNLESS(IsValidUtf8(out_str->data(), out_str->length()),
  ------------------
  |  |   53|  1.20M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.20M|  do {                      \
  |  |  |  |   48|  1.20M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 10.1k, False: 1.19M]
  |  |  |  |  ------------------
  |  |  |  |   49|  10.1k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  10.1k|  do {                       \
  |  |  |  |  |  |   42|  10.1k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  10.1k|    return Result::Error;    \
  |  |  |  |  |  |   44|  10.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  10.1k|    }                       \
  |  |  |  |   51|  1.20M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  406|  1.19M|               "invalid utf-8 encoding: %s", desc);
  407|  1.19M|  return Result::Ok;
  408|  1.20M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardIbXadL_ZNS1_23reading_custom_section_EEEEC2EPS1_:
   90|   748k|        : this_(this_), previous_value_(this_->*member) {}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardINS_20BinaryReaderDelegate5StateEXadL_ZNS1_6state_EEEEC2EPS1_:
   90|   748k|        : this_(this_), previous_value_(this_->*member) {}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader24ReadGenericCustomSectionENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEm:
 2258|   748k|                                              Offset section_size) {
 2259|   748k|  CALLBACK(BeginGenericCustomSection, section_size);
  ------------------
  |  |   66|   748k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   748k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   748k|  do {                      \
  |  |  |  |  |  |   48|   748k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 748k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   748k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   748k|               #member " callback failed")
  ------------------
 2260|   748k|  const void* data;
 2261|   748k|  Offset custom_data_size = read_end_ - state_.offset;
 2262|   748k|  CHECK_RESULT(
  ------------------
  |  |   55|   748k|  do {                              \
  |  |   56|   748k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 748k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|   748k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2263|   748k|      ReadBytesWithSize(&data, custom_data_size, "custom section data"));
 2264|   748k|  CALLBACK(OnGenericCustomSection, name, data, custom_data_size);
  ------------------
  |  |   66|   748k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   748k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   748k|  do {                      \
  |  |  |  |  |  |   48|   748k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 748k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   748k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   748k|               #member " callback failed")
  ------------------
 2265|   748k|  CALLBACK0(EndGenericCustomSection);
  ------------------
  |  |   63|   748k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   748k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   748k|  do {                      \
  |  |  |  |  |  |   48|   748k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 748k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   748k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2266|   748k|  return Result::Ok;
 2267|   748k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadBytesWithSizeEPPKvmPKc:
  422|   767k|                                       const char* desc) {
  423|   767k|  ERROR_UNLESS(state_.offset + size <= read_end_, "unable to read data: %s",
  ------------------
  |  |   53|   767k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   767k|  do {                      \
  |  |  |  |   48|   767k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 268, False: 767k]
  |  |  |  |  ------------------
  |  |  |  |   49|    268|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    268|  do {                       \
  |  |  |  |  |  |   42|    268|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    268|    return Result::Error;    \
  |  |  |  |  |  |   44|    268|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    268|    }                       \
  |  |  |  |   51|   767k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  424|   767k|               desc);
  425|       |
  426|   767k|  *out_data = static_cast<const uint8_t*>(state_.data) + state_.offset;
  427|   767k|  state_.offset += size;
  428|   767k|  return Result::Ok;
  429|   767k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardINS_20BinaryReaderDelegate5StateEXadL_ZNS1_6state_EEEED2Ev:
   91|   748k|    ~ValueRestoreGuard() { this_->*member = previous_value_; }
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader9ReadCountEPjPKc:
  522|  2.03M|Result BinaryReader::ReadCount(Index* count, const char* desc) {
  523|  2.03M|  CHECK_RESULT(ReadIndex(count, desc));
  ------------------
  |  |   55|  2.03M|  do {                              \
  |  |   56|  2.03M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.59k, False: 2.03M]
  |  |  ------------------
  |  |   57|  1.59k|      return ::wabt::Result::Error; \
  |  |   58|  1.59k|    }                               \
  |  |   59|  2.03M|  } 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|  2.03M|  size_t section_remaining = read_end_ - state_.offset;
  530|  2.03M|  if (*count > section_remaining) {
  ------------------
  |  Branch (530:7): [True: 14.2k, False: 2.02M]
  ------------------
  531|  14.2k|    PrintError("invalid %s %" PRIindex ", only %" PRIzd
  532|  14.2k|               " bytes left in section",
  533|  14.2k|               desc, *count, section_remaining);
  534|  14.2k|    return Result::Error;
  535|  14.2k|  }
  536|  2.02M|  return Result::Ok;
  537|  2.03M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader9ReadIndexEPjPKc:
  431|  3.54M|Result BinaryReader::ReadIndex(Index* index, const char* desc) {
  432|  3.54M|  uint32_t value;
  433|  3.54M|  CHECK_RESULT(ReadU32Leb128(&value, desc));
  ------------------
  |  |   55|  3.54M|  do {                              \
  |  |   56|  3.54M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3.73k, False: 3.54M]
  |  |  ------------------
  |  |   57|  3.73k|      return ::wabt::Result::Error; \
  |  |   58|  3.73k|    }                               \
  |  |   59|  3.54M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  434|  3.54M|  *index = value;
  435|  3.54M|  return Result::Ok;
  436|  3.54M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13NumTotalFuncsEv:
  593|   901k|Index BinaryReader::NumTotalFuncs() {
  594|   901k|  return num_func_imports_ + num_function_signatures_;
  595|   901k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader18ReadDylink0SectionEm:
 2139|  14.8k|Result BinaryReader::ReadDylink0Section(Offset section_size) {
 2140|  14.8k|  CALLBACK(BeginDylinkSection, section_size);
  ------------------
  |  |   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")
  ------------------
 2141|       |
 2142|   180k|  while (state_.offset < read_end_) {
  ------------------
  |  Branch (2142:10): [True: 180k, False: 457]
  ------------------
 2143|   180k|    uint32_t dylink_type;
 2144|   180k|    Offset subsection_size;
 2145|   180k|    CHECK_RESULT(ReadU32Leb128(&dylink_type, "type"));
  ------------------
  |  |   55|   180k|  do {                              \
  |  |   56|   180k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 446, False: 180k]
  |  |  ------------------
  |  |   57|    446|      return ::wabt::Result::Error; \
  |  |   58|    446|    }                               \
  |  |   59|   180k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2146|   180k|    CHECK_RESULT(ReadOffset(&subsection_size, "subsection size"));
  ------------------
  |  |   55|   180k|  do {                              \
  |  |   56|   180k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 4.94k, False: 175k]
  |  |  ------------------
  |  |   57|  4.94k|      return ::wabt::Result::Error; \
  |  |   58|  4.94k|    }                               \
  |  |   59|   180k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2147|   175k|    size_t subsection_end = state_.offset + subsection_size;
 2148|   175k|    ERROR_UNLESS(subsection_end <= read_end_,
  ------------------
  |  |   53|   175k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   175k|  do {                      \
  |  |  |  |   48|   175k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 1.32k, False: 173k]
  |  |  |  |  ------------------
  |  |  |  |   49|  1.32k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  1.32k|  do {                       \
  |  |  |  |  |  |   42|  1.32k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  1.32k|    return Result::Error;    \
  |  |  |  |  |  |   44|  1.32k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  1.32k|    }                       \
  |  |  |  |   51|   175k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2149|   173k|                 "invalid sub-section size: extends past end");
 2150|   173k|    ReadEndRestoreGuard guard(this);
 2151|   173k|    read_end_ = subsection_end;
 2152|       |
 2153|   173k|    uint32_t count;
 2154|   173k|    switch (static_cast<DylinkEntryType>(dylink_type)) {
 2155|  1.16k|      case DylinkEntryType::MemInfo: {
  ------------------
  |  Branch (2155:7): [True: 1.16k, False: 172k]
  ------------------
 2156|  1.16k|        uint32_t mem_size;
 2157|  1.16k|        uint32_t mem_align;
 2158|  1.16k|        uint32_t table_size;
 2159|  1.16k|        uint32_t table_align;
 2160|       |
 2161|  1.16k|        CHECK_RESULT(ReadU32Leb128(&mem_size, "mem_size"));
  ------------------
  |  |   55|  1.16k|  do {                              \
  |  |   56|  1.16k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 214, False: 949]
  |  |  ------------------
  |  |   57|    214|      return ::wabt::Result::Error; \
  |  |   58|    214|    }                               \
  |  |   59|  1.16k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2162|    949|        CHECK_RESULT(ReadU32Leb128(&mem_align, "mem_align"));
  ------------------
  |  |   55|    949|  do {                              \
  |  |   56|    949|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 215, False: 734]
  |  |  ------------------
  |  |   57|    215|      return ::wabt::Result::Error; \
  |  |   58|    215|    }                               \
  |  |   59|    949|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2163|    734|        CHECK_RESULT(ReadU32Leb128(&table_size, "table_size"));
  ------------------
  |  |   55|    734|  do {                              \
  |  |   56|    734|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 197, False: 537]
  |  |  ------------------
  |  |   57|    197|      return ::wabt::Result::Error; \
  |  |   58|    197|    }                               \
  |  |   59|    734|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2164|    537|        CHECK_RESULT(ReadU32Leb128(&table_align, "table_align"));
  ------------------
  |  |   55|    537|  do {                              \
  |  |   56|    537|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 198, False: 339]
  |  |  ------------------
  |  |   57|    198|      return ::wabt::Result::Error; \
  |  |   58|    198|    }                               \
  |  |   59|    537|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2165|    339|        CALLBACK(OnDylinkInfo, mem_size, mem_align, table_size, table_align);
  ------------------
  |  |   66|    339|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    339|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    339|  do {                      \
  |  |  |  |  |  |   48|    339|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 339]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    339|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    339|               #member " callback failed")
  ------------------
 2166|    339|        break;
 2167|    339|      }
 2168|  2.55k|      case DylinkEntryType::Needed:
  ------------------
  |  Branch (2168:7): [True: 2.55k, False: 171k]
  ------------------
 2169|  2.55k|        CHECK_RESULT(ReadU32Leb128(&count, "needed_dynlibs"));
  ------------------
  |  |   55|  2.55k|  do {                              \
  |  |   56|  2.55k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 206, False: 2.35k]
  |  |  ------------------
  |  |   57|    206|      return ::wabt::Result::Error; \
  |  |   58|    206|    }                               \
  |  |   59|  2.55k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2170|  2.35k|        CALLBACK(OnDylinkNeededCount, count);
  ------------------
  |  |   66|  2.35k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.35k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.35k|  do {                      \
  |  |  |  |  |  |   48|  2.35k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.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|  2.35k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.35k|               #member " callback failed")
  ------------------
 2171|  2.65k|        while (count--) {
  ------------------
  |  Branch (2171:16): [True: 544, False: 2.10k]
  ------------------
 2172|    544|          std::string_view so_name;
 2173|    544|          CHECK_RESULT(ReadStr(&so_name, "dylib so_name"));
  ------------------
  |  |   55|    544|  do {                              \
  |  |   56|    544|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 243, False: 301]
  |  |  ------------------
  |  |   57|    243|      return ::wabt::Result::Error; \
  |  |   58|    243|    }                               \
  |  |   59|    544|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2174|    301|          CALLBACK(OnDylinkNeeded, so_name);
  ------------------
  |  |   66|    301|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    301|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    301|  do {                      \
  |  |  |  |  |  |   48|    301|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 301]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    301|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    301|               #member " callback failed")
  ------------------
 2175|    301|        }
 2176|  2.10k|        break;
 2177|  2.80k|      case DylinkEntryType::ImportInfo:
  ------------------
  |  Branch (2177:7): [True: 2.80k, False: 170k]
  ------------------
 2178|  2.80k|        CHECK_RESULT(ReadU32Leb128(&count, "count"));
  ------------------
  |  |   55|  2.80k|  do {                              \
  |  |   56|  2.80k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 210, False: 2.59k]
  |  |  ------------------
  |  |   57|    210|      return ::wabt::Result::Error; \
  |  |   58|    210|    }                               \
  |  |   59|  2.80k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2179|  2.59k|        CALLBACK(OnDylinkImportCount, count);
  ------------------
  |  |   66|  2.59k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.59k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.59k|  do {                      \
  |  |  |  |  |  |   48|  2.59k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.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|  2.59k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.59k|               #member " callback failed")
  ------------------
 2180|  6.41k|        for (Index i = 0; i < count; ++i) {
  ------------------
  |  Branch (2180:27): [True: 4.52k, False: 1.88k]
  ------------------
 2181|  4.52k|          uint32_t flags = 0;
 2182|  4.52k|          std::string_view module;
 2183|  4.52k|          std::string_view field;
 2184|  4.52k|          CHECK_RESULT(ReadStr(&module, "module"));
  ------------------
  |  |   55|  4.52k|  do {                              \
  |  |   56|  4.52k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 157, False: 4.37k]
  |  |  ------------------
  |  |   57|    157|      return ::wabt::Result::Error; \
  |  |   58|    157|    }                               \
  |  |   59|  4.52k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2185|  4.37k|          CHECK_RESULT(ReadStr(&field, "field"));
  ------------------
  |  |   55|  4.37k|  do {                              \
  |  |   56|  4.37k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 222, False: 4.14k]
  |  |  ------------------
  |  |   57|    222|      return ::wabt::Result::Error; \
  |  |   58|    222|    }                               \
  |  |   59|  4.37k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2186|  4.14k|          CHECK_RESULT(ReadU32Leb128(&flags, "flags"));
  ------------------
  |  |   55|  4.14k|  do {                              \
  |  |   56|  4.14k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 336, False: 3.81k]
  |  |  ------------------
  |  |   57|    336|      return ::wabt::Result::Error; \
  |  |   58|    336|    }                               \
  |  |   59|  4.14k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2187|  3.81k|          CALLBACK(OnDylinkImport, module, field, flags);
  ------------------
  |  |   66|  3.81k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.81k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.81k|  do {                      \
  |  |  |  |  |  |   48|  3.81k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.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|  3.81k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.81k|               #member " callback failed")
  ------------------
 2188|  3.81k|        }
 2189|  1.88k|        break;
 2190|  3.09k|      case DylinkEntryType::ExportInfo:
  ------------------
  |  Branch (2190:7): [True: 3.09k, False: 170k]
  ------------------
 2191|  3.09k|        CHECK_RESULT(ReadU32Leb128(&count, "count"));
  ------------------
  |  |   55|  3.09k|  do {                              \
  |  |   56|  3.09k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 728, False: 2.36k]
  |  |  ------------------
  |  |   57|    728|      return ::wabt::Result::Error; \
  |  |   58|    728|    }                               \
  |  |   59|  3.09k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2192|  2.36k|        CALLBACK(OnDylinkExportCount, count);
  ------------------
  |  |   66|  2.36k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.36k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.36k|  do {                      \
  |  |  |  |  |  |   48|  2.36k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.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|  2.36k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.36k|               #member " callback failed")
  ------------------
 2193|  3.07k|        for (Index i = 0; i < count; ++i) {
  ------------------
  |  Branch (2193:27): [True: 1.81k, False: 1.25k]
  ------------------
 2194|  1.81k|          uint32_t flags = 0;
 2195|  1.81k|          std::string_view name;
 2196|  1.81k|          CHECK_RESULT(ReadStr(&name, "name"));
  ------------------
  |  |   55|  1.81k|  do {                              \
  |  |   56|  1.81k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 203, False: 1.61k]
  |  |  ------------------
  |  |   57|    203|      return ::wabt::Result::Error; \
  |  |   58|    203|    }                               \
  |  |   59|  1.81k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2197|  1.61k|          CHECK_RESULT(ReadU32Leb128(&flags, "flags"));
  ------------------
  |  |   55|  1.61k|  do {                              \
  |  |   56|  1.61k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 906, False: 706]
  |  |  ------------------
  |  |   57|    906|      return ::wabt::Result::Error; \
  |  |   58|    906|    }                               \
  |  |   59|  1.61k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2198|    706|          CALLBACK(OnDylinkExport, name, flags);
  ------------------
  |  |   66|    706|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    706|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    706|  do {                      \
  |  |  |  |  |  |   48|    706|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 706]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    706|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    706|               #member " callback failed")
  ------------------
 2199|    706|        }
 2200|  1.25k|        break;
 2201|   164k|      default:
  ------------------
  |  Branch (2201:7): [True: 164k, False: 9.62k]
  ------------------
 2202|       |        // Unknown subsection, skip it.
 2203|   164k|        state_.offset = subsection_end;
 2204|   164k|        break;
 2205|   173k|    }
 2206|   169k|    ERROR_UNLESS(state_.offset == subsection_end,
  ------------------
  |  |   53|   169k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   169k|  do {                      \
  |  |  |  |   48|   169k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 3.68k, False: 166k]
  |  |  |  |  ------------------
  |  |  |  |   49|  3.68k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  3.68k|  do {                       \
  |  |  |  |  |  |   42|  3.68k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  3.68k|    return Result::Error;    \
  |  |  |  |  |  |   44|  3.68k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  3.68k|    }                       \
  |  |  |  |   51|   169k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2207|   169k|                 "unfinished sub-section (expected end: 0x%" PRIzx ")",
 2208|   169k|                 subsection_end);
 2209|   169k|  }
 2210|       |
 2211|    457|  CALLBACK0(EndDylinkSection);
  ------------------
  |  |   63|    457|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    457|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    457|  do {                      \
  |  |  |  |  |  |   48|    457|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 457]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    457|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2212|    457|  return Result::Ok;
 2213|    457|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadDylinkSectionEm:
 2215|  28.5k|Result BinaryReader::ReadDylinkSection(Offset section_size) {
 2216|  28.5k|  CALLBACK(BeginDylinkSection, section_size);
  ------------------
  |  |   66|  28.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  28.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  28.5k|  do {                      \
  |  |  |  |  |  |   48|  28.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 28.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|  28.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  28.5k|               #member " callback failed")
  ------------------
 2217|  28.5k|  uint32_t mem_size;
 2218|  28.5k|  uint32_t mem_align;
 2219|  28.5k|  uint32_t table_size;
 2220|  28.5k|  uint32_t table_align;
 2221|       |
 2222|  28.5k|  CHECK_RESULT(ReadU32Leb128(&mem_size, "mem_size"));
  ------------------
  |  |   55|  28.5k|  do {                              \
  |  |   56|  28.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 604, False: 27.9k]
  |  |  ------------------
  |  |   57|    604|      return ::wabt::Result::Error; \
  |  |   58|    604|    }                               \
  |  |   59|  28.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2223|  27.9k|  CHECK_RESULT(ReadU32Leb128(&mem_align, "mem_align"));
  ------------------
  |  |   55|  27.9k|  do {                              \
  |  |   56|  27.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 202, False: 27.7k]
  |  |  ------------------
  |  |   57|    202|      return ::wabt::Result::Error; \
  |  |   58|    202|    }                               \
  |  |   59|  27.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2224|  27.7k|  CHECK_RESULT(ReadU32Leb128(&table_size, "table_size"));
  ------------------
  |  |   55|  27.7k|  do {                              \
  |  |   56|  27.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 425, False: 27.3k]
  |  |  ------------------
  |  |   57|    425|      return ::wabt::Result::Error; \
  |  |   58|    425|    }                               \
  |  |   59|  27.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2225|  27.3k|  CHECK_RESULT(ReadU32Leb128(&table_align, "table_align"));
  ------------------
  |  |   55|  27.3k|  do {                              \
  |  |   56|  27.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 260, False: 27.0k]
  |  |  ------------------
  |  |   57|    260|      return ::wabt::Result::Error; \
  |  |   58|    260|    }                               \
  |  |   59|  27.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2226|  27.0k|  CALLBACK(OnDylinkInfo, mem_size, mem_align, table_size, table_align);
  ------------------
  |  |   66|  27.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  27.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  27.0k|  do {                      \
  |  |  |  |  |  |   48|  27.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 27.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|  27.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  27.0k|               #member " callback failed")
  ------------------
 2227|       |
 2228|  27.0k|  uint32_t count;
 2229|  27.0k|  CHECK_RESULT(ReadU32Leb128(&count, "needed_dynlibs"));
  ------------------
  |  |   55|  27.0k|  do {                              \
  |  |   56|  27.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 198, False: 26.8k]
  |  |  ------------------
  |  |   57|    198|      return ::wabt::Result::Error; \
  |  |   58|    198|    }                               \
  |  |   59|  27.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2230|  26.8k|  CALLBACK(OnDylinkNeededCount, count);
  ------------------
  |  |   66|  26.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  26.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  26.8k|  do {                      \
  |  |  |  |  |  |   48|  26.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 26.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|  26.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  26.8k|               #member " callback failed")
  ------------------
 2231|  28.1k|  while (count--) {
  ------------------
  |  Branch (2231:10): [True: 2.66k, False: 25.5k]
  ------------------
 2232|  2.66k|    std::string_view so_name;
 2233|  2.66k|    CHECK_RESULT(ReadStr(&so_name, "dylib so_name"));
  ------------------
  |  |   55|  2.66k|  do {                              \
  |  |   56|  2.66k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.33k, False: 1.32k]
  |  |  ------------------
  |  |   57|  1.33k|      return ::wabt::Result::Error; \
  |  |   58|  1.33k|    }                               \
  |  |   59|  2.66k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2234|  1.32k|    CALLBACK(OnDylinkNeeded, so_name);
  ------------------
  |  |   66|  1.32k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.32k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.32k|  do {                      \
  |  |  |  |  |  |   48|  1.32k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.32k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.32k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.32k|               #member " callback failed")
  ------------------
 2235|  1.32k|  }
 2236|       |
 2237|  25.5k|  CALLBACK0(EndDylinkSection);
  ------------------
  |  |   63|  25.5k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  25.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  25.5k|  do {                      \
  |  |  |  |  |  |   48|  25.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 25.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|  25.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2238|  25.5k|  return Result::Ok;
 2239|  25.5k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadRelocSectionEm:
 2081|  5.12k|Result BinaryReader::ReadRelocSection(Offset section_size) {
 2082|  5.12k|  CALLBACK(BeginRelocSection, section_size);
  ------------------
  |  |   66|  5.12k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.12k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.12k|  do {                      \
  |  |  |  |  |  |   48|  5.12k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.12k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.12k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.12k|               #member " callback failed")
  ------------------
 2083|  5.12k|  uint32_t section_index;
 2084|  5.12k|  CHECK_RESULT(ReadU32Leb128(&section_index, "section index"));
  ------------------
  |  |   55|  5.12k|  do {                              \
  |  |   56|  5.12k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 73, False: 5.05k]
  |  |  ------------------
  |  |   57|     73|      return ::wabt::Result::Error; \
  |  |   58|     73|    }                               \
  |  |   59|  5.12k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2085|  5.05k|  Index num_relocs;
 2086|  5.05k|  CHECK_RESULT(ReadCount(&num_relocs, "relocation count"));
  ------------------
  |  |   55|  5.05k|  do {                              \
  |  |   56|  5.05k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 344, False: 4.71k]
  |  |  ------------------
  |  |   57|    344|      return ::wabt::Result::Error; \
  |  |   58|    344|    }                               \
  |  |   59|  5.05k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2087|  4.71k|  CALLBACK(OnRelocCount, num_relocs, section_index);
  ------------------
  |  |   66|  4.71k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.71k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.71k|  do {                      \
  |  |  |  |  |  |   48|  4.71k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.71k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.71k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.71k|               #member " callback failed")
  ------------------
 2088|  19.8k|  for (Index i = 0; i < num_relocs; ++i) {
  ------------------
  |  Branch (2088:21): [True: 19.2k, False: 604]
  ------------------
 2089|  19.2k|    Offset offset;
 2090|  19.2k|    Index index;
 2091|  19.2k|    uint32_t reloc_type, addend = 0;
 2092|  19.2k|    CHECK_RESULT(ReadU32Leb128(&reloc_type, "relocation type"));
  ------------------
  |  |   55|  19.2k|  do {                              \
  |  |   56|  19.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 320, False: 18.8k]
  |  |  ------------------
  |  |   57|    320|      return ::wabt::Result::Error; \
  |  |   58|    320|    }                               \
  |  |   59|  19.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2093|  18.8k|    CHECK_RESULT(ReadOffset(&offset, "offset"));
  ------------------
  |  |   55|  18.8k|  do {                              \
  |  |   56|  18.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 353, False: 18.5k]
  |  |  ------------------
  |  |   57|    353|      return ::wabt::Result::Error; \
  |  |   58|    353|    }                               \
  |  |   59|  18.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2094|  18.5k|    CHECK_RESULT(ReadIndex(&index, "index"));
  ------------------
  |  |   55|  18.5k|  do {                              \
  |  |   56|  18.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.21k, False: 17.3k]
  |  |  ------------------
  |  |   57|  1.21k|      return ::wabt::Result::Error; \
  |  |   58|  1.21k|    }                               \
  |  |   59|  18.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2095|  17.3k|    RelocType type = static_cast<RelocType>(reloc_type);
 2096|  17.3k|    switch (type) {
 2097|    226|      case RelocType::MemoryAddressLEB:
  ------------------
  |  Branch (2097:7): [True: 226, False: 17.0k]
  ------------------
 2098|  1.32k|      case RelocType::MemoryAddressLEB64:
  ------------------
  |  Branch (2098:7): [True: 1.10k, False: 16.2k]
  ------------------
 2099|  3.05k|      case RelocType::MemoryAddressSLEB:
  ------------------
  |  Branch (2099:7): [True: 1.72k, False: 15.5k]
  ------------------
 2100|  3.38k|      case RelocType::MemoryAddressSLEB64:
  ------------------
  |  Branch (2100:7): [True: 325, False: 16.9k]
  ------------------
 2101|  4.07k|      case RelocType::MemoryAddressRelSLEB:
  ------------------
  |  Branch (2101:7): [True: 690, False: 16.6k]
  ------------------
 2102|  4.28k|      case RelocType::MemoryAddressRelSLEB64:
  ------------------
  |  Branch (2102:7): [True: 215, False: 17.1k]
  ------------------
 2103|  4.69k|      case RelocType::MemoryAddressI32:
  ------------------
  |  Branch (2103:7): [True: 406, False: 16.9k]
  ------------------
 2104|  4.91k|      case RelocType::MemoryAddressI64:
  ------------------
  |  Branch (2104:7): [True: 225, False: 17.0k]
  ------------------
 2105|  5.18k|      case RelocType::MemoryAddressLocRelI32:
  ------------------
  |  Branch (2105:7): [True: 272, False: 17.0k]
  ------------------
 2106|  5.45k|      case RelocType::FunctionOffsetI32:
  ------------------
  |  Branch (2106:7): [True: 264, False: 17.0k]
  ------------------
 2107|  5.91k|      case RelocType::FunctionOffsetI64:
  ------------------
  |  Branch (2107:7): [True: 465, False: 16.8k]
  ------------------
 2108|  6.22k|      case RelocType::SectionOffsetI32:
  ------------------
  |  Branch (2108:7): [True: 311, False: 17.0k]
  ------------------
 2109|  6.47k|      case RelocType::MemoryAddressTLSSLEB:
  ------------------
  |  Branch (2109:7): [True: 244, False: 17.0k]
  ------------------
 2110|  9.07k|      case RelocType::MemoryAddressTLSSLEB64:
  ------------------
  |  Branch (2110:7): [True: 2.60k, False: 14.7k]
  ------------------
 2111|  9.07k|        CHECK_RESULT(ReadS32Leb128(&addend, "addend"));
  ------------------
  |  |   55|  9.07k|  do {                              \
  |  |   56|  9.07k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.69k, False: 7.38k]
  |  |  ------------------
  |  |   57|  1.69k|      return ::wabt::Result::Error; \
  |  |   58|  1.69k|    }                               \
  |  |   59|  9.07k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2112|  7.38k|        break;
 2113|       |
 2114|  7.38k|      case RelocType::FuncIndexLEB:
  ------------------
  |  Branch (2114:7): [True: 3.25k, False: 14.0k]
  ------------------
 2115|  3.93k|      case RelocType::FuncIndexI32:
  ------------------
  |  Branch (2115:7): [True: 673, False: 16.6k]
  ------------------
 2116|  4.04k|      case RelocType::TableIndexSLEB:
  ------------------
  |  Branch (2116:7): [True: 112, False: 17.2k]
  ------------------
 2117|  4.34k|      case RelocType::TableIndexSLEB64:
  ------------------
  |  Branch (2117:7): [True: 298, False: 17.0k]
  ------------------
 2118|  4.90k|      case RelocType::TableIndexI32:
  ------------------
  |  Branch (2118:7): [True: 561, False: 16.7k]
  ------------------
 2119|  5.97k|      case RelocType::TableIndexI64:
  ------------------
  |  Branch (2119:7): [True: 1.07k, False: 16.2k]
  ------------------
 2120|  6.22k|      case RelocType::TypeIndexLEB:
  ------------------
  |  Branch (2120:7): [True: 242, False: 17.0k]
  ------------------
 2121|  6.51k|      case RelocType::GlobalIndexLEB:
  ------------------
  |  Branch (2121:7): [True: 289, False: 17.0k]
  ------------------
 2122|  6.71k|      case RelocType::GlobalIndexI32:
  ------------------
  |  Branch (2122:7): [True: 207, False: 17.1k]
  ------------------
 2123|  6.94k|      case RelocType::TagIndexLEB:
  ------------------
  |  Branch (2123:7): [True: 228, False: 17.0k]
  ------------------
 2124|  7.18k|      case RelocType::TableIndexRelSLEB:
  ------------------
  |  Branch (2124:7): [True: 240, False: 17.0k]
  ------------------
 2125|  7.41k|      case RelocType::TableIndexRelSLEB64:
  ------------------
  |  Branch (2125:7): [True: 233, False: 17.0k]
  ------------------
 2126|  7.71k|      case RelocType::TableNumberLEB:
  ------------------
  |  Branch (2126:7): [True: 299, False: 17.0k]
  ------------------
 2127|  7.71k|        break;
 2128|       |
 2129|    531|      default:
  ------------------
  |  Branch (2129:7): [True: 531, False: 16.7k]
  ------------------
 2130|    531|        PrintError("unknown reloc type: %s", GetRelocTypeName(type));
 2131|    531|        return Result::Error;
 2132|  17.3k|    }
 2133|  15.1k|    CALLBACK(OnReloc, type, offset, index, addend);
  ------------------
  |  |   66|  15.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  15.1k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  15.1k|  do {                      \
  |  |  |  |  |  |   48|  15.1k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 15.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|  15.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  15.1k|               #member " callback failed")
  ------------------
 2134|  15.1k|  }
 2135|    604|  CALLBACK0(EndRelocSection);
  ------------------
  |  |   63|    604|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    604|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    604|  do {                      \
  |  |  |  |  |  |   48|    604|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 604]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    604|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2136|    604|  return Result::Ok;
 2137|    604|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13ReadS32Leb128EPjPKc:
  347|  1.03M|Result BinaryReader::ReadS32Leb128(uint32_t* out_value, const char* desc) {
  348|  1.03M|  const uint8_t* p = state_.data + state_.offset;
  349|  1.03M|  const uint8_t* end = state_.data + read_end_;
  350|  1.03M|  size_t bytes_read = wabt::ReadS32Leb128(p, end, out_value);
  351|  1.03M|  ERROR_UNLESS(bytes_read > 0, "unable to read i32 leb128: %s", desc);
  ------------------
  |  |   53|  1.03M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.03M|  do {                      \
  |  |  |  |   48|  1.03M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 2.09k, False: 1.03M]
  |  |  |  |  ------------------
  |  |  |  |   49|  2.09k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  2.09k|  do {                       \
  |  |  |  |  |  |   42|  2.09k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  2.09k|    return Result::Error;    \
  |  |  |  |  |  |   44|  2.09k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  2.09k|    }                       \
  |  |  |  |   51|  1.03M|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  352|  1.03M|  state_.offset += bytes_read;
  353|  1.03M|  return Result::Ok;
  354|  1.03M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader26ReadTargetFeaturesSectionsEm:
 2241|  27.3k|Result BinaryReader::ReadTargetFeaturesSections(Offset section_size) {
 2242|  27.3k|  CALLBACK(BeginTargetFeaturesSection, section_size);
  ------------------
  |  |   66|  27.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  27.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  27.3k|  do {                      \
  |  |  |  |  |  |   48|  27.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 27.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|  27.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  27.3k|               #member " callback failed")
  ------------------
 2243|  27.3k|  uint32_t count;
 2244|  27.3k|  CHECK_RESULT(ReadU32Leb128(&count, "sym count"));
  ------------------
  |  |   55|  27.3k|  do {                              \
  |  |   56|  27.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 207, False: 27.1k]
  |  |  ------------------
  |  |   57|    207|      return ::wabt::Result::Error; \
  |  |   58|    207|    }                               \
  |  |   59|  27.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2245|  27.1k|  CALLBACK(OnFeatureCount, count);
  ------------------
  |  |   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")
  ------------------
 2246|   202k|  while (count--) {
  ------------------
  |  Branch (2246:10): [True: 195k, False: 6.89k]
  ------------------
 2247|   195k|    uint8_t prefix;
 2248|   195k|    std::string_view name;
 2249|   195k|    CHECK_RESULT(ReadU8(&prefix, "prefix"));
  ------------------
  |  |   55|   195k|  do {                              \
  |  |   56|   195k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 9.76k, False: 185k]
  |  |  ------------------
  |  |   57|  9.76k|      return ::wabt::Result::Error; \
  |  |   58|  9.76k|    }                               \
  |  |   59|   195k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2250|   185k|    CHECK_RESULT(ReadStr(&name, "feature name"));
  ------------------
  |  |   55|   185k|  do {                              \
  |  |   56|   185k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10.4k, False: 175k]
  |  |  ------------------
  |  |   57|  10.4k|      return ::wabt::Result::Error; \
  |  |   58|  10.4k|    }                               \
  |  |   59|   185k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2251|   175k|    CALLBACK(OnFeature, prefix, name);
  ------------------
  |  |   66|   175k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   175k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   175k|  do {                      \
  |  |  |  |  |  |   48|   175k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 175k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   175k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   175k|               #member " callback failed")
  ------------------
 2252|   175k|  }
 2253|  6.89k|  CALLBACK0(EndTargetFeaturesSection);
  ------------------
  |  |   63|  6.89k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  6.89k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.89k|  do {                      \
  |  |  |  |  |  |   48|  6.89k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.89k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.89k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2254|  6.89k|  return Result::Ok;
 2255|  6.89k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader18ReadLinkingSectionEm:
 2269|  37.8k|Result BinaryReader::ReadLinkingSection(Offset section_size) {
 2270|  37.8k|  CALLBACK(BeginLinkingSection, section_size);
  ------------------
  |  |   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")
  ------------------
 2271|  37.8k|  uint32_t version;
 2272|  37.8k|  CHECK_RESULT(ReadU32Leb128(&version, "version"));
  ------------------
  |  |   55|  37.8k|  do {                              \
  |  |   56|  37.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 221, False: 37.5k]
  |  |  ------------------
  |  |   57|    221|      return ::wabt::Result::Error; \
  |  |   58|    221|    }                               \
  |  |   59|  37.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2273|  37.5k|  ERROR_UNLESS(version == 2, "invalid linking metadata version: %u", version);
  ------------------
  |  |   53|  37.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  37.5k|  do {                      \
  |  |  |  |   48|  37.5k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 518, False: 37.0k]
  |  |  |  |  ------------------
  |  |  |  |   49|    518|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    518|  do {                       \
  |  |  |  |  |  |   42|    518|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    518|    return Result::Error;    \
  |  |  |  |  |  |   44|    518|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    518|    }                       \
  |  |  |  |   51|  37.5k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2274|  59.8k|  while (state_.offset < read_end_) {
  ------------------
  |  Branch (2274:10): [True: 59.3k, False: 462]
  ------------------
 2275|  59.3k|    uint32_t linking_type;
 2276|  59.3k|    Offset subsection_size;
 2277|  59.3k|    CHECK_RESULT(ReadU32Leb128(&linking_type, "type"));
  ------------------
  |  |   55|  59.3k|  do {                              \
  |  |   56|  59.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 391, False: 58.9k]
  |  |  ------------------
  |  |   57|    391|      return ::wabt::Result::Error; \
  |  |   58|    391|    }                               \
  |  |   59|  59.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2278|  58.9k|    CHECK_RESULT(ReadOffset(&subsection_size, "subsection size"));
  ------------------
  |  |   55|  58.9k|  do {                              \
  |  |   56|  58.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 467, False: 58.5k]
  |  |  ------------------
  |  |   57|    467|      return ::wabt::Result::Error; \
  |  |   58|    467|    }                               \
  |  |   59|  58.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2279|  58.5k|    size_t subsection_end = state_.offset + subsection_size;
 2280|  58.5k|    ERROR_UNLESS(subsection_end <= read_end_,
  ------------------
  |  |   53|  58.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  58.5k|  do {                      \
  |  |  |  |   48|  58.5k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 675, False: 57.8k]
  |  |  |  |  ------------------
  |  |  |  |   49|    675|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    675|  do {                       \
  |  |  |  |  |  |   42|    675|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    675|    return Result::Error;    \
  |  |  |  |  |  |   44|    675|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    675|    }                       \
  |  |  |  |   51|  58.5k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2281|  57.8k|                 "invalid sub-section size: extends past end");
 2282|  57.8k|    ReadEndRestoreGuard guard(this);
 2283|  57.8k|    read_end_ = subsection_end;
 2284|       |
 2285|  57.8k|    uint32_t count;
 2286|  57.8k|    switch (static_cast<LinkingEntryType>(linking_type)) {
 2287|  25.8k|      case LinkingEntryType::SymbolTable:
  ------------------
  |  Branch (2287:7): [True: 25.8k, False: 31.9k]
  ------------------
 2288|  25.8k|        CHECK_RESULT(ReadU32Leb128(&count, "sym count"));
  ------------------
  |  |   55|  25.8k|  do {                              \
  |  |   56|  25.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 201, False: 25.6k]
  |  |  ------------------
  |  |   57|    201|      return ::wabt::Result::Error; \
  |  |   58|    201|    }                               \
  |  |   59|  25.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2289|  25.6k|        CALLBACK(OnSymbolCount, count);
  ------------------
  |  |   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")
  ------------------
 2290|   132k|        for (Index i = 0; i < count; ++i) {
  ------------------
  |  Branch (2290:27): [True: 132k, False: 528]
  ------------------
 2291|   132k|          std::string_view name;
 2292|   132k|          uint32_t flags = 0;
 2293|   132k|          uint32_t kind = 0;
 2294|   132k|          CHECK_RESULT(ReadU32Leb128(&kind, "sym type"));
  ------------------
  |  |   55|   132k|  do {                              \
  |  |   56|   132k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6.30k, False: 125k]
  |  |  ------------------
  |  |   57|  6.30k|      return ::wabt::Result::Error; \
  |  |   58|  6.30k|    }                               \
  |  |   59|   132k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2295|   125k|          CHECK_RESULT(ReadU32Leb128(&flags, "sym flags"));
  ------------------
  |  |   55|   125k|  do {                              \
  |  |   56|   125k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3.93k, False: 121k]
  |  |  ------------------
  |  |   57|  3.93k|      return ::wabt::Result::Error; \
  |  |   58|  3.93k|    }                               \
  |  |   59|   125k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2296|   121k|          SymbolType sym_type = static_cast<SymbolType>(kind);
 2297|   121k|          switch (sym_type) {
  ------------------
  |  Branch (2297:19): [True: 36.0k, False: 85.8k]
  ------------------
 2298|  13.2k|            case SymbolType::Function:
  ------------------
  |  Branch (2298:13): [True: 13.2k, False: 108k]
  ------------------
 2299|  22.4k|            case SymbolType::Global:
  ------------------
  |  Branch (2299:13): [True: 9.19k, False: 112k]
  ------------------
 2300|  27.8k|            case SymbolType::Tag:
  ------------------
  |  Branch (2300:13): [True: 5.32k, False: 116k]
  ------------------
 2301|  71.4k|            case SymbolType::Table: {
  ------------------
  |  Branch (2301:13): [True: 43.6k, False: 78.2k]
  ------------------
 2302|  71.4k|              uint32_t index = 0;
 2303|  71.4k|              CHECK_RESULT(ReadU32Leb128(&index, "index"));
  ------------------
  |  |   55|  71.4k|  do {                              \
  |  |   56|  71.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.27k, False: 70.1k]
  |  |  ------------------
  |  |   57|  1.27k|      return ::wabt::Result::Error; \
  |  |   58|  1.27k|    }                               \
  |  |   59|  71.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2304|  70.1k|              if ((flags & WABT_SYMBOL_FLAG_UNDEFINED) == 0 ||
  ------------------
  |  |  342|  70.1k|#define WABT_SYMBOL_FLAG_UNDEFINED 0x10
  ------------------
  |  Branch (2304:19): [True: 62.7k, False: 7.36k]
  ------------------
 2305|  70.1k|                  (flags & WABT_SYMBOL_FLAG_EXPLICIT_NAME) != 0)
  ------------------
  |  |  344|  7.36k|#define WABT_SYMBOL_FLAG_EXPLICIT_NAME 0x40
  ------------------
  |  Branch (2305:19): [True: 6.15k, False: 1.21k]
  ------------------
 2306|  68.9k|                CHECK_RESULT(ReadStr(&name, "symbol name"));
  ------------------
  |  |   55|  68.9k|  do {                              \
  |  |   56|  68.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.96k, False: 66.9k]
  |  |  ------------------
  |  |   57|  1.96k|      return ::wabt::Result::Error; \
  |  |   58|  1.96k|    }                               \
  |  |   59|  68.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2307|  68.1k|              switch (sym_type) {
 2308|  10.5k|                case SymbolType::Function:
  ------------------
  |  Branch (2308:17): [True: 10.5k, False: 57.6k]
  ------------------
 2309|  10.5k|                  CALLBACK(OnFunctionSymbol, i, flags, name, index);
  ------------------
  |  |   66|  10.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  10.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.5k|  do {                      \
  |  |  |  |  |  |   48|  10.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 582, False: 9.99k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|    582|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|    582|  do {                       \
  |  |  |  |  |  |  |  |   42|    582|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|    582|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|    582|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|    582|    }                       \
  |  |  |  |  |  |   51|  10.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.5k|               #member " callback failed")
  ------------------
 2310|  9.99k|                  break;
 2311|  9.99k|                case SymbolType::Global:
  ------------------
  |  Branch (2311:17): [True: 9.06k, False: 59.1k]
  ------------------
 2312|  9.06k|                  CALLBACK(OnGlobalSymbol, i, flags, name, index);
  ------------------
  |  |   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: 836, False: 8.23k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|    836|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|    836|  do {                       \
  |  |  |  |  |  |  |  |   42|    836|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|    836|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|    836|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|    836|    }                       \
  |  |  |  |  |  |   51|  9.06k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  9.06k|               #member " callback failed")
  ------------------
 2313|  8.23k|                  break;
 2314|  8.23k|                case SymbolType::Tag:
  ------------------
  |  Branch (2314:17): [True: 5.23k, False: 62.9k]
  ------------------
 2315|  5.23k|                  CALLBACK(OnTagSymbol, i, flags, name, index);
  ------------------
  |  |   66|  5.23k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.23k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.23k|  do {                      \
  |  |  |  |  |  |   48|  5.23k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 1.48k, False: 3.75k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|  1.48k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  1.48k|  do {                       \
  |  |  |  |  |  |  |  |   42|  1.48k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|  1.48k|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|  1.48k|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|  1.48k|    }                       \
  |  |  |  |  |  |   51|  5.23k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.23k|               #member " callback failed")
  ------------------
 2316|  3.75k|                  break;
 2317|  43.3k|                case SymbolType::Table:
  ------------------
  |  Branch (2317:17): [True: 43.3k, False: 24.8k]
  ------------------
 2318|  43.3k|                  CALLBACK(OnTableSymbol, i, flags, name, index);
  ------------------
  |  |   66|  43.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  43.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  43.3k|  do {                      \
  |  |  |  |  |  |   48|  43.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 340, False: 42.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|    340|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|    340|  do {                       \
  |  |  |  |  |  |  |  |   42|    340|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|    340|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|    340|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|    340|    }                       \
  |  |  |  |  |  |   51|  43.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  43.3k|               #member " callback failed")
  ------------------
 2319|  42.9k|                  break;
 2320|  42.9k|                default:
  ------------------
  |  Branch (2320:17): [True: 0, False: 68.1k]
  ------------------
 2321|      0|                  WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
 2322|  68.1k|              }
 2323|  64.9k|              break;
 2324|  68.1k|            }
 2325|  64.9k|            case SymbolType::Data: {
  ------------------
  |  Branch (2325:13): [True: 14.0k, False: 107k]
  ------------------
 2326|  14.0k|              uint32_t segment = 0;
 2327|  14.0k|              uint32_t offset = 0;
 2328|  14.0k|              uint32_t size = 0;
 2329|  14.0k|              CHECK_RESULT(ReadStr(&name, "symbol name"));
  ------------------
  |  |   55|  14.0k|  do {                              \
  |  |   56|  14.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2.50k, False: 11.5k]
  |  |  ------------------
  |  |   57|  2.50k|      return ::wabt::Result::Error; \
  |  |   58|  2.50k|    }                               \
  |  |   59|  14.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2330|  11.5k|              if ((flags & WABT_SYMBOL_FLAG_UNDEFINED) == 0) {
  ------------------
  |  |  342|  11.5k|#define WABT_SYMBOL_FLAG_UNDEFINED 0x10
  ------------------
  |  Branch (2330:19): [True: 9.72k, False: 1.82k]
  ------------------
 2331|  9.72k|                CHECK_RESULT(ReadU32Leb128(&segment, "segment"));
  ------------------
  |  |   55|  9.72k|  do {                              \
  |  |   56|  9.72k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 222, False: 9.49k]
  |  |  ------------------
  |  |   57|    222|      return ::wabt::Result::Error; \
  |  |   58|    222|    }                               \
  |  |   59|  9.72k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2332|  9.49k|                CHECK_RESULT(ReadU32Leb128(&offset, "offset"));
  ------------------
  |  |   55|  9.49k|  do {                              \
  |  |   56|  9.49k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 702, False: 8.79k]
  |  |  ------------------
  |  |   57|    702|      return ::wabt::Result::Error; \
  |  |   58|    702|    }                               \
  |  |   59|  9.49k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2333|  8.79k|                CHECK_RESULT(ReadU32Leb128(&size, "size"));
  ------------------
  |  |   55|  8.79k|  do {                              \
  |  |   56|  8.79k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 244, False: 8.55k]
  |  |  ------------------
  |  |   57|    244|      return ::wabt::Result::Error; \
  |  |   58|    244|    }                               \
  |  |   59|  8.79k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2334|  8.79k|              }
 2335|  10.3k|              CALLBACK(OnDataSymbol, i, flags, name, segment, offset, size);
  ------------------
  |  |   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: 4.63k, False: 5.74k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|  4.63k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  4.63k|  do {                       \
  |  |  |  |  |  |  |  |   42|  4.63k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|  4.63k|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|  4.63k|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|  4.63k|    }                       \
  |  |  |  |  |  |   51|  10.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.3k|               #member " callback failed")
  ------------------
 2336|  5.74k|              break;
 2337|  10.3k|            }
 2338|  5.74k|            case SymbolType::Section: {
  ------------------
  |  Branch (2338:13): [True: 378, False: 121k]
  ------------------
 2339|    378|              uint32_t index = 0;
 2340|    378|              CHECK_RESULT(ReadU32Leb128(&index, "index"));
  ------------------
  |  |   55|    378|  do {                              \
  |  |   56|    378|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 76, False: 302]
  |  |  ------------------
  |  |   57|     76|      return ::wabt::Result::Error; \
  |  |   58|     76|    }                               \
  |  |   59|    378|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2341|    302|              CALLBACK(OnSectionSymbol, i, flags, index);
  ------------------
  |  |   66|    302|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    302|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    302|  do {                      \
  |  |  |  |  |  |   48|    302|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 302]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    302|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    302|               #member " callback failed")
  ------------------
 2342|    302|              break;
 2343|    302|            }
 2344|   121k|          }
 2345|   121k|        }
 2346|    528|        break;
 2347|  8.62k|      case LinkingEntryType::SegmentInfo:
  ------------------
  |  Branch (2347:7): [True: 8.62k, False: 49.2k]
  ------------------
 2348|  8.62k|        CHECK_RESULT(ReadU32Leb128(&count, "info count"));
  ------------------
  |  |   55|  8.62k|  do {                              \
  |  |   56|  8.62k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 264, False: 8.35k]
  |  |  ------------------
  |  |   57|    264|      return ::wabt::Result::Error; \
  |  |   58|    264|    }                               \
  |  |   59|  8.62k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2349|  8.35k|        CALLBACK(OnSegmentInfoCount, count);
  ------------------
  |  |   66|  8.35k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.35k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.35k|  do {                      \
  |  |  |  |  |  |   48|  8.35k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.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|  8.35k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.35k|               #member " callback failed")
  ------------------
 2350|  9.21k|        for (Index i = 0; i < count; i++) {
  ------------------
  |  Branch (2350:27): [True: 2.84k, False: 6.36k]
  ------------------
 2351|  2.84k|          std::string_view name;
 2352|  2.84k|          Address alignment_log2;
 2353|  2.84k|          uint32_t flags;
 2354|  2.84k|          CHECK_RESULT(ReadStr(&name, "segment name"));
  ------------------
  |  |   55|  2.84k|  do {                              \
  |  |   56|  2.84k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 322, False: 2.52k]
  |  |  ------------------
  |  |   57|    322|      return ::wabt::Result::Error; \
  |  |   58|    322|    }                               \
  |  |   59|  2.84k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2355|  2.52k|          CHECK_RESULT(ReadAlignment(&alignment_log2, "segment alignment"));
  ------------------
  |  |   55|  2.52k|  do {                              \
  |  |   56|  2.52k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.20k, False: 1.31k]
  |  |  ------------------
  |  |   57|  1.20k|      return ::wabt::Result::Error; \
  |  |   58|  1.20k|    }                               \
  |  |   59|  2.52k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2356|  1.31k|          CHECK_RESULT(CheckAlignment(&alignment_log2, "segment alignment"));
  ------------------
  |  |   55|  1.31k|  do {                              \
  |  |   56|  1.31k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 255, False: 1.06k]
  |  |  ------------------
  |  |   57|    255|      return ::wabt::Result::Error; \
  |  |   58|    255|    }                               \
  |  |   59|  1.31k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2357|  1.06k|          CHECK_RESULT(ReadU32Leb128(&flags, "segment flags"));
  ------------------
  |  |   55|  1.06k|  do {                              \
  |  |   56|  1.06k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 207, False: 854]
  |  |  ------------------
  |  |   57|    207|      return ::wabt::Result::Error; \
  |  |   58|    207|    }                               \
  |  |   59|  1.06k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2358|    854|          CALLBACK(OnSegmentInfo, i, name, alignment_log2, flags);
  ------------------
  |  |   66|    854|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    854|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    854|  do {                      \
  |  |  |  |  |  |   48|    854|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 854]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    854|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    854|               #member " callback failed")
  ------------------
 2359|    854|        }
 2360|  6.36k|        break;
 2361|  6.36k|      case LinkingEntryType::InitFunctions:
  ------------------
  |  Branch (2361:7): [True: 1.46k, False: 56.3k]
  ------------------
 2362|  1.46k|        CHECK_RESULT(ReadU32Leb128(&count, "info count"));
  ------------------
  |  |   55|  1.46k|  do {                              \
  |  |   56|  1.46k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 215, False: 1.25k]
  |  |  ------------------
  |  |   57|    215|      return ::wabt::Result::Error; \
  |  |   58|    215|    }                               \
  |  |   59|  1.46k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2363|  1.25k|        CALLBACK(OnInitFunctionCount, count);
  ------------------
  |  |   66|  1.25k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.25k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.25k|  do {                      \
  |  |  |  |  |  |   48|  1.25k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.25k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.25k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.25k|               #member " callback failed")
  ------------------
 2364|  1.90k|        while (count--) {
  ------------------
  |  Branch (2364:16): [True: 1.18k, False: 714]
  ------------------
 2365|  1.18k|          uint32_t priority;
 2366|  1.18k|          uint32_t symbol;
 2367|  1.18k|          CHECK_RESULT(ReadU32Leb128(&priority, "priority"));
  ------------------
  |  |   55|  1.18k|  do {                              \
  |  |   56|  1.18k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 246, False: 943]
  |  |  ------------------
  |  |   57|    246|      return ::wabt::Result::Error; \
  |  |   58|    246|    }                               \
  |  |   59|  1.18k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2368|    943|          CHECK_RESULT(ReadU32Leb128(&symbol, "symbol index"));
  ------------------
  |  |   55|    943|  do {                              \
  |  |   56|    943|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 290, False: 653]
  |  |  ------------------
  |  |   57|    290|      return ::wabt::Result::Error; \
  |  |   58|    290|    }                               \
  |  |   59|    943|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2369|    653|          CALLBACK(OnInitFunction, priority, symbol);
  ------------------
  |  |   66|    653|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    653|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    653|  do {                      \
  |  |  |  |  |  |   48|    653|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 653]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    653|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    653|               #member " callback failed")
  ------------------
 2370|    653|        }
 2371|    714|        break;
 2372|  6.51k|      case LinkingEntryType::ComdatInfo:
  ------------------
  |  Branch (2372:7): [True: 6.51k, False: 51.3k]
  ------------------
 2373|  6.51k|        CHECK_RESULT(ReadU32Leb128(&count, "count"));
  ------------------
  |  |   55|  6.51k|  do {                              \
  |  |   56|  6.51k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 222, False: 6.29k]
  |  |  ------------------
  |  |   57|    222|      return ::wabt::Result::Error; \
  |  |   58|    222|    }                               \
  |  |   59|  6.51k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2374|  6.29k|        CALLBACK(OnComdatCount, count);
  ------------------
  |  |   66|  6.29k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.29k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.29k|  do {                      \
  |  |  |  |  |  |   48|  6.29k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.29k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.29k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.29k|               #member " callback failed")
  ------------------
 2375|  10.4k|        while (count--) {
  ------------------
  |  Branch (2375:16): [True: 9.97k, False: 494]
  ------------------
 2376|  9.97k|          uint32_t flags;
 2377|  9.97k|          uint32_t entry_count;
 2378|  9.97k|          std::string_view name;
 2379|  9.97k|          CHECK_RESULT(ReadStr(&name, "comdat name"));
  ------------------
  |  |   55|  9.97k|  do {                              \
  |  |   56|  9.97k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 796, False: 9.18k]
  |  |  ------------------
  |  |   57|    796|      return ::wabt::Result::Error; \
  |  |   58|    796|    }                               \
  |  |   59|  9.97k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2380|  9.18k|          CHECK_RESULT(ReadU32Leb128(&flags, "flags"));
  ------------------
  |  |   55|  9.18k|  do {                              \
  |  |   56|  9.18k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 70, False: 9.11k]
  |  |  ------------------
  |  |   57|     70|      return ::wabt::Result::Error; \
  |  |   58|     70|    }                               \
  |  |   59|  9.18k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2381|  9.11k|          CHECK_RESULT(ReadU32Leb128(&entry_count, "entry count"));
  ------------------
  |  |   55|  9.11k|  do {                              \
  |  |   56|  9.11k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 203, False: 8.90k]
  |  |  ------------------
  |  |   57|    203|      return ::wabt::Result::Error; \
  |  |   58|    203|    }                               \
  |  |   59|  9.11k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2382|  8.90k|          CALLBACK(OnComdatBegin, name, flags, entry_count);
  ------------------
  |  |   66|  8.90k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.90k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.90k|  do {                      \
  |  |  |  |  |  |   48|  8.90k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.90k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.90k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.90k|               #member " callback failed")
  ------------------
 2383|  15.7k|          while (entry_count--) {
  ------------------
  |  Branch (2383:18): [True: 11.5k, False: 4.17k]
  ------------------
 2384|  11.5k|            uint32_t kind;
 2385|  11.5k|            uint32_t index;
 2386|  11.5k|            CHECK_RESULT(ReadU32Leb128(&kind, "kind"));
  ------------------
  |  |   55|  11.5k|  do {                              \
  |  |   56|  11.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3.31k, False: 8.23k]
  |  |  ------------------
  |  |   57|  3.31k|      return ::wabt::Result::Error; \
  |  |   58|  3.31k|    }                               \
  |  |   59|  11.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2387|  8.23k|            CHECK_RESULT(ReadU32Leb128(&index, "index"));
  ------------------
  |  |   55|  8.23k|  do {                              \
  |  |   56|  8.23k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.41k, False: 6.81k]
  |  |  ------------------
  |  |   57|  1.41k|      return ::wabt::Result::Error; \
  |  |   58|  1.41k|    }                               \
  |  |   59|  8.23k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2388|  6.81k|            ComdatType comdat_type = static_cast<ComdatType>(kind);
 2389|  6.81k|            CALLBACK(OnComdatEntry, comdat_type, index);
  ------------------
  |  |   66|  6.81k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.81k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.81k|  do {                      \
  |  |  |  |  |  |   48|  6.81k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.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|  6.81k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.81k|               #member " callback failed")
  ------------------
 2390|  6.81k|          }
 2391|  8.90k|        }
 2392|    494|        break;
 2393|  15.3k|      default:
  ------------------
  |  Branch (2393:7): [True: 15.3k, False: 42.4k]
  ------------------
 2394|       |        // Unknown subsection, skip it.
 2395|  15.3k|        state_.offset = subsection_end;
 2396|  15.3k|        break;
 2397|  57.8k|    }
 2398|  23.4k|    ERROR_UNLESS(state_.offset == subsection_end,
  ------------------
  |  |   53|  23.4k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  23.4k|  do {                      \
  |  |  |  |   48|  23.4k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 734, False: 22.7k]
  |  |  |  |  ------------------
  |  |  |  |   49|    734|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    734|  do {                       \
  |  |  |  |  |  |   42|    734|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    734|    return Result::Error;    \
  |  |  |  |  |  |   44|    734|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    734|    }                       \
  |  |  |  |   51|  23.4k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2399|  23.4k|                 "unfinished sub-section (expected end: 0x%" PRIzx ")",
 2400|  23.4k|                 subsection_end);
 2401|  23.4k|  }
 2402|    462|  CALLBACK0(EndLinkingSection);
  ------------------
  |  |   63|    462|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    462|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    462|  do {                      \
  |  |  |  |  |  |   48|    462|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 462]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    462|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2403|    462|  return Result::Ok;
 2404|    462|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13ReadAlignmentEPmPKc:
  445|   170k|Result BinaryReader::ReadAlignment(Address* alignment_log2, const char* desc) {
  446|   170k|  uint32_t value;
  447|   170k|  CHECK_RESULT(ReadU32Leb128(&value, desc));
  ------------------
  |  |   55|   170k|  do {                              \
  |  |   56|   170k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1.57k, False: 168k]
  |  |  ------------------
  |  |   57|  1.57k|      return ::wabt::Result::Error; \
  |  |   58|  1.57k|    }                               \
  |  |   59|   170k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  448|   168k|  *alignment_log2 = value;
  449|   168k|  return Result::Ok;
  450|   170k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader14CheckAlignmentEPmPKc:
  452|   168k|Result BinaryReader::CheckAlignment(Address* align_log2, const char* desc) {
  453|   168k|  uint32_t value = *align_log2;
  454|   168k|  if (value >= 32) {
  ------------------
  |  Branch (454:7): [True: 662, False: 168k]
  ------------------
  455|    662|    PrintError("invalid %s: %" PRIu32, desc, value);
  456|    662|    return Result::Error;
  457|    662|  }
  458|   168k|  return Result::Ok;
  459|   168k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader23ReadCodeMetadataSectionENSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEm:
 2432|   264k|                                             Offset section_size) {
 2433|   264k|  CALLBACK(BeginCodeMetadataSection, name, section_size);
  ------------------
  |  |   66|   264k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   264k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   264k|  do {                      \
  |  |  |  |  |  |   48|   264k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 264k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   264k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   264k|               #member " callback failed")
  ------------------
 2434|       |
 2435|   264k|  Index num_functions;
 2436|   264k|  CHECK_RESULT(ReadCount(&num_functions, "function count"));
  ------------------
  |  |   55|   264k|  do {                              \
  |  |   56|   264k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 948, False: 263k]
  |  |  ------------------
  |  |   57|    948|      return ::wabt::Result::Error; \
  |  |   58|    948|    }                               \
  |  |   59|   264k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2437|   263k|  CALLBACK(OnCodeMetadataFuncCount, num_functions);
  ------------------
  |  |   66|   263k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   263k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   263k|  do {                      \
  |  |  |  |  |  |   48|   263k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 263k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   263k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   263k|               #member " callback failed")
  ------------------
 2438|       |
 2439|   263k|  Index last_function_index = kInvalidIndex;
 2440|   954k|  for (Index i = 0; i < num_functions; ++i) {
  ------------------
  |  Branch (2440:21): [True: 913k, False: 40.8k]
  ------------------
 2441|   913k|    Index function_index;
 2442|   913k|    CHECK_RESULT(ReadCount(&function_index, "function index"));
  ------------------
  |  |   55|   913k|  do {                              \
  |  |   56|   913k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 12.5k, False: 901k]
  |  |  ------------------
  |  |   57|  12.5k|      return ::wabt::Result::Error; \
  |  |   58|  12.5k|    }                               \
  |  |   59|   913k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2443|   901k|    ERROR_UNLESS(function_index >= num_func_imports_,
  ------------------
  |  |   53|   901k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   901k|  do {                      \
  |  |  |  |   48|   901k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 194, False: 901k]
  |  |  |  |  ------------------
  |  |  |  |   49|    194|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    194|  do {                       \
  |  |  |  |  |  |   42|    194|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    194|    return Result::Error;    \
  |  |  |  |  |  |   44|    194|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    194|    }                       \
  |  |  |  |   51|   901k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2444|   901k|                 "function import can't have metadata (got %" PRIindex ")",
 2445|   901k|                 function_index);
 2446|   901k|    ERROR_UNLESS(function_index < NumTotalFuncs(),
  ------------------
  |  |   53|   901k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   901k|  do {                      \
  |  |  |  |   48|   901k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 3.32k, False: 897k]
  |  |  |  |  ------------------
  |  |  |  |   49|  3.32k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  3.32k|  do {                       \
  |  |  |  |  |  |   42|  3.32k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  3.32k|    return Result::Error;    \
  |  |  |  |  |  |   44|  3.32k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  3.32k|    }                       \
  |  |  |  |   51|   901k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2447|   897k|                 "invalid function index: %" PRIindex, function_index);
 2448|   897k|    ERROR_UNLESS(function_index != last_function_index,
  ------------------
  |  |   53|   897k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   897k|  do {                      \
  |  |  |  |   48|   897k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 50.1k, False: 847k]
  |  |  |  |  ------------------
  |  |  |  |   49|  50.1k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  50.1k|  do {                       \
  |  |  |  |  |  |   42|  50.1k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  50.1k|    return Result::Error;    \
  |  |  |  |  |  |   44|  50.1k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  50.1k|    }                       \
  |  |  |  |   51|   897k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2449|   847k|                 "duplicate function index: %" PRIindex, function_index);
 2450|   847k|    ERROR_UNLESS(last_function_index == kInvalidIndex ||
  ------------------
  |  |   53|   847k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   847k|  do {                      \
  |  |  |  |   48|  2.28M|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 258k, False: 589k]
  |  |  |  |  |  Branch (48:9): [True: 438k, False: 150k]
  |  |  |  |  ------------------
  |  |  |  |   49|   150k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|   150k|  do {                       \
  |  |  |  |  |  |   42|   150k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|   150k|    return Result::Error;    \
  |  |  |  |  |  |   44|   150k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|   150k|    }                       \
  |  |  |  |   51|   847k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2451|   697k|                     function_index > last_function_index,
 2452|   697k|                 "function index out of order: %" PRIindex, function_index);
 2453|   697k|    last_function_index = function_index;
 2454|       |
 2455|   697k|    Index num_metadata;
 2456|   697k|    CHECK_RESULT(ReadCount(&num_metadata, "metadata instances count"));
  ------------------
  |  |   55|   697k|  do {                              \
  |  |   56|   697k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 473, False: 696k]
  |  |  ------------------
  |  |   57|    473|      return ::wabt::Result::Error; \
  |  |   58|    473|    }                               \
  |  |   59|   697k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2457|       |
 2458|   696k|    CALLBACK(OnCodeMetadataCount, function_index, num_metadata);
  ------------------
  |  |   66|   696k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   696k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   696k|  do {                      \
  |  |  |  |  |  |   48|   696k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 696k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   696k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   696k|               #member " callback failed")
  ------------------
 2459|       |
 2460|   696k|    Offset last_code_offset = kInvalidOffset;
 2461|   703k|    for (Index j = 0; j < num_metadata; ++j) {
  ------------------
  |  Branch (2461:23): [True: 12.1k, False: 691k]
  ------------------
 2462|  12.1k|      Offset code_offset;
 2463|  12.1k|      CHECK_RESULT(ReadOffset(&code_offset, "code offset"));
  ------------------
  |  |   55|  12.1k|  do {                              \
  |  |   56|  12.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 385, False: 11.7k]
  |  |  ------------------
  |  |   57|    385|      return ::wabt::Result::Error; \
  |  |   58|    385|    }                               \
  |  |   59|  12.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2464|  11.7k|      ERROR_UNLESS(code_offset != last_code_offset,
  ------------------
  |  |   53|  11.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  11.7k|  do {                      \
  |  |  |  |   48|  11.7k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 196, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |   49|    196|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    196|  do {                       \
  |  |  |  |  |  |   42|    196|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    196|    return Result::Error;    \
  |  |  |  |  |  |   44|    196|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    196|    }                       \
  |  |  |  |   51|  11.7k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2465|  11.5k|                   "duplicate code offset: %" PRIzx, code_offset);
 2466|  11.5k|      ERROR_UNLESS(
  ------------------
  |  |   53|  11.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  11.5k|  do {                      \
  |  |  |  |   48|  29.2k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 5.47k, False: 6.08k]
  |  |  |  |  |  Branch (48:9): [True: 1.88k, False: 4.19k]
  |  |  |  |  ------------------
  |  |  |  |   49|  4.19k|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|  4.19k|  do {                       \
  |  |  |  |  |  |   42|  4.19k|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|  4.19k|    return Result::Error;    \
  |  |  |  |  |  |   44|  4.19k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|  4.19k|    }                       \
  |  |  |  |   51|  11.5k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2467|  7.36k|          last_code_offset == kInvalidOffset || code_offset > last_code_offset,
 2468|  7.36k|          "code offset out of order: %" PRIzx, code_offset);
 2469|  7.36k|      last_code_offset = code_offset;
 2470|       |
 2471|  7.36k|      Address data_size;
 2472|  7.36k|      const void* data;
 2473|  7.36k|      CHECK_RESULT(ReadBytes(&data, &data_size, "instance data"));
  ------------------
  |  |   55|  7.36k|  do {                              \
  |  |   56|  7.36k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 343, False: 7.02k]
  |  |  ------------------
  |  |   57|    343|      return ::wabt::Result::Error; \
  |  |   58|    343|    }                               \
  |  |   59|  7.36k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2474|  7.02k|      CALLBACK(OnCodeMetadata, code_offset, data, data_size);
  ------------------
  |  |   66|  7.02k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  7.02k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  7.02k|  do {                      \
  |  |  |  |  |  |   48|  7.02k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 7.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|  7.02k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  7.02k|               #member " callback failed")
  ------------------
 2475|  7.02k|    }
 2476|   696k|  }
 2477|       |
 2478|  40.8k|  CALLBACK(EndCodeMetadataSection);
  ------------------
  |  |   66|  40.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  40.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  40.8k|  do {                      \
  |  |  |  |  |  |   48|  40.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 40.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|  40.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  40.8k|               #member " callback failed")
  ------------------
 2479|  40.8k|  return Result::Ok;
 2480|  40.8k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader9ReadBytesEPPKvPmPKc:
  412|  19.5k|                               const char* desc) {
  413|  19.5k|  uint32_t data_size = 0;
  414|  19.5k|  CHECK_RESULT(ReadU32Leb128(&data_size, "data size"));
  ------------------
  |  |   55|  19.5k|  do {                              \
  |  |   56|  19.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 128, False: 19.4k]
  |  |  ------------------
  |  |   57|    128|      return ::wabt::Result::Error; \
  |  |   58|    128|    }                               \
  |  |   59|  19.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  415|  19.4k|  CHECK_RESULT(ReadBytesWithSize(out_data, data_size, desc));
  ------------------
  |  |   55|  19.4k|  do {                              \
  |  |   56|  19.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 268, False: 19.1k]
  |  |  ------------------
  |  |   57|    268|      return ::wabt::Result::Error; \
  |  |   58|    268|    }                               \
  |  |   59|  19.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  416|  19.1k|  *out_data_size = data_size;
  417|  19.1k|  return Result::Ok;
  418|  19.4k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardIbXadL_ZNS1_23reading_custom_section_EEEED2Ev:
   91|   748k|    ~ValueRestoreGuard() { this_->*member = previous_value_; }
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadTypeSectionEm:
 2524|  1.28k|Result BinaryReader::ReadTypeSection(Offset section_size) {
 2525|  1.28k|  CALLBACK(BeginTypeSection, section_size);
  ------------------
  |  |   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")
  ------------------
 2526|  1.28k|  Index num_signatures;
 2527|  1.28k|  CHECK_RESULT(ReadCount(&num_signatures, "type count"));
  ------------------
  |  |   55|  1.28k|  do {                              \
  |  |   56|  1.28k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 277, False: 1.01k]
  |  |  ------------------
  |  |   57|    277|      return ::wabt::Result::Error; \
  |  |   58|    277|    }                               \
  |  |   59|  1.28k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2528|  1.01k|  CALLBACK(OnTypeCount, num_signatures);
  ------------------
  |  |   66|  1.01k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.01k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.01k|  do {                      \
  |  |  |  |  |  |   48|  1.01k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.01k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.01k|               #member " callback failed")
  ------------------
 2529|       |
 2530|  2.82k|  for (Index i = 0; i < num_signatures; ++i) {
  ------------------
  |  Branch (2530:21): [True: 2.75k, False: 66]
  ------------------
 2531|  2.75k|    Type form;
 2532|  2.75k|    if (options_.features.gc_enabled()) {
  ------------------
  |  Branch (2532:9): [True: 1.62k, False: 1.12k]
  ------------------
 2533|  1.62k|      CHECK_RESULT(ReadType(&form, "type form"));
  ------------------
  |  |   55|  1.62k|  do {                              \
  |  |   56|  1.62k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 53, False: 1.57k]
  |  |  ------------------
  |  |   57|     53|      return ::wabt::Result::Error; \
  |  |   58|     53|    }                               \
  |  |   59|  1.62k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2534|  1.62k|    } else {
 2535|  1.12k|      uint8_t type;
 2536|  1.12k|      CHECK_RESULT(ReadU8(&type, "type form"));
  ------------------
  |  |   55|  1.12k|  do {                              \
  |  |   56|  1.12k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 50, False: 1.07k]
  |  |  ------------------
  |  |   57|     50|      return ::wabt::Result::Error; \
  |  |   58|     50|    }                               \
  |  |   59|  1.12k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2537|  1.07k|      ERROR_UNLESS(type == 0x60, "unexpected type form (got %#x)", type);
  ------------------
  |  |   53|  1.07k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.07k|  do {                      \
  |  |  |  |   48|  1.07k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 93, False: 982]
  |  |  |  |  ------------------
  |  |  |  |   49|     93|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     93|  do {                       \
  |  |  |  |  |  |   42|     93|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     93|    return Result::Error;    \
  |  |  |  |  |  |   44|     93|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     93|    }                       \
  |  |  |  |   51|  1.07k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2538|    982|      form = Type::Func;
 2539|    982|    }
 2540|       |
 2541|  2.55k|    switch (form) {
 2542|  1.85k|      case Type::Func: {
  ------------------
  |  Branch (2542:7): [True: 1.85k, False: 708]
  ------------------
 2543|  1.85k|        Index num_params;
 2544|  1.85k|        CHECK_RESULT(ReadCount(&num_params, "function param count"));
  ------------------
  |  |   55|  1.85k|  do {                              \
  |  |   56|  1.85k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 47, False: 1.80k]
  |  |  ------------------
  |  |   57|     47|      return ::wabt::Result::Error; \
  |  |   58|     47|    }                               \
  |  |   59|  1.85k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2545|       |
 2546|  1.80k|        param_types_.resize(num_params);
 2547|       |
 2548|  5.03k|        for (Index j = 0; j < num_params; ++j) {
  ------------------
  |  Branch (2548:27): [True: 3.37k, False: 1.66k]
  ------------------
 2549|  3.37k|          Type param_type;
 2550|  3.37k|          CHECK_RESULT(ReadType(&param_type, "function param type"));
  ------------------
  |  |   55|  3.37k|  do {                              \
  |  |   56|  3.37k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 9, False: 3.36k]
  |  |  ------------------
  |  |   57|      9|      return ::wabt::Result::Error; \
  |  |   58|      9|    }                               \
  |  |   59|  3.37k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2551|  3.36k|          ERROR_UNLESS(IsConcreteType(param_type),
  ------------------
  |  |   53|  3.36k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  3.36k|  do {                      \
  |  |  |  |   48|  3.36k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 129, False: 3.23k]
  |  |  |  |  ------------------
  |  |  |  |   49|    129|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    129|  do {                       \
  |  |  |  |  |  |   42|    258|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:16): [True: 54, False: 75]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|    129|    return Result::Error;    \
  |  |  |  |  |  |   44|    129|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    129|    }                       \
  |  |  |  |   51|  3.36k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2552|  3.23k|                       "expected valid param type (got " PRItypecode ")",
 2553|  3.23k|                       WABT_PRINTF_TYPE_CODE(param_type));
 2554|  3.23k|          param_types_[j] = param_type;
 2555|  3.23k|        }
 2556|       |
 2557|  1.66k|        Index num_results;
 2558|  1.66k|        CHECK_RESULT(ReadCount(&num_results, "function result count"));
  ------------------
  |  |   55|  1.66k|  do {                              \
  |  |   56|  1.66k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 58, False: 1.60k]
  |  |  ------------------
  |  |   57|     58|      return ::wabt::Result::Error; \
  |  |   58|     58|    }                               \
  |  |   59|  1.66k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2559|       |
 2560|  1.60k|        result_types_.resize(num_results);
 2561|       |
 2562|  4.80k|        for (Index j = 0; j < num_results; ++j) {
  ------------------
  |  Branch (2562:27): [True: 3.35k, False: 1.44k]
  ------------------
 2563|  3.35k|          Type result_type;
 2564|  3.35k|          CHECK_RESULT(ReadType(&result_type, "function result type"));
  ------------------
  |  |   55|  3.35k|  do {                              \
  |  |   56|  3.35k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 8, False: 3.34k]
  |  |  ------------------
  |  |   57|      8|      return ::wabt::Result::Error; \
  |  |   58|      8|    }                               \
  |  |   59|  3.35k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2565|  3.34k|          ERROR_UNLESS(IsConcreteType(result_type),
  ------------------
  |  |   53|  3.34k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  3.34k|  do {                      \
  |  |  |  |   48|  3.34k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 152, False: 3.19k]
  |  |  |  |  ------------------
  |  |  |  |   49|    152|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    152|  do {                       \
  |  |  |  |  |  |   42|    304|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:16): [True: 82, False: 70]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|    152|    return Result::Error;    \
  |  |  |  |  |  |   44|    152|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    152|    }                       \
  |  |  |  |   51|  3.34k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2566|  3.19k|                       "expected valid result type (got " PRItypecode ")",
 2567|  3.19k|                       WABT_PRINTF_TYPE_CODE(result_type));
 2568|  3.19k|          result_types_[j] = result_type;
 2569|  3.19k|        }
 2570|       |
 2571|  1.44k|        Type* param_types = num_params ? param_types_.data() : nullptr;
  ------------------
  |  Branch (2571:29): [True: 580, False: 867]
  ------------------
 2572|  1.44k|        Type* result_types = num_results ? result_types_.data() : nullptr;
  ------------------
  |  Branch (2572:30): [True: 711, False: 736]
  ------------------
 2573|       |
 2574|  1.44k|        CALLBACK(OnFuncType, i, num_params, param_types, num_results,
  ------------------
  |  |   66|  1.44k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.44k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.44k|  do {                      \
  |  |  |  |  |  |   48|  1.44k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.44k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.44k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.44k|               #member " callback failed")
  ------------------
 2575|  1.44k|                 result_types);
 2576|  1.44k|        break;
 2577|  1.44k|      }
 2578|       |
 2579|  1.44k|      case Type::Struct: {
  ------------------
  |  Branch (2579:7): [True: 434, False: 2.12k]
  ------------------
 2580|    434|        ERROR_UNLESS(options_.features.gc_enabled(),
  ------------------
  |  |   53|    434|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    434|  do {                      \
  |  |  |  |   48|    434|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 434]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|    434|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2581|    434|                     "invalid type form: struct not allowed");
 2582|    434|        Index num_fields;
 2583|    434|        CHECK_RESULT(ReadCount(&num_fields, "field count"));
  ------------------
  |  |   55|    434|  do {                              \
  |  |   56|    434|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 36, False: 398]
  |  |  ------------------
  |  |   57|     36|      return ::wabt::Result::Error; \
  |  |   58|     36|    }                               \
  |  |   59|    434|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2584|       |
 2585|    398|        fields_.resize(num_fields);
 2586|  1.05k|        for (Index j = 0; j < num_fields; ++j) {
  ------------------
  |  Branch (2586:27): [True: 721, False: 338]
  ------------------
 2587|    721|          CHECK_RESULT(ReadField(&fields_[j]));
  ------------------
  |  |   55|    721|  do {                              \
  |  |   56|    721|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 60, False: 661]
  |  |  ------------------
  |  |   57|     60|      return ::wabt::Result::Error; \
  |  |   58|     60|    }                               \
  |  |   59|    721|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2588|    721|        }
 2589|       |
 2590|    338|        CALLBACK(OnStructType, i, fields_.size(), fields_.data());
  ------------------
  |  |   66|    338|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    338|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    338|  do {                      \
  |  |  |  |  |  |   48|    338|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 338]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    338|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    338|               #member " callback failed")
  ------------------
 2591|    338|        break;
 2592|    338|      }
 2593|       |
 2594|    338|      case Type::Array: {
  ------------------
  |  Branch (2594:7): [True: 115, False: 2.44k]
  ------------------
 2595|    115|        ERROR_UNLESS(options_.features.gc_enabled(),
  ------------------
  |  |   53|    115|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    115|  do {                      \
  |  |  |  |   48|    115|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 0, False: 115]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      0|    }                       \
  |  |  |  |   51|    115|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2596|    115|                     "invalid type form: array not allowed");
 2597|       |
 2598|    115|        TypeMut field;
 2599|    115|        CHECK_RESULT(ReadField(&field));
  ------------------
  |  |   55|    115|  do {                              \
  |  |   56|    115|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 90, False: 25]
  |  |  ------------------
  |  |   57|     90|      return ::wabt::Result::Error; \
  |  |   58|     90|    }                               \
  |  |   59|    115|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2600|     25|        CALLBACK(OnArrayType, i, field);
  ------------------
  |  |   66|     25|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     25|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     25|  do {                      \
  |  |  |  |  |  |   48|     25|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 25]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     25|               #member " callback failed")
  ------------------
 2601|     25|        break;
 2602|     25|      };
 2603|       |
 2604|    159|      default:
  ------------------
  |  Branch (2604:7): [True: 159, False: 2.39k]
  ------------------
 2605|    159|        PrintError("unexpected type form (got " PRItypecode ")",
 2606|    159|                   WABT_PRINTF_TYPE_CODE(form));
  ------------------
  |  |   32|    159|  (static_cast<int32_t>(x) < 0 ? "-" : ""), std::abs(static_cast<int32_t>(x))
  |  |  ------------------
  |  |  |  Branch (32:4): [True: 69, False: 90]
  |  |  ------------------
  ------------------
 2607|    159|        return Result::Error;
 2608|  2.55k|    }
 2609|  2.55k|  }
 2610|     66|  CALLBACK0(EndTypeSection);
  ------------------
  |  |   63|     66|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|     66|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     66|  do {                      \
  |  |  |  |  |  |   48|     66|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 66]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2611|     66|  return Result::Ok;
 2612|     66|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader8ReadTypeEPNS_4TypeEPKc:
  365|  1.01M|Result BinaryReader::ReadType(Type* out_value, const char* desc) {
  366|  1.01M|  uint32_t type = 0;
  367|  1.01M|  CHECK_RESULT(ReadS32Leb128(&type, desc));
  ------------------
  |  |   55|  1.01M|  do {                              \
  |  |   56|  1.01M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 375, False: 1.01M]
  |  |  ------------------
  |  |   57|    375|      return ::wabt::Result::Error; \
  |  |   58|    375|    }                               \
  |  |   59|  1.01M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  368|  1.01M|  if (static_cast<Type::Enum>(type) == Type::Reference) {
  ------------------
  |  Branch (368:7): [True: 2.36k, False: 1.01M]
  ------------------
  369|  2.36k|    uint32_t heap_type = 0;
  370|  2.36k|    CHECK_RESULT(ReadS32Leb128(&heap_type, desc));
  ------------------
  |  |   55|  2.36k|  do {                              \
  |  |   56|  2.36k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7, False: 2.36k]
  |  |  ------------------
  |  |   57|      7|      return ::wabt::Result::Error; \
  |  |   58|      7|    }                               \
  |  |   59|  2.36k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  371|  2.36k|    *out_value = Type(Type::Reference, heap_type);
  372|  1.01M|  } else {
  373|  1.01M|    *out_value = static_cast<Type>(type);
  374|  1.01M|  }
  375|  1.01M|  return Result::Ok;
  376|  1.01M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader14IsConcreteTypeENS_4TypeE:
  555|  1.01M|bool BinaryReader::IsConcreteType(Type type) {
  556|  1.01M|  switch (type) {
  557|  4.70k|    case Type::I32:
  ------------------
  |  Branch (557:5): [True: 4.70k, False: 1.00M]
  ------------------
  558|  13.5k|    case Type::I64:
  ------------------
  |  Branch (558:5): [True: 8.82k, False: 1.00M]
  ------------------
  559|  20.0k|    case Type::F32:
  ------------------
  |  Branch (559:5): [True: 6.48k, False: 1.00M]
  ------------------
  560|  36.2k|    case Type::F64:
  ------------------
  |  Branch (560:5): [True: 16.2k, False: 994k]
  ------------------
  561|  36.2k|      return true;
  562|       |
  563|  2.43k|    case Type::V128:
  ------------------
  |  Branch (563:5): [True: 2.43k, False: 1.00M]
  ------------------
  564|  2.43k|      return options_.features.simd_enabled();
  565|       |
  566|  3.32k|    case Type::FuncRef:
  ------------------
  |  Branch (566:5): [True: 3.32k, False: 1.00M]
  ------------------
  567|  7.24k|    case Type::ExternRef:
  ------------------
  |  Branch (567:5): [True: 3.92k, False: 1.00M]
  ------------------
  568|  7.24k|      return options_.features.reference_types_enabled();
  569|       |
  570|  2.02k|    case Type::ExnRef:
  ------------------
  |  Branch (570:5): [True: 2.02k, False: 1.00M]
  ------------------
  571|  2.02k|      return options_.features.exceptions_enabled();
  572|       |
  573|  1.91k|    case Type::Reference:
  ------------------
  |  Branch (573:5): [True: 1.91k, False: 1.00M]
  ------------------
  574|  1.91k|      return options_.features.function_references_enabled();
  575|       |
  576|   960k|    default:
  ------------------
  |  Branch (576:5): [True: 960k, False: 49.8k]
  ------------------
  577|   960k|      return false;
  578|  1.01M|  }
  579|  1.01M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader9ReadFieldEPNS_7TypeMutE:
  539|    836|Result BinaryReader::ReadField(TypeMut* out_value) {
  540|       |  // TODO: Reuse for global header too?
  541|    836|  Type field_type;
  542|    836|  CHECK_RESULT(ReadType(&field_type, "field type"));
  ------------------
  |  |   55|    836|  do {                              \
  |  |   56|    836|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 12, False: 824]
  |  |  ------------------
  |  |   57|     12|      return ::wabt::Result::Error; \
  |  |   58|     12|    }                               \
  |  |   59|    836|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  543|    824|  ERROR_UNLESS(IsConcreteType(field_type),
  ------------------
  |  |   53|    824|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    824|  do {                      \
  |  |  |  |   48|    824|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 103, False: 721]
  |  |  |  |  ------------------
  |  |  |  |   49|    103|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    103|  do {                       \
  |  |  |  |  |  |   42|    206|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:16): [True: 46, False: 57]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|    103|    return Result::Error;    \
  |  |  |  |  |  |   44|    103|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    103|    }                       \
  |  |  |  |   51|    824|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  544|    721|               "expected valid field type (got " PRItypecode ")",
  545|    721|               WABT_PRINTF_TYPE_CODE(field_type));
  546|       |
  547|    721|  uint8_t mutable_ = 0;
  548|    721|  CHECK_RESULT(ReadU8(&mutable_, "field mutability"));
  ------------------
  |  |   55|    721|  do {                              \
  |  |   56|    721|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 18, False: 703]
  |  |  ------------------
  |  |   57|     18|      return ::wabt::Result::Error; \
  |  |   58|     18|    }                               \
  |  |   59|    721|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  549|    703|  ERROR_UNLESS(mutable_ <= 1, "field mutability must be 0 or 1");
  ------------------
  |  |   53|    703|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    703|  do {                      \
  |  |  |  |   48|    703|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 17, False: 686]
  |  |  |  |  ------------------
  |  |  |  |   49|     17|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     17|  do {                       \
  |  |  |  |  |  |   42|     17|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     17|    return Result::Error;    \
  |  |  |  |  |  |   44|     17|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     17|    }                       \
  |  |  |  |   51|    703|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  550|    686|  out_value->type = field_type;
  551|    686|  out_value->mutable_ = mutable_;
  552|    686|  return Result::Ok;
  553|    703|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadImportSectionEm:
 2614|    615|Result BinaryReader::ReadImportSection(Offset section_size) {
 2615|    615|  CALLBACK(BeginImportSection, section_size);
  ------------------
  |  |   66|    615|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    615|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    615|  do {                      \
  |  |  |  |  |  |   48|    615|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 615]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    615|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    615|               #member " callback failed")
  ------------------
 2616|    615|  Index num_imports;
 2617|    615|  CHECK_RESULT(ReadCount(&num_imports, "import count"));
  ------------------
  |  |   55|    615|  do {                              \
  |  |   56|    615|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 128, False: 487]
  |  |  ------------------
  |  |   57|    128|      return ::wabt::Result::Error; \
  |  |   58|    128|    }                               \
  |  |   59|    615|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2618|    487|  CALLBACK(OnImportCount, num_imports);
  ------------------
  |  |   66|    487|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    487|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    487|  do {                      \
  |  |  |  |  |  |   48|    487|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 487]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    487|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    487|               #member " callback failed")
  ------------------
 2619|  72.0k|  for (Index i = 0; i < num_imports; ++i) {
  ------------------
  |  Branch (2619:21): [True: 72.0k, False: 35]
  ------------------
 2620|  72.0k|    std::string_view module_name;
 2621|  72.0k|    CHECK_RESULT(ReadStr(&module_name, "import module name"));
  ------------------
  |  |   55|  72.0k|  do {                              \
  |  |   56|  72.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 151, False: 71.8k]
  |  |  ------------------
  |  |   57|    151|      return ::wabt::Result::Error; \
  |  |   58|    151|    }                               \
  |  |   59|  72.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2622|  71.8k|    std::string_view field_name;
 2623|  71.8k|    CHECK_RESULT(ReadStr(&field_name, "import field name"));
  ------------------
  |  |   55|  71.8k|  do {                              \
  |  |   56|  71.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 143, False: 71.7k]
  |  |  ------------------
  |  |   57|    143|      return ::wabt::Result::Error; \
  |  |   58|    143|    }                               \
  |  |   59|  71.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2624|       |
 2625|  71.7k|    uint8_t kind;
 2626|  71.7k|    CHECK_RESULT(ReadU8(&kind, "import kind"));
  ------------------
  |  |   55|  71.7k|  do {                              \
  |  |   56|  71.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 21, False: 71.7k]
  |  |  ------------------
  |  |   57|     21|      return ::wabt::Result::Error; \
  |  |   58|     21|    }                               \
  |  |   59|  71.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2627|  71.7k|    CALLBACK(OnImport, i, static_cast<ExternalKind>(kind), module_name,
  ------------------
  |  |   66|  71.7k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  71.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  71.7k|  do {                      \
  |  |  |  |  |  |   48|  71.7k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 71.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|  71.7k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  71.7k|               #member " callback failed")
  ------------------
 2628|  71.7k|             field_name);
 2629|  71.7k|    switch (static_cast<ExternalKind>(kind)) {
 2630|  66.6k|      case ExternalKind::Func: {
  ------------------
  |  Branch (2630:7): [True: 66.6k, False: 5.02k]
  ------------------
 2631|  66.6k|        Index sig_index;
 2632|  66.6k|        CHECK_RESULT(ReadIndex(&sig_index, "import signature index"));
  ------------------
  |  |   55|  66.6k|  do {                              \
  |  |   56|  66.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 14, False: 66.6k]
  |  |  ------------------
  |  |   57|     14|      return ::wabt::Result::Error; \
  |  |   58|     14|    }                               \
  |  |   59|  66.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2633|  66.6k|        CALLBACK(OnImportFunc, i, module_name, field_name, num_func_imports_,
  ------------------
  |  |   66|  66.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  66.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  66.6k|  do {                      \
  |  |  |  |  |  |   48|  66.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 66.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|  66.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  66.6k|               #member " callback failed")
  ------------------
 2634|  66.6k|                 sig_index);
 2635|  66.6k|        num_func_imports_++;
 2636|  66.6k|        break;
 2637|  66.6k|      }
 2638|       |
 2639|    576|      case ExternalKind::Table: {
  ------------------
  |  Branch (2639:7): [True: 576, False: 71.1k]
  ------------------
 2640|    576|        Type elem_type;
 2641|    576|        Limits elem_limits;
 2642|    576|        CHECK_RESULT(ReadTable(&elem_type, &elem_limits));
  ------------------
  |  |   55|    576|  do {                              \
  |  |   56|    576|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 24, False: 552]
  |  |  ------------------
  |  |   57|     24|      return ::wabt::Result::Error; \
  |  |   58|     24|    }                               \
  |  |   59|    576|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2643|    552|        CALLBACK(OnImportTable, i, module_name, field_name, num_table_imports_,
  ------------------
  |  |   66|    552|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    552|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    552|  do {                      \
  |  |  |  |  |  |   48|    552|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 552]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    552|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    552|               #member " callback failed")
  ------------------
 2644|    552|                 elem_type, &elem_limits);
 2645|    552|        num_table_imports_++;
 2646|    552|        break;
 2647|    552|      }
 2648|       |
 2649|  1.48k|      case ExternalKind::Memory: {
  ------------------
  |  Branch (2649:7): [True: 1.48k, False: 70.2k]
  ------------------
 2650|  1.48k|        Limits page_limits;
 2651|  1.48k|        uint32_t page_size;
 2652|  1.48k|        CHECK_RESULT(ReadMemory(&page_limits, &page_size));
  ------------------
  |  |   55|  1.48k|  do {                              \
  |  |   56|  1.48k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 27, False: 1.45k]
  |  |  ------------------
  |  |   57|     27|      return ::wabt::Result::Error; \
  |  |   58|     27|    }                               \
  |  |   59|  1.48k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2653|  1.45k|        CALLBACK(OnImportMemory, i, module_name, field_name,
  ------------------
  |  |   66|  1.45k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.45k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.45k|  do {                      \
  |  |  |  |  |  |   48|  1.45k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.45k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.45k|               #member " callback failed")
  ------------------
 2654|  1.45k|                 num_memory_imports_, &page_limits, page_size);
 2655|  1.45k|        num_memory_imports_++;
 2656|  1.45k|        break;
 2657|  1.45k|      }
 2658|       |
 2659|    967|      case ExternalKind::Global: {
  ------------------
  |  Branch (2659:7): [True: 967, False: 70.7k]
  ------------------
 2660|    967|        Type type;
 2661|    967|        bool mutable_;
 2662|    967|        CHECK_RESULT(ReadGlobalHeader(&type, &mutable_));
  ------------------
  |  |   55|    967|  do {                              \
  |  |   56|    967|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 11, False: 956]
  |  |  ------------------
  |  |   57|     11|      return ::wabt::Result::Error; \
  |  |   58|     11|    }                               \
  |  |   59|    967|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2663|    956|        CALLBACK(OnImportGlobal, i, module_name, field_name,
  ------------------
  |  |   66|    956|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    956|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    956|  do {                      \
  |  |  |  |  |  |   48|    956|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 956]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    956|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    956|               #member " callback failed")
  ------------------
 2664|    956|                 num_global_imports_, type, mutable_);
 2665|    956|        num_global_imports_++;
 2666|    956|        break;
 2667|    956|      }
 2668|       |
 2669|  1.94k|      case ExternalKind::Tag: {
  ------------------
  |  Branch (2669:7): [True: 1.94k, False: 69.7k]
  ------------------
 2670|  1.94k|        ERROR_UNLESS(options_.features.exceptions_enabled(),
  ------------------
  |  |   53|  1.94k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.94k|  do {                      \
  |  |  |  |   48|  1.94k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 3, False: 1.94k]
  |  |  |  |  ------------------
  |  |  |  |   49|      3|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      3|  do {                       \
  |  |  |  |  |  |   42|      3|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      3|    return Result::Error;    \
  |  |  |  |  |  |   44|      3|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      3|    }                       \
  |  |  |  |   51|  1.94k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2671|  1.94k|                     "invalid import tag kind: exceptions not allowed");
 2672|  1.94k|        Index sig_index;
 2673|  1.94k|        CHECK_RESULT(ReadTagType(&sig_index));
  ------------------
  |  |   55|  1.94k|  do {                              \
  |  |   56|  1.94k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 9, False: 1.93k]
  |  |  ------------------
  |  |   57|      9|      return ::wabt::Result::Error; \
  |  |   58|      9|    }                               \
  |  |   59|  1.94k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2674|  1.93k|        CALLBACK(OnImportTag, i, module_name, field_name, num_tag_imports_,
  ------------------
  |  |   66|  1.93k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.93k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.93k|  do {                      \
  |  |  |  |  |  |   48|  1.93k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.93k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.93k|               #member " callback failed")
  ------------------
 2675|  1.93k|                 sig_index);
 2676|  1.93k|        num_tag_imports_++;
 2677|  1.93k|        break;
 2678|  1.93k|      }
 2679|       |
 2680|     49|      default:
  ------------------
  |  Branch (2680:7): [True: 49, False: 71.6k]
  ------------------
 2681|     49|        PrintError("malformed import kind: %d", kind);
 2682|     49|        return Result::Error;
 2683|  71.7k|    }
 2684|  71.7k|  }
 2685|       |
 2686|     35|  CALLBACK0(EndImportSection);
  ------------------
  |  |   63|     35|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|     35|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     35|  do {                      \
  |  |  |  |  |  |   48|     35|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 35]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     35|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2687|     35|  return Result::Ok;
 2688|     35|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader9ReadTableEPNS_4TypeEPNS_6LimitsE:
  603|  1.23k|Result BinaryReader::ReadTable(Type* out_elem_type, Limits* out_elem_limits) {
  604|  1.23k|  CHECK_RESULT(ReadRefType(out_elem_type, "table elem type"));
  ------------------
  |  |   55|  1.23k|  do {                              \
  |  |   56|  1.23k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 163, False: 1.06k]
  |  |  ------------------
  |  |   57|    163|      return ::wabt::Result::Error; \
  |  |   58|    163|    }                               \
  |  |   59|  1.23k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  605|       |
  606|  1.06k|  uint8_t flags;
  607|  1.06k|  uint32_t initial;
  608|  1.06k|  uint32_t max = 0;
  609|  1.06k|  CHECK_RESULT(ReadU8(&flags, "table flags"));
  ------------------
  |  |   55|  1.06k|  do {                              \
  |  |   56|  1.06k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 13, False: 1.05k]
  |  |  ------------------
  |  |   57|     13|      return ::wabt::Result::Error; \
  |  |   58|     13|    }                               \
  |  |   59|  1.06k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  610|  1.05k|  bool has_max = flags & WABT_BINARY_LIMITS_HAS_MAX_FLAG;
  ------------------
  |  |   26|  1.05k|#define WABT_BINARY_LIMITS_HAS_MAX_FLAG 0x1
  ------------------
  611|  1.05k|  bool is_shared = flags & WABT_BINARY_LIMITS_IS_SHARED_FLAG;
  ------------------
  |  |   27|  1.05k|#define WABT_BINARY_LIMITS_IS_SHARED_FLAG 0x2
  ------------------
  612|  1.05k|  bool is_64 = flags & WABT_BINARY_LIMITS_IS_64_FLAG;
  ------------------
  |  |   28|  1.05k|#define WABT_BINARY_LIMITS_IS_64_FLAG 0x4
  ------------------
  613|  1.05k|  const uint8_t unknown_flags = flags & ~WABT_BINARY_LIMITS_ALL_TABLE_FLAGS;
  ------------------
  |  |   35|  1.05k|  (WABT_BINARY_LIMITS_HAS_MAX_FLAG | WABT_BINARY_LIMITS_IS_SHARED_FLAG | \
  |  |  ------------------
  |  |  |  |   26|  1.05k|#define WABT_BINARY_LIMITS_HAS_MAX_FLAG 0x1
  |  |  ------------------
  |  |                 (WABT_BINARY_LIMITS_HAS_MAX_FLAG | WABT_BINARY_LIMITS_IS_SHARED_FLAG | \
  |  |  ------------------
  |  |  |  |   27|  1.05k|#define WABT_BINARY_LIMITS_IS_SHARED_FLAG 0x2
  |  |  ------------------
  |  |   36|  1.05k|   WABT_BINARY_LIMITS_IS_64_FLAG)
  |  |  ------------------
  |  |  |  |   28|  1.05k|#define WABT_BINARY_LIMITS_IS_64_FLAG 0x4
  |  |  ------------------
  ------------------
  614|  1.05k|  ERROR_IF(is_shared, "tables may not be shared");
  ------------------
  |  |   47|  1.05k|  do {                      \
  |  |   48|  1.05k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 11, False: 1.04k]
  |  |  ------------------
  |  |   49|     11|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     11|  do {                       \
  |  |  |  |   42|     11|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     11|    return Result::Error;    \
  |  |  |  |   44|     11|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     11|    }                       \
  |  |   51|  1.05k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  615|  1.04k|  ERROR_IF(is_64 && !options_.features.memory64_enabled(),
  ------------------
  |  |   47|  1.04k|  do {                      \
  |  |   48|  2.32k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 243, False: 800]
  |  |  |  Branch (48:9): [True: 3, False: 240]
  |  |  ------------------
  |  |   49|      3|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      3|  do {                       \
  |  |  |  |   42|      3|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      3|    return Result::Error;    \
  |  |  |  |   44|      3|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      3|    }                       \
  |  |   51|  1.04k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  616|  1.04k|           "memory64 not allowed");
  617|  1.04k|  ERROR_UNLESS(unknown_flags == 0, "malformed table limits flag: %d", flags);
  ------------------
  |  |   53|  1.04k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.04k|  do {                      \
  |  |  |  |   48|  1.04k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 15, False: 1.02k]
  |  |  |  |  ------------------
  |  |  |  |   49|     15|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     15|  do {                       \
  |  |  |  |  |  |   42|     15|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     15|    return Result::Error;    \
  |  |  |  |  |  |   44|     15|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     15|    }                       \
  |  |  |  |   51|  1.04k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  618|  1.02k|  CHECK_RESULT(ReadU32Leb128(&initial, "table initial elem count"));
  ------------------
  |  |   55|  1.02k|  do {                              \
  |  |   56|  1.02k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7, False: 1.01k]
  |  |  ------------------
  |  |   57|      7|      return ::wabt::Result::Error; \
  |  |   58|      7|    }                               \
  |  |   59|  1.02k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  619|  1.01k|  if (has_max) {
  ------------------
  |  Branch (619:7): [True: 309, False: 709]
  ------------------
  620|    309|    CHECK_RESULT(ReadU32Leb128(&max, "table max elem count"));
  ------------------
  |  |   55|    309|  do {                              \
  |  |   56|    309|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2, False: 307]
  |  |  ------------------
  |  |   57|      2|      return ::wabt::Result::Error; \
  |  |   58|      2|    }                               \
  |  |   59|    309|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  621|    309|  }
  622|       |
  623|  1.01k|  out_elem_limits->has_max = has_max;
  624|  1.01k|  out_elem_limits->is_64 = is_64;
  625|  1.01k|  out_elem_limits->initial = initial;
  626|  1.01k|  out_elem_limits->max = max;
  627|  1.01k|  return Result::Ok;
  628|  1.01k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader11ReadRefTypeEPNS_4TypeEPKc:
  378|  2.89k|Result BinaryReader::ReadRefType(Type* out_value, const char* desc) {
  379|  2.89k|  CHECK_RESULT(ReadType(out_value, desc));
  ------------------
  |  |   55|  2.89k|  do {                              \
  |  |   56|  2.89k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 46, False: 2.84k]
  |  |  ------------------
  |  |   57|     46|      return ::wabt::Result::Error; \
  |  |   58|     46|    }                               \
  |  |   59|  2.89k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  380|  2.84k|  ERROR_UNLESS(out_value->IsRef(), "%s must be a reference type", desc);
  ------------------
  |  |   53|  2.84k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  2.84k|  do {                      \
  |  |  |  |   48|  2.84k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 291, False: 2.55k]
  |  |  |  |  ------------------
  |  |  |  |   49|    291|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    291|  do {                       \
  |  |  |  |  |  |   42|    291|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|    291|    return Result::Error;    \
  |  |  |  |  |  |   44|    291|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    291|    }                       \
  |  |  |  |   51|  2.84k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  381|  2.55k|  return Result::Ok;
  382|  2.84k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10ReadMemoryEPNS_6LimitsEPj:
  631|  3.46k|                                uint32_t* out_page_size) {
  632|  3.46k|  uint8_t flags;
  633|  3.46k|  uint64_t initial;
  634|  3.46k|  uint64_t max = 0;
  635|  3.46k|  CHECK_RESULT(ReadU8(&flags, "memory flags"));
  ------------------
  |  |   55|  3.46k|  do {                              \
  |  |   56|  3.46k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 50, False: 3.41k]
  |  |  ------------------
  |  |   57|     50|      return ::wabt::Result::Error; \
  |  |   58|     50|    }                               \
  |  |   59|  3.46k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  636|  3.41k|  bool has_max = flags & WABT_BINARY_LIMITS_HAS_MAX_FLAG;
  ------------------
  |  |   26|  3.41k|#define WABT_BINARY_LIMITS_HAS_MAX_FLAG 0x1
  ------------------
  637|  3.41k|  bool is_shared = flags & WABT_BINARY_LIMITS_IS_SHARED_FLAG;
  ------------------
  |  |   27|  3.41k|#define WABT_BINARY_LIMITS_IS_SHARED_FLAG 0x2
  ------------------
  638|  3.41k|  bool is_64 = flags & WABT_BINARY_LIMITS_IS_64_FLAG;
  ------------------
  |  |   28|  3.41k|#define WABT_BINARY_LIMITS_IS_64_FLAG 0x4
  ------------------
  639|  3.41k|  bool has_custom_page_size =
  640|  3.41k|      flags & WABT_BINARY_LIMITS_HAS_CUSTOM_PAGE_SIZE_FLAG;
  ------------------
  |  |   29|  3.41k|#define WABT_BINARY_LIMITS_HAS_CUSTOM_PAGE_SIZE_FLAG 0x8
  ------------------
  641|  3.41k|  const uint8_t unknown_flags = flags & ~WABT_BINARY_LIMITS_ALL_MEMORY_FLAGS;
  ------------------
  |  |   31|  3.41k|  (WABT_BINARY_LIMITS_HAS_MAX_FLAG | WABT_BINARY_LIMITS_IS_SHARED_FLAG | \
  |  |  ------------------
  |  |  |  |   26|  3.41k|#define WABT_BINARY_LIMITS_HAS_MAX_FLAG 0x1
  |  |  ------------------
  |  |                 (WABT_BINARY_LIMITS_HAS_MAX_FLAG | WABT_BINARY_LIMITS_IS_SHARED_FLAG | \
  |  |  ------------------
  |  |  |  |   27|  3.41k|#define WABT_BINARY_LIMITS_IS_SHARED_FLAG 0x2
  |  |  ------------------
  |  |   32|  3.41k|   WABT_BINARY_LIMITS_IS_64_FLAG |                                       \
  |  |  ------------------
  |  |  |  |   28|  3.41k|#define WABT_BINARY_LIMITS_IS_64_FLAG 0x4
  |  |  ------------------
  |  |   33|  3.41k|   WABT_BINARY_LIMITS_HAS_CUSTOM_PAGE_SIZE_FLAG)
  |  |  ------------------
  |  |  |  |   29|  3.41k|#define WABT_BINARY_LIMITS_HAS_CUSTOM_PAGE_SIZE_FLAG 0x8
  |  |  ------------------
  ------------------
  642|  3.41k|  ERROR_UNLESS(unknown_flags == 0, "malformed memory limits flag: %d", flags);
  ------------------
  |  |   53|  3.41k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  3.41k|  do {                      \
  |  |  |  |   48|  3.41k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 63, False: 3.35k]
  |  |  |  |  ------------------
  |  |  |  |   49|     63|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     63|  do {                       \
  |  |  |  |  |  |   42|     63|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     63|    return Result::Error;    \
  |  |  |  |  |  |   44|     63|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     63|    }                       \
  |  |  |  |   51|  3.41k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  643|  3.35k|  ERROR_IF(is_shared && !options_.features.threads_enabled(),
  ------------------
  |  |   47|  3.35k|  do {                      \
  |  |   48|  8.03k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 1.32k, False: 2.03k]
  |  |  |  Branch (48:9): [True: 8, False: 1.31k]
  |  |  ------------------
  |  |   49|      8|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      8|  do {                       \
  |  |  |  |   42|      8|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      8|    return Result::Error;    \
  |  |  |  |   44|      8|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      8|    }                       \
  |  |   51|  3.35k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  644|  3.35k|           "memory may not be shared: threads not allowed");
  645|  3.34k|  ERROR_IF(is_64 && !options_.features.memory64_enabled(),
  ------------------
  |  |   47|  3.34k|  do {                      \
  |  |   48|  7.24k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 549, False: 2.79k]
  |  |  |  Branch (48:9): [True: 9, False: 540]
  |  |  ------------------
  |  |   49|      9|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      9|  do {                       \
  |  |  |  |   42|      9|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      9|    return Result::Error;    \
  |  |  |  |   44|      9|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      9|    }                       \
  |  |   51|  3.34k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  646|  3.34k|           "memory64 not allowed");
  647|  3.33k|  ERROR_IF(
  ------------------
  |  |   47|  3.33k|  do {                      \
  |  |   48|  6.85k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 180, False: 3.15k]
  |  |  |  Branch (48:9): [True: 4, False: 176]
  |  |  ------------------
  |  |   49|      4|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      4|  do {                       \
  |  |  |  |   42|      4|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      4|    return Result::Error;    \
  |  |  |  |   44|      4|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      4|    }                       \
  |  |   51|  3.33k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  648|  3.33k|      has_custom_page_size && !options_.features.custom_page_sizes_enabled(),
  649|  3.33k|      "custom page sizes not allowed");
  650|  3.33k|  if (options_.features.memory64_enabled()) {
  ------------------
  |  Branch (650:7): [True: 1.90k, False: 1.43k]
  ------------------
  651|  1.90k|    CHECK_RESULT(ReadU64Leb128(&initial, "memory initial page count"));
  ------------------
  |  |   55|  1.90k|  do {                              \
  |  |   56|  1.90k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 53, False: 1.85k]
  |  |  ------------------
  |  |   57|     53|      return ::wabt::Result::Error; \
  |  |   58|     53|    }                               \
  |  |   59|  1.90k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  652|  1.85k|    if (has_max) {
  ------------------
  |  Branch (652:9): [True: 566, False: 1.28k]
  ------------------
  653|    566|      CHECK_RESULT(ReadU64Leb128(&max, "memory max page count"));
  ------------------
  |  |   55|    566|  do {                              \
  |  |   56|    566|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 23, False: 543]
  |  |  ------------------
  |  |   57|     23|      return ::wabt::Result::Error; \
  |  |   58|     23|    }                               \
  |  |   59|    566|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  654|    566|    }
  655|  1.85k|  } else {
  656|  1.43k|    uint32_t initial32;
  657|  1.43k|    CHECK_RESULT(ReadU32Leb128(&initial32, "memory initial page count"));
  ------------------
  |  |   55|  1.43k|  do {                              \
  |  |   56|  1.43k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 15, False: 1.41k]
  |  |  ------------------
  |  |   57|     15|      return ::wabt::Result::Error; \
  |  |   58|     15|    }                               \
  |  |   59|  1.43k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  658|  1.41k|    initial = initial32;
  659|  1.41k|    if (has_max) {
  ------------------
  |  Branch (659:9): [True: 515, False: 901]
  ------------------
  660|    515|      uint32_t max32;
  661|    515|      CHECK_RESULT(ReadU32Leb128(&max32, "memory max page count"));
  ------------------
  |  |   55|    515|  do {                              \
  |  |   56|    515|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 5, False: 510]
  |  |  ------------------
  |  |   57|      5|      return ::wabt::Result::Error; \
  |  |   58|      5|    }                               \
  |  |   59|    515|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  662|    510|      max = max32;
  663|    510|    }
  664|  1.41k|  }
  665|  3.23k|  if (has_custom_page_size) {
  ------------------
  |  Branch (665:7): [True: 159, False: 3.08k]
  ------------------
  666|    159|    uint32_t page_size_log2;
  667|    159|    CHECK_RESULT(ReadU32Leb128(&page_size_log2, "memory page size"));
  ------------------
  |  |   55|    159|  do {                              \
  |  |   56|    159|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10, False: 149]
  |  |  ------------------
  |  |   57|     10|      return ::wabt::Result::Error; \
  |  |   58|     10|    }                               \
  |  |   59|    159|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  668|    149|    ERROR_IF(page_size_log2 > 16, "malformed memory page size");
  ------------------
  |  |   47|    149|  do {                      \
  |  |   48|    149|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 40, False: 109]
  |  |  ------------------
  |  |   49|     40|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     40|  do {                       \
  |  |  |  |   42|     40|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     40|    return Result::Error;    \
  |  |  |  |   44|     40|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     40|    }                       \
  |  |   51|    149|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  669|    109|    *out_page_size = 1 << page_size_log2;
  670|  3.08k|  } else {
  671|  3.08k|    *out_page_size = WABT_DEFAULT_PAGE_SIZE;
  ------------------
  |  |   47|  3.08k|#define WABT_DEFAULT_PAGE_SIZE 0x10000
  ------------------
  672|  3.08k|  }
  673|       |
  674|  3.18k|  out_page_limits->has_max = has_max;
  675|  3.18k|  out_page_limits->is_shared = is_shared;
  676|  3.18k|  out_page_limits->is_64 = is_64;
  677|  3.18k|  out_page_limits->initial = initial;
  678|  3.18k|  out_page_limits->max = max;
  679|       |
  680|  3.18k|  return Result::Ok;
  681|  3.23k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13ReadU64Leb128EPmPKc:
  338|   139k|Result BinaryReader::ReadU64Leb128(uint64_t* out_value, const char* desc) {
  339|   139k|  const uint8_t* p = state_.data + state_.offset;
  340|   139k|  const uint8_t* end = state_.data + read_end_;
  341|   139k|  size_t bytes_read = wabt::ReadU64Leb128(p, end, out_value);
  342|   139k|  ERROR_UNLESS(bytes_read > 0, "unable to read u64 leb128: %s", desc);
  ------------------
  |  |   53|   139k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   139k|  do {                      \
  |  |  |  |   48|   139k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 152, False: 139k]
  |  |  |  |  ------------------
  |  |  |  |   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|   139k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  343|   139k|  state_.offset += bytes_read;
  344|   139k|  return Result::Ok;
  345|   139k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadGlobalHeaderEPNS_4TypeEPb:
  683|  2.45k|Result BinaryReader::ReadGlobalHeader(Type* out_type, bool* out_mutable) {
  684|  2.45k|  Type global_type = Type::Void;
  685|  2.45k|  uint8_t mutable_ = 0;
  686|  2.45k|  CHECK_RESULT(ReadType(&global_type, "global type"));
  ------------------
  |  |   55|  2.45k|  do {                              \
  |  |   56|  2.45k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 19, False: 2.44k]
  |  |  ------------------
  |  |   57|     19|      return ::wabt::Result::Error; \
  |  |   58|     19|    }                               \
  |  |   59|  2.45k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  687|  2.44k|  ERROR_UNLESS(IsConcreteType(global_type), "invalid global type: %#x",
  ------------------
  |  |   53|  2.44k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  2.44k|  do {                      \
  |  |  |  |   48|  2.44k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 92, False: 2.34k]
  |  |  |  |  ------------------
  |  |  |  |   49|     92|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     92|  do {                       \
  |  |  |  |  |  |   42|     92|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     92|    return Result::Error;    \
  |  |  |  |  |  |   44|     92|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     92|    }                       \
  |  |  |  |   51|  2.44k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  688|  2.34k|               static_cast<int>(global_type));
  689|       |
  690|  2.34k|  CHECK_RESULT(ReadU8(&mutable_, "global mutability"));
  ------------------
  |  |   55|  2.34k|  do {                              \
  |  |   56|  2.34k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 17, False: 2.33k]
  |  |  ------------------
  |  |   57|     17|      return ::wabt::Result::Error; \
  |  |   58|     17|    }                               \
  |  |   59|  2.34k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  691|  2.33k|  ERROR_UNLESS(mutable_ <= 1, "global mutability must be 0 or 1");
  ------------------
  |  |   53|  2.33k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  2.33k|  do {                      \
  |  |  |  |   48|  2.33k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 16, False: 2.31k]
  |  |  |  |  ------------------
  |  |  |  |   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|  2.33k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  692|       |
  693|  2.31k|  *out_type = global_type;
  694|  2.31k|  *out_mutable = mutable_;
  695|  2.31k|  return Result::Ok;
  696|  2.33k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader11ReadTagTypeEPj:
 2406|  3.88k|Result BinaryReader::ReadTagType(Index* out_sig_index) {
 2407|  3.88k|  uint8_t attribute;
 2408|  3.88k|  CHECK_RESULT(ReadU8(&attribute, "tag attribute"));
  ------------------
  |  |   55|  3.88k|  do {                              \
  |  |   56|  3.88k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 23, False: 3.85k]
  |  |  ------------------
  |  |   57|     23|      return ::wabt::Result::Error; \
  |  |   58|     23|    }                               \
  |  |   59|  3.88k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2409|  3.85k|  ERROR_UNLESS(attribute == 0, "tag attribute must be 0");
  ------------------
  |  |   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: 67, False: 3.79k]
  |  |  |  |  ------------------
  |  |  |  |   49|     67|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     67|  do {                       \
  |  |  |  |  |  |   42|     67|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     67|    return Result::Error;    \
  |  |  |  |  |  |   44|     67|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     67|    }                       \
  |  |  |  |   51|  3.85k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2410|  3.79k|  CHECK_RESULT(ReadIndex(out_sig_index, "tag signature index"));
  ------------------
  |  |   55|  3.79k|  do {                              \
  |  |   56|  3.79k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10, False: 3.78k]
  |  |  ------------------
  |  |   57|     10|      return ::wabt::Result::Error; \
  |  |   58|     10|    }                               \
  |  |   59|  3.79k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2411|  3.78k|  return Result::Ok;
 2412|  3.79k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader19ReadFunctionSectionEm:
 2690|  1.40k|Result BinaryReader::ReadFunctionSection(Offset section_size) {
 2691|  1.40k|  CALLBACK(BeginFunctionSection, section_size);
  ------------------
  |  |   66|  1.40k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.40k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.40k|  do {                      \
  |  |  |  |  |  |   48|  1.40k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.40k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.40k|               #member " callback failed")
  ------------------
 2692|  1.40k|  CHECK_RESULT(
  ------------------
  |  |   55|  1.40k|  do {                              \
  |  |   56|  1.40k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 151, False: 1.25k]
  |  |  ------------------
  |  |   57|    151|      return ::wabt::Result::Error; \
  |  |   58|    151|    }                               \
  |  |   59|  1.40k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2693|  1.40k|      ReadCount(&num_function_signatures_, "function signature count"));
 2694|  1.25k|  CALLBACK(OnFunctionCount, num_function_signatures_);
  ------------------
  |  |   66|  1.25k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.25k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.25k|  do {                      \
  |  |  |  |  |  |   48|  1.25k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.25k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.25k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.25k|               #member " callback failed")
  ------------------
 2695|  44.1k|  for (Index i = 0; i < num_function_signatures_; ++i) {
  ------------------
  |  Branch (2695:21): [True: 43.0k, False: 1.11k]
  ------------------
 2696|  43.0k|    Index func_index = num_func_imports_ + i;
 2697|  43.0k|    Index sig_index;
 2698|  43.0k|    CHECK_RESULT(ReadIndex(&sig_index, "function signature index"));
  ------------------
  |  |   55|  43.0k|  do {                              \
  |  |   56|  43.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 141, False: 42.8k]
  |  |  ------------------
  |  |   57|    141|      return ::wabt::Result::Error; \
  |  |   58|    141|    }                               \
  |  |   59|  43.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2699|  42.8k|    CALLBACK(OnFunction, func_index, sig_index);
  ------------------
  |  |   66|  42.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  42.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  42.8k|  do {                      \
  |  |  |  |  |  |   48|  42.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 42.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|  42.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  42.8k|               #member " callback failed")
  ------------------
 2700|  42.8k|  }
 2701|  1.11k|  CALLBACK0(EndFunctionSection);
  ------------------
  |  |   63|  1.11k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  1.11k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.11k|  do {                      \
  |  |  |  |  |  |   48|  1.11k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.11k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2702|  1.11k|  return Result::Ok;
 2703|  1.11k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadTableSectionEm:
 2705|    473|Result BinaryReader::ReadTableSection(Offset section_size) {
 2706|    473|  CALLBACK(BeginTableSection, section_size);
  ------------------
  |  |   66|    473|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    473|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    473|  do {                      \
  |  |  |  |  |  |   48|    473|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 473]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    473|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    473|               #member " callback failed")
  ------------------
 2707|    473|  Index num_tables;
 2708|    473|  CHECK_RESULT(ReadCount(&num_tables, "table count"));
  ------------------
  |  |   55|    473|  do {                              \
  |  |   56|    473|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 134, False: 339]
  |  |  ------------------
  |  |   57|    134|      return ::wabt::Result::Error; \
  |  |   58|    134|    }                               \
  |  |   59|    473|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2709|    339|  CALLBACK(OnTableCount, num_tables);
  ------------------
  |  |   66|    339|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    339|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    339|  do {                      \
  |  |  |  |  |  |   48|    339|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 339]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    339|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    339|               #member " callback failed")
  ------------------
 2710|    803|  for (Index i = 0; i < num_tables; ++i) {
  ------------------
  |  Branch (2710:21): [True: 654, False: 149]
  ------------------
 2711|    654|    Index table_index = num_table_imports_ + i;
 2712|    654|    Type elem_type;
 2713|    654|    Limits elem_limits;
 2714|    654|    CHECK_RESULT(ReadTable(&elem_type, &elem_limits));
  ------------------
  |  |   55|    654|  do {                              \
  |  |   56|    654|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 190, False: 464]
  |  |  ------------------
  |  |   57|    190|      return ::wabt::Result::Error; \
  |  |   58|    190|    }                               \
  |  |   59|    654|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2715|    464|    CALLBACK(OnTable, table_index, elem_type, &elem_limits);
  ------------------
  |  |   66|    464|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    464|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    464|  do {                      \
  |  |  |  |  |  |   48|    464|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 464]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    464|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    464|               #member " callback failed")
  ------------------
 2716|    464|  }
 2717|    149|  CALLBACK0(EndTableSection);
  ------------------
  |  |   63|    149|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    149|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    149|  do {                      \
  |  |  |  |  |  |   48|    149|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 149]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    149|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2718|    149|  return Result::Ok;
 2719|    149|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadMemorySectionEm:
 2721|    541|Result BinaryReader::ReadMemorySection(Offset section_size) {
 2722|    541|  CALLBACK(BeginMemorySection, section_size);
  ------------------
  |  |   66|    541|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    541|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    541|  do {                      \
  |  |  |  |  |  |   48|    541|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 541]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    541|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    541|               #member " callback failed")
  ------------------
 2723|    541|  Index num_memories;
 2724|    541|  CHECK_RESULT(ReadCount(&num_memories, "memory count"));
  ------------------
  |  |   55|    541|  do {                              \
  |  |   56|    541|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 150, False: 391]
  |  |  ------------------
  |  |   57|    150|      return ::wabt::Result::Error; \
  |  |   58|    150|    }                               \
  |  |   59|    541|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2725|    391|  CALLBACK(OnMemoryCount, num_memories);
  ------------------
  |  |   66|    391|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    391|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    391|  do {                      \
  |  |  |  |  |  |   48|    391|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 391]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    391|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    391|               #member " callback failed")
  ------------------
 2726|  2.12k|  for (Index i = 0; i < num_memories; ++i) {
  ------------------
  |  Branch (2726:21): [True: 1.98k, False: 138]
  ------------------
 2727|  1.98k|    Index memory_index = num_memory_imports_ + i;
 2728|  1.98k|    Limits page_limits;
 2729|  1.98k|    uint32_t page_size;
 2730|  1.98k|    CHECK_RESULT(ReadMemory(&page_limits, &page_size));
  ------------------
  |  |   55|  1.98k|  do {                              \
  |  |   56|  1.98k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 253, False: 1.73k]
  |  |  ------------------
  |  |   57|    253|      return ::wabt::Result::Error; \
  |  |   58|    253|    }                               \
  |  |   59|  1.98k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2731|  1.73k|    CALLBACK(OnMemory, memory_index, &page_limits, page_size);
  ------------------
  |  |   66|  1.73k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.73k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.73k|  do {                      \
  |  |  |  |  |  |   48|  1.73k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.73k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.73k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.73k|               #member " callback failed")
  ------------------
 2732|  1.73k|  }
 2733|    138|  CALLBACK0(EndMemorySection);
  ------------------
  |  |   63|    138|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    138|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    138|  do {                      \
  |  |  |  |  |  |   48|    138|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 138]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    138|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2734|    138|  return Result::Ok;
 2735|    138|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadGlobalSectionEm:
 2737|    842|Result BinaryReader::ReadGlobalSection(Offset section_size) {
 2738|    842|  CALLBACK(BeginGlobalSection, section_size);
  ------------------
  |  |   66|    842|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    842|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    842|  do {                      \
  |  |  |  |  |  |   48|    842|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 842]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    842|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    842|               #member " callback failed")
  ------------------
 2739|    842|  Index num_globals;
 2740|    842|  CHECK_RESULT(ReadCount(&num_globals, "global count"));
  ------------------
  |  |   55|    842|  do {                              \
  |  |   56|    842|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 71, False: 771]
  |  |  ------------------
  |  |   57|     71|      return ::wabt::Result::Error; \
  |  |   58|     71|    }                               \
  |  |   59|    842|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2741|    771|  CALLBACK(OnGlobalCount, num_globals);
  ------------------
  |  |   66|    771|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    771|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    771|  do {                      \
  |  |  |  |  |  |   48|    771|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 771]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    771|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    771|               #member " callback failed")
  ------------------
 2742|  1.49k|  for (Index i = 0; i < num_globals; ++i) {
  ------------------
  |  Branch (2742:21): [True: 1.49k, False: 7]
  ------------------
 2743|  1.49k|    Index global_index = num_global_imports_ + i;
 2744|  1.49k|    Type global_type;
 2745|  1.49k|    bool mutable_;
 2746|  1.49k|    CHECK_RESULT(ReadGlobalHeader(&global_type, &mutable_));
  ------------------
  |  |   55|  1.49k|  do {                              \
  |  |   56|  1.49k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 133, False: 1.35k]
  |  |  ------------------
  |  |   57|    133|      return ::wabt::Result::Error; \
  |  |   58|    133|    }                               \
  |  |   59|  1.49k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2747|  1.35k|    CALLBACK(BeginGlobal, global_index, global_type, mutable_);
  ------------------
  |  |   66|  1.35k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.35k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.35k|  do {                      \
  |  |  |  |  |  |   48|  1.35k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.35k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.35k|               #member " callback failed")
  ------------------
 2748|  1.35k|    CALLBACK(BeginGlobalInitExpr, global_index);
  ------------------
  |  |   66|  1.35k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.35k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.35k|  do {                      \
  |  |  |  |  |  |   48|  1.35k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.35k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.35k|               #member " callback failed")
  ------------------
 2749|  1.35k|    CHECK_RESULT(ReadInitExpr(global_index));
  ------------------
  |  |   55|  1.35k|  do {                              \
  |  |   56|  1.35k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 631, False: 728]
  |  |  ------------------
  |  |   57|    631|      return ::wabt::Result::Error; \
  |  |   58|    631|    }                               \
  |  |   59|  1.35k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2750|    728|    CALLBACK(EndGlobalInitExpr, global_index);
  ------------------
  |  |   66|    728|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    728|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    728|  do {                      \
  |  |  |  |  |  |   48|    728|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 728]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    728|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    728|               #member " callback failed")
  ------------------
 2751|    728|    CALLBACK(EndGlobal, global_index);
  ------------------
  |  |   66|    728|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    728|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    728|  do {                      \
  |  |  |  |  |  |   48|    728|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 728]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    728|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    728|               #member " callback failed")
  ------------------
 2752|    728|  }
 2753|      7|  CALLBACK0(EndGlobalSection);
  ------------------
  |  |   63|      7|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|      7|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|      7|  do {                      \
  |  |  |  |  |  |   48|      7|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 7]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2754|      7|  return Result::Ok;
 2755|      7|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader12ReadInitExprEj:
  597|  19.5k|Result BinaryReader::ReadInitExpr(Index index) {
  598|  19.5k|  CHECK_RESULT(ReadInstructions(read_end_, "init expression"));
  ------------------
  |  |   55|  19.5k|  do {                              \
  |  |   56|  19.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7.09k, False: 12.4k]
  |  |  ------------------
  |  |   57|  7.09k|      return ::wabt::Result::Error; \
  |  |   58|  7.09k|    }                               \
  |  |   59|  19.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  599|  12.4k|  assert(state_.offset <= read_end_);
  600|  12.4k|  return Result::Ok;
  601|  12.4k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadInstructionsEmPKc:
  718|  20.2k|Result BinaryReader::ReadInstructions(Offset end_offset, const char* context) {
  719|  20.2k|  std::stack<Opcode> nested_blocks;
  720|  6.22M|  while (state_.offset < end_offset) {
  ------------------
  |  Branch (720:10): [True: 6.22M, False: 2.98k]
  ------------------
  721|  6.22M|    Opcode opcode;
  722|  6.22M|    CHECK_RESULT(ReadOpcode(&opcode, "opcode"));
  ------------------
  |  |   55|  6.22M|  do {                              \
  |  |   56|  6.22M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 329, False: 6.22M]
  |  |  ------------------
  |  |   57|    329|      return ::wabt::Result::Error; \
  |  |   58|    329|    }                               \
  |  |   59|  6.22M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  723|  6.22M|    CALLBACK(OnOpcode, opcode);
  ------------------
  |  |   66|  6.22M|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.22M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.22M|  do {                      \
  |  |  |  |  |  |   48|  6.22M|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.22M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.22M|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.22M|               #member " callback failed")
  ------------------
  724|  6.22M|    ERROR_UNLESS_OPCODE_ENABLED(opcode);
  ------------------
  |  |   56|  6.22M|  do {                                          \
  |  |   57|  6.22M|    if (!opcode.IsEnabled(options_.features)) { \
  |  |  ------------------
  |  |  |  Branch (57:9): [True: 237, False: 6.22M]
  |  |  ------------------
  |  |   58|    237|      return ReportUnexpectedOpcode(opcode);    \
  |  |   59|    237|    }                                           \
  |  |   60|  6.22M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (60:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  725|       |
  726|  6.22M|    switch (opcode) {
  727|  2.82M|      case Opcode::Unreachable:
  ------------------
  |  Branch (727:7): [True: 2.82M, False: 3.40M]
  ------------------
  728|  2.82M|        CALLBACK0(OnUnreachableExpr);
  ------------------
  |  |   63|  2.82M|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  2.82M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.82M|  do {                      \
  |  |  |  |  |  |   48|  2.82M|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.82M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.82M|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  729|  2.82M|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  2.82M|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  2.82M|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.82M|  do {                      \
  |  |  |  |  |  |   48|  2.82M|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.82M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.82M|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  730|  2.82M|        break;
  731|       |
  732|  2.82M|      case Opcode::Block: {
  ------------------
  |  Branch (732:7): [True: 52.4k, False: 6.17M]
  ------------------
  733|  52.4k|        nested_blocks.push(opcode);
  734|  52.4k|        Type sig_type;
  735|  52.4k|        CHECK_RESULT(ReadType(&sig_type, "block signature type"));
  ------------------
  |  |   55|  52.4k|  do {                              \
  |  |   56|  52.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 48, False: 52.3k]
  |  |  ------------------
  |  |   57|     48|      return ::wabt::Result::Error; \
  |  |   58|     48|    }                               \
  |  |   59|  52.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  736|  52.3k|        ERROR_UNLESS(IsBlockType(sig_type),
  ------------------
  |  |   53|  52.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  52.3k|  do {                      \
  |  |  |  |   48|  52.3k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 37, False: 52.3k]
  |  |  |  |  ------------------
  |  |  |  |   49|     37|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     37|  do {                       \
  |  |  |  |  |  |   42|     37|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     37|    return Result::Error;    \
  |  |  |  |  |  |   44|     37|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     37|    }                       \
  |  |  |  |   51|  52.3k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  737|  52.3k|                     "expected valid block signature type");
  738|  52.3k|        CALLBACK(OnBlockExpr, sig_type);
  ------------------
  |  |   66|  52.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  52.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  52.3k|  do {                      \
  |  |  |  |  |  |   48|  52.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 1, False: 52.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      1|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      1|  do {                       \
  |  |  |  |  |  |  |  |   42|      1|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      1|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      1|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      1|    }                       \
  |  |  |  |  |  |   51|  52.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  52.3k|               #member " callback failed")
  ------------------
  739|  52.3k|        CALLBACK(OnOpcodeBlockSig, sig_type);
  ------------------
  |  |   66|  52.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  52.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  52.3k|  do {                      \
  |  |  |  |  |  |   48|  52.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 52.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|  52.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  52.3k|               #member " callback failed")
  ------------------
  740|  52.3k|        break;
  741|  52.3k|      }
  742|       |
  743|  93.6k|      case Opcode::Loop: {
  ------------------
  |  Branch (743:7): [True: 93.6k, False: 6.13M]
  ------------------
  744|  93.6k|        nested_blocks.push(opcode);
  745|  93.6k|        Type sig_type;
  746|  93.6k|        CHECK_RESULT(ReadType(&sig_type, "loop signature type"));
  ------------------
  |  |   55|  93.6k|  do {                              \
  |  |   56|  93.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 31, False: 93.6k]
  |  |  ------------------
  |  |   57|     31|      return ::wabt::Result::Error; \
  |  |   58|     31|    }                               \
  |  |   59|  93.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  747|  93.6k|        ERROR_UNLESS(IsBlockType(sig_type),
  ------------------
  |  |   53|  93.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  93.6k|  do {                      \
  |  |  |  |   48|  93.6k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 41, False: 93.5k]
  |  |  |  |  ------------------
  |  |  |  |   49|     41|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     41|  do {                       \
  |  |  |  |  |  |   42|     41|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     41|    return Result::Error;    \
  |  |  |  |  |  |   44|     41|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     41|    }                       \
  |  |  |  |   51|  93.6k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  748|  93.5k|                     "expected valid block signature type");
  749|  93.5k|        CALLBACK(OnLoopExpr, sig_type);
  ------------------
  |  |   66|  93.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  93.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  93.5k|  do {                      \
  |  |  |  |  |  |   48|  93.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 3, False: 93.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      3|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      3|  do {                       \
  |  |  |  |  |  |  |  |   42|      3|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      3|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      3|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      3|    }                       \
  |  |  |  |  |  |   51|  93.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  93.5k|               #member " callback failed")
  ------------------
  750|  93.5k|        CALLBACK(OnOpcodeBlockSig, sig_type);
  ------------------
  |  |   66|  93.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  93.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  93.5k|  do {                      \
  |  |  |  |  |  |   48|  93.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 93.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|  93.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  93.5k|               #member " callback failed")
  ------------------
  751|  93.5k|        break;
  752|  93.5k|      }
  753|       |
  754|   232k|      case Opcode::If: {
  ------------------
  |  Branch (754:7): [True: 232k, False: 5.99M]
  ------------------
  755|   232k|        nested_blocks.push(opcode);
  756|   232k|        Type sig_type;
  757|   232k|        CHECK_RESULT(ReadType(&sig_type, "if signature type"));
  ------------------
  |  |   55|   232k|  do {                              \
  |  |   56|   232k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 66, False: 232k]
  |  |  ------------------
  |  |   57|     66|      return ::wabt::Result::Error; \
  |  |   58|     66|    }                               \
  |  |   59|   232k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  758|   232k|        ERROR_UNLESS(IsBlockType(sig_type),
  ------------------
  |  |   53|   232k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   232k|  do {                      \
  |  |  |  |   48|   232k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 34, False: 232k]
  |  |  |  |  ------------------
  |  |  |  |   49|     34|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     34|  do {                       \
  |  |  |  |  |  |   42|     34|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     34|    return Result::Error;    \
  |  |  |  |  |  |   44|     34|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     34|    }                       \
  |  |  |  |   51|   232k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  759|   232k|                     "expected valid block signature type");
  760|   232k|        CALLBACK(OnIfExpr, sig_type);
  ------------------
  |  |   66|   232k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   232k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   232k|  do {                      \
  |  |  |  |  |  |   48|   232k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 3, False: 232k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      3|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      3|  do {                       \
  |  |  |  |  |  |  |  |   42|      3|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      3|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      3|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      3|    }                       \
  |  |  |  |  |  |   51|   232k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   232k|               #member " callback failed")
  ------------------
  761|   232k|        CALLBACK(OnOpcodeBlockSig, sig_type);
  ------------------
  |  |   66|   232k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   232k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   232k|  do {                      \
  |  |  |  |  |  |   48|   232k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 232k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   232k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   232k|               #member " callback failed")
  ------------------
  762|   232k|        break;
  763|   232k|      }
  764|       |
  765|   232k|      case Opcode::Else:
  ------------------
  |  Branch (765:7): [True: 4.60k, False: 6.21M]
  ------------------
  766|  4.60k|        ERROR_IF(nested_blocks.empty() || (nested_blocks.top() != Opcode::If),
  ------------------
  |  |   47|  4.60k|  do {                      \
  |  |   48|  13.7k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 23, False: 4.58k]
  |  |  |  Branch (48:9): [True: 30, False: 4.55k]
  |  |  ------------------
  |  |   49|     53|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     53|  do {                       \
  |  |  |  |   42|     53|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     53|    return Result::Error;    \
  |  |  |  |   44|     53|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     53|    }                       \
  |  |   51|  4.60k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  767|  4.60k|                 "else outside if block");
  768|  4.55k|        CALLBACK0(OnElseExpr);
  ------------------
  |  |   63|  4.55k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   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: 18, False: 4.53k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|     18|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|     18|  do {                       \
  |  |  |  |  |  |  |  |   42|     18|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|     18|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|     18|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|     18|    }                       \
  |  |  |  |  |  |   51|  4.55k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  769|  4.53k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  4.53k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  4.53k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.53k|  do {                      \
  |  |  |  |  |  |   48|  4.53k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.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|  4.53k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  770|  4.53k|        break;
  771|       |
  772|  10.8k|      case Opcode::SelectT: {
  ------------------
  |  Branch (772:7): [True: 10.8k, False: 6.21M]
  ------------------
  773|  10.8k|        Index num_results;
  774|  10.8k|        CHECK_RESULT(ReadCount(&num_results, "num result types"));
  ------------------
  |  |   55|  10.8k|  do {                              \
  |  |   56|  10.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 49, False: 10.8k]
  |  |  ------------------
  |  |   57|     49|      return ::wabt::Result::Error; \
  |  |   58|     49|    }                               \
  |  |   59|  10.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  775|       |
  776|  10.8k|        result_types_.resize(num_results);
  777|  15.8k|        for (Index i = 0; i < num_results; ++i) {
  ------------------
  |  Branch (777:27): [True: 5.20k, False: 10.6k]
  ------------------
  778|  5.20k|          Type result_type;
  779|  5.20k|          CHECK_RESULT(ReadType(&result_type, "select result type"));
  ------------------
  |  |   55|  5.20k|  do {                              \
  |  |   56|  5.20k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 9, False: 5.19k]
  |  |  ------------------
  |  |   57|      9|      return ::wabt::Result::Error; \
  |  |   58|      9|    }                               \
  |  |   59|  5.20k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  780|  5.19k|          ERROR_UNLESS(IsConcreteType(result_type),
  ------------------
  |  |   53|  5.19k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  5.19k|  do {                      \
  |  |  |  |   48|  5.19k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 142, False: 5.05k]
  |  |  |  |  ------------------
  |  |  |  |   49|    142|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    142|  do {                       \
  |  |  |  |  |  |   42|    284|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:16): [True: 50, False: 92]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|    142|    return Result::Error;    \
  |  |  |  |  |  |   44|    142|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|    142|    }                       \
  |  |  |  |   51|  5.19k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  781|  5.05k|                       "expected valid select result type (got " PRItypecode
  782|  5.05k|                       ")",
  783|  5.05k|                       WABT_PRINTF_TYPE_CODE(result_type));
  784|  5.05k|          result_types_[i] = result_type;
  785|  5.05k|        }
  786|       |
  787|  10.6k|        if (num_results) {
  ------------------
  |  Branch (787:13): [True: 2.04k, False: 8.65k]
  ------------------
  788|  2.04k|          CALLBACK(OnSelectExpr, num_results, result_types_.data());
  ------------------
  |  |   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")
  ------------------
  789|  2.04k|          CALLBACK(OnOpcodeType, result_types_[0]);
  ------------------
  |  |   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")
  ------------------
  790|  8.65k|        } else {
  791|  8.65k|          CALLBACK(OnSelectExpr, 0, NULL);
  ------------------
  |  |   66|  8.65k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.65k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.65k|  do {                      \
  |  |  |  |  |  |   48|  8.65k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.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|  8.65k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.65k|               #member " callback failed")
  ------------------
  792|  8.65k|          CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  8.65k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  8.65k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.65k|  do {                      \
  |  |  |  |  |  |   48|  8.65k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.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|  8.65k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  793|  8.65k|        }
  794|  10.6k|        break;
  795|  10.6k|      }
  796|       |
  797|  10.6k|      case Opcode::Select:
  ------------------
  |  Branch (797:7): [True: 9.24k, False: 6.21M]
  ------------------
  798|  9.24k|        CALLBACK(OnSelectExpr, 0, nullptr);
  ------------------
  |  |   66|  9.24k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  9.24k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  9.24k|  do {                      \
  |  |  |  |  |  |   48|  9.24k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 9.24k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.24k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  9.24k|               #member " callback failed")
  ------------------
  799|  9.24k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  9.24k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  9.24k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  9.24k|  do {                      \
  |  |  |  |  |  |   48|  9.24k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 9.24k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.24k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  800|  9.24k|        break;
  801|       |
  802|  11.6k|      case Opcode::Br: {
  ------------------
  |  Branch (802:7): [True: 11.6k, False: 6.21M]
  ------------------
  803|  11.6k|        Index depth;
  804|  11.6k|        CHECK_RESULT(ReadIndex(&depth, "br depth"));
  ------------------
  |  |   55|  11.6k|  do {                              \
  |  |   56|  11.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 12, False: 11.6k]
  |  |  ------------------
  |  |   57|     12|      return ::wabt::Result::Error; \
  |  |   58|     12|    }                               \
  |  |   59|  11.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  805|  11.6k|        CALLBACK(OnBrExpr, depth);
  ------------------
  |  |   66|  11.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  11.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  11.6k|  do {                      \
  |  |  |  |  |  |   48|  11.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 11.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|  11.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  11.6k|               #member " callback failed")
  ------------------
  806|  11.6k|        CALLBACK(OnOpcodeIndex, depth);
  ------------------
  |  |   66|  11.6k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  11.6k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  11.6k|  do {                      \
  |  |  |  |  |  |   48|  11.6k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 11.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|  11.6k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  11.6k|               #member " callback failed")
  ------------------
  807|  11.6k|        break;
  808|  11.6k|      }
  809|       |
  810|  11.6k|      case Opcode::BrIf: {
  ------------------
  |  Branch (810:7): [True: 6.75k, False: 6.21M]
  ------------------
  811|  6.75k|        Index depth;
  812|  6.75k|        CHECK_RESULT(ReadIndex(&depth, "br_if depth"));
  ------------------
  |  |   55|  6.75k|  do {                              \
  |  |   56|  6.75k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 17, False: 6.73k]
  |  |  ------------------
  |  |   57|     17|      return ::wabt::Result::Error; \
  |  |   58|     17|    }                               \
  |  |   59|  6.75k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  813|  6.73k|        CALLBACK(OnBrIfExpr, depth);
  ------------------
  |  |   66|  6.73k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.73k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.73k|  do {                      \
  |  |  |  |  |  |   48|  6.73k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.73k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.73k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.73k|               #member " callback failed")
  ------------------
  814|  6.73k|        CALLBACK(OnOpcodeIndex, depth);
  ------------------
  |  |   66|  6.73k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.73k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.73k|  do {                      \
  |  |  |  |  |  |   48|  6.73k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.73k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.73k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.73k|               #member " callback failed")
  ------------------
  815|  6.73k|        break;
  816|  6.73k|      }
  817|       |
  818|   101k|      case Opcode::BrTable: {
  ------------------
  |  Branch (818:7): [True: 101k, False: 6.12M]
  ------------------
  819|   101k|        Index num_targets;
  820|   101k|        CHECK_RESULT(ReadCount(&num_targets, "br_table target count"));
  ------------------
  |  |   55|   101k|  do {                              \
  |  |   56|   101k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 81, False: 101k]
  |  |  ------------------
  |  |   57|     81|      return ::wabt::Result::Error; \
  |  |   58|     81|    }                               \
  |  |   59|   101k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  821|   101k|        target_depths_.resize(num_targets);
  822|       |
  823|   868k|        for (Index i = 0; i < num_targets; ++i) {
  ------------------
  |  Branch (823:27): [True: 767k, False: 101k]
  ------------------
  824|   767k|          Index target_depth;
  825|   767k|          CHECK_RESULT(ReadIndex(&target_depth, "br_table target depth"));
  ------------------
  |  |   55|   767k|  do {                              \
  |  |   56|   767k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 43, False: 766k]
  |  |  ------------------
  |  |   57|     43|      return ::wabt::Result::Error; \
  |  |   58|     43|    }                               \
  |  |   59|   767k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  826|   766k|          target_depths_[i] = target_depth;
  827|   766k|        }
  828|       |
  829|   101k|        Index default_target_depth;
  830|   101k|        CHECK_RESULT(
  ------------------
  |  |   55|   101k|  do {                              \
  |  |   56|   101k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 18, False: 101k]
  |  |  ------------------
  |  |   57|     18|      return ::wabt::Result::Error; \
  |  |   58|     18|    }                               \
  |  |   59|   101k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  831|   101k|            ReadIndex(&default_target_depth, "br_table default target depth"));
  832|       |
  833|   101k|        Index* target_depths = num_targets ? target_depths_.data() : nullptr;
  ------------------
  |  Branch (833:32): [True: 65.9k, False: 35.6k]
  ------------------
  834|       |
  835|   101k|        CALLBACK(OnBrTableExpr, num_targets, target_depths,
  ------------------
  |  |   66|   101k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   101k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   101k|  do {                      \
  |  |  |  |  |  |   48|   101k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 101k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   101k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   101k|               #member " callback failed")
  ------------------
  836|   101k|                 default_target_depth);
  837|   101k|        break;
  838|   101k|      }
  839|       |
  840|   101k|      case Opcode::Return:
  ------------------
  |  Branch (840:7): [True: 17.3k, False: 6.20M]
  ------------------
  841|  17.3k|        CALLBACK0(OnReturnExpr);
  ------------------
  |  |   63|  17.3k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  842|  17.3k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  17.3k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  843|  17.3k|        break;
  844|       |
  845|   199k|      case Opcode::Nop:
  ------------------
  |  Branch (845:7): [True: 199k, False: 6.02M]
  ------------------
  846|   199k|        CALLBACK0(OnNopExpr);
  ------------------
  |  |   63|   199k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   199k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   199k|  do {                      \
  |  |  |  |  |  |   48|   199k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 199k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   199k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  847|   199k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|   199k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   199k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   199k|  do {                      \
  |  |  |  |  |  |   48|   199k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 199k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   199k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  848|   199k|        break;
  849|       |
  850|   199k|      case Opcode::Drop:
  ------------------
  |  Branch (850:7): [True: 13.3k, False: 6.21M]
  ------------------
  851|  13.3k|        CALLBACK0(OnDropExpr);
  ------------------
  |  |   63|  13.3k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  13.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  13.3k|  do {                      \
  |  |  |  |  |  |   48|  13.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 13.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|  13.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  852|  13.3k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  13.3k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  13.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  13.3k|  do {                      \
  |  |  |  |  |  |   48|  13.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 13.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|  13.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  853|  13.3k|        break;
  854|       |
  855|   141k|      case Opcode::End:
  ------------------
  |  Branch (855:7): [True: 141k, False: 6.08M]
  ------------------
  856|   141k|        CALLBACK0(OnEndExpr);
  ------------------
  |  |   63|   141k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   141k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   141k|  do {                      \
  |  |  |  |  |  |   48|   141k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 18, False: 141k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|     18|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|     18|  do {                       \
  |  |  |  |  |  |  |  |   42|     18|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|     18|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|     18|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|     18|    }                       \
  |  |  |  |  |  |   51|   141k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  857|   141k|        if (nested_blocks.empty()) {
  ------------------
  |  Branch (857:13): [True: 12.7k, False: 128k]
  ------------------
  858|  12.7k|          return Result::Ok;
  859|  12.7k|        }
  860|   128k|        nested_blocks.pop();
  861|   128k|        break;
  862|       |
  863|  13.0k|      case Opcode::I32Const: {
  ------------------
  |  Branch (863:7): [True: 13.0k, False: 6.21M]
  ------------------
  864|  13.0k|        uint32_t value;
  865|  13.0k|        CHECK_RESULT(ReadS32Leb128(&value, "i32.const value"));
  ------------------
  |  |   55|  13.0k|  do {                              \
  |  |   56|  13.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 20, False: 12.9k]
  |  |  ------------------
  |  |   57|     20|      return ::wabt::Result::Error; \
  |  |   58|     20|    }                               \
  |  |   59|  13.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  866|  12.9k|        CALLBACK(OnI32ConstExpr, value);
  ------------------
  |  |   66|  12.9k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  12.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  12.9k|  do {                      \
  |  |  |  |  |  |   48|  12.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 12.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|  12.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  12.9k|               #member " callback failed")
  ------------------
  867|  12.9k|        CALLBACK(OnOpcodeUint32, value);
  ------------------
  |  |   66|  12.9k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  12.9k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  12.9k|  do {                      \
  |  |  |  |  |  |   48|  12.9k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 12.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|  12.9k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  12.9k|               #member " callback failed")
  ------------------
  868|  12.9k|        break;
  869|  12.9k|      }
  870|       |
  871|  14.3k|      case Opcode::I64Const: {
  ------------------
  |  Branch (871:7): [True: 14.3k, False: 6.20M]
  ------------------
  872|  14.3k|        uint64_t value;
  873|  14.3k|        CHECK_RESULT(ReadS64Leb128(&value, "i64.const value"));
  ------------------
  |  |   55|  14.3k|  do {                              \
  |  |   56|  14.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 77, False: 14.2k]
  |  |  ------------------
  |  |   57|     77|      return ::wabt::Result::Error; \
  |  |   58|     77|    }                               \
  |  |   59|  14.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  874|  14.2k|        CALLBACK(OnI64ConstExpr, value);
  ------------------
  |  |   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")
  ------------------
  875|  14.2k|        CALLBACK(OnOpcodeUint64, value);
  ------------------
  |  |   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")
  ------------------
  876|  14.2k|        break;
  877|  14.2k|      }
  878|       |
  879|  14.2k|      case Opcode::F32Const: {
  ------------------
  |  Branch (879:7): [True: 9.51k, False: 6.21M]
  ------------------
  880|  9.51k|        uint32_t value_bits = 0;
  881|  9.51k|        CHECK_RESULT(ReadF32(&value_bits, "f32.const value"));
  ------------------
  |  |   55|  9.51k|  do {                              \
  |  |   56|  9.51k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 27, False: 9.49k]
  |  |  ------------------
  |  |   57|     27|      return ::wabt::Result::Error; \
  |  |   58|     27|    }                               \
  |  |   59|  9.51k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  882|  9.49k|        CALLBACK(OnF32ConstExpr, value_bits);
  ------------------
  |  |   66|  9.49k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  9.49k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  9.49k|  do {                      \
  |  |  |  |  |  |   48|  9.49k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 9.49k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.49k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  9.49k|               #member " callback failed")
  ------------------
  883|  9.49k|        CALLBACK(OnOpcodeF32, value_bits);
  ------------------
  |  |   66|  9.49k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  9.49k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  9.49k|  do {                      \
  |  |  |  |  |  |   48|  9.49k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 9.49k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.49k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  9.49k|               #member " callback failed")
  ------------------
  884|  9.49k|        break;
  885|  9.49k|      }
  886|       |
  887|  9.49k|      case Opcode::F64Const: {
  ------------------
  |  Branch (887:7): [True: 2.83k, False: 6.22M]
  ------------------
  888|  2.83k|        uint64_t value_bits = 0;
  889|  2.83k|        CHECK_RESULT(ReadF64(&value_bits, "f64.const value"));
  ------------------
  |  |   55|  2.83k|  do {                              \
  |  |   56|  2.83k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 22, False: 2.80k]
  |  |  ------------------
  |  |   57|     22|      return ::wabt::Result::Error; \
  |  |   58|     22|    }                               \
  |  |   59|  2.83k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  890|  2.80k|        CALLBACK(OnF64ConstExpr, value_bits);
  ------------------
  |  |   66|  2.80k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.80k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.80k|  do {                      \
  |  |  |  |  |  |   48|  2.80k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.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|  2.80k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.80k|               #member " callback failed")
  ------------------
  891|  2.80k|        CALLBACK(OnOpcodeF64, value_bits);
  ------------------
  |  |   66|  2.80k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.80k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.80k|  do {                      \
  |  |  |  |  |  |   48|  2.80k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.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|  2.80k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.80k|               #member " callback failed")
  ------------------
  892|  2.80k|        break;
  893|  2.80k|      }
  894|       |
  895|  2.80k|      case Opcode::V128Const: {
  ------------------
  |  Branch (895:7): [True: 768, False: 6.22M]
  ------------------
  896|    768|        v128 value_bits;
  897|    768|        ZeroMemory(value_bits);
  898|    768|        CHECK_RESULT(ReadV128(&value_bits, "v128.const value"));
  ------------------
  |  |   55|    768|  do {                              \
  |  |   56|    768|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 11, False: 757]
  |  |  ------------------
  |  |   57|     11|      return ::wabt::Result::Error; \
  |  |   58|     11|    }                               \
  |  |   59|    768|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  899|    757|        CALLBACK(OnV128ConstExpr, value_bits);
  ------------------
  |  |   66|    757|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    757|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    757|  do {                      \
  |  |  |  |  |  |   48|    757|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 757]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    757|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    757|               #member " callback failed")
  ------------------
  900|    757|        CALLBACK(OnOpcodeV128, value_bits);
  ------------------
  |  |   66|    757|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    757|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    757|  do {                      \
  |  |  |  |  |  |   48|    757|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 757]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    757|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    757|               #member " callback failed")
  ------------------
  901|    757|        break;
  902|    757|      }
  903|       |
  904|  5.62k|      case Opcode::GlobalGet: {
  ------------------
  |  Branch (904:7): [True: 5.62k, False: 6.21M]
  ------------------
  905|  5.62k|        Index global_index;
  906|  5.62k|        CHECK_RESULT(ReadIndex(&global_index, "global.get global index"));
  ------------------
  |  |   55|  5.62k|  do {                              \
  |  |   56|  5.62k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 14, False: 5.61k]
  |  |  ------------------
  |  |   57|     14|      return ::wabt::Result::Error; \
  |  |   58|     14|    }                               \
  |  |   59|  5.62k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  907|  5.61k|        CALLBACK(OnGlobalGetExpr, global_index);
  ------------------
  |  |   66|  5.61k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.61k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.61k|  do {                      \
  |  |  |  |  |  |   48|  5.61k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.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|  5.61k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.61k|               #member " callback failed")
  ------------------
  908|  5.61k|        CALLBACK(OnOpcodeIndex, global_index);
  ------------------
  |  |   66|  5.61k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.61k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.61k|  do {                      \
  |  |  |  |  |  |   48|  5.61k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.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|  5.61k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.61k|               #member " callback failed")
  ------------------
  909|  5.61k|        break;
  910|  5.61k|      }
  911|       |
  912|  11.9k|      case Opcode::LocalGet: {
  ------------------
  |  Branch (912:7): [True: 11.9k, False: 6.21M]
  ------------------
  913|  11.9k|        Index local_index;
  914|  11.9k|        CHECK_RESULT(ReadIndex(&local_index, "local.get local index"));
  ------------------
  |  |   55|  11.9k|  do {                              \
  |  |   56|  11.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 12, False: 11.9k]
  |  |  ------------------
  |  |   57|     12|      return ::wabt::Result::Error; \
  |  |   58|     12|    }                               \
  |  |   59|  11.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  915|  11.9k|        CALLBACK(OnLocalGetExpr, local_index);
  ------------------
  |  |   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")
  ------------------
  916|  11.9k|        CALLBACK(OnOpcodeIndex, local_index);
  ------------------
  |  |   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")
  ------------------
  917|  11.9k|        break;
  918|  11.9k|      }
  919|       |
  920|  11.9k|      case Opcode::GlobalSet: {
  ------------------
  |  Branch (920:7): [True: 7.39k, False: 6.21M]
  ------------------
  921|  7.39k|        Index global_index;
  922|  7.39k|        CHECK_RESULT(ReadIndex(&global_index, "global.set global index"));
  ------------------
  |  |   55|  7.39k|  do {                              \
  |  |   56|  7.39k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 20, False: 7.37k]
  |  |  ------------------
  |  |   57|     20|      return ::wabt::Result::Error; \
  |  |   58|     20|    }                               \
  |  |   59|  7.39k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  923|  7.37k|        CALLBACK(OnGlobalSetExpr, global_index);
  ------------------
  |  |   66|  7.37k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  7.37k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  7.37k|  do {                      \
  |  |  |  |  |  |   48|  7.37k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 7.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.37k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  7.37k|               #member " callback failed")
  ------------------
  924|  7.37k|        CALLBACK(OnOpcodeIndex, global_index);
  ------------------
  |  |   66|  7.37k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  7.37k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  7.37k|  do {                      \
  |  |  |  |  |  |   48|  7.37k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 7.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.37k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  7.37k|               #member " callback failed")
  ------------------
  925|  7.37k|        break;
  926|  7.37k|      }
  927|       |
  928|  40.5k|      case Opcode::LocalSet: {
  ------------------
  |  Branch (928:7): [True: 40.5k, False: 6.18M]
  ------------------
  929|  40.5k|        Index local_index;
  930|  40.5k|        CHECK_RESULT(ReadIndex(&local_index, "local.set local index"));
  ------------------
  |  |   55|  40.5k|  do {                              \
  |  |   56|  40.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 15, False: 40.5k]
  |  |  ------------------
  |  |   57|     15|      return ::wabt::Result::Error; \
  |  |   58|     15|    }                               \
  |  |   59|  40.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  931|  40.5k|        CALLBACK(OnLocalSetExpr, local_index);
  ------------------
  |  |   66|  40.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  40.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  40.5k|  do {                      \
  |  |  |  |  |  |   48|  40.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 40.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|  40.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  40.5k|               #member " callback failed")
  ------------------
  932|  40.5k|        CALLBACK(OnOpcodeIndex, local_index);
  ------------------
  |  |   66|  40.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  40.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  40.5k|  do {                      \
  |  |  |  |  |  |   48|  40.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 40.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|  40.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  40.5k|               #member " callback failed")
  ------------------
  933|  40.5k|        break;
  934|  40.5k|      }
  935|       |
  936|  40.5k|      case Opcode::Call: {
  ------------------
  |  Branch (936:7): [True: 11.1k, False: 6.21M]
  ------------------
  937|  11.1k|        Index func_index;
  938|  11.1k|        CHECK_RESULT(ReadIndex(&func_index, "call function index"));
  ------------------
  |  |   55|  11.1k|  do {                              \
  |  |   56|  11.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 18, False: 11.1k]
  |  |  ------------------
  |  |   57|     18|      return ::wabt::Result::Error; \
  |  |   58|     18|    }                               \
  |  |   59|  11.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  939|  11.1k|        CALLBACK(OnCallExpr, func_index);
  ------------------
  |  |   66|  11.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  11.1k|               #member " callback failed")
  ------------------
  940|  11.1k|        CALLBACK(OnOpcodeIndex, func_index);
  ------------------
  |  |   66|  11.1k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  11.1k|               #member " callback failed")
  ------------------
  941|  11.1k|        break;
  942|  11.1k|      }
  943|       |
  944|  11.1k|      case Opcode::CallIndirect: {
  ------------------
  |  Branch (944:7): [True: 8.26k, False: 6.21M]
  ------------------
  945|  8.26k|        Index sig_index;
  946|  8.26k|        CHECK_RESULT(ReadIndex(&sig_index, "call_indirect signature index"));
  ------------------
  |  |   55|  8.26k|  do {                              \
  |  |   56|  8.26k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 8, False: 8.25k]
  |  |  ------------------
  |  |   57|      8|      return ::wabt::Result::Error; \
  |  |   58|      8|    }                               \
  |  |   59|  8.26k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  947|  8.25k|        Index table_index = 0;
  948|  8.25k|        if (options_.features.reference_types_enabled()) {
  ------------------
  |  Branch (948:13): [True: 8.25k, False: 0]
  ------------------
  949|  8.25k|          CHECK_RESULT(ReadIndex(&table_index, "call_indirect table index"));
  ------------------
  |  |   55|  8.25k|  do {                              \
  |  |   56|  8.25k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 10, False: 8.24k]
  |  |  ------------------
  |  |   57|     10|      return ::wabt::Result::Error; \
  |  |   58|     10|    }                               \
  |  |   59|  8.25k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  950|  8.25k|        } 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|  8.24k|        CALLBACK(OnCallIndirectExpr, sig_index, table_index);
  ------------------
  |  |   66|  8.24k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.24k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.24k|  do {                      \
  |  |  |  |  |  |   48|  8.24k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.24k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.24k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.24k|               #member " callback failed")
  ------------------
  956|  8.24k|        CALLBACK(OnOpcodeUint32Uint32, sig_index, table_index);
  ------------------
  |  |   66|  8.24k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.24k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.24k|  do {                      \
  |  |  |  |  |  |   48|  8.24k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.24k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.24k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.24k|               #member " callback failed")
  ------------------
  957|  8.24k|        break;
  958|  8.24k|      }
  959|       |
  960|  8.24k|      case Opcode::ReturnCall: {
  ------------------
  |  Branch (960:7): [True: 3.18k, False: 6.22M]
  ------------------
  961|  3.18k|        Index func_index;
  962|  3.18k|        CHECK_RESULT(ReadIndex(&func_index, "return_call"));
  ------------------
  |  |   55|  3.18k|  do {                              \
  |  |   56|  3.18k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 12, False: 3.16k]
  |  |  ------------------
  |  |   57|     12|      return ::wabt::Result::Error; \
  |  |   58|     12|    }                               \
  |  |   59|  3.18k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  963|  3.16k|        CALLBACK(OnReturnCallExpr, func_index);
  ------------------
  |  |   66|  3.16k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.16k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.16k|  do {                      \
  |  |  |  |  |  |   48|  3.16k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.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|  3.16k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.16k|               #member " callback failed")
  ------------------
  964|  3.16k|        CALLBACK(OnOpcodeIndex, func_index);
  ------------------
  |  |   66|  3.16k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.16k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.16k|  do {                      \
  |  |  |  |  |  |   48|  3.16k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.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|  3.16k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.16k|               #member " callback failed")
  ------------------
  965|  3.16k|        break;
  966|  3.16k|      }
  967|       |
  968|  5.43k|      case Opcode::ReturnCallIndirect: {
  ------------------
  |  Branch (968:7): [True: 5.43k, False: 6.21M]
  ------------------
  969|  5.43k|        Index sig_index;
  970|  5.43k|        CHECK_RESULT(ReadIndex(&sig_index, "return_call_indirect"));
  ------------------
  |  |   55|  5.43k|  do {                              \
  |  |   56|  5.43k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 11, False: 5.42k]
  |  |  ------------------
  |  |   57|     11|      return ::wabt::Result::Error; \
  |  |   58|     11|    }                               \
  |  |   59|  5.43k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  971|  5.42k|        Index table_index = 0;
  972|  5.42k|        if (options_.features.reference_types_enabled()) {
  ------------------
  |  Branch (972:13): [True: 5.42k, False: 0]
  ------------------
  973|  5.42k|          CHECK_RESULT(
  ------------------
  |  |   55|  5.42k|  do {                              \
  |  |   56|  5.42k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 12, False: 5.41k]
  |  |  ------------------
  |  |   57|     12|      return ::wabt::Result::Error; \
  |  |   58|     12|    }                               \
  |  |   59|  5.42k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  974|  5.42k|              ReadIndex(&table_index, "return_call_indirect table index"));
  975|  5.42k|        } 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|  5.41k|        CALLBACK(OnReturnCallIndirectExpr, sig_index, table_index);
  ------------------
  |  |   66|  5.41k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.41k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.41k|  do {                      \
  |  |  |  |  |  |   48|  5.41k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.41k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.41k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.41k|               #member " callback failed")
  ------------------
  982|  5.41k|        CALLBACK(OnOpcodeUint32Uint32, sig_index, table_index);
  ------------------
  |  |   66|  5.41k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.41k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.41k|  do {                      \
  |  |  |  |  |  |   48|  5.41k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.41k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.41k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.41k|               #member " callback failed")
  ------------------
  983|  5.41k|        break;
  984|  5.41k|      }
  985|       |
  986|  5.41k|      case Opcode::LocalTee: {
  ------------------
  |  Branch (986:7): [True: 4.94k, False: 6.21M]
  ------------------
  987|  4.94k|        Index local_index;
  988|  4.94k|        CHECK_RESULT(ReadIndex(&local_index, "local.tee local index"));
  ------------------
  |  |   55|  4.94k|  do {                              \
  |  |   56|  4.94k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 13, False: 4.93k]
  |  |  ------------------
  |  |   57|     13|      return ::wabt::Result::Error; \
  |  |   58|     13|    }                               \
  |  |   59|  4.94k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  989|  4.93k|        CALLBACK(OnLocalTeeExpr, local_index);
  ------------------
  |  |   66|  4.93k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.93k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.93k|  do {                      \
  |  |  |  |  |  |   48|  4.93k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.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|  4.93k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.93k|               #member " callback failed")
  ------------------
  990|  4.93k|        CALLBACK(OnOpcodeIndex, local_index);
  ------------------
  |  |   66|  4.93k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.93k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.93k|  do {                      \
  |  |  |  |  |  |   48|  4.93k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.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|  4.93k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.93k|               #member " callback failed")
  ------------------
  991|  4.93k|        break;
  992|  4.93k|      }
  993|       |
  994|  5.61k|      case Opcode::I32Load8S:
  ------------------
  |  Branch (994:7): [True: 5.61k, False: 6.21M]
  ------------------
  995|  8.02k|      case Opcode::I32Load8U:
  ------------------
  |  Branch (995:7): [True: 2.40k, False: 6.22M]
  ------------------
  996|  10.6k|      case Opcode::I32Load16S:
  ------------------
  |  Branch (996:7): [True: 2.67k, False: 6.22M]
  ------------------
  997|  12.7k|      case Opcode::I32Load16U:
  ------------------
  |  Branch (997:7): [True: 2.08k, False: 6.22M]
  ------------------
  998|  15.1k|      case Opcode::I64Load8S:
  ------------------
  |  Branch (998:7): [True: 2.32k, False: 6.22M]
  ------------------
  999|  17.0k|      case Opcode::I64Load8U:
  ------------------
  |  Branch (999:7): [True: 1.98k, False: 6.22M]
  ------------------
 1000|  20.3k|      case Opcode::I64Load16S:
  ------------------
  |  Branch (1000:7): [True: 3.30k, False: 6.22M]
  ------------------
 1001|  21.7k|      case Opcode::I64Load16U:
  ------------------
  |  Branch (1001:7): [True: 1.33k, False: 6.22M]
  ------------------
 1002|  26.7k|      case Opcode::I64Load32S:
  ------------------
  |  Branch (1002:7): [True: 4.97k, False: 6.21M]
  ------------------
 1003|  28.6k|      case Opcode::I64Load32U:
  ------------------
  |  Branch (1003:7): [True: 1.91k, False: 6.22M]
  ------------------
 1004|  30.8k|      case Opcode::I32Load:
  ------------------
  |  Branch (1004:7): [True: 2.19k, False: 6.22M]
  ------------------
 1005|  33.0k|      case Opcode::I64Load:
  ------------------
  |  Branch (1005:7): [True: 2.21k, False: 6.22M]
  ------------------
 1006|  49.4k|      case Opcode::F32Load:
  ------------------
  |  Branch (1006:7): [True: 16.4k, False: 6.20M]
  ------------------
 1007|  51.3k|      case Opcode::F64Load:
  ------------------
  |  Branch (1007:7): [True: 1.88k, False: 6.22M]
  ------------------
 1008|  64.8k|      case Opcode::V128Load:
  ------------------
  |  Branch (1008:7): [True: 13.4k, False: 6.21M]
  ------------------
 1009|  68.2k|      case Opcode::V128Load8X8S:
  ------------------
  |  Branch (1009:7): [True: 3.38k, False: 6.22M]
  ------------------
 1010|  69.7k|      case Opcode::V128Load8X8U:
  ------------------
  |  Branch (1010:7): [True: 1.54k, False: 6.22M]
  ------------------
 1011|  70.7k|      case Opcode::V128Load16X4S:
  ------------------
  |  Branch (1011:7): [True: 925, False: 6.22M]
  ------------------
 1012|  72.0k|      case Opcode::V128Load16X4U:
  ------------------
  |  Branch (1012:7): [True: 1.38k, False: 6.22M]
  ------------------
 1013|  72.3k|      case Opcode::V128Load32X2S:
  ------------------
  |  Branch (1013:7): [True: 250, False: 6.22M]
  ------------------
 1014|  73.1k|      case Opcode::V128Load32X2U: {
  ------------------
  |  Branch (1014:7): [True: 810, False: 6.22M]
  ------------------
 1015|  73.1k|        Address alignment_log2;
 1016|  73.1k|        Index memidx;
 1017|  73.1k|        Address offset;
 1018|  73.1k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  73.1k|  do {                              \
  |  |   56|  73.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 445, False: 72.7k]
  |  |  ------------------
  |  |   57|    445|      return ::wabt::Result::Error; \
  |  |   58|    445|    }                               \
  |  |   59|  73.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1019|  73.1k|                                     "load alignment", "load memidx",
 1020|  73.1k|                                     "load offset"));
 1021|  72.7k|        CALLBACK(OnLoadExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  72.7k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  72.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  72.7k|  do {                      \
  |  |  |  |  |  |   48|  72.7k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 72.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|  72.7k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  72.7k|               #member " callback failed")
  ------------------
 1022|  72.7k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  72.7k|  do {                              \
  |  |   56|  72.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 72.7k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  72.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1023|  72.7k|        break;
 1024|  72.7k|      }
 1025|       |
 1026|  72.7k|      case Opcode::I32Store8:
  ------------------
  |  Branch (1026:7): [True: 2.95k, False: 6.22M]
  ------------------
 1027|  6.80k|      case Opcode::I32Store16:
  ------------------
  |  Branch (1027:7): [True: 3.85k, False: 6.22M]
  ------------------
 1028|  7.46k|      case Opcode::I64Store8:
  ------------------
  |  Branch (1028:7): [True: 658, False: 6.22M]
  ------------------
 1029|  10.4k|      case Opcode::I64Store16:
  ------------------
  |  Branch (1029:7): [True: 2.96k, False: 6.22M]
  ------------------
 1030|  11.6k|      case Opcode::I64Store32:
  ------------------
  |  Branch (1030:7): [True: 1.26k, False: 6.22M]
  ------------------
 1031|  12.7k|      case Opcode::I32Store:
  ------------------
  |  Branch (1031:7): [True: 1.10k, False: 6.22M]
  ------------------
 1032|  13.9k|      case Opcode::I64Store:
  ------------------
  |  Branch (1032:7): [True: 1.15k, False: 6.22M]
  ------------------
 1033|  18.1k|      case Opcode::F32Store:
  ------------------
  |  Branch (1033:7): [True: 4.15k, False: 6.21M]
  ------------------
 1034|  21.0k|      case Opcode::F64Store:
  ------------------
  |  Branch (1034:7): [True: 2.95k, False: 6.22M]
  ------------------
 1035|  39.5k|      case Opcode::V128Store: {
  ------------------
  |  Branch (1035:7): [True: 18.4k, False: 6.20M]
  ------------------
 1036|  39.5k|        Address alignment_log2;
 1037|  39.5k|        Index memidx;
 1038|  39.5k|        Address offset;
 1039|  39.5k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  39.5k|  do {                              \
  |  |   56|  39.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 168, False: 39.3k]
  |  |  ------------------
  |  |   57|    168|      return ::wabt::Result::Error; \
  |  |   58|    168|    }                               \
  |  |   59|  39.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1040|  39.5k|                                     "store alignment", "store memidx",
 1041|  39.5k|                                     "store offset"));
 1042|  39.3k|        CALLBACK(OnStoreExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  39.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  39.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  39.3k|  do {                      \
  |  |  |  |  |  |   48|  39.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 39.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|  39.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  39.3k|               #member " callback failed")
  ------------------
 1043|  39.3k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  39.3k|  do {                              \
  |  |   56|  39.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 39.3k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  39.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1044|  39.3k|        break;
 1045|  39.3k|      }
 1046|       |
 1047|  39.3k|      case Opcode::MemorySize: {
  ------------------
  |  Branch (1047:7): [True: 5.20k, False: 6.21M]
  ------------------
 1048|  5.20k|        Index memidx = 0;
 1049|  5.20k|        if (!options_.features.multi_memory_enabled()) {
  ------------------
  |  Branch (1049:13): [True: 296, False: 4.91k]
  ------------------
 1050|    296|          uint8_t reserved;
 1051|    296|          CHECK_RESULT(ReadU8(&reserved, "memory.size reserved"));
  ------------------
  |  |   55|    296|  do {                              \
  |  |   56|    296|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 16, False: 280]
  |  |  ------------------
  |  |   57|     16|      return ::wabt::Result::Error; \
  |  |   58|     16|    }                               \
  |  |   59|    296|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1052|    280|          ERROR_UNLESS(reserved == 0, "memory.size reserved value must be 0");
  ------------------
  |  |   53|    280|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    280|  do {                      \
  |  |  |  |   48|    280|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 20, False: 260]
  |  |  |  |  ------------------
  |  |  |  |   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|    280|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1053|  4.91k|        } else {
 1054|  4.91k|          CHECK_RESULT(ReadMemidx(&memidx, "memory.size memidx"));
  ------------------
  |  |   55|  4.91k|  do {                              \
  |  |   56|  4.91k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 21, False: 4.89k]
  |  |  ------------------
  |  |   57|     21|      return ::wabt::Result::Error; \
  |  |   58|     21|    }                               \
  |  |   59|  4.91k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1055|  4.91k|        }
 1056|  5.15k|        CALLBACK(OnMemorySizeExpr, memidx);
  ------------------
  |  |   66|  5.15k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.15k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.15k|  do {                      \
  |  |  |  |  |  |   48|  5.15k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.15k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.15k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.15k|               #member " callback failed")
  ------------------
 1057|  5.15k|        CALLBACK(OnOpcodeUint32, memidx);
  ------------------
  |  |   66|  5.15k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.15k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.15k|  do {                      \
  |  |  |  |  |  |   48|  5.15k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.15k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.15k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.15k|               #member " callback failed")
  ------------------
 1058|  5.15k|        break;
 1059|  5.15k|      }
 1060|       |
 1061|  6.86k|      case Opcode::MemoryGrow: {
  ------------------
  |  Branch (1061:7): [True: 6.86k, False: 6.21M]
  ------------------
 1062|  6.86k|        Index memidx = 0;
 1063|  6.86k|        if (!options_.features.multi_memory_enabled()) {
  ------------------
  |  Branch (1063:13): [True: 1.74k, False: 5.12k]
  ------------------
 1064|  1.74k|          uint8_t reserved;
 1065|  1.74k|          CHECK_RESULT(ReadU8(&reserved, "memory.grow reserved"));
  ------------------
  |  |   55|  1.74k|  do {                              \
  |  |   56|  1.74k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 14, False: 1.72k]
  |  |  ------------------
  |  |   57|     14|      return ::wabt::Result::Error; \
  |  |   58|     14|    }                               \
  |  |   59|  1.74k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1066|  1.72k|          ERROR_UNLESS(reserved == 0, "memory.grow reserved value must be 0");
  ------------------
  |  |   53|  1.72k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  1.72k|  do {                      \
  |  |  |  |   48|  1.72k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 36, False: 1.69k]
  |  |  |  |  ------------------
  |  |  |  |   49|     36|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     36|  do {                       \
  |  |  |  |  |  |   42|     36|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     36|    return Result::Error;    \
  |  |  |  |  |  |   44|     36|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     36|    }                       \
  |  |  |  |   51|  1.72k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1067|  5.12k|        } else {
 1068|  5.12k|          CHECK_RESULT(ReadMemidx(&memidx, "memory.grow memidx"));
  ------------------
  |  |   55|  5.12k|  do {                              \
  |  |   56|  5.12k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 14, False: 5.11k]
  |  |  ------------------
  |  |   57|     14|      return ::wabt::Result::Error; \
  |  |   58|     14|    }                               \
  |  |   59|  5.12k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1069|  5.12k|        }
 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|  10.1k|      case Opcode::I32Add:
  ------------------
  |  Branch (1075:7): [True: 10.1k, False: 6.21M]
  ------------------
 1076|  25.7k|      case Opcode::I32Sub:
  ------------------
  |  Branch (1076:7): [True: 15.6k, False: 6.20M]
  ------------------
 1077|  72.6k|      case Opcode::I32Mul:
  ------------------
  |  Branch (1077:7): [True: 46.8k, False: 6.17M]
  ------------------
 1078|   102k|      case Opcode::I32DivS:
  ------------------
  |  Branch (1078:7): [True: 30.1k, False: 6.19M]
  ------------------
 1079|   111k|      case Opcode::I32DivU:
  ------------------
  |  Branch (1079:7): [True: 9.21k, False: 6.21M]
  ------------------
 1080|   147k|      case Opcode::I32RemS:
  ------------------
  |  Branch (1080:7): [True: 35.5k, False: 6.18M]
  ------------------
 1081|   151k|      case Opcode::I32RemU:
  ------------------
  |  Branch (1081:7): [True: 3.50k, False: 6.22M]
  ------------------
 1082|   155k|      case Opcode::I32And:
  ------------------
  |  Branch (1082:7): [True: 4.49k, False: 6.21M]
  ------------------
 1083|   166k|      case Opcode::I32Or:
  ------------------
  |  Branch (1083:7): [True: 10.9k, False: 6.21M]
  ------------------
 1084|   192k|      case Opcode::I32Xor:
  ------------------
  |  Branch (1084:7): [True: 26.3k, False: 6.19M]
  ------------------
 1085|   203k|      case Opcode::I32Shl:
  ------------------
  |  Branch (1085:7): [True: 11.1k, False: 6.21M]
  ------------------
 1086|   210k|      case Opcode::I32ShrU:
  ------------------
  |  Branch (1086:7): [True: 6.23k, False: 6.21M]
  ------------------
 1087|   217k|      case Opcode::I32ShrS:
  ------------------
  |  Branch (1087:7): [True: 6.92k, False: 6.21M]
  ------------------
 1088|   224k|      case Opcode::I32Rotr:
  ------------------
  |  Branch (1088:7): [True: 7.17k, False: 6.21M]
  ------------------
 1089|   234k|      case Opcode::I32Rotl:
  ------------------
  |  Branch (1089:7): [True: 10.4k, False: 6.21M]
  ------------------
 1090|   250k|      case Opcode::I64Add:
  ------------------
  |  Branch (1090:7): [True: 16.1k, False: 6.20M]
  ------------------
 1091|   262k|      case Opcode::I64Sub:
  ------------------
  |  Branch (1091:7): [True: 11.9k, False: 6.21M]
  ------------------
 1092|   275k|      case Opcode::I64Mul:
  ------------------
  |  Branch (1092:7): [True: 12.3k, False: 6.21M]
  ------------------
 1093|   286k|      case Opcode::I64DivS:
  ------------------
  |  Branch (1093:7): [True: 11.4k, False: 6.21M]
  ------------------
 1094|   304k|      case Opcode::I64DivU:
  ------------------
  |  Branch (1094:7): [True: 18.0k, False: 6.20M]
  ------------------
 1095|   307k|      case Opcode::I64RemS:
  ------------------
  |  Branch (1095:7): [True: 2.81k, False: 6.22M]
  ------------------
 1096|   310k|      case Opcode::I64RemU:
  ------------------
  |  Branch (1096:7): [True: 2.73k, False: 6.22M]
  ------------------
 1097|   326k|      case Opcode::I64And:
  ------------------
  |  Branch (1097:7): [True: 16.7k, False: 6.20M]
  ------------------
 1098|   332k|      case Opcode::I64Or:
  ------------------
  |  Branch (1098:7): [True: 5.80k, False: 6.21M]
  ------------------
 1099|   337k|      case Opcode::I64Xor:
  ------------------
  |  Branch (1099:7): [True: 4.34k, False: 6.21M]
  ------------------
 1100|   344k|      case Opcode::I64Shl:
  ------------------
  |  Branch (1100:7): [True: 7.17k, False: 6.21M]
  ------------------
 1101|   348k|      case Opcode::I64ShrU:
  ------------------
  |  Branch (1101:7): [True: 4.56k, False: 6.21M]
  ------------------
 1102|   356k|      case Opcode::I64ShrS:
  ------------------
  |  Branch (1102:7): [True: 7.56k, False: 6.21M]
  ------------------
 1103|   359k|      case Opcode::I64Rotr:
  ------------------
  |  Branch (1103:7): [True: 3.34k, False: 6.22M]
  ------------------
 1104|   370k|      case Opcode::I64Rotl:
  ------------------
  |  Branch (1104:7): [True: 10.3k, False: 6.21M]
  ------------------
 1105|   375k|      case Opcode::F32Add:
  ------------------
  |  Branch (1105:7): [True: 5.13k, False: 6.21M]
  ------------------
 1106|   382k|      case Opcode::F32Sub:
  ------------------
  |  Branch (1106:7): [True: 7.11k, False: 6.21M]
  ------------------
 1107|   387k|      case Opcode::F32Mul:
  ------------------
  |  Branch (1107:7): [True: 4.93k, False: 6.21M]
  ------------------
 1108|   412k|      case Opcode::F32Div:
  ------------------
  |  Branch (1108:7): [True: 24.9k, False: 6.19M]
  ------------------
 1109|   415k|      case Opcode::F32Min:
  ------------------
  |  Branch (1109:7): [True: 3.43k, False: 6.22M]
  ------------------
 1110|   422k|      case Opcode::F32Max:
  ------------------
  |  Branch (1110:7): [True: 6.77k, False: 6.21M]
  ------------------
 1111|   430k|      case Opcode::F32Copysign:
  ------------------
  |  Branch (1111:7): [True: 7.61k, False: 6.21M]
  ------------------
 1112|   440k|      case Opcode::F64Add:
  ------------------
  |  Branch (1112:7): [True: 10.4k, False: 6.21M]
  ------------------
 1113|   444k|      case Opcode::F64Sub:
  ------------------
  |  Branch (1113:7): [True: 3.62k, False: 6.22M]
  ------------------
 1114|   447k|      case Opcode::F64Mul:
  ------------------
  |  Branch (1114:7): [True: 3.11k, False: 6.22M]
  ------------------
 1115|   451k|      case Opcode::F64Div:
  ------------------
  |  Branch (1115:7): [True: 3.90k, False: 6.22M]
  ------------------
 1116|   455k|      case Opcode::F64Min:
  ------------------
  |  Branch (1116:7): [True: 4.44k, False: 6.21M]
  ------------------
 1117|   458k|      case Opcode::F64Max:
  ------------------
  |  Branch (1117:7): [True: 3.36k, False: 6.22M]
  ------------------
 1118|   461k|      case Opcode::F64Copysign:
  ------------------
  |  Branch (1118:7): [True: 2.21k, False: 6.22M]
  ------------------
 1119|   461k|      case Opcode::I8X16Add:
  ------------------
  |  Branch (1119:7): [True: 867, False: 6.22M]
  ------------------
 1120|   464k|      case Opcode::I16X8Add:
  ------------------
  |  Branch (1120:7): [True: 2.37k, False: 6.22M]
  ------------------
 1121|   464k|      case Opcode::I32X4Add:
  ------------------
  |  Branch (1121:7): [True: 526, False: 6.22M]
  ------------------
 1122|   465k|      case Opcode::I64X2Add:
  ------------------
  |  Branch (1122:7): [True: 384, False: 6.22M]
  ------------------
 1123|   466k|      case Opcode::I8X16Sub:
  ------------------
  |  Branch (1123:7): [True: 794, False: 6.22M]
  ------------------
 1124|   466k|      case Opcode::I16X8Sub:
  ------------------
  |  Branch (1124:7): [True: 459, False: 6.22M]
  ------------------
 1125|   467k|      case Opcode::I32X4Sub:
  ------------------
  |  Branch (1125:7): [True: 548, False: 6.22M]
  ------------------
 1126|   468k|      case Opcode::I64X2Sub:
  ------------------
  |  Branch (1126:7): [True: 1.32k, False: 6.22M]
  ------------------
 1127|   469k|      case Opcode::I16X8Mul:
  ------------------
  |  Branch (1127:7): [True: 626, False: 6.22M]
  ------------------
 1128|   470k|      case Opcode::I32X4Mul:
  ------------------
  |  Branch (1128:7): [True: 1.50k, False: 6.22M]
  ------------------
 1129|   470k|      case Opcode::I64X2Mul:
  ------------------
  |  Branch (1129:7): [True: 368, False: 6.22M]
  ------------------
 1130|   474k|      case Opcode::I8X16AddSatS:
  ------------------
  |  Branch (1130:7): [True: 3.87k, False: 6.22M]
  ------------------
 1131|   475k|      case Opcode::I8X16AddSatU:
  ------------------
  |  Branch (1131:7): [True: 666, False: 6.22M]
  ------------------
 1132|   476k|      case Opcode::I16X8AddSatS:
  ------------------
  |  Branch (1132:7): [True: 627, False: 6.22M]
  ------------------
 1133|   476k|      case Opcode::I16X8AddSatU:
  ------------------
  |  Branch (1133:7): [True: 631, False: 6.22M]
  ------------------
 1134|   477k|      case Opcode::I8X16SubSatS:
  ------------------
  |  Branch (1134:7): [True: 1.02k, False: 6.22M]
  ------------------
 1135|   478k|      case Opcode::I8X16SubSatU:
  ------------------
  |  Branch (1135:7): [True: 1.09k, False: 6.22M]
  ------------------
 1136|   479k|      case Opcode::I16X8SubSatS:
  ------------------
  |  Branch (1136:7): [True: 646, False: 6.22M]
  ------------------
 1137|   479k|      case Opcode::I16X8SubSatU:
  ------------------
  |  Branch (1137:7): [True: 341, False: 6.22M]
  ------------------
 1138|   481k|      case Opcode::I8X16MinS:
  ------------------
  |  Branch (1138:7): [True: 1.53k, False: 6.22M]
  ------------------
 1139|   483k|      case Opcode::I16X8MinS:
  ------------------
  |  Branch (1139:7): [True: 1.81k, False: 6.22M]
  ------------------
 1140|   483k|      case Opcode::I32X4MinS:
  ------------------
  |  Branch (1140:7): [True: 776, False: 6.22M]
  ------------------
 1141|   484k|      case Opcode::I8X16MinU:
  ------------------
  |  Branch (1141:7): [True: 967, False: 6.22M]
  ------------------
 1142|   485k|      case Opcode::I16X8MinU:
  ------------------
  |  Branch (1142:7): [True: 387, False: 6.22M]
  ------------------
 1143|   486k|      case Opcode::I32X4MinU:
  ------------------
  |  Branch (1143:7): [True: 883, False: 6.22M]
  ------------------
 1144|   486k|      case Opcode::I8X16MaxS:
  ------------------
  |  Branch (1144:7): [True: 749, False: 6.22M]
  ------------------
 1145|   487k|      case Opcode::I16X8MaxS:
  ------------------
  |  Branch (1145:7): [True: 503, False: 6.22M]
  ------------------
 1146|   488k|      case Opcode::I32X4MaxS:
  ------------------
  |  Branch (1146:7): [True: 605, False: 6.22M]
  ------------------
 1147|   488k|      case Opcode::I8X16MaxU:
  ------------------
  |  Branch (1147:7): [True: 684, False: 6.22M]
  ------------------
 1148|   490k|      case Opcode::I16X8MaxU:
  ------------------
  |  Branch (1148:7): [True: 1.49k, False: 6.22M]
  ------------------
 1149|   490k|      case Opcode::I32X4MaxU:
  ------------------
  |  Branch (1149:7): [True: 231, False: 6.22M]
  ------------------
 1150|   492k|      case Opcode::I8X16Shl:
  ------------------
  |  Branch (1150:7): [True: 1.75k, False: 6.22M]
  ------------------
 1151|   492k|      case Opcode::I16X8Shl:
  ------------------
  |  Branch (1151:7): [True: 491, False: 6.22M]
  ------------------
 1152|   493k|      case Opcode::I32X4Shl:
  ------------------
  |  Branch (1152:7): [True: 971, False: 6.22M]
  ------------------
 1153|   494k|      case Opcode::I64X2Shl:
  ------------------
  |  Branch (1153:7): [True: 1.29k, False: 6.22M]
  ------------------
 1154|   496k|      case Opcode::I8X16ShrS:
  ------------------
  |  Branch (1154:7): [True: 1.32k, False: 6.22M]
  ------------------
 1155|   497k|      case Opcode::I8X16ShrU:
  ------------------
  |  Branch (1155:7): [True: 1.37k, False: 6.22M]
  ------------------
 1156|   498k|      case Opcode::I16X8ShrS:
  ------------------
  |  Branch (1156:7): [True: 870, False: 6.22M]
  ------------------
 1157|   500k|      case Opcode::I16X8ShrU:
  ------------------
  |  Branch (1157:7): [True: 2.21k, False: 6.22M]
  ------------------
 1158|   501k|      case Opcode::I32X4ShrS:
  ------------------
  |  Branch (1158:7): [True: 437, False: 6.22M]
  ------------------
 1159|   501k|      case Opcode::I32X4ShrU:
  ------------------
  |  Branch (1159:7): [True: 779, False: 6.22M]
  ------------------
 1160|   503k|      case Opcode::I64X2ShrS:
  ------------------
  |  Branch (1160:7): [True: 1.21k, False: 6.22M]
  ------------------
 1161|   504k|      case Opcode::I64X2ShrU:
  ------------------
  |  Branch (1161:7): [True: 961, False: 6.22M]
  ------------------
 1162|   505k|      case Opcode::V128And:
  ------------------
  |  Branch (1162:7): [True: 1.02k, False: 6.22M]
  ------------------
 1163|   505k|      case Opcode::V128Or:
  ------------------
  |  Branch (1163:7): [True: 683, False: 6.22M]
  ------------------
 1164|   506k|      case Opcode::V128Xor:
  ------------------
  |  Branch (1164:7): [True: 1.09k, False: 6.22M]
  ------------------
 1165|   507k|      case Opcode::F32X4Min:
  ------------------
  |  Branch (1165:7): [True: 621, False: 6.22M]
  ------------------
 1166|   508k|      case Opcode::F32X4PMin:
  ------------------
  |  Branch (1166:7): [True: 1.07k, False: 6.22M]
  ------------------
 1167|   510k|      case Opcode::F64X2Min:
  ------------------
  |  Branch (1167:7): [True: 1.80k, False: 6.22M]
  ------------------
 1168|   511k|      case Opcode::F64X2PMin:
  ------------------
  |  Branch (1168:7): [True: 617, False: 6.22M]
  ------------------
 1169|   513k|      case Opcode::F32X4Max:
  ------------------
  |  Branch (1169:7): [True: 1.99k, False: 6.22M]
  ------------------
 1170|   513k|      case Opcode::F32X4PMax:
  ------------------
  |  Branch (1170:7): [True: 556, False: 6.22M]
  ------------------
 1171|   514k|      case Opcode::F64X2Max:
  ------------------
  |  Branch (1171:7): [True: 587, False: 6.22M]
  ------------------
 1172|   514k|      case Opcode::F64X2PMax:
  ------------------
  |  Branch (1172:7): [True: 593, False: 6.22M]
  ------------------
 1173|   515k|      case Opcode::F32X4Add:
  ------------------
  |  Branch (1173:7): [True: 568, False: 6.22M]
  ------------------
 1174|   515k|      case Opcode::F64X2Add:
  ------------------
  |  Branch (1174:7): [True: 465, False: 6.22M]
  ------------------
 1175|   516k|      case Opcode::F32X4Sub:
  ------------------
  |  Branch (1175:7): [True: 697, False: 6.22M]
  ------------------
 1176|   516k|      case Opcode::F64X2Sub:
  ------------------
  |  Branch (1176:7): [True: 199, False: 6.22M]
  ------------------
 1177|   518k|      case Opcode::F32X4Div:
  ------------------
  |  Branch (1177:7): [True: 1.41k, False: 6.22M]
  ------------------
 1178|   518k|      case Opcode::F64X2Div:
  ------------------
  |  Branch (1178:7): [True: 280, False: 6.22M]
  ------------------
 1179|   519k|      case Opcode::F32X4Mul:
  ------------------
  |  Branch (1179:7): [True: 1.16k, False: 6.22M]
  ------------------
 1180|   520k|      case Opcode::F64X2Mul:
  ------------------
  |  Branch (1180:7): [True: 961, False: 6.22M]
  ------------------
 1181|   521k|      case Opcode::I8X16Swizzle:
  ------------------
  |  Branch (1181:7): [True: 578, False: 6.22M]
  ------------------
 1182|   535k|      case Opcode::I8X16NarrowI16X8S:
  ------------------
  |  Branch (1182:7): [True: 14.1k, False: 6.20M]
  ------------------
 1183|   536k|      case Opcode::I8X16NarrowI16X8U:
  ------------------
  |  Branch (1183:7): [True: 868, False: 6.22M]
  ------------------
 1184|   538k|      case Opcode::I16X8NarrowI32X4S:
  ------------------
  |  Branch (1184:7): [True: 2.24k, False: 6.22M]
  ------------------
 1185|   538k|      case Opcode::I16X8NarrowI32X4U:
  ------------------
  |  Branch (1185:7): [True: 609, False: 6.22M]
  ------------------
 1186|   539k|      case Opcode::V128Andnot:
  ------------------
  |  Branch (1186:7): [True: 828, False: 6.22M]
  ------------------
 1187|   542k|      case Opcode::I8X16AvgrU:
  ------------------
  |  Branch (1187:7): [True: 2.78k, False: 6.22M]
  ------------------
 1188|   542k|      case Opcode::I16X8AvgrU:
  ------------------
  |  Branch (1188:7): [True: 378, False: 6.22M]
  ------------------
 1189|   543k|      case Opcode::I16X8ExtmulLowI8X16S:
  ------------------
  |  Branch (1189:7): [True: 610, False: 6.22M]
  ------------------
 1190|   546k|      case Opcode::I16X8ExtmulHighI8X16S:
  ------------------
  |  Branch (1190:7): [True: 2.92k, False: 6.22M]
  ------------------
 1191|   547k|      case Opcode::I16X8ExtmulLowI8X16U:
  ------------------
  |  Branch (1191:7): [True: 769, False: 6.22M]
  ------------------
 1192|   549k|      case Opcode::I16X8ExtmulHighI8X16U:
  ------------------
  |  Branch (1192:7): [True: 2.37k, False: 6.22M]
  ------------------
 1193|   550k|      case Opcode::I32X4ExtmulLowI16X8S:
  ------------------
  |  Branch (1193:7): [True: 502, False: 6.22M]
  ------------------
 1194|   550k|      case Opcode::I32X4ExtmulHighI16X8S:
  ------------------
  |  Branch (1194:7): [True: 487, False: 6.22M]
  ------------------
 1195|   551k|      case Opcode::I32X4ExtmulLowI16X8U:
  ------------------
  |  Branch (1195:7): [True: 680, False: 6.22M]
  ------------------
 1196|   551k|      case Opcode::I32X4ExtmulHighI16X8U:
  ------------------
  |  Branch (1196:7): [True: 492, False: 6.22M]
  ------------------
 1197|   552k|      case Opcode::I64X2ExtmulLowI32X4S:
  ------------------
  |  Branch (1197:7): [True: 574, False: 6.22M]
  ------------------
 1198|   553k|      case Opcode::I64X2ExtmulHighI32X4S:
  ------------------
  |  Branch (1198:7): [True: 673, False: 6.22M]
  ------------------
 1199|   553k|      case Opcode::I64X2ExtmulLowI32X4U:
  ------------------
  |  Branch (1199:7): [True: 490, False: 6.22M]
  ------------------
 1200|   553k|      case Opcode::I64X2ExtmulHighI32X4U:
  ------------------
  |  Branch (1200:7): [True: 462, False: 6.22M]
  ------------------
 1201|   554k|      case Opcode::I16X8Q15mulrSatS:
  ------------------
  |  Branch (1201:7): [True: 521, False: 6.22M]
  ------------------
 1202|   555k|      case Opcode::I32X4DotI16X8S:
  ------------------
  |  Branch (1202:7): [True: 1.14k, False: 6.22M]
  ------------------
 1203|   556k|      case Opcode::I8X16RelaxedSwizzle:
  ------------------
  |  Branch (1203:7): [True: 377, False: 6.22M]
  ------------------
 1204|   557k|      case Opcode::F32X4RelaxedMin:
  ------------------
  |  Branch (1204:7): [True: 1.18k, False: 6.22M]
  ------------------
 1205|   557k|      case Opcode::F32X4RelaxedMax:
  ------------------
  |  Branch (1205:7): [True: 587, False: 6.22M]
  ------------------
 1206|   558k|      case Opcode::F64X2RelaxedMin:
  ------------------
  |  Branch (1206:7): [True: 553, False: 6.22M]
  ------------------
 1207|   558k|      case Opcode::F64X2RelaxedMax:
  ------------------
  |  Branch (1207:7): [True: 502, False: 6.22M]
  ------------------
 1208|   560k|      case Opcode::I16X8RelaxedQ15mulrS:
  ------------------
  |  Branch (1208:7): [True: 1.29k, False: 6.22M]
  ------------------
 1209|   561k|      case Opcode::I16X8DotI8X16I7X16S:
  ------------------
  |  Branch (1209:7): [True: 1.32k, False: 6.22M]
  ------------------
 1210|   561k|        CALLBACK(OnBinaryExpr, opcode);
  ------------------
  |  |   66|   561k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   561k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   561k|  do {                      \
  |  |  |  |  |  |   48|   561k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 561k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   561k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   561k|               #member " callback failed")
  ------------------
 1211|   561k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|   561k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   561k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   561k|  do {                      \
  |  |  |  |  |  |   48|   561k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 561k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   561k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1212|   561k|        break;
 1213|       |
 1214|   561k|      case Opcode::I32Eq:
  ------------------
  |  Branch (1214:7): [True: 8.18k, False: 6.21M]
  ------------------
 1215|  12.5k|      case Opcode::I32Ne:
  ------------------
  |  Branch (1215:7): [True: 4.35k, False: 6.21M]
  ------------------
 1216|  26.5k|      case Opcode::I32LtS:
  ------------------
  |  Branch (1216:7): [True: 14.0k, False: 6.21M]
  ------------------
 1217|  31.8k|      case Opcode::I32LeS:
  ------------------
  |  Branch (1217:7): [True: 5.29k, False: 6.21M]
  ------------------
 1218|  35.0k|      case Opcode::I32LtU:
  ------------------
  |  Branch (1218:7): [True: 3.17k, False: 6.22M]
  ------------------
 1219|  42.4k|      case Opcode::I32LeU:
  ------------------
  |  Branch (1219:7): [True: 7.42k, False: 6.21M]
  ------------------
 1220|  53.1k|      case Opcode::I32GtS:
  ------------------
  |  Branch (1220:7): [True: 10.6k, False: 6.21M]
  ------------------
 1221|  58.9k|      case Opcode::I32GeS:
  ------------------
  |  Branch (1221:7): [True: 5.82k, False: 6.21M]
  ------------------
 1222|  70.9k|      case Opcode::I32GtU:
  ------------------
  |  Branch (1222:7): [True: 11.9k, False: 6.21M]
  ------------------
 1223|  76.4k|      case Opcode::I32GeU:
  ------------------
  |  Branch (1223:7): [True: 5.51k, False: 6.21M]
  ------------------
 1224|  86.2k|      case Opcode::I64Eq:
  ------------------
  |  Branch (1224:7): [True: 9.82k, False: 6.21M]
  ------------------
 1225|  91.5k|      case Opcode::I64Ne:
  ------------------
  |  Branch (1225:7): [True: 5.31k, False: 6.21M]
  ------------------
 1226|   102k|      case Opcode::I64LtS:
  ------------------
  |  Branch (1226:7): [True: 10.7k, False: 6.21M]
  ------------------
 1227|   106k|      case Opcode::I64LeS:
  ------------------
  |  Branch (1227:7): [True: 4.51k, False: 6.21M]
  ------------------
 1228|   114k|      case Opcode::I64LtU:
  ------------------
  |  Branch (1228:7): [True: 7.78k, False: 6.21M]
  ------------------
 1229|   136k|      case Opcode::I64LeU:
  ------------------
  |  Branch (1229:7): [True: 22.1k, False: 6.20M]
  ------------------
 1230|   175k|      case Opcode::I64GtS:
  ------------------
  |  Branch (1230:7): [True: 38.3k, False: 6.18M]
  ------------------
 1231|   182k|      case Opcode::I64GeS:
  ------------------
  |  Branch (1231:7): [True: 7.34k, False: 6.21M]
  ------------------
 1232|   195k|      case Opcode::I64GtU:
  ------------------
  |  Branch (1232:7): [True: 13.5k, False: 6.21M]
  ------------------
 1233|   204k|      case Opcode::I64GeU:
  ------------------
  |  Branch (1233:7): [True: 8.28k, False: 6.21M]
  ------------------
 1234|   223k|      case Opcode::F32Eq:
  ------------------
  |  Branch (1234:7): [True: 19.4k, False: 6.20M]
  ------------------
 1235|   227k|      case Opcode::F32Ne:
  ------------------
  |  Branch (1235:7): [True: 3.30k, False: 6.22M]
  ------------------
 1236|   236k|      case Opcode::F32Lt:
  ------------------
  |  Branch (1236:7): [True: 9.91k, False: 6.21M]
  ------------------
 1237|   248k|      case Opcode::F32Le:
  ------------------
  |  Branch (1237:7): [True: 11.3k, False: 6.21M]
  ------------------
 1238|   253k|      case Opcode::F32Gt:
  ------------------
  |  Branch (1238:7): [True: 4.87k, False: 6.21M]
  ------------------
 1239|   268k|      case Opcode::F32Ge:
  ------------------
  |  Branch (1239:7): [True: 15.2k, False: 6.20M]
  ------------------
 1240|   303k|      case Opcode::F64Eq:
  ------------------
  |  Branch (1240:7): [True: 34.6k, False: 6.18M]
  ------------------
 1241|   308k|      case Opcode::F64Ne:
  ------------------
  |  Branch (1241:7): [True: 5.08k, False: 6.21M]
  ------------------
 1242|   320k|      case Opcode::F64Lt:
  ------------------
  |  Branch (1242:7): [True: 11.9k, False: 6.21M]
  ------------------
 1243|   328k|      case Opcode::F64Le:
  ------------------
  |  Branch (1243:7): [True: 8.75k, False: 6.21M]
  ------------------
 1244|   362k|      case Opcode::F64Gt:
  ------------------
  |  Branch (1244:7): [True: 33.6k, False: 6.19M]
  ------------------
 1245|   373k|      case Opcode::F64Ge:
  ------------------
  |  Branch (1245:7): [True: 11.1k, False: 6.21M]
  ------------------
 1246|   374k|      case Opcode::I8X16Eq:
  ------------------
  |  Branch (1246:7): [True: 1.33k, False: 6.22M]
  ------------------
 1247|   376k|      case Opcode::I16X8Eq:
  ------------------
  |  Branch (1247:7): [True: 1.07k, False: 6.22M]
  ------------------
 1248|   377k|      case Opcode::I32X4Eq:
  ------------------
  |  Branch (1248:7): [True: 1.91k, False: 6.22M]
  ------------------
 1249|   378k|      case Opcode::I64X2Eq:
  ------------------
  |  Branch (1249:7): [True: 503, False: 6.22M]
  ------------------
 1250|   380k|      case Opcode::F32X4Eq:
  ------------------
  |  Branch (1250:7): [True: 1.56k, False: 6.22M]
  ------------------
 1251|   381k|      case Opcode::F64X2Eq:
  ------------------
  |  Branch (1251:7): [True: 1.18k, False: 6.22M]
  ------------------
 1252|   381k|      case Opcode::I8X16Ne:
  ------------------
  |  Branch (1252:7): [True: 728, False: 6.22M]
  ------------------
 1253|   382k|      case Opcode::I16X8Ne:
  ------------------
  |  Branch (1253:7): [True: 723, False: 6.22M]
  ------------------
 1254|   386k|      case Opcode::I32X4Ne:
  ------------------
  |  Branch (1254:7): [True: 3.44k, False: 6.22M]
  ------------------
 1255|   387k|      case Opcode::I64X2Ne:
  ------------------
  |  Branch (1255:7): [True: 1.70k, False: 6.22M]
  ------------------
 1256|   388k|      case Opcode::F32X4Ne:
  ------------------
  |  Branch (1256:7): [True: 707, False: 6.22M]
  ------------------
 1257|   389k|      case Opcode::F64X2Ne:
  ------------------
  |  Branch (1257:7): [True: 842, False: 6.22M]
  ------------------
 1258|   391k|      case Opcode::I8X16LtS:
  ------------------
  |  Branch (1258:7): [True: 2.33k, False: 6.22M]
  ------------------
 1259|   392k|      case Opcode::I8X16LtU:
  ------------------
  |  Branch (1259:7): [True: 1.16k, False: 6.22M]
  ------------------
 1260|   393k|      case Opcode::I16X8LtS:
  ------------------
  |  Branch (1260:7): [True: 735, False: 6.22M]
  ------------------
 1261|   395k|      case Opcode::I16X8LtU:
  ------------------
  |  Branch (1261:7): [True: 2.00k, False: 6.22M]
  ------------------
 1262|   398k|      case Opcode::I32X4LtS:
  ------------------
  |  Branch (1262:7): [True: 2.87k, False: 6.22M]
  ------------------
 1263|   399k|      case Opcode::I32X4LtU:
  ------------------
  |  Branch (1263:7): [True: 688, False: 6.22M]
  ------------------
 1264|   399k|      case Opcode::I64X2LtS:
  ------------------
  |  Branch (1264:7): [True: 580, False: 6.22M]
  ------------------
 1265|   400k|      case Opcode::F32X4Lt:
  ------------------
  |  Branch (1265:7): [True: 795, False: 6.22M]
  ------------------
 1266|   401k|      case Opcode::F64X2Lt:
  ------------------
  |  Branch (1266:7): [True: 1.21k, False: 6.22M]
  ------------------
 1267|   403k|      case Opcode::I8X16LeS:
  ------------------
  |  Branch (1267:7): [True: 1.53k, False: 6.22M]
  ------------------
 1268|   403k|      case Opcode::I8X16LeU:
  ------------------
  |  Branch (1268:7): [True: 704, False: 6.22M]
  ------------------
 1269|   404k|      case Opcode::I16X8LeS:
  ------------------
  |  Branch (1269:7): [True: 960, False: 6.22M]
  ------------------
 1270|   406k|      case Opcode::I16X8LeU:
  ------------------
  |  Branch (1270:7): [True: 1.46k, False: 6.22M]
  ------------------
 1271|   406k|      case Opcode::I32X4LeS:
  ------------------
  |  Branch (1271:7): [True: 485, False: 6.22M]
  ------------------
 1272|   407k|      case Opcode::I32X4LeU:
  ------------------
  |  Branch (1272:7): [True: 592, False: 6.22M]
  ------------------
 1273|   407k|      case Opcode::I64X2LeS:
  ------------------
  |  Branch (1273:7): [True: 423, False: 6.22M]
  ------------------
 1274|   408k|      case Opcode::F32X4Le:
  ------------------
  |  Branch (1274:7): [True: 731, False: 6.22M]
  ------------------
 1275|   410k|      case Opcode::F64X2Le:
  ------------------
  |  Branch (1275:7): [True: 1.67k, False: 6.22M]
  ------------------
 1276|   410k|      case Opcode::I8X16GtS:
  ------------------
  |  Branch (1276:7): [True: 636, False: 6.22M]
  ------------------
 1277|   411k|      case Opcode::I8X16GtU:
  ------------------
  |  Branch (1277:7): [True: 597, False: 6.22M]
  ------------------
 1278|   412k|      case Opcode::I16X8GtS:
  ------------------
  |  Branch (1278:7): [True: 764, False: 6.22M]
  ------------------
 1279|   413k|      case Opcode::I16X8GtU:
  ------------------
  |  Branch (1279:7): [True: 977, False: 6.22M]
  ------------------
 1280|   414k|      case Opcode::I32X4GtS:
  ------------------
  |  Branch (1280:7): [True: 1.55k, False: 6.22M]
  ------------------
 1281|   415k|      case Opcode::I32X4GtU:
  ------------------
  |  Branch (1281:7): [True: 312, False: 6.22M]
  ------------------
 1282|   417k|      case Opcode::I64X2GtS:
  ------------------
  |  Branch (1282:7): [True: 2.24k, False: 6.22M]
  ------------------
 1283|   419k|      case Opcode::F32X4Gt:
  ------------------
  |  Branch (1283:7): [True: 1.63k, False: 6.22M]
  ------------------
 1284|   420k|      case Opcode::F64X2Gt:
  ------------------
  |  Branch (1284:7): [True: 1.75k, False: 6.22M]
  ------------------
 1285|   423k|      case Opcode::I8X16GeS:
  ------------------
  |  Branch (1285:7): [True: 2.85k, False: 6.22M]
  ------------------
 1286|   425k|      case Opcode::I8X16GeU:
  ------------------
  |  Branch (1286:7): [True: 1.63k, False: 6.22M]
  ------------------
 1287|   426k|      case Opcode::I16X8GeS:
  ------------------
  |  Branch (1287:7): [True: 1.01k, False: 6.22M]
  ------------------
 1288|   427k|      case Opcode::I16X8GeU:
  ------------------
  |  Branch (1288:7): [True: 879, False: 6.22M]
  ------------------
 1289|   429k|      case Opcode::I32X4GeS:
  ------------------
  |  Branch (1289:7): [True: 1.94k, False: 6.22M]
  ------------------
 1290|   430k|      case Opcode::I32X4GeU:
  ------------------
  |  Branch (1290:7): [True: 1.28k, False: 6.22M]
  ------------------
 1291|   430k|      case Opcode::I64X2GeS:
  ------------------
  |  Branch (1291:7): [True: 560, False: 6.22M]
  ------------------
 1292|   432k|      case Opcode::F32X4Ge:
  ------------------
  |  Branch (1292:7): [True: 1.50k, False: 6.22M]
  ------------------
 1293|   432k|      case Opcode::F64X2Ge:
  ------------------
  |  Branch (1293:7): [True: 481, False: 6.22M]
  ------------------
 1294|   432k|        CALLBACK(OnCompareExpr, opcode);
  ------------------
  |  |   66|   432k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   432k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   432k|  do {                      \
  |  |  |  |  |  |   48|   432k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 432k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   432k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   432k|               #member " callback failed")
  ------------------
 1295|   432k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|   432k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   432k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   432k|  do {                      \
  |  |  |  |  |  |   48|   432k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 432k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   432k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1296|   432k|        break;
 1297|       |
 1298|   432k|      case Opcode::I32Clz:
  ------------------
  |  Branch (1298:7): [True: 8.28k, False: 6.21M]
  ------------------
 1299|  18.4k|      case Opcode::I32Ctz:
  ------------------
  |  Branch (1299:7): [True: 10.1k, False: 6.21M]
  ------------------
 1300|  32.1k|      case Opcode::I32Popcnt:
  ------------------
  |  Branch (1300:7): [True: 13.6k, False: 6.21M]
  ------------------
 1301|  37.9k|      case Opcode::I64Clz:
  ------------------
  |  Branch (1301:7): [True: 5.78k, False: 6.21M]
  ------------------
 1302|  64.2k|      case Opcode::I64Ctz:
  ------------------
  |  Branch (1302:7): [True: 26.3k, False: 6.19M]
  ------------------
 1303|   126k|      case Opcode::I64Popcnt:
  ------------------
  |  Branch (1303:7): [True: 62.1k, False: 6.16M]
  ------------------
 1304|   130k|      case Opcode::F32Abs:
  ------------------
  |  Branch (1304:7): [True: 4.09k, False: 6.22M]
  ------------------
 1305|   134k|      case Opcode::F32Neg:
  ------------------
  |  Branch (1305:7): [True: 4.04k, False: 6.22M]
  ------------------
 1306|   149k|      case Opcode::F32Ceil:
  ------------------
  |  Branch (1306:7): [True: 14.9k, False: 6.20M]
  ------------------
 1307|   155k|      case Opcode::F32Floor:
  ------------------
  |  Branch (1307:7): [True: 5.86k, False: 6.21M]
  ------------------
 1308|   159k|      case Opcode::F32Trunc:
  ------------------
  |  Branch (1308:7): [True: 3.73k, False: 6.22M]
  ------------------
 1309|   163k|      case Opcode::F32Nearest:
  ------------------
  |  Branch (1309:7): [True: 4.70k, False: 6.21M]
  ------------------
 1310|   169k|      case Opcode::F32Sqrt:
  ------------------
  |  Branch (1310:7): [True: 6.19k, False: 6.21M]
  ------------------
 1311|   174k|      case Opcode::F64Abs:
  ------------------
  |  Branch (1311:7): [True: 4.68k, False: 6.21M]
  ------------------
 1312|   176k|      case Opcode::F64Neg:
  ------------------
  |  Branch (1312:7): [True: 2.34k, False: 6.22M]
  ------------------
 1313|   178k|      case Opcode::F64Ceil:
  ------------------
  |  Branch (1313:7): [True: 1.90k, False: 6.22M]
  ------------------
 1314|   181k|      case Opcode::F64Floor:
  ------------------
  |  Branch (1314:7): [True: 2.65k, False: 6.22M]
  ------------------
 1315|   184k|      case Opcode::F64Trunc:
  ------------------
  |  Branch (1315:7): [True: 3.44k, False: 6.22M]
  ------------------
 1316|   190k|      case Opcode::F64Nearest:
  ------------------
  |  Branch (1316:7): [True: 6.01k, False: 6.21M]
  ------------------
 1317|   193k|      case Opcode::F64Sqrt:
  ------------------
  |  Branch (1317:7): [True: 2.66k, False: 6.22M]
  ------------------
 1318|   194k|      case Opcode::I8X16Splat:
  ------------------
  |  Branch (1318:7): [True: 1.02k, False: 6.22M]
  ------------------
 1319|   195k|      case Opcode::I16X8Splat:
  ------------------
  |  Branch (1319:7): [True: 989, False: 6.22M]
  ------------------
 1320|   199k|      case Opcode::I32X4Splat:
  ------------------
  |  Branch (1320:7): [True: 3.90k, False: 6.22M]
  ------------------
 1321|   200k|      case Opcode::I64X2Splat:
  ------------------
  |  Branch (1321:7): [True: 909, False: 6.22M]
  ------------------
 1322|   201k|      case Opcode::F32X4Splat:
  ------------------
  |  Branch (1322:7): [True: 1.31k, False: 6.22M]
  ------------------
 1323|   202k|      case Opcode::F64X2Splat:
  ------------------
  |  Branch (1323:7): [True: 557, False: 6.22M]
  ------------------
 1324|   204k|      case Opcode::I8X16Neg:
  ------------------
  |  Branch (1324:7): [True: 1.90k, False: 6.22M]
  ------------------
 1325|   204k|      case Opcode::I16X8Neg:
  ------------------
  |  Branch (1325:7): [True: 529, False: 6.22M]
  ------------------
 1326|   211k|      case Opcode::I32X4Neg:
  ------------------
  |  Branch (1326:7): [True: 6.98k, False: 6.21M]
  ------------------
 1327|   212k|      case Opcode::I64X2Neg:
  ------------------
  |  Branch (1327:7): [True: 951, False: 6.22M]
  ------------------
 1328|   213k|      case Opcode::V128Not:
  ------------------
  |  Branch (1328:7): [True: 365, False: 6.22M]
  ------------------
 1329|   213k|      case Opcode::V128AnyTrue:
  ------------------
  |  Branch (1329:7): [True: 800, False: 6.22M]
  ------------------
 1330|   221k|      case Opcode::I8X16Bitmask:
  ------------------
  |  Branch (1330:7): [True: 7.38k, False: 6.21M]
  ------------------
 1331|   221k|      case Opcode::I16X8Bitmask:
  ------------------
  |  Branch (1331:7): [True: 261, False: 6.22M]
  ------------------
 1332|   222k|      case Opcode::I32X4Bitmask:
  ------------------
  |  Branch (1332:7): [True: 502, False: 6.22M]
  ------------------
 1333|   222k|      case Opcode::I64X2Bitmask:
  ------------------
  |  Branch (1333:7): [True: 886, False: 6.22M]
  ------------------
 1334|   224k|      case Opcode::I8X16AllTrue:
  ------------------
  |  Branch (1334:7): [True: 1.71k, False: 6.22M]
  ------------------
 1335|   228k|      case Opcode::I16X8AllTrue:
  ------------------
  |  Branch (1335:7): [True: 4.11k, False: 6.22M]
  ------------------
 1336|   229k|      case Opcode::I32X4AllTrue:
  ------------------
  |  Branch (1336:7): [True: 561, False: 6.22M]
  ------------------
 1337|   230k|      case Opcode::I64X2AllTrue:
  ------------------
  |  Branch (1337:7): [True: 1.07k, False: 6.22M]
  ------------------
 1338|   230k|      case Opcode::F32X4Ceil:
  ------------------
  |  Branch (1338:7): [True: 489, False: 6.22M]
  ------------------
 1339|   232k|      case Opcode::F64X2Ceil:
  ------------------
  |  Branch (1339:7): [True: 1.45k, False: 6.22M]
  ------------------
 1340|   232k|      case Opcode::F32X4Floor:
  ------------------
  |  Branch (1340:7): [True: 546, False: 6.22M]
  ------------------
 1341|   235k|      case Opcode::F64X2Floor:
  ------------------
  |  Branch (1341:7): [True: 2.48k, False: 6.22M]
  ------------------
 1342|   237k|      case Opcode::F32X4Trunc:
  ------------------
  |  Branch (1342:7): [True: 1.71k, False: 6.22M]
  ------------------
 1343|   242k|      case Opcode::F64X2Trunc:
  ------------------
  |  Branch (1343:7): [True: 5.61k, False: 6.21M]
  ------------------
 1344|   243k|      case Opcode::F32X4Nearest:
  ------------------
  |  Branch (1344:7): [True: 864, False: 6.22M]
  ------------------
 1345|   243k|      case Opcode::F64X2Nearest:
  ------------------
  |  Branch (1345:7): [True: 243, False: 6.22M]
  ------------------
 1346|   245k|      case Opcode::F32X4Neg:
  ------------------
  |  Branch (1346:7): [True: 1.78k, False: 6.22M]
  ------------------
 1347|   246k|      case Opcode::F64X2Neg:
  ------------------
  |  Branch (1347:7): [True: 1.33k, False: 6.22M]
  ------------------
 1348|   247k|      case Opcode::F32X4Abs:
  ------------------
  |  Branch (1348:7): [True: 211, False: 6.22M]
  ------------------
 1349|   248k|      case Opcode::F64X2Abs:
  ------------------
  |  Branch (1349:7): [True: 1.46k, False: 6.22M]
  ------------------
 1350|   250k|      case Opcode::F32X4Sqrt:
  ------------------
  |  Branch (1350:7): [True: 1.57k, False: 6.22M]
  ------------------
 1351|   250k|      case Opcode::F64X2Sqrt:
  ------------------
  |  Branch (1351:7): [True: 244, False: 6.22M]
  ------------------
 1352|   252k|      case Opcode::I16X8ExtendLowI8X16S:
  ------------------
  |  Branch (1352:7): [True: 1.88k, False: 6.22M]
  ------------------
 1353|   252k|      case Opcode::I16X8ExtendHighI8X16S:
  ------------------
  |  Branch (1353:7): [True: 453, False: 6.22M]
  ------------------
 1354|   253k|      case Opcode::I16X8ExtendLowI8X16U:
  ------------------
  |  Branch (1354:7): [True: 753, False: 6.22M]
  ------------------
 1355|   254k|      case Opcode::I16X8ExtendHighI8X16U:
  ------------------
  |  Branch (1355:7): [True: 1.25k, False: 6.22M]
  ------------------
 1356|   255k|      case Opcode::I32X4ExtendLowI16X8S:
  ------------------
  |  Branch (1356:7): [True: 459, False: 6.22M]
  ------------------
 1357|   255k|      case Opcode::I32X4ExtendHighI16X8S:
  ------------------
  |  Branch (1357:7): [True: 487, False: 6.22M]
  ------------------
 1358|   256k|      case Opcode::I32X4ExtendLowI16X8U:
  ------------------
  |  Branch (1358:7): [True: 451, False: 6.22M]
  ------------------
 1359|   257k|      case Opcode::I32X4ExtendHighI16X8U:
  ------------------
  |  Branch (1359:7): [True: 1.02k, False: 6.22M]
  ------------------
 1360|   257k|      case Opcode::I64X2ExtendLowI32X4S:
  ------------------
  |  Branch (1360:7): [True: 712, False: 6.22M]
  ------------------
 1361|   258k|      case Opcode::I64X2ExtendHighI32X4S:
  ------------------
  |  Branch (1361:7): [True: 372, False: 6.22M]
  ------------------
 1362|   258k|      case Opcode::I64X2ExtendLowI32X4U:
  ------------------
  |  Branch (1362:7): [True: 542, False: 6.22M]
  ------------------
 1363|   259k|      case Opcode::I64X2ExtendHighI32X4U:
  ------------------
  |  Branch (1363:7): [True: 789, False: 6.22M]
  ------------------
 1364|   260k|      case Opcode::I8X16Abs:
  ------------------
  |  Branch (1364:7): [True: 706, False: 6.22M]
  ------------------
 1365|   260k|      case Opcode::I16X8Abs:
  ------------------
  |  Branch (1365:7): [True: 420, False: 6.22M]
  ------------------
 1366|   261k|      case Opcode::I32X4Abs:
  ------------------
  |  Branch (1366:7): [True: 852, False: 6.22M]
  ------------------
 1367|   262k|      case Opcode::I64X2Abs:
  ------------------
  |  Branch (1367:7): [True: 724, False: 6.22M]
  ------------------
 1368|   262k|      case Opcode::I8X16Popcnt:
  ------------------
  |  Branch (1368:7): [True: 566, False: 6.22M]
  ------------------
 1369|   263k|      case Opcode::I16X8ExtaddPairwiseI8X16S:
  ------------------
  |  Branch (1369:7): [True: 921, False: 6.22M]
  ------------------
 1370|   264k|      case Opcode::I16X8ExtaddPairwiseI8X16U:
  ------------------
  |  Branch (1370:7): [True: 659, False: 6.22M]
  ------------------
 1371|   266k|      case Opcode::I32X4ExtaddPairwiseI16X8S:
  ------------------
  |  Branch (1371:7): [True: 2.10k, False: 6.22M]
  ------------------
 1372|   268k|      case Opcode::I32X4ExtaddPairwiseI16X8U:
  ------------------
  |  Branch (1372:7): [True: 1.63k, False: 6.22M]
  ------------------
 1373|   268k|      case Opcode::I32X4RelaxedTruncF32X4S:
  ------------------
  |  Branch (1373:7): [True: 255, False: 6.22M]
  ------------------
 1374|   269k|      case Opcode::I32X4RelaxedTruncF32X4U:
  ------------------
  |  Branch (1374:7): [True: 850, False: 6.22M]
  ------------------
 1375|   270k|      case Opcode::I32X4RelaxedTruncF64X2SZero:
  ------------------
  |  Branch (1375:7): [True: 943, False: 6.22M]
  ------------------
 1376|   270k|      case Opcode::I32X4RelaxedTruncF64X2UZero:
  ------------------
  |  Branch (1376:7): [True: 567, False: 6.22M]
  ------------------
 1377|   270k|        CALLBACK(OnUnaryExpr, opcode);
  ------------------
  |  |   66|   270k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   270k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   270k|  do {                      \
  |  |  |  |  |  |   48|   270k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 270k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   270k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   270k|               #member " callback failed")
  ------------------
 1378|   270k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|   270k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   270k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   270k|  do {                      \
  |  |  |  |  |  |   48|   270k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 270k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   270k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1379|   270k|        break;
 1380|       |
 1381|   270k|      case Opcode::V128BitSelect:
  ------------------
  |  Branch (1381:7): [True: 1.07k, False: 6.22M]
  ------------------
 1382|  1.82k|      case Opcode::F32X4RelaxedMadd:
  ------------------
  |  Branch (1382:7): [True: 751, False: 6.22M]
  ------------------
 1383|  2.74k|      case Opcode::F32X4RelaxedNmadd:
  ------------------
  |  Branch (1383:7): [True: 925, False: 6.22M]
  ------------------
 1384|  3.61k|      case Opcode::F64X2RelaxedMadd:
  ------------------
  |  Branch (1384:7): [True: 866, False: 6.22M]
  ------------------
 1385|  4.66k|      case Opcode::F64X2RelaxedNmadd:
  ------------------
  |  Branch (1385:7): [True: 1.05k, False: 6.22M]
  ------------------
 1386|  5.65k|      case Opcode::I8X16RelaxedLaneSelect:
  ------------------
  |  Branch (1386:7): [True: 997, False: 6.22M]
  ------------------
 1387|  6.69k|      case Opcode::I16X8RelaxedLaneSelect:
  ------------------
  |  Branch (1387:7): [True: 1.03k, False: 6.22M]
  ------------------
 1388|  7.01k|      case Opcode::I32X4RelaxedLaneSelect:
  ------------------
  |  Branch (1388:7): [True: 321, False: 6.22M]
  ------------------
 1389|  8.02k|      case Opcode::I64X2RelaxedLaneSelect:
  ------------------
  |  Branch (1389:7): [True: 1.00k, False: 6.22M]
  ------------------
 1390|  8.68k|      case Opcode::I32X4DotI8X16I7X16AddS:
  ------------------
  |  Branch (1390:7): [True: 662, False: 6.22M]
  ------------------
 1391|  8.68k|        CALLBACK(OnTernaryExpr, opcode);
  ------------------
  |  |   66|  8.68k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.68k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.68k|  do {                      \
  |  |  |  |  |  |   48|  8.68k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.68k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.68k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.68k|               #member " callback failed")
  ------------------
 1392|  8.68k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  8.68k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  8.68k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.68k|  do {                      \
  |  |  |  |  |  |   48|  8.68k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 8.68k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.68k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1393|  8.68k|        break;
 1394|       |
 1395|  8.68k|      case Opcode::I8X16ExtractLaneS:
  ------------------
  |  Branch (1395:7): [True: 373, False: 6.22M]
  ------------------
 1396|    925|      case Opcode::I8X16ExtractLaneU:
  ------------------
  |  Branch (1396:7): [True: 552, False: 6.22M]
  ------------------
 1397|  3.66k|      case Opcode::I16X8ExtractLaneS:
  ------------------
  |  Branch (1397:7): [True: 2.73k, False: 6.22M]
  ------------------
 1398|  4.63k|      case Opcode::I16X8ExtractLaneU:
  ------------------
  |  Branch (1398:7): [True: 971, False: 6.22M]
  ------------------
 1399|  6.40k|      case Opcode::I32X4ExtractLane:
  ------------------
  |  Branch (1399:7): [True: 1.76k, False: 6.22M]
  ------------------
 1400|  8.21k|      case Opcode::I64X2ExtractLane:
  ------------------
  |  Branch (1400:7): [True: 1.80k, False: 6.22M]
  ------------------
 1401|  9.36k|      case Opcode::F32X4ExtractLane:
  ------------------
  |  Branch (1401:7): [True: 1.15k, False: 6.22M]
  ------------------
 1402|  11.7k|      case Opcode::F64X2ExtractLane:
  ------------------
  |  Branch (1402:7): [True: 2.43k, False: 6.22M]
  ------------------
 1403|  12.3k|      case Opcode::I8X16ReplaceLane:
  ------------------
  |  Branch (1403:7): [True: 513, False: 6.22M]
  ------------------
 1404|  13.0k|      case Opcode::I16X8ReplaceLane:
  ------------------
  |  Branch (1404:7): [True: 785, False: 6.22M]
  ------------------
 1405|  14.9k|      case Opcode::I32X4ReplaceLane:
  ------------------
  |  Branch (1405:7): [True: 1.81k, False: 6.22M]
  ------------------
 1406|  16.0k|      case Opcode::I64X2ReplaceLane:
  ------------------
  |  Branch (1406:7): [True: 1.10k, False: 6.22M]
  ------------------
 1407|  17.6k|      case Opcode::F32X4ReplaceLane:
  ------------------
  |  Branch (1407:7): [True: 1.65k, False: 6.22M]
  ------------------
 1408|  19.0k|      case Opcode::F64X2ReplaceLane: {
  ------------------
  |  Branch (1408:7): [True: 1.41k, False: 6.22M]
  ------------------
 1409|  19.0k|        uint8_t lane_val;
 1410|  19.0k|        CHECK_RESULT(ReadU8(&lane_val, "Lane idx"));
  ------------------
  |  |   55|  19.0k|  do {                              \
  |  |   56|  19.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 32, False: 19.0k]
  |  |  ------------------
  |  |   57|     32|      return ::wabt::Result::Error; \
  |  |   58|     32|    }                               \
  |  |   59|  19.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1411|  19.0k|        CALLBACK(OnSimdLaneOpExpr, opcode, lane_val);
  ------------------
  |  |   66|  19.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  19.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  19.0k|  do {                      \
  |  |  |  |  |  |   48|  19.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 19.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|  19.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  19.0k|               #member " callback failed")
  ------------------
 1412|  19.0k|        CALLBACK(OnOpcodeUint64, lane_val);
  ------------------
  |  |   66|  19.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  19.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  19.0k|  do {                      \
  |  |  |  |  |  |   48|  19.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 19.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|  19.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  19.0k|               #member " callback failed")
  ------------------
 1413|  19.0k|        break;
 1414|  19.0k|      }
 1415|       |
 1416|  19.0k|      case Opcode::I8X16Shuffle: {
  ------------------
  |  Branch (1416:7): [True: 17.8k, False: 6.20M]
  ------------------
 1417|  17.8k|        v128 value;
 1418|  17.8k|        CHECK_RESULT(ReadV128(&value, "Lane idx [16]"));
  ------------------
  |  |   55|  17.8k|  do {                              \
  |  |   56|  17.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 9, False: 17.8k]
  |  |  ------------------
  |  |   57|      9|      return ::wabt::Result::Error; \
  |  |   58|      9|    }                               \
  |  |   59|  17.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1419|  17.8k|        CALLBACK(OnSimdShuffleOpExpr, opcode, value);
  ------------------
  |  |   66|  17.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  17.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  17.8k|  do {                      \
  |  |  |  |  |  |   48|  17.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 17.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|  17.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  17.8k|               #member " callback failed")
  ------------------
 1420|  17.8k|        CALLBACK(OnOpcodeV128, value);
  ------------------
  |  |   66|  17.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  17.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  17.8k|  do {                      \
  |  |  |  |  |  |   48|  17.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 17.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|  17.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  17.8k|               #member " callback failed")
  ------------------
 1421|  17.8k|        break;
 1422|  17.8k|      }
 1423|       |
 1424|  17.8k|      case Opcode::V128Load8Splat:
  ------------------
  |  Branch (1424:7): [True: 2.29k, False: 6.22M]
  ------------------
 1425|  2.81k|      case Opcode::V128Load16Splat:
  ------------------
  |  Branch (1425:7): [True: 514, False: 6.22M]
  ------------------
 1426|  3.18k|      case Opcode::V128Load32Splat:
  ------------------
  |  Branch (1426:7): [True: 373, False: 6.22M]
  ------------------
 1427|  3.75k|      case Opcode::V128Load64Splat: {
  ------------------
  |  Branch (1427:7): [True: 570, False: 6.22M]
  ------------------
 1428|  3.75k|        Address alignment_log2;
 1429|  3.75k|        Index memidx;
 1430|  3.75k|        Address offset;
 1431|  3.75k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  3.75k|  do {                              \
  |  |   56|  3.75k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 29, False: 3.72k]
  |  |  ------------------
  |  |   57|     29|      return ::wabt::Result::Error; \
  |  |   58|     29|    }                               \
  |  |   59|  3.75k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1432|  3.75k|                                     "load alignment", "load memidx",
 1433|  3.75k|                                     "load offset"));
 1434|  3.72k|        CALLBACK(OnLoadSplatExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  3.72k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.72k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.72k|  do {                      \
  |  |  |  |  |  |   48|  3.72k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.72k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.72k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.72k|               #member " callback failed")
  ------------------
 1435|  3.72k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  3.72k|  do {                              \
  |  |   56|  3.72k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 3.72k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  3.72k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1436|  3.72k|        break;
 1437|  3.72k|      }
 1438|  3.72k|      case Opcode::V128Load8Lane:
  ------------------
  |  Branch (1438:7): [True: 840, False: 6.22M]
  ------------------
 1439|  2.18k|      case Opcode::V128Load16Lane:
  ------------------
  |  Branch (1439:7): [True: 1.34k, False: 6.22M]
  ------------------
 1440|  2.82k|      case Opcode::V128Load32Lane:
  ------------------
  |  Branch (1440:7): [True: 649, False: 6.22M]
  ------------------
 1441|  3.30k|      case Opcode::V128Load64Lane: {
  ------------------
  |  Branch (1441:7): [True: 477, False: 6.22M]
  ------------------
 1442|  3.30k|        Address alignment_log2;
 1443|  3.30k|        Index memidx;
 1444|  3.30k|        Address offset;
 1445|  3.30k|        uint8_t lane_val;
 1446|  3.30k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  3.30k|  do {                              \
  |  |   56|  3.30k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 25, False: 3.28k]
  |  |  ------------------
  |  |   57|     25|      return ::wabt::Result::Error; \
  |  |   58|     25|    }                               \
  |  |   59|  3.30k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1447|  3.30k|                                     "load alignment", "load memidx",
 1448|  3.30k|                                     "load offset", &lane_val));
 1449|  3.28k|        CALLBACK(OnSimdLoadLaneExpr, opcode, memidx, alignment_log2, offset,
  ------------------
  |  |   66|  3.28k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.28k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.28k|  do {                      \
  |  |  |  |  |  |   48|  3.28k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.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|  3.28k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.28k|               #member " callback failed")
  ------------------
 1450|  3.28k|                 lane_val);
 1451|  3.28k|        CHECK_RESULT(
  ------------------
  |  |   55|  3.28k|  do {                              \
  |  |   56|  3.28k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 3.28k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  3.28k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1452|  3.28k|            CallbackMemLocation(&alignment_log2, &memidx, &offset, &lane_val));
 1453|  3.28k|        break;
 1454|  3.28k|      }
 1455|  3.28k|      case Opcode::V128Store8Lane:
  ------------------
  |  Branch (1455:7): [True: 595, False: 6.22M]
  ------------------
 1456|  3.41k|      case Opcode::V128Store16Lane:
  ------------------
  |  Branch (1456:7): [True: 2.82k, False: 6.22M]
  ------------------
 1457|  4.27k|      case Opcode::V128Store32Lane:
  ------------------
  |  Branch (1457:7): [True: 861, False: 6.22M]
  ------------------
 1458|  4.96k|      case Opcode::V128Store64Lane: {
  ------------------
  |  Branch (1458:7): [True: 689, False: 6.22M]
  ------------------
 1459|  4.96k|        Address alignment_log2;
 1460|  4.96k|        Index memidx;
 1461|  4.96k|        Address offset;
 1462|  4.96k|        uint8_t lane_val;
 1463|  4.96k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  4.96k|  do {                              \
  |  |   56|  4.96k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 35, False: 4.93k]
  |  |  ------------------
  |  |   57|     35|      return ::wabt::Result::Error; \
  |  |   58|     35|    }                               \
  |  |   59|  4.96k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1464|  4.96k|                                     "store alignment", "store memidx",
 1465|  4.96k|                                     "store offset", &lane_val));
 1466|  4.93k|        CALLBACK(OnSimdStoreLaneExpr, opcode, memidx, alignment_log2, offset,
  ------------------
  |  |   66|  4.93k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.93k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.93k|  do {                      \
  |  |  |  |  |  |   48|  4.93k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.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|  4.93k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.93k|               #member " callback failed")
  ------------------
 1467|  4.93k|                 lane_val);
 1468|  4.93k|        CHECK_RESULT(
  ------------------
  |  |   55|  4.93k|  do {                              \
  |  |   56|  4.93k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 4.93k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  4.93k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1469|  4.93k|            CallbackMemLocation(&alignment_log2, &memidx, &offset, &lane_val));
 1470|  4.93k|        break;
 1471|  4.93k|      }
 1472|  4.93k|      case Opcode::V128Load32Zero:
  ------------------
  |  Branch (1472:7): [True: 653, False: 6.22M]
  ------------------
 1473|  1.15k|      case Opcode::V128Load64Zero: {
  ------------------
  |  Branch (1473:7): [True: 502, False: 6.22M]
  ------------------
 1474|  1.15k|        Address alignment_log2;
 1475|  1.15k|        Index memidx;
 1476|  1.15k|        Address offset;
 1477|  1.15k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  1.15k|  do {                              \
  |  |   56|  1.15k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 1.14k]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|  1.15k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1478|  1.15k|                                     "load alignment", "load memidx",
 1479|  1.15k|                                     "load offset"));
 1480|  1.14k|        CALLBACK(OnLoadZeroExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  1.14k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.14k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.14k|  do {                      \
  |  |  |  |  |  |   48|  1.14k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.14k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.14k|               #member " callback failed")
  ------------------
 1481|  1.14k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  1.14k|  do {                              \
  |  |   56|  1.14k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 1.14k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  1.14k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1482|  1.14k|        break;
 1483|  1.14k|      }
 1484|  5.30k|      case Opcode::I32TruncF32S:
  ------------------
  |  Branch (1484:7): [True: 5.30k, False: 6.21M]
  ------------------
 1485|  25.0k|      case Opcode::I32TruncF64S:
  ------------------
  |  Branch (1485:7): [True: 19.7k, False: 6.20M]
  ------------------
 1486|  28.4k|      case Opcode::I32TruncF32U:
  ------------------
  |  Branch (1486:7): [True: 3.33k, False: 6.22M]
  ------------------
 1487|  31.6k|      case Opcode::I32TruncF64U:
  ------------------
  |  Branch (1487:7): [True: 3.24k, False: 6.22M]
  ------------------
 1488|  35.7k|      case Opcode::I32WrapI64:
  ------------------
  |  Branch (1488:7): [True: 4.11k, False: 6.22M]
  ------------------
 1489|  38.4k|      case Opcode::I64TruncF32S:
  ------------------
  |  Branch (1489:7): [True: 2.63k, False: 6.22M]
  ------------------
 1490|  40.6k|      case Opcode::I64TruncF64S:
  ------------------
  |  Branch (1490:7): [True: 2.26k, False: 6.22M]
  ------------------
 1491|  43.5k|      case Opcode::I64TruncF32U:
  ------------------
  |  Branch (1491:7): [True: 2.89k, False: 6.22M]
  ------------------
 1492|  59.8k|      case Opcode::I64TruncF64U:
  ------------------
  |  Branch (1492:7): [True: 16.3k, False: 6.20M]
  ------------------
 1493|  64.6k|      case Opcode::I64ExtendI32S:
  ------------------
  |  Branch (1493:7): [True: 4.71k, False: 6.21M]
  ------------------
 1494|  69.0k|      case Opcode::I64ExtendI32U:
  ------------------
  |  Branch (1494:7): [True: 4.43k, False: 6.21M]
  ------------------
 1495|  83.1k|      case Opcode::F32ConvertI32S:
  ------------------
  |  Branch (1495:7): [True: 14.1k, False: 6.20M]
  ------------------
 1496|  85.4k|      case Opcode::F32ConvertI32U:
  ------------------
  |  Branch (1496:7): [True: 2.30k, False: 6.22M]
  ------------------
 1497|  86.5k|      case Opcode::F32ConvertI64S:
  ------------------
  |  Branch (1497:7): [True: 1.04k, False: 6.22M]
  ------------------
 1498|  89.4k|      case Opcode::F32ConvertI64U:
  ------------------
  |  Branch (1498:7): [True: 2.94k, False: 6.22M]
  ------------------
 1499|  94.1k|      case Opcode::F32DemoteF64:
  ------------------
  |  Branch (1499:7): [True: 4.66k, False: 6.21M]
  ------------------
 1500|  97.0k|      case Opcode::F32ReinterpretI32:
  ------------------
  |  Branch (1500:7): [True: 2.94k, False: 6.22M]
  ------------------
 1501|   101k|      case Opcode::F64ConvertI32S:
  ------------------
  |  Branch (1501:7): [True: 4.83k, False: 6.21M]
  ------------------
 1502|   109k|      case Opcode::F64ConvertI32U:
  ------------------
  |  Branch (1502:7): [True: 7.74k, False: 6.21M]
  ------------------
 1503|   115k|      case Opcode::F64ConvertI64S:
  ------------------
  |  Branch (1503:7): [True: 5.64k, False: 6.21M]
  ------------------
 1504|   119k|      case Opcode::F64ConvertI64U:
  ------------------
  |  Branch (1504:7): [True: 4.33k, False: 6.21M]
  ------------------
 1505|   121k|      case Opcode::F64PromoteF32:
  ------------------
  |  Branch (1505:7): [True: 2.03k, False: 6.22M]
  ------------------
 1506|   126k|      case Opcode::F64ReinterpretI64:
  ------------------
  |  Branch (1506:7): [True: 4.56k, False: 6.21M]
  ------------------
 1507|   129k|      case Opcode::I32ReinterpretF32:
  ------------------
  |  Branch (1507:7): [True: 2.80k, False: 6.22M]
  ------------------
 1508|   133k|      case Opcode::I64ReinterpretF64:
  ------------------
  |  Branch (1508:7): [True: 4.40k, False: 6.21M]
  ------------------
 1509|   137k|      case Opcode::I32Eqz:
  ------------------
  |  Branch (1509:7): [True: 4.18k, False: 6.21M]
  ------------------
 1510|   145k|      case Opcode::I64Eqz:
  ------------------
  |  Branch (1510:7): [True: 8.26k, False: 6.21M]
  ------------------
 1511|   146k|      case Opcode::F32X4ConvertI32X4S:
  ------------------
  |  Branch (1511:7): [True: 881, False: 6.22M]
  ------------------
 1512|   146k|      case Opcode::F32X4ConvertI32X4U:
  ------------------
  |  Branch (1512:7): [True: 226, False: 6.22M]
  ------------------
 1513|   147k|      case Opcode::I32X4TruncSatF32X4S:
  ------------------
  |  Branch (1513:7): [True: 435, False: 6.22M]
  ------------------
 1514|   147k|      case Opcode::I32X4TruncSatF32X4U:
  ------------------
  |  Branch (1514:7): [True: 270, False: 6.22M]
  ------------------
 1515|   148k|      case Opcode::F32X4DemoteF64X2Zero:
  ------------------
  |  Branch (1515:7): [True: 446, False: 6.22M]
  ------------------
 1516|   154k|      case Opcode::F64X2PromoteLowF32X4:
  ------------------
  |  Branch (1516:7): [True: 6.39k, False: 6.21M]
  ------------------
 1517|   155k|      case Opcode::I32X4TruncSatF64X2SZero:
  ------------------
  |  Branch (1517:7): [True: 1.29k, False: 6.22M]
  ------------------
 1518|   156k|      case Opcode::I32X4TruncSatF64X2UZero:
  ------------------
  |  Branch (1518:7): [True: 868, False: 6.22M]
  ------------------
 1519|   157k|      case Opcode::F64X2ConvertLowI32X4S:
  ------------------
  |  Branch (1519:7): [True: 1.29k, False: 6.22M]
  ------------------
 1520|   158k|      case Opcode::F64X2ConvertLowI32X4U:
  ------------------
  |  Branch (1520:7): [True: 676, False: 6.22M]
  ------------------
 1521|   158k|        CALLBACK(OnConvertExpr, opcode);
  ------------------
  |  |   66|   158k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   158k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   158k|  do {                      \
  |  |  |  |  |  |   48|   158k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 158k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   158k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   158k|               #member " callback failed")
  ------------------
 1522|   158k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|   158k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   158k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   158k|  do {                      \
  |  |  |  |  |  |   48|   158k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 158k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   158k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1523|   158k|        break;
 1524|       |
 1525|   611k|      case Opcode::Try: {
  ------------------
  |  Branch (1525:7): [True: 611k, False: 5.61M]
  ------------------
 1526|   611k|        nested_blocks.push(opcode);
 1527|   611k|        Type sig_type;
 1528|   611k|        CHECK_RESULT(ReadType(&sig_type, "try signature type"));
  ------------------
  |  |   55|   611k|  do {                              \
  |  |   56|   611k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 42, False: 611k]
  |  |  ------------------
  |  |   57|     42|      return ::wabt::Result::Error; \
  |  |   58|     42|    }                               \
  |  |   59|   611k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1529|   611k|        ERROR_UNLESS(IsBlockType(sig_type),
  ------------------
  |  |   53|   611k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|   611k|  do {                      \
  |  |  |  |   48|   611k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 22, False: 611k]
  |  |  |  |  ------------------
  |  |  |  |   49|     22|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     22|  do {                       \
  |  |  |  |  |  |   42|     22|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     22|    return Result::Error;    \
  |  |  |  |  |  |   44|     22|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     22|    }                       \
  |  |  |  |   51|   611k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1530|   611k|                     "expected valid block signature type");
 1531|   611k|        CALLBACK(OnTryExpr, sig_type);
  ------------------
  |  |   66|   611k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   611k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   611k|  do {                      \
  |  |  |  |  |  |   48|   611k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 5, False: 611k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      5|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      5|  do {                       \
  |  |  |  |  |  |  |  |   42|      5|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      5|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      5|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      5|    }                       \
  |  |  |  |  |  |   51|   611k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   611k|               #member " callback failed")
  ------------------
 1532|   611k|        CALLBACK(OnOpcodeBlockSig, sig_type);
  ------------------
  |  |   66|   611k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   611k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   611k|  do {                      \
  |  |  |  |  |  |   48|   611k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 611k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   611k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   611k|               #member " callback failed")
  ------------------
 1533|   611k|        break;
 1534|   611k|      }
 1535|       |
 1536|   611k|      case Opcode::TryTable: {
  ------------------
  |  Branch (1536:7): [True: 3.97k, False: 6.22M]
  ------------------
 1537|  3.97k|        nested_blocks.push(opcode);
 1538|  3.97k|        Type sig_type;
 1539|  3.97k|        CHECK_RESULT(ReadType(&sig_type, "try_table signature type"));
  ------------------
  |  |   55|  3.97k|  do {                              \
  |  |   56|  3.97k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 12, False: 3.95k]
  |  |  ------------------
  |  |   57|     12|      return ::wabt::Result::Error; \
  |  |   58|     12|    }                               \
  |  |   59|  3.97k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1540|  3.95k|        ERROR_UNLESS(IsBlockType(sig_type),
  ------------------
  |  |   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: 9, False: 3.95k]
  |  |  |  |  ------------------
  |  |  |  |   49|      9|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      9|  do {                       \
  |  |  |  |  |  |   42|      9|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      9|    return Result::Error;    \
  |  |  |  |  |  |   44|      9|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      9|    }                       \
  |  |  |  |   51|  3.95k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1541|  3.95k|                     "expected valid block signature type");
 1542|  3.95k|        Index count;
 1543|  3.95k|        CHECK_RESULT(ReadCount(&count, "catch count"));
  ------------------
  |  |   55|  3.95k|  do {                              \
  |  |   56|  3.95k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 16, False: 3.93k]
  |  |  ------------------
  |  |   57|     16|      return ::wabt::Result::Error; \
  |  |   58|     16|    }                               \
  |  |   59|  3.95k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1544|       |
 1545|  3.93k|        catches_.resize(count);
 1546|  7.90k|        for (Index i = 0; i < count; i++) {
  ------------------
  |  Branch (1546:27): [True: 4.10k, False: 3.80k]
  ------------------
 1547|  4.10k|          uint8_t handler;
 1548|  4.10k|          CHECK_RESULT(ReadU8(&handler, "catch handler"));
  ------------------
  |  |   55|  4.10k|  do {                              \
  |  |   56|  4.10k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7, False: 4.09k]
  |  |  ------------------
  |  |   57|      7|      return ::wabt::Result::Error; \
  |  |   58|      7|    }                               \
  |  |   59|  4.10k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1549|  4.09k|          ERROR_UNLESS(handler < 4, "expected valid catch handler");
  ------------------
  |  |   53|  4.09k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  4.09k|  do {                      \
  |  |  |  |   48|  4.09k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 95, False: 4.00k]
  |  |  |  |  ------------------
  |  |  |  |   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|  4.09k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1550|  4.00k|          bool is_catch_all = handler & 2;
 1551|  4.00k|          Index tag = kInvalidIndex;
 1552|  4.00k|          if (!(is_catch_all)) {
  ------------------
  |  Branch (1552:15): [True: 2.05k, False: 1.94k]
  ------------------
 1553|  2.05k|            CHECK_RESULT(ReadIndex(&tag, "catch tag"));
  ------------------
  |  |   55|  2.05k|  do {                              \
  |  |   56|  2.05k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 8, False: 2.04k]
  |  |  ------------------
  |  |   57|      8|      return ::wabt::Result::Error; \
  |  |   58|      8|    }                               \
  |  |   59|  2.05k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1554|  2.05k|          }
 1555|  3.99k|          Index depth;
 1556|  3.99k|          CHECK_RESULT(ReadIndex(&depth, "catch depth"));
  ------------------
  |  |   55|  3.99k|  do {                              \
  |  |   56|  3.99k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 17, False: 3.97k]
  |  |  ------------------
  |  |   57|     17|      return ::wabt::Result::Error; \
  |  |   58|     17|    }                               \
  |  |   59|  3.99k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1557|  3.97k|          CatchClause catch_;
 1558|  3.97k|          catch_.kind = CatchKind(handler);
 1559|  3.97k|          catch_.tag = tag;
 1560|  3.97k|          catch_.depth = depth;
 1561|  3.97k|          catches_[i] = catch_;
 1562|  3.97k|        }
 1563|       |
 1564|  3.80k|        CALLBACK(OnTryTableExpr, sig_type, catches_);
  ------------------
  |  |   66|  3.80k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.80k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.80k|  do {                      \
  |  |  |  |  |  |   48|  3.80k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 1, False: 3.80k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      1|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      1|  do {                       \
  |  |  |  |  |  |  |  |   42|      1|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      1|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      1|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      1|    }                       \
  |  |  |  |  |  |   51|  3.80k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.80k|               #member " callback failed")
  ------------------
 1565|  3.80k|        break;
 1566|  3.80k|      }
 1567|       |
 1568|  6.41k|      case Opcode::Catch: {
  ------------------
  |  Branch (1568:7): [True: 6.41k, False: 6.21M]
  ------------------
 1569|  6.41k|        Index index;
 1570|  6.41k|        CHECK_RESULT(ReadIndex(&index, "tag index"));
  ------------------
  |  |   55|  6.41k|  do {                              \
  |  |   56|  6.41k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 21, False: 6.39k]
  |  |  ------------------
  |  |   57|     21|      return ::wabt::Result::Error; \
  |  |   58|     21|    }                               \
  |  |   59|  6.41k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1571|  6.39k|        CALLBACK(OnCatchExpr, index);
  ------------------
  |  |   66|  6.39k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.39k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.39k|  do {                      \
  |  |  |  |  |  |   48|  6.39k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 52, False: 6.34k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|     52|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|     52|  do {                       \
  |  |  |  |  |  |  |  |   42|     52|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|     52|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|     52|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|     52|    }                       \
  |  |  |  |  |  |   51|  6.39k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.39k|               #member " callback failed")
  ------------------
 1572|  6.34k|        CALLBACK(OnOpcodeIndex, index);
  ------------------
  |  |   66|  6.34k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.34k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.34k|  do {                      \
  |  |  |  |  |  |   48|  6.34k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.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|  6.34k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.34k|               #member " callback failed")
  ------------------
 1573|  6.34k|        break;
 1574|  6.34k|      }
 1575|       |
 1576|  6.34k|      case Opcode::CatchAll: {
  ------------------
  |  Branch (1576:7): [True: 1.32k, False: 6.22M]
  ------------------
 1577|  1.32k|        CALLBACK(OnCatchAllExpr);
  ------------------
  |  |   66|  1.32k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.32k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.32k|  do {                      \
  |  |  |  |  |  |   48|  1.32k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 35, False: 1.28k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   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|  1.32k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.32k|               #member " callback failed")
  ------------------
 1578|  1.28k|        CALLBACK(OnOpcodeBare);
  ------------------
  |  |   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")
  ------------------
 1579|  1.28k|        break;
 1580|  1.28k|      }
 1581|       |
 1582|  1.28k|      case Opcode::Delegate: {
  ------------------
  |  Branch (1582:7): [True: 591, False: 6.22M]
  ------------------
 1583|    591|        ERROR_IF(nested_blocks.empty() || (nested_blocks.top() != Opcode::Try),
  ------------------
  |  |   47|    591|  do {                      \
  |  |   48|  1.76k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 9, False: 582]
  |  |  |  Branch (48:9): [True: 12, False: 570]
  |  |  ------------------
  |  |   49|     21|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     21|  do {                       \
  |  |  |  |   42|     21|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     21|    return Result::Error;    \
  |  |  |  |   44|     21|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     21|    }                       \
  |  |   51|    591|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1584|    591|                 "delegate outside try block");
 1585|    570|        nested_blocks.pop();
 1586|    570|        Index index;
 1587|    570|        CHECK_RESULT(ReadIndex(&index, "depth"));
  ------------------
  |  |   55|    570|  do {                              \
  |  |   56|    570|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 564]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|    570|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1588|    564|        CALLBACK(OnDelegateExpr, index);
  ------------------
  |  |   66|    564|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    564|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    564|  do {                      \
  |  |  |  |  |  |   48|    564|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 7, False: 557]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      7|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      7|  do {                       \
  |  |  |  |  |  |  |  |   42|      7|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      7|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      7|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      7|    }                       \
  |  |  |  |  |  |   51|    564|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    564|               #member " callback failed")
  ------------------
 1589|    557|        CALLBACK(OnOpcodeIndex, index);
  ------------------
  |  |   66|    557|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    557|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    557|  do {                      \
  |  |  |  |  |  |   48|    557|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 557]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    557|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    557|               #member " callback failed")
  ------------------
 1590|    557|        break;
 1591|    557|      }
 1592|       |
 1593|  11.5k|      case Opcode::Rethrow: {
  ------------------
  |  Branch (1593:7): [True: 11.5k, False: 6.21M]
  ------------------
 1594|  11.5k|        Index depth;
 1595|  11.5k|        CHECK_RESULT(ReadIndex(&depth, "catch depth"));
  ------------------
  |  |   55|  11.5k|  do {                              \
  |  |   56|  11.5k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 25, False: 11.5k]
  |  |  ------------------
  |  |   57|     25|      return ::wabt::Result::Error; \
  |  |   58|     25|    }                               \
  |  |   59|  11.5k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1596|  11.5k|        CALLBACK(OnRethrowExpr, depth);
  ------------------
  |  |   66|  11.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  11.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  11.5k|  do {                      \
  |  |  |  |  |  |   48|  11.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 11.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|  11.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  11.5k|               #member " callback failed")
  ------------------
 1597|  11.5k|        CALLBACK(OnOpcodeIndex, depth);
  ------------------
  |  |   66|  11.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  11.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  11.5k|  do {                      \
  |  |  |  |  |  |   48|  11.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 11.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|  11.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  11.5k|               #member " callback failed")
  ------------------
 1598|  11.5k|        break;
 1599|  11.5k|      }
 1600|       |
 1601|  11.5k|      case Opcode::Throw: {
  ------------------
  |  Branch (1601:7): [True: 5.12k, False: 6.21M]
  ------------------
 1602|  5.12k|        Index index;
 1603|  5.12k|        CHECK_RESULT(ReadIndex(&index, "tag index"));
  ------------------
  |  |   55|  5.12k|  do {                              \
  |  |   56|  5.12k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 31, False: 5.09k]
  |  |  ------------------
  |  |   57|     31|      return ::wabt::Result::Error; \
  |  |   58|     31|    }                               \
  |  |   59|  5.12k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1604|  5.09k|        CALLBACK(OnThrowExpr, index);
  ------------------
  |  |   66|  5.09k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.09k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.09k|  do {                      \
  |  |  |  |  |  |   48|  5.09k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.09k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.09k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.09k|               #member " callback failed")
  ------------------
 1605|  5.09k|        CALLBACK(OnOpcodeIndex, index);
  ------------------
  |  |   66|  5.09k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.09k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.09k|  do {                      \
  |  |  |  |  |  |   48|  5.09k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.09k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.09k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.09k|               #member " callback failed")
  ------------------
 1606|  5.09k|        break;
 1607|  5.09k|      }
 1608|       |
 1609|  6.44k|      case Opcode::ThrowRef: {
  ------------------
  |  Branch (1609:7): [True: 6.44k, False: 6.21M]
  ------------------
 1610|  6.44k|        CALLBACK(OnThrowRefExpr);
  ------------------
  |  |   66|  6.44k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.44k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.44k|  do {                      \
  |  |  |  |  |  |   48|  6.44k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.44k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.44k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.44k|               #member " callback failed")
  ------------------
 1611|  6.44k|        CALLBACK(OnOpcodeBare);
  ------------------
  |  |   66|  6.44k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.44k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.44k|  do {                      \
  |  |  |  |  |  |   48|  6.44k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.44k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.44k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.44k|               #member " callback failed")
  ------------------
 1612|  6.44k|        break;
 1613|  6.44k|      }
 1614|       |
 1615|  6.44k|      case Opcode::I32Extend8S:
  ------------------
  |  Branch (1615:7): [True: 5.09k, False: 6.21M]
  ------------------
 1616|  7.79k|      case Opcode::I32Extend16S:
  ------------------
  |  Branch (1616:7): [True: 2.70k, False: 6.22M]
  ------------------
 1617|  10.5k|      case Opcode::I64Extend8S:
  ------------------
  |  Branch (1617:7): [True: 2.70k, False: 6.22M]
  ------------------
 1618|  13.4k|      case Opcode::I64Extend16S:
  ------------------
  |  Branch (1618:7): [True: 2.96k, False: 6.22M]
  ------------------
 1619|  15.5k|      case Opcode::I64Extend32S:
  ------------------
  |  Branch (1619:7): [True: 2.08k, False: 6.22M]
  ------------------
 1620|  15.5k|        CALLBACK(OnUnaryExpr, opcode);
  ------------------
  |  |   66|  15.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  15.5k|               #member " callback failed")
  ------------------
 1621|  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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1622|  15.5k|        break;
 1623|       |
 1624|  15.5k|      case Opcode::I32TruncSatF32S:
  ------------------
  |  Branch (1624:7): [True: 1.65k, False: 6.22M]
  ------------------
 1625|  2.53k|      case Opcode::I32TruncSatF32U:
  ------------------
  |  Branch (1625:7): [True: 881, False: 6.22M]
  ------------------
 1626|  3.04k|      case Opcode::I32TruncSatF64S:
  ------------------
  |  Branch (1626:7): [True: 507, False: 6.22M]
  ------------------
 1627|  5.18k|      case Opcode::I32TruncSatF64U:
  ------------------
  |  Branch (1627:7): [True: 2.14k, False: 6.22M]
  ------------------
 1628|  7.35k|      case Opcode::I64TruncSatF32S:
  ------------------
  |  Branch (1628:7): [True: 2.17k, False: 6.22M]
  ------------------
 1629|  7.79k|      case Opcode::I64TruncSatF32U:
  ------------------
  |  Branch (1629:7): [True: 441, False: 6.22M]
  ------------------
 1630|  8.81k|      case Opcode::I64TruncSatF64S:
  ------------------
  |  Branch (1630:7): [True: 1.01k, False: 6.22M]
  ------------------
 1631|  10.5k|      case Opcode::I64TruncSatF64U:
  ------------------
  |  Branch (1631:7): [True: 1.70k, False: 6.22M]
  ------------------
 1632|  10.5k|        CALLBACK(OnConvertExpr, opcode);
  ------------------
  |  |   66|  10.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  10.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.5k|  do {                      \
  |  |  |  |  |  |   48|  10.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.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|  10.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  10.5k|               #member " callback failed")
  ------------------
 1633|  10.5k|        CALLBACK0(OnOpcodeBare);
  ------------------
  |  |   63|  10.5k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|  10.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  10.5k|  do {                      \
  |  |  |  |  |  |   48|  10.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 10.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|  10.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1634|  10.5k|        break;
 1635|       |
 1636|  10.5k|      case Opcode::MemoryAtomicNotify: {
  ------------------
  |  Branch (1636:7): [True: 3.14k, False: 6.22M]
  ------------------
 1637|  3.14k|        Address alignment_log2;
 1638|  3.14k|        Index memidx;
 1639|  3.14k|        Address offset;
 1640|  3.14k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  3.14k|  do {                              \
  |  |   56|  3.14k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 17, False: 3.12k]
  |  |  ------------------
  |  |   57|     17|      return ::wabt::Result::Error; \
  |  |   58|     17|    }                               \
  |  |   59|  3.14k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1641|  3.14k|                                     "notify alignment", "notify memidx",
 1642|  3.14k|                                     "notify offset"));
 1643|  3.12k|        CALLBACK(OnAtomicNotifyExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  3.12k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.12k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.12k|  do {                      \
  |  |  |  |  |  |   48|  3.12k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.12k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.12k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.12k|               #member " callback failed")
  ------------------
 1644|  3.12k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  3.12k|  do {                              \
  |  |   56|  3.12k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 3.12k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  3.12k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1645|  3.12k|        break;
 1646|  3.12k|      }
 1647|       |
 1648|  3.12k|      case Opcode::MemoryAtomicWait32:
  ------------------
  |  Branch (1648:7): [True: 1.22k, False: 6.22M]
  ------------------
 1649|  3.57k|      case Opcode::MemoryAtomicWait64: {
  ------------------
  |  Branch (1649:7): [True: 2.35k, False: 6.22M]
  ------------------
 1650|  3.57k|        Address alignment_log2;
 1651|  3.57k|        Index memidx;
 1652|  3.57k|        Address offset;
 1653|  3.57k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  3.57k|  do {                              \
  |  |   56|  3.57k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 15, False: 3.56k]
  |  |  ------------------
  |  |   57|     15|      return ::wabt::Result::Error; \
  |  |   58|     15|    }                               \
  |  |   59|  3.57k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1654|  3.57k|                                     "wait alignment", "wait memidx",
 1655|  3.57k|                                     "wait offset"));
 1656|  3.56k|        CALLBACK(OnAtomicWaitExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   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")
  ------------------
 1657|  3.56k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  3.56k|  do {                              \
  |  |   56|  3.56k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 3.56k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  3.56k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1658|  3.56k|        break;
 1659|  3.56k|      }
 1660|       |
 1661|  3.56k|      case Opcode::AtomicFence: {
  ------------------
  |  Branch (1661:7): [True: 1.36k, False: 6.22M]
  ------------------
 1662|  1.36k|        uint8_t consistency_model;
 1663|  1.36k|        CHECK_RESULT(ReadU8(&consistency_model, "consistency model"));
  ------------------
  |  |   55|  1.36k|  do {                              \
  |  |   56|  1.36k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 1.36k]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|  1.36k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1664|  1.36k|        ERROR_UNLESS(consistency_model == 0,
  ------------------
  |  |   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: 9, False: 1.35k]
  |  |  |  |  ------------------
  |  |  |  |   49|      9|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      9|  do {                       \
  |  |  |  |  |  |   42|      9|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      9|    return Result::Error;    \
  |  |  |  |  |  |   44|      9|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      9|    }                       \
  |  |  |  |   51|  1.36k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1665|  1.35k|                     "atomic.fence consistency model must be 0");
 1666|  1.35k|        CALLBACK(OnAtomicFenceExpr, consistency_model);
  ------------------
  |  |   66|  1.35k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.35k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.35k|  do {                      \
  |  |  |  |  |  |   48|  1.35k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.35k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.35k|               #member " callback failed")
  ------------------
 1667|  1.35k|        CALLBACK(OnOpcodeUint32, consistency_model);
  ------------------
  |  |   66|  1.35k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.35k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.35k|  do {                      \
  |  |  |  |  |  |   48|  1.35k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.35k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.35k|               #member " callback failed")
  ------------------
 1668|  1.35k|        break;
 1669|  1.35k|      }
 1670|       |
 1671|  1.35k|      case Opcode::I32AtomicLoad8U:
  ------------------
  |  Branch (1671:7): [True: 647, False: 6.22M]
  ------------------
 1672|  1.30k|      case Opcode::I32AtomicLoad16U:
  ------------------
  |  Branch (1672:7): [True: 659, False: 6.22M]
  ------------------
 1673|  2.09k|      case Opcode::I64AtomicLoad8U:
  ------------------
  |  Branch (1673:7): [True: 792, False: 6.22M]
  ------------------
 1674|  2.61k|      case Opcode::I64AtomicLoad16U:
  ------------------
  |  Branch (1674:7): [True: 516, False: 6.22M]
  ------------------
 1675|  2.94k|      case Opcode::I64AtomicLoad32U:
  ------------------
  |  Branch (1675:7): [True: 335, False: 6.22M]
  ------------------
 1676|  3.32k|      case Opcode::I32AtomicLoad:
  ------------------
  |  Branch (1676:7): [True: 378, False: 6.22M]
  ------------------
 1677|  3.65k|      case Opcode::I64AtomicLoad: {
  ------------------
  |  Branch (1677:7): [True: 323, False: 6.22M]
  ------------------
 1678|  3.65k|        Address alignment_log2;
 1679|  3.65k|        Index memidx;
 1680|  3.65k|        Address offset;
 1681|  3.65k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  3.65k|  do {                              \
  |  |   56|  3.65k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 25, False: 3.62k]
  |  |  ------------------
  |  |   57|     25|      return ::wabt::Result::Error; \
  |  |   58|     25|    }                               \
  |  |   59|  3.65k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1682|  3.65k|                                     "load alignment", "load memidx",
 1683|  3.65k|                                     "load offset"));
 1684|  3.62k|        CALLBACK(OnAtomicLoadExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  3.62k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.62k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.62k|  do {                      \
  |  |  |  |  |  |   48|  3.62k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.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|  3.62k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.62k|               #member " callback failed")
  ------------------
 1685|  3.62k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  3.62k|  do {                              \
  |  |   56|  3.62k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 3.62k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  3.62k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1686|  3.62k|        break;
 1687|  3.62k|      }
 1688|       |
 1689|  3.62k|      case Opcode::I32AtomicStore8:
  ------------------
  |  Branch (1689:7): [True: 483, False: 6.22M]
  ------------------
 1690|  1.03k|      case Opcode::I32AtomicStore16:
  ------------------
  |  Branch (1690:7): [True: 553, False: 6.22M]
  ------------------
 1691|  1.85k|      case Opcode::I64AtomicStore8:
  ------------------
  |  Branch (1691:7): [True: 814, False: 6.22M]
  ------------------
 1692|  2.26k|      case Opcode::I64AtomicStore16:
  ------------------
  |  Branch (1692:7): [True: 414, False: 6.22M]
  ------------------
 1693|  2.52k|      case Opcode::I64AtomicStore32:
  ------------------
  |  Branch (1693:7): [True: 258, False: 6.22M]
  ------------------
 1694|  2.75k|      case Opcode::I32AtomicStore:
  ------------------
  |  Branch (1694:7): [True: 231, False: 6.22M]
  ------------------
 1695|  3.47k|      case Opcode::I64AtomicStore: {
  ------------------
  |  Branch (1695:7): [True: 725, False: 6.22M]
  ------------------
 1696|  3.47k|        Address alignment_log2;
 1697|  3.47k|        Index memidx;
 1698|  3.47k|        Address offset;
 1699|  3.47k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  3.47k|  do {                              \
  |  |   56|  3.47k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 29, False: 3.44k]
  |  |  ------------------
  |  |   57|     29|      return ::wabt::Result::Error; \
  |  |   58|     29|    }                               \
  |  |   59|  3.47k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1700|  3.47k|                                     "store alignment", "store memidx",
 1701|  3.47k|                                     "store offset"));
 1702|  3.44k|        CALLBACK(OnAtomicStoreExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  3.44k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.44k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.44k|  do {                      \
  |  |  |  |  |  |   48|  3.44k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.44k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.44k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.44k|               #member " callback failed")
  ------------------
 1703|  3.44k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  3.44k|  do {                              \
  |  |   56|  3.44k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 3.44k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  3.44k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1704|  3.44k|        break;
 1705|  3.44k|      }
 1706|       |
 1707|  3.44k|      case Opcode::I32AtomicRmwAdd:
  ------------------
  |  Branch (1707:7): [True: 526, False: 6.22M]
  ------------------
 1708|    873|      case Opcode::I64AtomicRmwAdd:
  ------------------
  |  Branch (1708:7): [True: 347, False: 6.22M]
  ------------------
 1709|  1.20k|      case Opcode::I32AtomicRmw8AddU:
  ------------------
  |  Branch (1709:7): [True: 330, False: 6.22M]
  ------------------
 1710|  1.39k|      case Opcode::I32AtomicRmw16AddU:
  ------------------
  |  Branch (1710:7): [True: 195, False: 6.22M]
  ------------------
 1711|  1.77k|      case Opcode::I64AtomicRmw8AddU:
  ------------------
  |  Branch (1711:7): [True: 375, False: 6.22M]
  ------------------
 1712|  2.62k|      case Opcode::I64AtomicRmw16AddU:
  ------------------
  |  Branch (1712:7): [True: 855, False: 6.22M]
  ------------------
 1713|  3.58k|      case Opcode::I64AtomicRmw32AddU:
  ------------------
  |  Branch (1713:7): [True: 955, False: 6.22M]
  ------------------
 1714|  4.18k|      case Opcode::I32AtomicRmwSub:
  ------------------
  |  Branch (1714:7): [True: 599, False: 6.22M]
  ------------------
 1715|  4.63k|      case Opcode::I64AtomicRmwSub:
  ------------------
  |  Branch (1715:7): [True: 452, False: 6.22M]
  ------------------
 1716|  5.30k|      case Opcode::I32AtomicRmw8SubU:
  ------------------
  |  Branch (1716:7): [True: 670, False: 6.22M]
  ------------------
 1717|  5.89k|      case Opcode::I32AtomicRmw16SubU:
  ------------------
  |  Branch (1717:7): [True: 589, False: 6.22M]
  ------------------
 1718|  6.44k|      case Opcode::I64AtomicRmw8SubU:
  ------------------
  |  Branch (1718:7): [True: 550, False: 6.22M]
  ------------------
 1719|  6.74k|      case Opcode::I64AtomicRmw16SubU:
  ------------------
  |  Branch (1719:7): [True: 303, False: 6.22M]
  ------------------
 1720|  7.23k|      case Opcode::I64AtomicRmw32SubU:
  ------------------
  |  Branch (1720:7): [True: 491, False: 6.22M]
  ------------------
 1721|  8.50k|      case Opcode::I32AtomicRmwAnd:
  ------------------
  |  Branch (1721:7): [True: 1.26k, False: 6.22M]
  ------------------
 1722|  8.79k|      case Opcode::I64AtomicRmwAnd:
  ------------------
  |  Branch (1722:7): [True: 297, False: 6.22M]
  ------------------
 1723|  9.31k|      case Opcode::I32AtomicRmw8AndU:
  ------------------
  |  Branch (1723:7): [True: 513, False: 6.22M]
  ------------------
 1724|  9.96k|      case Opcode::I32AtomicRmw16AndU:
  ------------------
  |  Branch (1724:7): [True: 653, False: 6.22M]
  ------------------
 1725|  10.4k|      case Opcode::I64AtomicRmw8AndU:
  ------------------
  |  Branch (1725:7): [True: 499, False: 6.22M]
  ------------------
 1726|  11.2k|      case Opcode::I64AtomicRmw16AndU:
  ------------------
  |  Branch (1726:7): [True: 823, False: 6.22M]
  ------------------
 1727|  11.9k|      case Opcode::I64AtomicRmw32AndU:
  ------------------
  |  Branch (1727:7): [True: 633, False: 6.22M]
  ------------------
 1728|  12.4k|      case Opcode::I32AtomicRmwOr:
  ------------------
  |  Branch (1728:7): [True: 483, False: 6.22M]
  ------------------
 1729|  13.4k|      case Opcode::I64AtomicRmwOr:
  ------------------
  |  Branch (1729:7): [True: 1.05k, False: 6.22M]
  ------------------
 1730|  13.8k|      case Opcode::I32AtomicRmw8OrU:
  ------------------
  |  Branch (1730:7): [True: 430, False: 6.22M]
  ------------------
 1731|  14.5k|      case Opcode::I32AtomicRmw16OrU:
  ------------------
  |  Branch (1731:7): [True: 650, False: 6.22M]
  ------------------
 1732|  15.3k|      case Opcode::I64AtomicRmw8OrU:
  ------------------
  |  Branch (1732:7): [True: 861, False: 6.22M]
  ------------------
 1733|  15.7k|      case Opcode::I64AtomicRmw16OrU:
  ------------------
  |  Branch (1733:7): [True: 364, False: 6.22M]
  ------------------
 1734|  16.3k|      case Opcode::I64AtomicRmw32OrU:
  ------------------
  |  Branch (1734:7): [True: 549, False: 6.22M]
  ------------------
 1735|  16.5k|      case Opcode::I32AtomicRmwXor:
  ------------------
  |  Branch (1735:7): [True: 290, False: 6.22M]
  ------------------
 1736|  17.1k|      case Opcode::I64AtomicRmwXor:
  ------------------
  |  Branch (1736:7): [True: 525, False: 6.22M]
  ------------------
 1737|  17.4k|      case Opcode::I32AtomicRmw8XorU:
  ------------------
  |  Branch (1737:7): [True: 303, False: 6.22M]
  ------------------
 1738|  17.8k|      case Opcode::I32AtomicRmw16XorU:
  ------------------
  |  Branch (1738:7): [True: 434, False: 6.22M]
  ------------------
 1739|  18.7k|      case Opcode::I64AtomicRmw8XorU:
  ------------------
  |  Branch (1739:7): [True: 853, False: 6.22M]
  ------------------
 1740|  19.4k|      case Opcode::I64AtomicRmw16XorU:
  ------------------
  |  Branch (1740:7): [True: 741, False: 6.22M]
  ------------------
 1741|  19.9k|      case Opcode::I64AtomicRmw32XorU:
  ------------------
  |  Branch (1741:7): [True: 487, False: 6.22M]
  ------------------
 1742|  20.2k|      case Opcode::I32AtomicRmwXchg:
  ------------------
  |  Branch (1742:7): [True: 350, False: 6.22M]
  ------------------
 1743|  20.5k|      case Opcode::I64AtomicRmwXchg:
  ------------------
  |  Branch (1743:7): [True: 233, False: 6.22M]
  ------------------
 1744|  21.0k|      case Opcode::I32AtomicRmw8XchgU:
  ------------------
  |  Branch (1744:7): [True: 481, False: 6.22M]
  ------------------
 1745|  21.7k|      case Opcode::I32AtomicRmw16XchgU:
  ------------------
  |  Branch (1745:7): [True: 748, False: 6.22M]
  ------------------
 1746|  22.0k|      case Opcode::I64AtomicRmw8XchgU:
  ------------------
  |  Branch (1746:7): [True: 345, False: 6.22M]
  ------------------
 1747|  22.5k|      case Opcode::I64AtomicRmw16XchgU:
  ------------------
  |  Branch (1747:7): [True: 460, False: 6.22M]
  ------------------
 1748|  22.9k|      case Opcode::I64AtomicRmw32XchgU: {
  ------------------
  |  Branch (1748:7): [True: 355, False: 6.22M]
  ------------------
 1749|  22.9k|        Address alignment_log2;
 1750|  22.9k|        Index memidx;
 1751|  22.9k|        Address offset;
 1752|  22.9k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  22.9k|  do {                              \
  |  |   56|  22.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 172, False: 22.7k]
  |  |  ------------------
  |  |   57|    172|      return ::wabt::Result::Error; \
  |  |   58|    172|    }                               \
  |  |   59|  22.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1753|  22.9k|                                     "memory alignment", "memory memidx",
 1754|  22.9k|                                     "memory offset"));
 1755|  22.7k|        CALLBACK(OnAtomicRmwExpr, opcode, memidx, alignment_log2, offset);
  ------------------
  |  |   66|  22.7k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  22.7k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  22.7k|  do {                      \
  |  |  |  |  |  |   48|  22.7k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 22.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|  22.7k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  22.7k|               #member " callback failed")
  ------------------
 1756|  22.7k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  22.7k|  do {                              \
  |  |   56|  22.7k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 22.7k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  22.7k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1757|  22.7k|        break;
 1758|  22.7k|      }
 1759|       |
 1760|  22.7k|      case Opcode::I32AtomicRmwCmpxchg:
  ------------------
  |  Branch (1760:7): [True: 1.28k, False: 6.22M]
  ------------------
 1761|  2.36k|      case Opcode::I64AtomicRmwCmpxchg:
  ------------------
  |  Branch (1761:7): [True: 1.08k, False: 6.22M]
  ------------------
 1762|  3.18k|      case Opcode::I32AtomicRmw8CmpxchgU:
  ------------------
  |  Branch (1762:7): [True: 819, False: 6.22M]
  ------------------
 1763|  3.60k|      case Opcode::I32AtomicRmw16CmpxchgU:
  ------------------
  |  Branch (1763:7): [True: 422, False: 6.22M]
  ------------------
 1764|  3.97k|      case Opcode::I64AtomicRmw8CmpxchgU:
  ------------------
  |  Branch (1764:7): [True: 363, False: 6.22M]
  ------------------
 1765|  4.48k|      case Opcode::I64AtomicRmw16CmpxchgU:
  ------------------
  |  Branch (1765:7): [True: 517, False: 6.22M]
  ------------------
 1766|  5.23k|      case Opcode::I64AtomicRmw32CmpxchgU: {
  ------------------
  |  Branch (1766:7): [True: 746, False: 6.22M]
  ------------------
 1767|  5.23k|        Address alignment_log2;
 1768|  5.23k|        Index memidx;
 1769|  5.23k|        Address offset;
 1770|  5.23k|        CHECK_RESULT(ReadMemLocation(&alignment_log2, &memidx, &offset,
  ------------------
  |  |   55|  5.23k|  do {                              \
  |  |   56|  5.23k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 32, False: 5.20k]
  |  |  ------------------
  |  |   57|     32|      return ::wabt::Result::Error; \
  |  |   58|     32|    }                               \
  |  |   59|  5.23k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1771|  5.23k|                                     "memory alignment", "memory memidx",
 1772|  5.23k|                                     "memory offset"));
 1773|  5.20k|        CALLBACK(OnAtomicRmwCmpxchgExpr, opcode, memidx, alignment_log2,
  ------------------
  |  |   66|  5.20k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  5.20k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  5.20k|  do {                      \
  |  |  |  |  |  |   48|  5.20k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 5.20k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.20k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  5.20k|               #member " callback failed")
  ------------------
 1774|  5.20k|                 offset);
 1775|  5.20k|        CHECK_RESULT(CallbackMemLocation(&alignment_log2, &memidx, &offset));
  ------------------
  |  |   55|  5.20k|  do {                              \
  |  |   56|  5.20k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 5.20k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|  5.20k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1776|  5.20k|        break;
 1777|  5.20k|      }
 1778|       |
 1779|  5.20k|      case Opcode::TableInit: {
  ------------------
  |  Branch (1779:7): [True: 993, False: 6.22M]
  ------------------
 1780|    993|        Index segment;
 1781|    993|        CHECK_RESULT(ReadIndex(&segment, "elem segment index"));
  ------------------
  |  |   55|    993|  do {                              \
  |  |   56|    993|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 987]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|    993|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1782|    987|        Index table_index;
 1783|    987|        CHECK_RESULT(ReadIndex(&table_index, "reserved table index"));
  ------------------
  |  |   55|    987|  do {                              \
  |  |   56|    987|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 4, False: 983]
  |  |  ------------------
  |  |   57|      4|      return ::wabt::Result::Error; \
  |  |   58|      4|    }                               \
  |  |   59|    987|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1784|    983|        CALLBACK(OnTableInitExpr, segment, table_index);
  ------------------
  |  |   66|    983|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    983|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    983|  do {                      \
  |  |  |  |  |  |   48|    983|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 983]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    983|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    983|               #member " callback failed")
  ------------------
 1785|    983|        CALLBACK(OnOpcodeUint32Uint32, segment, table_index);
  ------------------
  |  |   66|    983|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    983|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    983|  do {                      \
  |  |  |  |  |  |   48|    983|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 983]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    983|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    983|               #member " callback failed")
  ------------------
 1786|    983|        break;
 1787|    983|      }
 1788|       |
 1789|    983|      case Opcode::MemoryInit: {
  ------------------
  |  Branch (1789:7): [True: 77, False: 6.22M]
  ------------------
 1790|     77|        Index segment;
 1791|     77|        ERROR_IF(data_count_ == kInvalidIndex,
  ------------------
  |  |   47|     77|  do {                      \
  |  |   48|     77|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 4, False: 73]
  |  |  ------------------
  |  |   49|      4|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      4|  do {                       \
  |  |  |  |   42|      4|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      4|    return Result::Error;    \
  |  |  |  |   44|      4|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      4|    }                       \
  |  |   51|     77|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1792|     77|                 "memory.init requires data count section");
 1793|     73|        CHECK_RESULT(ReadIndex(&segment, "elem segment index"));
  ------------------
  |  |   55|     73|  do {                              \
  |  |   56|     73|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 18, False: 55]
  |  |  ------------------
  |  |   57|     18|      return ::wabt::Result::Error; \
  |  |   58|     18|    }                               \
  |  |   59|     73|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1794|     55|        Index memidx = 0;
 1795|     55|        if (!options_.features.multi_memory_enabled()) {
  ------------------
  |  Branch (1795:13): [True: 31, False: 24]
  ------------------
 1796|     31|          uint8_t reserved;
 1797|     31|          CHECK_RESULT(ReadU8(&reserved, "reserved memory index"));
  ------------------
  |  |   55|     31|  do {                              \
  |  |   56|     31|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3, False: 28]
  |  |  ------------------
  |  |   57|      3|      return ::wabt::Result::Error; \
  |  |   58|      3|    }                               \
  |  |   59|     31|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1798|     28|          ERROR_UNLESS(reserved == 0, "reserved value must be 0");
  ------------------
  |  |   53|     28|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|     28|  do {                      \
  |  |  |  |   48|     28|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 8, False: 20]
  |  |  |  |  ------------------
  |  |  |  |   49|      8|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      8|  do {                       \
  |  |  |  |  |  |   42|      8|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      8|    return Result::Error;    \
  |  |  |  |  |  |   44|      8|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      8|    }                       \
  |  |  |  |   51|     28|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1799|     28|        } else {
 1800|     24|          CHECK_RESULT(ReadMemidx(&memidx, "memory.init memidx"));
  ------------------
  |  |   55|     24|  do {                              \
  |  |   56|     24|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3, False: 21]
  |  |  ------------------
  |  |   57|      3|      return ::wabt::Result::Error; \
  |  |   58|      3|    }                               \
  |  |   59|     24|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1801|     24|        }
 1802|     41|        CALLBACK(OnMemoryInitExpr, segment, memidx);
  ------------------
  |  |   66|     41|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     41|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     41|  do {                      \
  |  |  |  |  |  |   48|     41|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 41]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     41|               #member " callback failed")
  ------------------
 1803|     41|        CALLBACK(OnOpcodeUint32Uint32, segment, memidx);
  ------------------
  |  |   66|     41|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     41|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     41|  do {                      \
  |  |  |  |  |  |   48|     41|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 41]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     41|               #member " callback failed")
  ------------------
 1804|     41|        break;
 1805|     41|      }
 1806|       |
 1807|     66|      case Opcode::DataDrop:
  ------------------
  |  Branch (1807:7): [True: 66, False: 6.22M]
  ------------------
 1808|     66|        ERROR_IF(data_count_ == kInvalidIndex,
  ------------------
  |  |   47|     66|  do {                      \
  |  |   48|     66|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 3, False: 63]
  |  |  ------------------
  |  |   49|      3|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|      3|  do {                       \
  |  |  |  |   42|      3|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|      3|    return Result::Error;    \
  |  |  |  |   44|      3|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|      3|    }                       \
  |  |   51|     66|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1809|     66|                 "data.drop requires data count section");
 1810|     63|        [[fallthrough]];
 1811|    575|      case Opcode::ElemDrop: {
  ------------------
  |  Branch (1811:7): [True: 512, False: 6.22M]
  ------------------
 1812|    575|        Index segment;
 1813|    575|        CHECK_RESULT(ReadIndex(&segment, "segment index"));
  ------------------
  |  |   55|    575|  do {                              \
  |  |   56|    575|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 16, False: 559]
  |  |  ------------------
  |  |   57|     16|      return ::wabt::Result::Error; \
  |  |   58|     16|    }                               \
  |  |   59|    575|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1814|    559|        if (opcode == Opcode::DataDrop) {
  ------------------
  |  Branch (1814:13): [True: 50, False: 509]
  ------------------
 1815|     50|          CALLBACK(OnDataDropExpr, segment);
  ------------------
  |  |   66|     50|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     50|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     50|  do {                      \
  |  |  |  |  |  |   48|     50|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 50]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     50|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     50|               #member " callback failed")
  ------------------
 1816|    509|        } else {
 1817|    509|          CALLBACK(OnElemDropExpr, segment);
  ------------------
  |  |   66|    509|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    509|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    509|  do {                      \
  |  |  |  |  |  |   48|    509|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 509]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    509|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    509|               #member " callback failed")
  ------------------
 1818|    509|        }
 1819|    559|        CALLBACK(OnOpcodeUint32, segment);
  ------------------
  |  |   66|    559|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    559|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    559|  do {                      \
  |  |  |  |  |  |   48|    559|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 559]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    559|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    559|               #member " callback failed")
  ------------------
 1820|    559|        break;
 1821|    559|      }
 1822|       |
 1823|  3.01k|      case Opcode::MemoryFill: {
  ------------------
  |  Branch (1823:7): [True: 3.01k, False: 6.22M]
  ------------------
 1824|  3.01k|        Index memidx = 0;
 1825|  3.01k|        if (!options_.features.multi_memory_enabled()) {
  ------------------
  |  Branch (1825:13): [True: 2.28k, False: 731]
  ------------------
 1826|  2.28k|          uint8_t reserved;
 1827|  2.28k|          CHECK_RESULT(ReadU8(&reserved, "memory.fill reserved"));
  ------------------
  |  |   55|  2.28k|  do {                              \
  |  |   56|  2.28k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 5, False: 2.28k]
  |  |  ------------------
  |  |   57|      5|      return ::wabt::Result::Error; \
  |  |   58|      5|    }                               \
  |  |   59|  2.28k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1828|  2.28k|          ERROR_UNLESS(reserved == 0, "memory.fill reserved value must be 0");
  ------------------
  |  |   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: 12, False: 2.26k]
  |  |  |  |  ------------------
  |  |  |  |   49|     12|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     12|  do {                       \
  |  |  |  |  |  |   42|     12|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     12|    return Result::Error;    \
  |  |  |  |  |  |   44|     12|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     12|    }                       \
  |  |  |  |   51|  2.28k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1829|  2.28k|        } else {
 1830|    731|          CHECK_RESULT(ReadMemidx(&memidx, "memory.fill memidx"));
  ------------------
  |  |   55|    731|  do {                              \
  |  |   56|    731|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7, False: 724]
  |  |  ------------------
  |  |   57|      7|      return ::wabt::Result::Error; \
  |  |   58|      7|    }                               \
  |  |   59|    731|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1831|    731|        }
 1832|  2.99k|        CALLBACK(OnMemoryFillExpr, memidx);
  ------------------
  |  |   66|  2.99k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.99k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.99k|  do {                      \
  |  |  |  |  |  |   48|  2.99k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.99k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.99k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.99k|               #member " callback failed")
  ------------------
 1833|  2.99k|        CALLBACK(OnOpcodeUint32, memidx);
  ------------------
  |  |   66|  2.99k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.99k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.99k|  do {                      \
  |  |  |  |  |  |   48|  2.99k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.99k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.99k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.99k|               #member " callback failed")
  ------------------
 1834|  2.99k|        break;
 1835|  2.99k|      }
 1836|       |
 1837|  2.99k|      case Opcode::MemoryCopy: {
  ------------------
  |  Branch (1837:7): [True: 1.07k, False: 6.22M]
  ------------------
 1838|  1.07k|        Index destmemidx = 0;
 1839|  1.07k|        Index srcmemidx = 0;
 1840|  1.07k|        if (!options_.features.multi_memory_enabled()) {
  ------------------
  |  Branch (1840:13): [True: 394, False: 684]
  ------------------
 1841|    394|          uint8_t reserved;
 1842|    394|          CHECK_RESULT(ReadU8(&reserved, "reserved memory index"));
  ------------------
  |  |   55|    394|  do {                              \
  |  |   56|    394|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 388]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|    394|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1843|    388|          ERROR_UNLESS(reserved == 0, "reserved value must be 0");
  ------------------
  |  |   53|    388|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    388|  do {                      \
  |  |  |  |   48|    388|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 9, False: 379]
  |  |  |  |  ------------------
  |  |  |  |   49|      9|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      9|  do {                       \
  |  |  |  |  |  |   42|      9|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      9|    return Result::Error;    \
  |  |  |  |  |  |   44|      9|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      9|    }                       \
  |  |  |  |   51|    388|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1844|    379|          CHECK_RESULT(ReadU8(&reserved, "reserved memory index"));
  ------------------
  |  |   55|    379|  do {                              \
  |  |   56|    379|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3, False: 376]
  |  |  ------------------
  |  |   57|      3|      return ::wabt::Result::Error; \
  |  |   58|      3|    }                               \
  |  |   59|    379|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1845|    376|          ERROR_UNLESS(reserved == 0, "reserved value must be 0");
  ------------------
  |  |   53|    376|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    376|  do {                      \
  |  |  |  |   48|    376|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 9, False: 367]
  |  |  |  |  ------------------
  |  |  |  |   49|      9|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      9|  do {                       \
  |  |  |  |  |  |   42|      9|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      9|    return Result::Error;    \
  |  |  |  |  |  |   44|      9|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      9|    }                       \
  |  |  |  |   51|    376|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1846|    684|        } else {
 1847|    684|          CHECK_RESULT(ReadMemidx(&destmemidx, "memory.copy destmemindex"));
  ------------------
  |  |   55|    684|  do {                              \
  |  |   56|    684|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7, False: 677]
  |  |  ------------------
  |  |   57|      7|      return ::wabt::Result::Error; \
  |  |   58|      7|    }                               \
  |  |   59|    684|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1848|    677|          CHECK_RESULT(ReadMemidx(&srcmemidx, "memory.copy srcmemidx"));
  ------------------
  |  |   55|    677|  do {                              \
  |  |   56|    677|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 5, False: 672]
  |  |  ------------------
  |  |   57|      5|      return ::wabt::Result::Error; \
  |  |   58|      5|    }                               \
  |  |   59|    677|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1849|    677|        }
 1850|  1.03k|        CALLBACK(OnMemoryCopyExpr, destmemidx, srcmemidx);
  ------------------
  |  |   66|  1.03k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.03k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.03k|  do {                      \
  |  |  |  |  |  |   48|  1.03k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.03k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.03k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.03k|               #member " callback failed")
  ------------------
 1851|  1.03k|        CALLBACK(OnOpcodeUint32Uint32, destmemidx, srcmemidx);
  ------------------
  |  |   66|  1.03k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.03k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.03k|  do {                      \
  |  |  |  |  |  |   48|  1.03k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.03k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.03k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.03k|               #member " callback failed")
  ------------------
 1852|  1.03k|        break;
 1853|  1.03k|      }
 1854|       |
 1855|  1.03k|      case Opcode::TableCopy: {
  ------------------
  |  Branch (1855:7): [True: 912, False: 6.22M]
  ------------------
 1856|    912|        Index table_dst;
 1857|    912|        Index table_src;
 1858|    912|        CHECK_RESULT(ReadIndex(&table_dst, "reserved table index"));
  ------------------
  |  |   55|    912|  do {                              \
  |  |   56|    912|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 4, False: 908]
  |  |  ------------------
  |  |   57|      4|      return ::wabt::Result::Error; \
  |  |   58|      4|    }                               \
  |  |   59|    912|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1859|    908|        CHECK_RESULT(ReadIndex(&table_src, "table src"));
  ------------------
  |  |   55|    908|  do {                              \
  |  |   56|    908|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3, False: 905]
  |  |  ------------------
  |  |   57|      3|      return ::wabt::Result::Error; \
  |  |   58|      3|    }                               \
  |  |   59|    908|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1860|    905|        CALLBACK(OnTableCopyExpr, table_dst, table_src);
  ------------------
  |  |   66|    905|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    905|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    905|  do {                      \
  |  |  |  |  |  |   48|    905|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 905]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    905|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    905|               #member " callback failed")
  ------------------
 1861|    905|        CALLBACK(OnOpcodeUint32Uint32, table_dst, table_src);
  ------------------
  |  |   66|    905|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    905|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    905|  do {                      \
  |  |  |  |  |  |   48|    905|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 905]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    905|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    905|               #member " callback failed")
  ------------------
 1862|    905|        break;
 1863|    905|      }
 1864|       |
 1865|  7.51k|      case Opcode::TableGet: {
  ------------------
  |  Branch (1865:7): [True: 7.51k, False: 6.21M]
  ------------------
 1866|  7.51k|        Index table;
 1867|  7.51k|        CHECK_RESULT(ReadIndex(&table, "table index"));
  ------------------
  |  |   55|  7.51k|  do {                              \
  |  |   56|  7.51k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 23, False: 7.49k]
  |  |  ------------------
  |  |   57|     23|      return ::wabt::Result::Error; \
  |  |   58|     23|    }                               \
  |  |   59|  7.51k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1868|  7.49k|        CALLBACK(OnTableGetExpr, table);
  ------------------
  |  |   66|  7.49k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  7.49k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  7.49k|  do {                      \
  |  |  |  |  |  |   48|  7.49k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 7.49k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.49k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  7.49k|               #member " callback failed")
  ------------------
 1869|  7.49k|        CALLBACK(OnOpcodeUint32, table);
  ------------------
  |  |   66|  7.49k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  7.49k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  7.49k|  do {                      \
  |  |  |  |  |  |   48|  7.49k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 7.49k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.49k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  7.49k|               #member " callback failed")
  ------------------
 1870|  7.49k|        break;
 1871|  7.49k|      }
 1872|       |
 1873|  7.49k|      case Opcode::TableSet: {
  ------------------
  |  Branch (1873:7): [True: 4.93k, False: 6.21M]
  ------------------
 1874|  4.93k|        Index table;
 1875|  4.93k|        CHECK_RESULT(ReadIndex(&table, "table index"));
  ------------------
  |  |   55|  4.93k|  do {                              \
  |  |   56|  4.93k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 25, False: 4.90k]
  |  |  ------------------
  |  |   57|     25|      return ::wabt::Result::Error; \
  |  |   58|     25|    }                               \
  |  |   59|  4.93k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1876|  4.90k|        CALLBACK(OnTableSetExpr, table);
  ------------------
  |  |   66|  4.90k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.90k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.90k|  do {                      \
  |  |  |  |  |  |   48|  4.90k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.90k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.90k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.90k|               #member " callback failed")
  ------------------
 1877|  4.90k|        CALLBACK(OnOpcodeUint32, table);
  ------------------
  |  |   66|  4.90k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.90k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.90k|  do {                      \
  |  |  |  |  |  |   48|  4.90k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.90k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.90k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.90k|               #member " callback failed")
  ------------------
 1878|  4.90k|        break;
 1879|  4.90k|      }
 1880|       |
 1881|  4.90k|      case Opcode::TableGrow: {
  ------------------
  |  Branch (1881:7): [True: 1.91k, False: 6.22M]
  ------------------
 1882|  1.91k|        Index table;
 1883|  1.91k|        CHECK_RESULT(ReadIndex(&table, "table index"));
  ------------------
  |  |   55|  1.91k|  do {                              \
  |  |   56|  1.91k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 4, False: 1.90k]
  |  |  ------------------
  |  |   57|      4|      return ::wabt::Result::Error; \
  |  |   58|      4|    }                               \
  |  |   59|  1.91k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1884|  1.90k|        CALLBACK(OnTableGrowExpr, table);
  ------------------
  |  |   66|  1.90k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.90k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.90k|  do {                      \
  |  |  |  |  |  |   48|  1.90k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.90k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.90k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.90k|               #member " callback failed")
  ------------------
 1885|  1.90k|        CALLBACK(OnOpcodeUint32, table);
  ------------------
  |  |   66|  1.90k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.90k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.90k|  do {                      \
  |  |  |  |  |  |   48|  1.90k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.90k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.90k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.90k|               #member " callback failed")
  ------------------
 1886|  1.90k|        break;
 1887|  1.90k|      }
 1888|       |
 1889|  1.90k|      case Opcode::TableSize: {
  ------------------
  |  Branch (1889:7): [True: 495, False: 6.22M]
  ------------------
 1890|    495|        Index table;
 1891|    495|        CHECK_RESULT(ReadIndex(&table, "table index"));
  ------------------
  |  |   55|    495|  do {                              \
  |  |   56|    495|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 6, False: 489]
  |  |  ------------------
  |  |   57|      6|      return ::wabt::Result::Error; \
  |  |   58|      6|    }                               \
  |  |   59|    495|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1892|    489|        CALLBACK(OnTableSizeExpr, table);
  ------------------
  |  |   66|    489|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    489|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    489|  do {                      \
  |  |  |  |  |  |   48|    489|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 489]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    489|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    489|               #member " callback failed")
  ------------------
 1893|    489|        CALLBACK(OnOpcodeUint32, table);
  ------------------
  |  |   66|    489|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    489|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    489|  do {                      \
  |  |  |  |  |  |   48|    489|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 489]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    489|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    489|               #member " callback failed")
  ------------------
 1894|    489|        break;
 1895|    489|      }
 1896|       |
 1897|  1.55k|      case Opcode::TableFill: {
  ------------------
  |  Branch (1897:7): [True: 1.55k, False: 6.22M]
  ------------------
 1898|  1.55k|        Index table;
 1899|  1.55k|        CHECK_RESULT(ReadIndex(&table, "table index"));
  ------------------
  |  |   55|  1.55k|  do {                              \
  |  |   56|  1.55k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3, False: 1.54k]
  |  |  ------------------
  |  |   57|      3|      return ::wabt::Result::Error; \
  |  |   58|      3|    }                               \
  |  |   59|  1.55k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1900|  1.54k|        CALLBACK(OnTableFillExpr, table);
  ------------------
  |  |   66|  1.54k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.54k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.54k|  do {                      \
  |  |  |  |  |  |   48|  1.54k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.54k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.54k|               #member " callback failed")
  ------------------
 1901|  1.54k|        CALLBACK(OnOpcodeUint32, table);
  ------------------
  |  |   66|  1.54k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.54k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.54k|  do {                      \
  |  |  |  |  |  |   48|  1.54k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.54k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.54k|               #member " callback failed")
  ------------------
 1902|  1.54k|        break;
 1903|  1.54k|      }
 1904|       |
 1905|  1.54k|      case Opcode::RefFunc: {
  ------------------
  |  Branch (1905:7): [True: 1.53k, False: 6.22M]
  ------------------
 1906|  1.53k|        Index func;
 1907|  1.53k|        CHECK_RESULT(ReadIndex(&func, "func index"));
  ------------------
  |  |   55|  1.53k|  do {                              \
  |  |   56|  1.53k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 9, False: 1.52k]
  |  |  ------------------
  |  |   57|      9|      return ::wabt::Result::Error; \
  |  |   58|      9|    }                               \
  |  |   59|  1.53k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1908|  1.52k|        CALLBACK(OnRefFuncExpr, func);
  ------------------
  |  |   66|  1.52k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.52k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.52k|  do {                      \
  |  |  |  |  |  |   48|  1.52k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.52k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.52k|               #member " callback failed")
  ------------------
 1909|  1.52k|        CALLBACK(OnOpcodeUint32, func);
  ------------------
  |  |   66|  1.52k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.52k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.52k|  do {                      \
  |  |  |  |  |  |   48|  1.52k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 1.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|  1.52k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.52k|               #member " callback failed")
  ------------------
 1910|  1.52k|        break;
 1911|  1.52k|      }
 1912|       |
 1913|  1.52k|      case Opcode::RefNull: {
  ------------------
  |  Branch (1913:7): [True: 1.48k, False: 6.22M]
  ------------------
 1914|  1.48k|        Type type;
 1915|  1.48k|        CHECK_RESULT(ReadRefType(&type, "ref.null type"));
  ------------------
  |  |   55|  1.48k|  do {                              \
  |  |   56|  1.48k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 100, False: 1.38k]
  |  |  ------------------
  |  |   57|    100|      return ::wabt::Result::Error; \
  |  |   58|    100|    }                               \
  |  |   59|  1.48k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1916|  1.38k|        CALLBACK(OnRefNullExpr, type);
  ------------------
  |  |   66|  1.38k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.38k|               #member " callback failed")
  ------------------
 1917|  1.38k|        CALLBACK(OnOpcodeType, type);
  ------------------
  |  |   66|  1.38k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.38k|               #member " callback failed")
  ------------------
 1918|  1.38k|        break;
 1919|  1.38k|      }
 1920|       |
 1921|  4.93k|      case Opcode::RefIsNull:
  ------------------
  |  Branch (1921:7): [True: 4.93k, False: 6.21M]
  ------------------
 1922|  4.93k|        CALLBACK(OnRefIsNullExpr);
  ------------------
  |  |   66|  4.93k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.93k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.93k|  do {                      \
  |  |  |  |  |  |   48|  4.93k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.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|  4.93k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.93k|               #member " callback failed")
  ------------------
 1923|  4.93k|        CALLBACK(OnOpcodeBare);
  ------------------
  |  |   66|  4.93k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  4.93k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  4.93k|  do {                      \
  |  |  |  |  |  |   48|  4.93k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 4.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|  4.93k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.93k|               #member " callback failed")
  ------------------
 1924|  4.93k|        break;
 1925|       |
 1926|  12.5k|      case Opcode::CallRef:
  ------------------
  |  Branch (1926:7): [True: 12.5k, False: 6.21M]
  ------------------
 1927|  12.5k|        CALLBACK(OnCallRefExpr);
  ------------------
  |  |   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")
  ------------------
 1928|  12.5k|        CALLBACK(OnOpcodeBare);
  ------------------
  |  |   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")
  ------------------
 1929|  12.5k|        break;
 1930|       |
 1931|  12.5k|      default:
  ------------------
  |  Branch (1931:7): [True: 970, False: 6.22M]
  ------------------
 1932|    970|        return ReportUnexpectedOpcode(opcode);
 1933|  6.22M|    }
 1934|  6.22M|  }
 1935|       |
 1936|  2.98k|  PrintError("%s must end with END opcode", context);
 1937|  2.98k|  return Result::Error;
 1938|  20.2k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10ReadOpcodeEPNS_6OpcodeEPKc:
  271|  6.22M|Result BinaryReader::ReadOpcode(Opcode* out_value, const char* desc) {
  272|  6.22M|  uint8_t value = 0;
  273|  6.22M|  CHECK_RESULT(ReadU8(&value, desc));
  ------------------
  |  |   55|  6.22M|  do {                              \
  |  |   56|  6.22M|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 138, False: 6.22M]
  |  |  ------------------
  |  |   57|    138|      return ::wabt::Result::Error; \
  |  |   58|    138|    }                               \
  |  |   59|  6.22M|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  274|       |
  275|  6.22M|  if (Opcode::IsPrefixByte(value)) {
  ------------------
  |  Branch (275:7): [True: 414k, False: 5.81M]
  ------------------
  276|   414k|    uint32_t code;
  277|   414k|    CHECK_RESULT(ReadU32Leb128(&code, desc));
  ------------------
  |  |   55|   414k|  do {                              \
  |  |   56|   414k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 191, False: 414k]
  |  |  ------------------
  |  |   57|    191|      return ::wabt::Result::Error; \
  |  |   58|    191|    }                               \
  |  |   59|   414k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  278|   414k|    *out_value = Opcode::FromCode(value, code);
  279|  5.81M|  } else {
  280|  5.81M|    *out_value = Opcode::FromCode(value);
  281|  5.81M|  }
  282|  6.22M|  return Result::Ok;
  283|  6.22M|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader22ReportUnexpectedOpcodeENS_6OpcodeEPKc:
  251|  1.20k|Result BinaryReader::ReportUnexpectedOpcode(Opcode opcode, const char* where) {
  252|  1.20k|  std::string message = "unexpected opcode";
  253|  1.20k|  if (where) {
  ------------------
  |  Branch (253:7): [True: 0, False: 1.20k]
  ------------------
  254|      0|    message += ' ';
  255|      0|    message += where;
  256|      0|  }
  257|       |
  258|  1.20k|  message += ":";
  259|       |
  260|  1.20k|  std::vector<uint8_t> bytes = opcode.GetBytes();
  261|  1.20k|  assert(bytes.size() > 0);
  262|       |
  263|  1.76k|  for (uint8_t byte : bytes) {
  ------------------
  |  Branch (263:21): [True: 1.76k, False: 1.20k]
  ------------------
  264|  1.76k|    message += StringPrintf(" 0x%x", byte);
  265|  1.76k|  }
  266|       |
  267|  1.20k|  PrintError("%s", message.c_str());
  268|  1.20k|  return Result::Error;
  269|  1.20k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader11IsBlockTypeENS_4TypeE:
  581|   993k|bool BinaryReader::IsBlockType(Type type) {
  582|   993k|  if (IsConcreteType(type) || type == Type::Void) {
  ------------------
  |  Branch (582:7): [True: 33.3k, False: 960k]
  |  Branch (582:31): [True: 2.48k, False: 957k]
  ------------------
  583|  35.8k|    return true;
  584|  35.8k|  }
  585|       |
  586|   957k|  if (!(options_.features.multi_value_enabled() && type.IsIndex())) {
  ------------------
  |  Branch (586:9): [True: 957k, False: 0]
  |  Branch (586:52): [True: 957k, False: 143]
  ------------------
  587|    143|    return false;
  588|    143|  }
  589|       |
  590|   957k|  return true;
  591|   957k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13ReadS64Leb128EPmPKc:
  356|  14.3k|Result BinaryReader::ReadS64Leb128(uint64_t* out_value, const char* desc) {
  357|  14.3k|  const uint8_t* p = state_.data + state_.offset;
  358|  14.3k|  const uint8_t* end = state_.data + read_end_;
  359|  14.3k|  size_t bytes_read = wabt::ReadS64Leb128(p, end, out_value);
  360|  14.3k|  ERROR_UNLESS(bytes_read > 0, "unable to read i64 leb128: %s", desc);
  ------------------
  |  |   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: 77, False: 14.2k]
  |  |  |  |  ------------------
  |  |  |  |   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|  14.3k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  361|  14.2k|  state_.offset += bytes_read;
  362|  14.2k|  return Result::Ok;
  363|  14.3k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader7ReadF32EPjPKc:
  317|  9.51k|Result BinaryReader::ReadF32(uint32_t* out_value, const char* desc) {
  318|  9.51k|  return ReadT(out_value, "float", desc);
  319|  9.51k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader7ReadF64EPmPKc:
  321|  2.83k|Result BinaryReader::ReadF64(uint64_t* out_value, const char* desc) {
  322|  2.83k|  return ReadT(out_value, "double", desc);
  323|  2.83k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader5ReadTImEENS_6ResultEPT_PKcS7_:
  288|  2.83k|                           const char* desc) {
  289|  2.83k|  if (state_.offset + sizeof(T) > read_end_) {
  ------------------
  |  Branch (289:7): [True: 22, False: 2.80k]
  ------------------
  290|     22|    PrintError("unable to read %s: %s", type_name, desc);
  291|     22|    return Result::Error;
  292|     22|  }
  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|  2.80k|  memcpy(out_value, state_.data + state_.offset, sizeof(T));
  300|  2.80k|#endif
  301|  2.80k|  state_.offset += sizeof(T);
  302|  2.80k|  return Result::Ok;
  303|  2.83k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader8ReadV128EP4v128PKc:
  325|  18.5k|Result BinaryReader::ReadV128(v128* out_value, const char* desc) {
  326|  18.5k|  return ReadT(out_value, "v128", desc);
  327|  18.5k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader5ReadTI4v128EENS_6ResultEPT_PKcS8_:
  288|  18.5k|                           const char* desc) {
  289|  18.5k|  if (state_.offset + sizeof(T) > read_end_) {
  ------------------
  |  Branch (289:7): [True: 20, False: 18.5k]
  ------------------
  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|  18.5k|  memcpy(out_value, state_.data + state_.offset, sizeof(T));
  300|  18.5k|#endif
  301|  18.5k|  state_.offset += sizeof(T);
  302|  18.5k|  return Result::Ok;
  303|  18.5k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadMemLocationEPmPjS2_PKcS5_S5_Ph:
  480|   167k|                                     uint8_t* lane_val) {
  481|   167k|  bool has_memidx = false;
  482|   167k|  CHECK_RESULT(ReadAlignment(alignment_log2, desc_align));
  ------------------
  |  |   55|   167k|  do {                              \
  |  |   56|   167k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 372, False: 167k]
  |  |  ------------------
  |  |   57|    372|      return ::wabt::Result::Error; \
  |  |   58|    372|    }                               \
  |  |   59|   167k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  483|   167k|  CHECK_RESULT(TakeHasMemidx(alignment_log2, &has_memidx));
  ------------------
  |  |   55|   167k|  do {                              \
  |  |   56|   167k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 0, False: 167k]
  |  |  ------------------
  |  |   57|      0|      return ::wabt::Result::Error; \
  |  |   58|      0|    }                               \
  |  |   59|   167k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  484|   167k|  CHECK_RESULT(CheckAlignment(alignment_log2, desc_align));
  ------------------
  |  |   55|   167k|  do {                              \
  |  |   56|   167k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 407, False: 167k]
  |  |  ------------------
  |  |   57|    407|      return ::wabt::Result::Error; \
  |  |   58|    407|    }                               \
  |  |   59|   167k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  485|   167k|  *memidx = 0;
  486|   167k|  if (has_memidx) {
  ------------------
  |  Branch (486:7): [True: 13.2k, False: 153k]
  ------------------
  487|  13.2k|    ERROR_IF(!options_.features.multi_memory_enabled(),
  ------------------
  |  |   47|  13.2k|  do {                      \
  |  |   48|  13.2k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 42, False: 13.2k]
  |  |  ------------------
  |  |   49|     42|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     42|  do {                       \
  |  |  |  |   42|     42|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     42|    return Result::Error;    \
  |  |  |  |   44|     42|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     42|    }                       \
  |  |   51|  13.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  488|  13.2k|             "multi_memory not allowed");
  489|  13.2k|    CHECK_RESULT(ReadMemidx(memidx, desc_memidx));
  ------------------
  |  |   55|  13.2k|  do {                              \
  |  |   56|  13.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 19, False: 13.1k]
  |  |  ------------------
  |  |   57|     19|      return ::wabt::Result::Error; \
  |  |   58|     19|    }                               \
  |  |   59|  13.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  490|  13.2k|  }
  491|   167k|  CHECK_RESULT(ReadAddress(offset, 0, desc_offset));
  ------------------
  |  |   55|   167k|  do {                              \
  |  |   56|   167k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 144, False: 166k]
  |  |  ------------------
  |  |   57|    144|      return ::wabt::Result::Error; \
  |  |   58|    144|    }                               \
  |  |   59|   167k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  492|       |
  493|   166k|  if (lane_val) {
  ------------------
  |  Branch (493:7): [True: 8.22k, False: 158k]
  ------------------
  494|  8.22k|    CHECK_RESULT(ReadU8(lane_val, "Lane idx"));
  ------------------
  |  |   55|  8.22k|  do {                              \
  |  |   56|  8.22k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 14, False: 8.21k]
  |  |  ------------------
  |  |   57|     14|      return ::wabt::Result::Error; \
  |  |   58|     14|    }                               \
  |  |   59|  8.22k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  495|  8.22k|  }
  496|       |
  497|   166k|  return Result::Ok;
  498|   166k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader13TakeHasMemidxEPmPb:
  461|   167k|Result BinaryReader::TakeHasMemidx(Address* align_log2, bool* has_memidx) {
  462|       |  // extract the has_memidx flag
  463|   167k|  *has_memidx = (*align_log2 >> 6) & 1;
  464|       |  // then clear it
  465|   167k|  *align_log2 &= ~(1 << 6);
  466|   167k|  return Result::Ok;
  467|   167k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader11ReadAddressEPmjPKc:
  700|   167k|                                 const char* desc) {
  701|   167k|  if (options_.features.memory64_enabled()) {
  ------------------
  |  Branch (701:7): [True: 136k, False: 30.1k]
  ------------------
  702|   136k|    return ReadU64Leb128(out_value, desc);
  703|   136k|  } else {
  704|  30.1k|    uint32_t val;
  705|  30.1k|    Result res = ReadU32Leb128(&val, desc);
  706|  30.1k|    *out_value = val;
  707|  30.1k|    return res;
  708|  30.1k|  }
  709|   167k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader19CallbackMemLocationEPKmPKjS3_PKh:
  503|   166k|                                         const uint8_t* lane_val) {
  504|   166k|  if (lane_val) {
  ------------------
  |  Branch (504:7): [True: 8.21k, False: 158k]
  ------------------
  505|  8.21k|    if (*memidx) {
  ------------------
  |  Branch (505:9): [True: 2.10k, False: 6.10k]
  ------------------
  506|  2.10k|      CALLBACK(OnOpcodeUint32Uint32Uint32Uint32, *alignment_log2, *memidx,
  ------------------
  |  |   66|  2.10k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  2.10k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  2.10k|  do {                      \
  |  |  |  |  |  |   48|  2.10k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 2.10k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.10k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  2.10k|               #member " callback failed")
  ------------------
  507|  2.10k|               *offset, *lane_val);
  508|  6.10k|    } else {
  509|  6.10k|      CALLBACK(OnOpcodeUint32Uint32Uint32, *alignment_log2, *offset, *lane_val);
  ------------------
  |  |   66|  6.10k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  6.10k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.10k|  do {                      \
  |  |  |  |  |  |   48|  6.10k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 6.10k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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.10k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  6.10k|               #member " callback failed")
  ------------------
  510|  6.10k|    }
  511|   158k|  } else {
  512|   158k|    if (*memidx) {
  ------------------
  |  Branch (512:9): [True: 8.97k, False: 149k]
  ------------------
  513|  8.97k|      CALLBACK(OnOpcodeUint32Uint32Uint32, *alignment_log2, *memidx, *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")
  ------------------
  514|   149k|    } else {
  515|   149k|      CALLBACK(OnOpcodeUint32Uint32, *alignment_log2, *offset);
  ------------------
  |  |   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")
  ------------------
  516|   149k|    }
  517|   158k|  }
  518|       |
  519|   166k|  return Result::Ok;
  520|   166k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader10ReadMemidxEPjPKc:
  469|  25.3k|Result BinaryReader::ReadMemidx(Index* memidx, const char* desc) {
  470|  25.3k|  CHECK_RESULT(ReadIndex(memidx, desc));
  ------------------
  |  |   55|  25.3k|  do {                              \
  |  |   56|  25.3k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 76, False: 25.2k]
  |  |  ------------------
  |  |   57|     76|      return ::wabt::Result::Error; \
  |  |   58|     76|    }                               \
  |  |   59|  25.3k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  471|  25.2k|  return Result::Ok;
  472|  25.3k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ReadExportSectionEm:
 2757|    593|Result BinaryReader::ReadExportSection(Offset section_size) {
 2758|    593|  CALLBACK(BeginExportSection, section_size);
  ------------------
  |  |   66|    593|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    593|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    593|  do {                      \
  |  |  |  |  |  |   48|    593|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 593]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    593|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    593|               #member " callback failed")
  ------------------
 2759|    593|  Index num_exports;
 2760|    593|  CHECK_RESULT(ReadCount(&num_exports, "export count"));
  ------------------
  |  |   55|    593|  do {                              \
  |  |   56|    593|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 67, False: 526]
  |  |  ------------------
  |  |   57|     67|      return ::wabt::Result::Error; \
  |  |   58|     67|    }                               \
  |  |   59|    593|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2761|    526|  CALLBACK(OnExportCount, num_exports);
  ------------------
  |  |   66|    526|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    526|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    526|  do {                      \
  |  |  |  |  |  |   48|    526|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 526]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    526|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    526|               #member " callback failed")
  ------------------
 2762|  23.5k|  for (Index i = 0; i < num_exports; ++i) {
  ------------------
  |  Branch (2762:21): [True: 23.4k, False: 55]
  ------------------
 2763|  23.4k|    std::string_view name;
 2764|  23.4k|    CHECK_RESULT(ReadStr(&name, "export item name"));
  ------------------
  |  |   55|  23.4k|  do {                              \
  |  |   56|  23.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 279, False: 23.1k]
  |  |  ------------------
  |  |   57|    279|      return ::wabt::Result::Error; \
  |  |   58|    279|    }                               \
  |  |   59|  23.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2765|       |
 2766|  23.1k|    ExternalKind kind;
 2767|  23.1k|    CHECK_RESULT(ReadExternalKind(&kind, "export kind"));
  ------------------
  |  |   55|  23.1k|  do {                              \
  |  |   56|  23.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 138, False: 23.0k]
  |  |  ------------------
  |  |   57|    138|      return ::wabt::Result::Error; \
  |  |   58|    138|    }                               \
  |  |   59|  23.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2768|       |
 2769|  23.0k|    Index item_index;
 2770|  23.0k|    CHECK_RESULT(ReadIndex(&item_index, "export item index"));
  ------------------
  |  |   55|  23.0k|  do {                              \
  |  |   56|  23.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 50, False: 23.0k]
  |  |  ------------------
  |  |   57|     50|      return ::wabt::Result::Error; \
  |  |   58|     50|    }                               \
  |  |   59|  23.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2771|  23.0k|    if (kind == ExternalKind::Tag) {
  ------------------
  |  Branch (2771:9): [True: 202, False: 22.8k]
  ------------------
 2772|    202|      ERROR_UNLESS(options_.features.exceptions_enabled(),
  ------------------
  |  |   53|    202|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    202|  do {                      \
  |  |  |  |   48|    202|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 4, False: 198]
  |  |  |  |  ------------------
  |  |  |  |   49|      4|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      4|  do {                       \
  |  |  |  |  |  |   42|      4|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      4|    return Result::Error;    \
  |  |  |  |  |  |   44|      4|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      4|    }                       \
  |  |  |  |   51|    202|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2773|    202|                   "invalid export tag kind: exceptions not allowed");
 2774|    202|    }
 2775|       |
 2776|  23.0k|    CALLBACK(OnExport, i, static_cast<ExternalKind>(kind), item_index, name);
  ------------------
  |  |   66|  23.0k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  23.0k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  23.0k|  do {                      \
  |  |  |  |  |  |   48|  23.0k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 23.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|  23.0k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  23.0k|               #member " callback failed")
  ------------------
 2777|  23.0k|  }
 2778|     55|  CALLBACK0(EndExportSection);
  ------------------
  |  |   63|     55|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|     55|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     55|  do {                      \
  |  |  |  |  |  |   48|     55|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 55]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     55|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2779|     55|  return Result::Ok;
 2780|     55|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadExternalKindEPNS_12ExternalKindEPKc:
  385|  38.0k|                                      const char* desc) {
  386|  38.0k|  uint8_t value = 0;
  387|  38.0k|  CHECK_RESULT(ReadU8(&value, desc));
  ------------------
  |  |   55|  38.0k|  do {                              \
  |  |   56|  38.0k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 66, False: 38.0k]
  |  |  ------------------
  |  |   57|     66|      return ::wabt::Result::Error; \
  |  |   58|     66|    }                               \
  |  |   59|  38.0k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  388|  38.0k|  ERROR_UNLESS(value < kExternalKindCount, "invalid export external kind: %d",
  ------------------
  |  |   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: 87, False: 37.9k]
  |  |  |  |  ------------------
  |  |  |  |   49|     87|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     87|  do {                       \
  |  |  |  |  |  |   42|     87|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     87|    return Result::Error;    \
  |  |  |  |  |  |   44|     87|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     87|    }                       \
  |  |  |  |   51|  38.0k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  389|  37.9k|               value);
  390|  37.9k|  *out_value = static_cast<ExternalKind>(value);
  391|  37.9k|  return Result::Ok;
  392|  38.0k|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadStartSectionEm:
 2782|     86|Result BinaryReader::ReadStartSection(Offset section_size) {
 2783|     86|  CALLBACK(BeginStartSection, section_size);
  ------------------
  |  |   66|     86|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     86|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     86|  do {                      \
  |  |  |  |  |  |   48|     86|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 86]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     86|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     86|               #member " callback failed")
  ------------------
 2784|     86|  Index func_index;
 2785|     86|  CHECK_RESULT(ReadIndex(&func_index, "start function index"));
  ------------------
  |  |   55|     86|  do {                              \
  |  |   56|     86|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 23, False: 63]
  |  |  ------------------
  |  |   57|     23|      return ::wabt::Result::Error; \
  |  |   58|     23|    }                               \
  |  |   59|     86|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2786|     63|  CALLBACK(OnStartFunction, func_index);
  ------------------
  |  |   66|     63|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     63|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     63|  do {                      \
  |  |  |  |  |  |   48|     63|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 63]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     63|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     63|               #member " callback failed")
  ------------------
 2787|     63|  CALLBACK0(EndStartSection);
  ------------------
  |  |   63|     63|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|     63|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     63|  do {                      \
  |  |  |  |  |  |   48|     63|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 63]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     63|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2788|     63|  return Result::Ok;
 2789|     63|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadElemSectionEm:
 2791|  3.80k|Result BinaryReader::ReadElemSection(Offset section_size) {
 2792|  3.80k|  CALLBACK(BeginElemSection, section_size);
  ------------------
  |  |   66|  3.80k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.80k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.80k|  do {                      \
  |  |  |  |  |  |   48|  3.80k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.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|  3.80k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.80k|               #member " callback failed")
  ------------------
 2793|  3.80k|  Index num_elem_segments;
 2794|  3.80k|  CHECK_RESULT(ReadCount(&num_elem_segments, "elem segment count"));
  ------------------
  |  |   55|  3.80k|  do {                              \
  |  |   56|  3.80k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 52, False: 3.75k]
  |  |  ------------------
  |  |   57|     52|      return ::wabt::Result::Error; \
  |  |   58|     52|    }                               \
  |  |   59|  3.80k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2795|  3.75k|  CALLBACK(OnElemSegmentCount, num_elem_segments);
  ------------------
  |  |   66|  3.75k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.75k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.75k|  do {                      \
  |  |  |  |  |  |   48|  3.75k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.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|  3.75k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.75k|               #member " callback failed")
  ------------------
 2796|  26.9k|  for (Index i = 0; i < num_elem_segments; ++i) {
  ------------------
  |  Branch (2796:21): [True: 26.9k, False: 46]
  ------------------
 2797|  26.9k|    uint32_t flags;
 2798|  26.9k|    CHECK_RESULT(ReadU32Leb128(&flags, "elem segment flags"));
  ------------------
  |  |   55|  26.9k|  do {                              \
  |  |   56|  26.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 47, False: 26.8k]
  |  |  ------------------
  |  |   57|     47|      return ::wabt::Result::Error; \
  |  |   58|     47|    }                               \
  |  |   59|  26.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2799|  26.8k|    ERROR_IF(flags > SegFlagMax, "invalid elem segment flags: %#x", flags);
  ------------------
  |  |   47|  26.8k|  do {                      \
  |  |   48|  26.8k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 69, False: 26.8k]
  |  |  ------------------
  |  |   49|     69|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     69|  do {                       \
  |  |  |  |   42|     69|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     69|    return Result::Error;    \
  |  |  |  |   44|     69|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     69|    }                       \
  |  |   51|  26.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2800|  26.8k|    Index table_index(0);
 2801|  26.8k|    if ((flags & (SegPassive | SegExplicitIndex)) == SegExplicitIndex) {
  ------------------
  |  Branch (2801:9): [True: 533, False: 26.2k]
  ------------------
 2802|    533|      CHECK_RESULT(ReadIndex(&table_index, "elem segment table index"));
  ------------------
  |  |   55|    533|  do {                              \
  |  |   56|    533|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2, False: 531]
  |  |  ------------------
  |  |   57|      2|      return ::wabt::Result::Error; \
  |  |   58|      2|    }                               \
  |  |   59|    533|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2803|    533|    }
 2804|  26.8k|    Type elem_type = Type::FuncRef;
 2805|       |
 2806|  26.8k|    CALLBACK(BeginElemSegment, i, table_index, flags);
  ------------------
  |  |   66|  26.8k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  26.8k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  26.8k|  do {                      \
  |  |  |  |  |  |   48|  26.8k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 26.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|  26.8k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  26.8k|               #member " callback failed")
  ------------------
 2807|       |
 2808|  26.8k|    if (!(flags & SegPassive)) {
  ------------------
  |  Branch (2808:9): [True: 11.9k, False: 14.8k]
  ------------------
 2809|  11.9k|      CALLBACK(BeginElemSegmentInitExpr, i);
  ------------------
  |  |   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")
  ------------------
 2810|  11.9k|      CHECK_RESULT(ReadInitExpr(i));
  ------------------
  |  |   55|  11.9k|  do {                              \
  |  |   56|  11.9k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3.12k, False: 8.85k]
  |  |  ------------------
  |  |   57|  3.12k|      return ::wabt::Result::Error; \
  |  |   58|  3.12k|    }                               \
  |  |   59|  11.9k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2811|  8.85k|      CALLBACK(EndElemSegmentInitExpr, i);
  ------------------
  |  |   66|  8.85k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  8.85k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  8.85k|  do {                      \
  |  |  |  |  |  |   48|  8.85k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 3, False: 8.84k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      3|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      3|  do {                       \
  |  |  |  |  |  |  |  |   42|      3|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      3|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      3|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      3|    }                       \
  |  |  |  |  |  |   51|  8.85k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  8.85k|               #member " callback failed")
  ------------------
 2812|  8.85k|    }
 2813|       |
 2814|       |    // For backwards compat we support not declaring the element kind.
 2815|  23.6k|    if (flags & (SegPassive | SegExplicitIndex)) {
  ------------------
  |  Branch (2815:9): [True: 15.0k, False: 8.63k]
  ------------------
 2816|  15.0k|      if (flags & SegUseElemExprs) {
  ------------------
  |  Branch (2816:11): [True: 174, False: 14.8k]
  ------------------
 2817|    174|        CHECK_RESULT(ReadRefType(&elem_type, "table elem type"));
  ------------------
  |  |   55|    174|  do {                              \
  |  |   56|    174|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 74, False: 100]
  |  |  ------------------
  |  |   57|     74|      return ::wabt::Result::Error; \
  |  |   58|     74|    }                               \
  |  |   59|    174|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2818|  14.8k|      } else {
 2819|  14.8k|        ExternalKind kind;
 2820|  14.8k|        CHECK_RESULT(ReadExternalKind(&kind, "export kind"));
  ------------------
  |  |   55|  14.8k|  do {                              \
  |  |   56|  14.8k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 15, False: 14.8k]
  |  |  ------------------
  |  |   57|     15|      return ::wabt::Result::Error; \
  |  |   58|     15|    }                               \
  |  |   59|  14.8k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2821|  14.8k|        ERROR_UNLESS(kind == ExternalKind::Func,
  ------------------
  |  |   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: 7, False: 14.8k]
  |  |  |  |  ------------------
  |  |  |  |   49|      7|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      7|  do {                       \
  |  |  |  |  |  |   42|      7|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      7|    return Result::Error;    \
  |  |  |  |  |  |   44|      7|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      7|    }                       \
  |  |  |  |   51|  14.8k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2822|  14.8k|                     "segment elem type must be func (%s)",
 2823|  14.8k|                     elem_type.GetName().c_str());
 2824|  14.8k|        elem_type = Type::FuncRef;
 2825|  14.8k|      }
 2826|  15.0k|    }
 2827|       |
 2828|  23.6k|    CALLBACK(OnElemSegmentElemType, i, elem_type);
  ------------------
  |  |   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")
  ------------------
 2829|       |
 2830|  23.6k|    Index num_elem_exprs;
 2831|  23.6k|    CHECK_RESULT(ReadCount(&num_elem_exprs, "elem count"));
  ------------------
  |  |   55|  23.6k|  do {                              \
  |  |   56|  23.6k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 68, False: 23.5k]
  |  |  ------------------
  |  |   57|     68|      return ::wabt::Result::Error; \
  |  |   58|     68|    }                               \
  |  |   59|  23.6k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2832|       |
 2833|  23.5k|    CALLBACK(OnElemSegmentElemExprCount, i, num_elem_exprs);
  ------------------
  |  |   66|  23.5k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  23.5k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  23.5k|  do {                      \
  |  |  |  |  |  |   48|  23.5k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 23.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|  23.5k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  23.5k|               #member " callback failed")
  ------------------
 2834|   287k|    for (Index j = 0; j < num_elem_exprs; ++j) {
  ------------------
  |  Branch (2834:23): [True: 264k, False: 23.2k]
  ------------------
 2835|   264k|      CALLBACK(BeginElemExpr, i, j);
  ------------------
  |  |   66|   264k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   264k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   264k|  do {                      \
  |  |  |  |  |  |   48|   264k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 264k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   264k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   264k|               #member " callback failed")
  ------------------
 2836|   264k|      if (flags & SegUseElemExprs) {
  ------------------
  |  Branch (2836:11): [True: 2.18k, False: 261k]
  ------------------
 2837|  2.18k|        CHECK_RESULT(ReadInitExpr(j));
  ------------------
  |  |   55|  2.18k|  do {                              \
  |  |   56|  2.18k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 196, False: 1.99k]
  |  |  ------------------
  |  |   57|    196|      return ::wabt::Result::Error; \
  |  |   58|    196|    }                               \
  |  |   59|  2.18k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2838|   261k|      } else {
 2839|   261k|        Index func_index;
 2840|   261k|        CHECK_RESULT(ReadIndex(&func_index, "elem expr func index"));
  ------------------
  |  |   55|   261k|  do {                              \
  |  |   56|   261k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 99, False: 261k]
  |  |  ------------------
  |  |   57|     99|      return ::wabt::Result::Error; \
  |  |   58|     99|    }                               \
  |  |   59|   261k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2841|   261k|        CALLBACK(OnOpcode, Opcode::RefFunc);
  ------------------
  |  |   66|   261k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   261k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   261k|  do {                      \
  |  |  |  |  |  |   48|   261k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 261k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   261k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   261k|               #member " callback failed")
  ------------------
 2842|   261k|        CALLBACK(OnRefFuncExpr, func_index);
  ------------------
  |  |   66|   261k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   261k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   261k|  do {                      \
  |  |  |  |  |  |   48|   261k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 261k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   261k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   261k|               #member " callback failed")
  ------------------
 2843|   261k|        CALLBACK(OnOpcodeUint32, func_index);
  ------------------
  |  |   66|   261k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   261k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   261k|  do {                      \
  |  |  |  |  |  |   48|   261k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 261k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|   261k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   261k|               #member " callback failed")
  ------------------
 2844|   261k|        CALLBACK0(OnEndExpr);
  ------------------
  |  |   63|   261k|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|   261k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   261k|  do {                      \
  |  |  |  |  |  |   48|   261k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 1, False: 261k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      1|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      1|  do {                       \
  |  |  |  |  |  |  |  |   42|      1|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      1|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      1|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      1|    }                       \
  |  |  |  |  |  |   51|   261k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2845|   261k|      }
 2846|   263k|      CALLBACK(EndElemExpr, i, j);
  ------------------
  |  |   66|   263k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|   263k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   263k|  do {                      \
  |  |  |  |  |  |   48|   263k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 1, False: 263k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      1|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      1|  do {                       \
  |  |  |  |  |  |  |  |   42|      1|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      1|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      1|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      1|    }                       \
  |  |  |  |  |  |   51|   263k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|   263k|               #member " callback failed")
  ------------------
 2847|   263k|    }
 2848|  23.2k|    CALLBACK(EndElemSegment, i);
  ------------------
  |  |   66|  23.2k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  23.2k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  23.2k|  do {                      \
  |  |  |  |  |  |   48|  23.2k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 23.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|  23.2k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  23.2k|               #member " callback failed")
  ------------------
 2849|  23.2k|  }
 2850|     46|  CALLBACK0(EndElemSection);
  ------------------
  |  |   63|     46|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|     46|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     46|  do {                      \
  |  |  |  |  |  |   48|     46|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 46]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2851|     46|  return Result::Ok;
 2852|     46|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadCodeSectionEm:
 2854|    733|Result BinaryReader::ReadCodeSection(Offset section_size) {
 2855|    733|  CALLBACK(BeginCodeSection, section_size);
  ------------------
  |  |   66|    733|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    733|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    733|  do {                      \
  |  |  |  |  |  |   48|    733|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 733]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    733|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    733|               #member " callback failed")
  ------------------
 2856|    733|  CHECK_RESULT(ReadCount(&num_function_bodies_, "function body count"));
  ------------------
  |  |   55|    733|  do {                              \
  |  |   56|    733|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 46, False: 687]
  |  |  ------------------
  |  |   57|     46|      return ::wabt::Result::Error; \
  |  |   58|     46|    }                               \
  |  |   59|    733|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2857|    687|  ERROR_UNLESS(num_function_signatures_ == num_function_bodies_,
  ------------------
  |  |   53|    687|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    687|  do {                      \
  |  |  |  |   48|    687|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 64, False: 623]
  |  |  |  |  ------------------
  |  |  |  |   49|     64|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     64|  do {                       \
  |  |  |  |  |  |   42|     64|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     64|    return Result::Error;    \
  |  |  |  |  |  |   44|     64|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     64|    }                       \
  |  |  |  |   51|    687|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2858|    623|               "function signature count != function body count");
 2859|    623|  CALLBACK(OnFunctionBodyCount, num_function_bodies_);
  ------------------
  |  |   66|    623|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    623|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    623|  do {                      \
  |  |  |  |  |  |   48|    623|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 5, False: 618]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      5|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      5|  do {                       \
  |  |  |  |  |  |  |  |   42|      5|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      5|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      5|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      5|    }                       \
  |  |  |  |  |  |   51|    623|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    623|               #member " callback failed")
  ------------------
 2860|    928|  for (Index i = 0; i < num_function_bodies_; ++i) {
  ------------------
  |  Branch (2860:21): [True: 921, False: 7]
  ------------------
 2861|    921|    Index func_index = num_func_imports_ + i;
 2862|    921|    Offset func_offset = state_.offset;
 2863|    921|    state_.offset = func_offset;
 2864|    921|    uint32_t body_size;
 2865|    921|    CHECK_RESULT(ReadU32Leb128(&body_size, "function body size"));
  ------------------
  |  |   55|    921|  do {                              \
  |  |   56|    921|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 1, False: 920]
  |  |  ------------------
  |  |   57|      1|      return ::wabt::Result::Error; \
  |  |   58|      1|    }                               \
  |  |   59|    921|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2866|    920|    Offset body_start_offset = state_.offset;
 2867|    920|    Offset end_offset = body_start_offset + body_size;
 2868|    920|    CALLBACK(BeginFunctionBody, func_index, body_size);
  ------------------
  |  |   66|    920|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    920|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    920|  do {                      \
  |  |  |  |  |  |   48|    920|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 920]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    920|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    920|               #member " callback failed")
  ------------------
 2869|       |
 2870|    920|    uint64_t total_locals = 0;
 2871|    920|    Index num_local_decls;
 2872|    920|    CHECK_RESULT(ReadCount(&num_local_decls, "local declaration count"));
  ------------------
  |  |   55|    920|  do {                              \
  |  |   56|    920|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 32, False: 888]
  |  |  ------------------
  |  |   57|     32|      return ::wabt::Result::Error; \
  |  |   58|     32|    }                               \
  |  |   59|    920|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2873|    888|    CALLBACK(OnLocalDeclCount, num_local_decls);
  ------------------
  |  |   66|    888|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    888|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    888|  do {                      \
  |  |  |  |  |  |   48|    888|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 888]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    888|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    888|               #member " callback failed")
  ------------------
 2874|  2.78k|    for (Index k = 0; k < num_local_decls; ++k) {
  ------------------
  |  Branch (2874:23): [True: 2.08k, False: 708]
  ------------------
 2875|  2.08k|      Index num_local_types;
 2876|  2.08k|      CHECK_RESULT(ReadIndex(&num_local_types, "local type count"));
  ------------------
  |  |   55|  2.08k|  do {                              \
  |  |   56|  2.08k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 30, False: 2.05k]
  |  |  ------------------
  |  |   57|     30|      return ::wabt::Result::Error; \
  |  |   58|     30|    }                               \
  |  |   59|  2.08k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2877|  2.05k|      total_locals += num_local_types;
 2878|  2.05k|      ERROR_UNLESS(total_locals <= UINT32_MAX, "local count must be <= 0x%x",
  ------------------
  |  |   53|  2.05k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  2.05k|  do {                      \
  |  |  |  |   48|  2.05k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 1, False: 2.05k]
  |  |  |  |  ------------------
  |  |  |  |   49|      1|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      1|  do {                       \
  |  |  |  |  |  |   42|      1|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|      1|    return Result::Error;    \
  |  |  |  |  |  |   44|      1|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|      1|    }                       \
  |  |  |  |   51|  2.05k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2879|  2.05k|                   UINT32_MAX);
 2880|  2.05k|      Type local_type;
 2881|  2.05k|      CHECK_RESULT(ReadType(&local_type, "local type"));
  ------------------
  |  |   55|  2.05k|  do {                              \
  |  |   56|  2.05k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 27, False: 2.02k]
  |  |  ------------------
  |  |   57|     27|      return ::wabt::Result::Error; \
  |  |   58|     27|    }                               \
  |  |   59|  2.05k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2882|  2.02k|      ERROR_UNLESS(IsConcreteType(local_type), "expected valid local type");
  ------------------
  |  |   53|  2.02k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  2.02k|  do {                      \
  |  |  |  |   48|  2.02k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 74, False: 1.94k]
  |  |  |  |  ------------------
  |  |  |  |   49|     74|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     74|  do {                       \
  |  |  |  |  |  |   42|     74|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     74|    return Result::Error;    \
  |  |  |  |  |  |   44|     74|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     74|    }                       \
  |  |  |  |   51|  2.02k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2883|  1.94k|      CALLBACK(OnLocalDecl, k, num_local_types, local_type);
  ------------------
  |  |   66|  1.94k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  1.94k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.94k|  do {                      \
  |  |  |  |  |  |   48|  1.94k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 48, False: 1.90k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|     48|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|     48|  do {                       \
  |  |  |  |  |  |  |  |   42|     48|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|     48|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|     48|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|     48|    }                       \
  |  |  |  |  |  |   51|  1.94k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  1.94k|               #member " callback failed")
  ------------------
 2884|  1.94k|    }
 2885|    708|    CALLBACK(EndLocalDecls);
  ------------------
  |  |   66|    708|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    708|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    708|  do {                      \
  |  |  |  |  |  |   48|    708|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 708]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    708|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    708|               #member " callback failed")
  ------------------
 2886|       |
 2887|    708|    if (options_.skip_function_bodies) {
  ------------------
  |  Branch (2887:9): [True: 0, False: 708]
  ------------------
 2888|      0|      state_.offset = end_offset;
 2889|    708|    } else {
 2890|    708|      CHECK_RESULT(ReadFunctionBody(end_offset));
  ------------------
  |  |   55|    708|  do {                              \
  |  |   56|    708|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 396, False: 312]
  |  |  ------------------
  |  |   57|    396|      return ::wabt::Result::Error; \
  |  |   58|    396|    }                               \
  |  |   59|    708|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2891|    708|    }
 2892|       |
 2893|    312|    CALLBACK(EndFunctionBody, func_index);
  ------------------
  |  |   66|    312|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    312|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    312|  do {                      \
  |  |  |  |  |  |   48|    312|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 2, False: 310]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      2|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      2|  do {                       \
  |  |  |  |  |  |  |  |   42|      2|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      2|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      2|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      2|    }                       \
  |  |  |  |  |  |   51|    312|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    312|               #member " callback failed")
  ------------------
 2894|    312|  }
 2895|      7|  CALLBACK0(EndCodeSection);
  ------------------
  |  |   63|      7|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|      7|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|      7|  do {                      \
  |  |  |  |  |  |   48|      7|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 7]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2896|      7|  return Result::Ok;
 2897|      7|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader16ReadFunctionBodyEm:
  711|    708|Result BinaryReader::ReadFunctionBody(Offset end_offset) {
  712|    708|  CHECK_RESULT(ReadInstructions(end_offset, "function body"));
  ------------------
  |  |   55|    708|  do {                              \
  |  |   56|    708|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 360, False: 348]
  |  |  ------------------
  |  |   57|    360|      return ::wabt::Result::Error; \
  |  |   58|    360|    }                               \
  |  |   59|    708|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
  713|    348|  ERROR_UNLESS(state_.offset == end_offset,
  ------------------
  |  |   53|    348|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|    348|  do {                      \
  |  |  |  |   48|    348|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 36, False: 312]
  |  |  |  |  ------------------
  |  |  |  |   49|     36|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     36|  do {                       \
  |  |  |  |  |  |   42|     36|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     36|    return Result::Error;    \
  |  |  |  |  |  |   44|     36|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     36|    }                       \
  |  |  |  |   51|    348|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  714|    312|               "function body shorter than given size");
  715|    312|  return Result::Ok;
  716|    348|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader15ReadDataSectionEm:
 2899|  3.46k|Result BinaryReader::ReadDataSection(Offset section_size) {
 2900|  3.46k|  CALLBACK(BeginDataSection, section_size);
  ------------------
  |  |   66|  3.46k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  3.46k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  3.46k|  do {                      \
  |  |  |  |  |  |   48|  3.46k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 3.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|  3.46k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  3.46k|               #member " callback failed")
  ------------------
 2901|  3.46k|  CHECK_RESULT(ReadCount(&num_data_segments_, "data segment count"));
  ------------------
  |  |   55|  3.46k|  do {                              \
  |  |   56|  3.46k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 71, False: 3.39k]
  |  |  ------------------
  |  |   57|     71|      return ::wabt::Result::Error; \
  |  |   58|     71|    }                               \
  |  |   59|  3.46k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2902|  3.39k|  CALLBACK(OnDataSegmentCount, num_data_segments_);
  ------------------
  |  |   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")
  ------------------
 2903|       |  // If the DataCount section is not present, then data_count_ will be invalid.
 2904|  3.39k|  ERROR_UNLESS(
  ------------------
  |  |   53|  3.39k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  ------------------
  |  |  |  |   47|  3.39k|  do {                      \
  |  |  |  |   48|  6.87k|    if (expr) {             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:9): [True: 3.31k, False: 79]
  |  |  |  |  |  Branch (48:9): [True: 10, False: 69]
  |  |  |  |  ------------------
  |  |  |  |   49|     69|      ERROR(__VA_ARGS__);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     69|  do {                       \
  |  |  |  |  |  |   42|     69|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |   43|     69|    return Result::Error;    \
  |  |  |  |  |  |   44|     69|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   50|     69|    }                       \
  |  |  |  |   51|  3.39k|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2905|  3.32k|      data_count_ == kInvalidIndex || data_count_ == num_data_segments_,
 2906|  3.32k|      "data segment count does not equal count in DataCount section");
 2907|  15.4k|  for (Index i = 0; i < num_data_segments_; ++i) {
  ------------------
  |  Branch (2907:21): [True: 15.4k, False: 30]
  ------------------
 2908|  15.4k|    uint32_t flags;
 2909|  15.4k|    CHECK_RESULT(ReadU32Leb128(&flags, "data segment flags"));
  ------------------
  |  |   55|  15.4k|  do {                              \
  |  |   56|  15.4k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 7, False: 15.4k]
  |  |  ------------------
  |  |   57|      7|      return ::wabt::Result::Error; \
  |  |   58|      7|    }                               \
  |  |   59|  15.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2910|  15.4k|    ERROR_IF(flags != 0 && !options_.features.bulk_memory_enabled(),
  ------------------
  |  |   47|  15.4k|  do {                      \
  |  |   48|  42.8k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 12.0k, False: 3.38k]
  |  |  |  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|  15.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2911|  15.4k|             "invalid memory index %d: bulk memory not allowed", flags);
 2912|  15.4k|    ERROR_IF(flags > SegFlagMax, "invalid data segment flags: %#x", flags);
  ------------------
  |  |   47|  15.4k|  do {                      \
  |  |   48|  15.4k|    if (expr) {             \
  |  |  ------------------
  |  |  |  Branch (48:9): [True: 78, False: 15.3k]
  |  |  ------------------
  |  |   49|     78|      ERROR(__VA_ARGS__);   \
  |  |  ------------------
  |  |  |  |   41|     78|  do {                       \
  |  |  |  |   42|     78|    PrintError(__VA_ARGS__); \
  |  |  |  |   43|     78|    return Result::Error;    \
  |  |  |  |   44|     78|  } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     78|    }                       \
  |  |   51|  15.4k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2913|  15.3k|    Index memory_index(0);
 2914|  15.3k|    if (flags & SegExplicitIndex) {
  ------------------
  |  Branch (2914:9): [True: 11.2k, False: 4.07k]
  ------------------
 2915|  11.2k|      CHECK_RESULT(ReadIndex(&memory_index, "data segment memory index"));
  ------------------
  |  |   55|  11.2k|  do {                              \
  |  |   56|  11.2k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 2, False: 11.2k]
  |  |  ------------------
  |  |   57|      2|      return ::wabt::Result::Error; \
  |  |   58|      2|    }                               \
  |  |   59|  11.2k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2916|  11.2k|    }
 2917|  15.3k|    CALLBACK(BeginDataSegment, i, memory_index, flags);
  ------------------
  |  |   66|  15.3k|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|  15.3k|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  15.3k|  do {                      \
  |  |  |  |  |  |   48|  15.3k|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 15.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|  15.3k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  15.3k|               #member " callback failed")
  ------------------
 2918|  15.3k|    if (!(flags & SegPassive)) {
  ------------------
  |  Branch (2918:9): [True: 4.01k, False: 11.3k]
  ------------------
 2919|  4.01k|      CALLBACK(BeginDataSegmentInitExpr, i);
  ------------------
  |  |   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: 1, False: 4.01k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      1|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      1|  do {                       \
  |  |  |  |  |  |  |  |   42|      1|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      1|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      1|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      1|    }                       \
  |  |  |  |  |  |   51|  4.01k|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|  4.01k|               #member " callback failed")
  ------------------
 2920|  4.01k|      CHECK_RESULT(ReadInitExpr(i));
  ------------------
  |  |   55|  4.01k|  do {                              \
  |  |   56|  4.01k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 3.14k, False: 864]
  |  |  ------------------
  |  |   57|  3.14k|      return ::wabt::Result::Error; \
  |  |   58|  3.14k|    }                               \
  |  |   59|  4.01k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2921|    864|      CALLBACK(EndDataSegmentInitExpr, i);
  ------------------
  |  |   66|    864|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    864|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    864|  do {                      \
  |  |  |  |  |  |   48|    864|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 10, False: 854]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|     10|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|     10|  do {                       \
  |  |  |  |  |  |  |  |   42|     10|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|     10|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|     10|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|     10|    }                       \
  |  |  |  |  |  |   51|    864|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    864|               #member " callback failed")
  ------------------
 2922|    864|    }
 2923|       |
 2924|  12.1k|    Address data_size;
 2925|  12.1k|    const void* data;
 2926|  12.1k|    CHECK_RESULT(ReadBytes(&data, &data_size, "data segment data"));
  ------------------
  |  |   55|  12.1k|  do {                              \
  |  |   56|  12.1k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 53, False: 12.1k]
  |  |  ------------------
  |  |   57|     53|      return ::wabt::Result::Error; \
  |  |   58|     53|    }                               \
  |  |   59|  12.1k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2927|  12.1k|    CALLBACK(OnDataSegmentData, i, data, data_size);
  ------------------
  |  |   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")
  ------------------
 2928|  12.1k|    CALLBACK(EndDataSegment, 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")
  ------------------
 2929|  12.1k|  }
 2930|     30|  CALLBACK0(EndDataSection);
  ------------------
  |  |   63|     30|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|     30|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     30|  do {                      \
  |  |  |  |  |  |   48|     30|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 30]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|     30|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2931|     30|  return Result::Ok;
 2932|     30|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader14ReadTagSectionEm:
 2414|    153|Result BinaryReader::ReadTagSection(Offset section_size) {
 2415|    153|  CALLBACK(BeginTagSection, section_size);
  ------------------
  |  |   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")
  ------------------
 2416|    153|  Index num_tags;
 2417|    153|  CHECK_RESULT(ReadCount(&num_tags, "tag count"));
  ------------------
  |  |   55|    153|  do {                              \
  |  |   56|    153|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 42, False: 111]
  |  |  ------------------
  |  |   57|     42|      return ::wabt::Result::Error; \
  |  |   58|     42|    }                               \
  |  |   59|    153|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2418|    111|  CALLBACK(OnTagCount, num_tags);
  ------------------
  |  |   66|    111|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    111|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    111|  do {                      \
  |  |  |  |  |  |   48|    111|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 111]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    111|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    111|               #member " callback failed")
  ------------------
 2419|       |
 2420|  1.95k|  for (Index i = 0; i < num_tags; ++i) {
  ------------------
  |  Branch (2420:21): [True: 1.93k, False: 20]
  ------------------
 2421|  1.93k|    Index tag_index = num_tag_imports_ + i;
 2422|  1.93k|    Index sig_index;
 2423|  1.93k|    CHECK_RESULT(ReadTagType(&sig_index));
  ------------------
  |  |   55|  1.93k|  do {                              \
  |  |   56|  1.93k|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 91, False: 1.84k]
  |  |  ------------------
  |  |   57|     91|      return ::wabt::Result::Error; \
  |  |   58|     91|    }                               \
  |  |   59|  1.93k|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2424|  1.84k|    CALLBACK(OnTagType, tag_index, sig_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")
  ------------------
 2425|  1.84k|  }
 2426|       |
 2427|     20|  CALLBACK(EndTagSection);
  ------------------
  |  |   66|     20|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|     20|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|     20|  do {                      \
  |  |  |  |  |  |   48|     20|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 20]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      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|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|     20|               #member " callback failed")
  ------------------
 2428|     20|  return Result::Ok;
 2429|     20|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader20ReadDataCountSectionEm:
 2934|    267|Result BinaryReader::ReadDataCountSection(Offset section_size) {
 2935|    267|  CALLBACK(BeginDataCountSection, section_size);
  ------------------
  |  |   66|    267|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    267|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    267|  do {                      \
  |  |  |  |  |  |   48|    267|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 267]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    267|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    267|               #member " callback failed")
  ------------------
 2936|    267|  Index data_count;
 2937|    267|  CHECK_RESULT(ReadIndex(&data_count, "data count"));
  ------------------
  |  |   55|    267|  do {                              \
  |  |   56|    267|    if (Failed(expr)) {             \
  |  |  ------------------
  |  |  |  Branch (56:9): [True: 15, False: 252]
  |  |  ------------------
  |  |   57|     15|      return ::wabt::Result::Error; \
  |  |   58|     15|    }                               \
  |  |   59|    267|  } while (0)
  |  |  ------------------
  |  |  |  Branch (59:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2938|    252|  CALLBACK(OnDataCount, data_count);
  ------------------
  |  |   66|    252|  ERROR_UNLESS(Succeeded(delegate_->member(__VA_ARGS__)), \
  |  |  ------------------
  |  |  |  |   53|    252|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    252|  do {                      \
  |  |  |  |  |  |   48|    252|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 252]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    252|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|    252|               #member " callback failed")
  ------------------
 2939|    252|  CALLBACK0(EndDataCountSection);
  ------------------
  |  |   63|    252|  ERROR_UNLESS(Succeeded(delegate_->member()), #member " callback failed")
  |  |  ------------------
  |  |  |  |   53|    252|#define ERROR_UNLESS(expr, ...) ERROR_IF(!(expr), __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|    252|  do {                      \
  |  |  |  |  |  |   48|    252|    if (expr) {             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:9): [True: 0, False: 252]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|      ERROR(__VA_ARGS__);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|  do {                       \
  |  |  |  |  |  |  |  |   42|      0|    PrintError(__VA_ARGS__); \
  |  |  |  |  |  |  |  |   43|      0|    return Result::Error;    \
  |  |  |  |  |  |  |  |   44|      0|  } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (44:12): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|    }                       \
  |  |  |  |  |  |   51|    252|  } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (51:12): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2940|    252|  data_count_ = data_count;
 2941|    252|  return Result::Ok;
 2942|    252|}
binary-reader.cc:_ZN4wabt12_GLOBAL__N_112BinaryReader17ValueRestoreGuardImXadL_ZNS1_9read_end_EEEED2Ev:
   91|  4.20M|    ~ValueRestoreGuard() { this_->*member = previous_value_; }

_ZN4wabt15GetSectionOrderENS_13BinarySectionE:
   21|  5.38k|BinarySectionOrder GetSectionOrder(BinarySection sec) {
   22|  5.38k|  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: 5.38k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|      0|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   48|    479|  V(Type, type, 1)                     \
  |  |  ------------------
  |  |  |  |   26|    479|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    479|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 479, False: 4.90k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    479|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   49|    479|  V(Import, import, 2)                 \
  |  |  ------------------
  |  |  |  |   26|    392|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    392|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 392, False: 4.98k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    392|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|    900|  V(Function, function, 3)             \
  |  |  ------------------
  |  |  |  |   26|    900|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    900|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 900, False: 4.48k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    900|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   51|    900|  V(Table, table, 4)                   \
  |  |  ------------------
  |  |  |  |   26|    193|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    193|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 193, False: 5.18k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    193|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   52|    414|  V(Memory, memory, 5)                 \
  |  |  ------------------
  |  |  |  |   26|    414|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    414|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 414, False: 4.96k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    414|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   53|    414|  V(Tag, tag, 13)                      \
  |  |  ------------------
  |  |  |  |   26|     60|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|     60|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 60, False: 5.32k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|     60|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   54|    362|  V(Global, global, 6)                 \
  |  |  ------------------
  |  |  |  |   26|    362|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    362|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 362, False: 5.01k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    362|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    362|  V(Export, export, 7)                 \
  |  |  ------------------
  |  |  |  |   26|    126|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    126|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 126, False: 5.25k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    126|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   56|    126|  V(Start, start, 8)                   \
  |  |  ------------------
  |  |  |  |   26|     90|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|     90|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 90, False: 5.29k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|     90|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|    722|  V(Elem, elem, 9)                     \
  |  |  ------------------
  |  |  |  |   26|    722|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    722|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 722, False: 4.65k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    722|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   58|    722|  V(DataCount, data_count, 12)         \
  |  |  ------------------
  |  |  |  |   26|    303|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    303|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 303, False: 5.07k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    303|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   59|    744|  V(Code, code, 10)                    \
  |  |  ------------------
  |  |  |  |   26|    744|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    744|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 744, False: 4.63k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    744|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   60|    744|  V(Data, data, 11)
  |  |  ------------------
  |  |  |  |   26|    595|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   24|    595|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (24:3): [True: 595, False: 4.78k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   25|    595|    return BinarySectionOrder::Name;
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   27|      0|#undef V
   28|      0|    default:
  ------------------
  |  Branch (28:5): [True: 0, False: 5.38k]
  ------------------
   29|      0|      WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
   30|  5.38k|  }
   31|  5.38k|}
_ZN4wabt14GetSectionNameENS_13BinarySectionE:
   33|    425|const char* GetSectionName(BinarySection sec) {
   34|    425|  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|      0|  V(Custom, custom, 0)                 \
  |  |  ------------------
  |  |  |  |   38|      0|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|      0|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 0, False: 425]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|      0|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   48|    129|  V(Type, type, 1)                     \
  |  |  ------------------
  |  |  |  |   38|    129|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|    129|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 129, False: 296]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|    129|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   49|    129|  V(Import, import, 2)                 \
  |  |  ------------------
  |  |  |  |   38|     89|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|     89|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 89, False: 336]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|     89|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   50|     89|  V(Function, function, 3)             \
  |  |  ------------------
  |  |  |  |   38|     31|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|     31|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 31, False: 394]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|     31|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   51|     60|  V(Table, table, 4)                   \
  |  |  ------------------
  |  |  |  |   38|     60|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|     60|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 60, False: 365]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|     60|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   52|     60|  V(Memory, memory, 5)                 \
  |  |  ------------------
  |  |  |  |   38|     16|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|     16|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 16, False: 409]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|     16|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   53|     16|  V(Tag, tag, 13)                      \
  |  |  ------------------
  |  |  |  |   38|      5|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|      5|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 5, False: 420]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|      5|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   54|     35|  V(Global, global, 6)                 \
  |  |  ------------------
  |  |  |  |   38|     35|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|     35|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 35, False: 390]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|     35|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|     35|  V(Export, export, 7)                 \
  |  |  ------------------
  |  |  |  |   38|     12|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|     12|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 12, False: 413]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|     12|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   56|     12|  V(Start, start, 8)                   \
  |  |  ------------------
  |  |  |  |   38|      7|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|      7|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 7, False: 418]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|      7|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|     19|  V(Elem, elem, 9)                     \
  |  |  ------------------
  |  |  |  |   38|     19|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|     19|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 19, False: 406]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|     19|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   58|     19|  V(DataCount, data_count, 12)         \
  |  |  ------------------
  |  |  |  |   38|      3|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|      3|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 3, False: 422]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|      3|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   59|      6|  V(Code, code, 10)                    \
  |  |  ------------------
  |  |  |  |   38|      6|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|      6|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 6, False: 419]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|      6|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   60|     13|  V(Data, data, 11)
  |  |  ------------------
  |  |  |  |   38|     13|    WABT_FOREACH_BINARY_SECTION(V)
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|     13|  case BinarySection::Name: \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (36:3): [True: 13, False: 412]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   37|     13|    return #Name;
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   39|      0|#undef V
   40|      0|    default:
  ------------------
  |  Branch (40:5): [True: 0, False: 425]
  ------------------
   41|      0|      WABT_UNREACHABLE;
  ------------------
  |  |  112|      0|#define WABT_UNREACHABLE abort()
  ------------------
   42|    425|  }
   43|    425|}

_ZNK4wabt11BindingHash9FindIndexERKNS_3VarE:
   35|  1.08M|Index BindingHash::FindIndex(const Var& var) const {
   36|  1.08M|  if (var.is_name()) {
  ------------------
  |  Branch (36:7): [True: 0, False: 1.08M]
  ------------------
   37|      0|    return FindIndex(var.name());
   38|      0|  }
   39|  1.08M|  return var.index();
   40|  1.08M|}

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

_ZNK4wabt10LocalTypes4sizeEv:
  195|  1.94k|Index LocalTypes::size() const {
  196|  1.94k|  return std::accumulate(
  197|  1.94k|      decls_.begin(), decls_.end(), 0,
  198|  1.94k|      [](Index sum, const Decl& decl) { return sum + decl.second; });
  199|  1.94k|}
_ZN4wabt6Module11GetFuncTypeERKNS_3VarE:
  319|  1.08M|FuncType* Module::GetFuncType(const Var& var) {
  320|  1.08M|  Index index = type_bindings.FindIndex(var);
  321|  1.08M|  if (index >= types.size()) {
  ------------------
  |  Branch (321:7): [True: 1.04M, False: 44.7k]
  ------------------
  322|  1.04M|    return nullptr;
  323|  1.04M|  }
  324|  44.7k|  return dyn_cast<FuncType>(types[index]);
  325|  1.08M|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_22DataSegmentModuleFieldENS1_14default_deleteIS3_EEEE:
  346|  15.3k|void Module::AppendField(std::unique_ptr<DataSegmentModuleField> field) {
  347|  15.3k|  DataSegment& data_segment = field->data_segment;
  348|  15.3k|  if (!data_segment.name.empty()) {
  ------------------
  |  Branch (348:7): [True: 0, False: 15.3k]
  ------------------
  349|      0|    data_segment_bindings.emplace(data_segment.name,
  350|      0|                                  Binding(field->loc, data_segments.size()));
  351|      0|  }
  352|  15.3k|  data_segments.push_back(&data_segment);
  353|  15.3k|  fields.push_back(std::move(field));
  354|  15.3k|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_22ElemSegmentModuleFieldENS1_14default_deleteIS3_EEEE:
  356|  26.8k|void Module::AppendField(std::unique_ptr<ElemSegmentModuleField> field) {
  357|  26.8k|  ElemSegment& elem_segment = field->elem_segment;
  358|  26.8k|  if (!elem_segment.name.empty()) {
  ------------------
  |  Branch (358:7): [True: 0, False: 26.8k]
  ------------------
  359|      0|    elem_segment_bindings.emplace(elem_segment.name,
  360|      0|                                  Binding(field->loc, elem_segments.size()));
  361|      0|  }
  362|  26.8k|  elem_segments.push_back(&elem_segment);
  363|  26.8k|  fields.push_back(std::move(field));
  364|  26.8k|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_14TagModuleFieldENS1_14default_deleteIS3_EEEE:
  366|  1.84k|void Module::AppendField(std::unique_ptr<TagModuleField> field) {
  367|  1.84k|  Tag& tag = field->tag;
  368|  1.84k|  if (!tag.name.empty()) {
  ------------------
  |  Branch (368:7): [True: 0, False: 1.84k]
  ------------------
  369|      0|    tag_bindings.emplace(tag.name, Binding(field->loc, tags.size()));
  370|      0|  }
  371|  1.84k|  tags.push_back(&tag);
  372|  1.84k|  fields.push_back(std::move(field));
  373|  1.84k|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_17ExportModuleFieldENS1_14default_deleteIS3_EEEE:
  375|  23.0k|void Module::AppendField(std::unique_ptr<ExportModuleField> field) {
  376|       |  // Exported names are allowed to be empty.
  377|  23.0k|  Export& export_ = field->export_;
  378|  23.0k|  export_bindings.emplace(export_.name, Binding(field->loc, exports.size()));
  379|  23.0k|  exports.push_back(&export_);
  380|  23.0k|  fields.push_back(std::move(field));
  381|  23.0k|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_15FuncModuleFieldENS1_14default_deleteIS3_EEEE:
  383|  42.8k|void Module::AppendField(std::unique_ptr<FuncModuleField> field) {
  384|  42.8k|  Func& func = field->func;
  385|  42.8k|  if (!func.name.empty()) {
  ------------------
  |  Branch (385:7): [True: 0, False: 42.8k]
  ------------------
  386|      0|    func_bindings.emplace(func.name, Binding(field->loc, funcs.size()));
  387|      0|  }
  388|  42.8k|  funcs.push_back(&func);
  389|  42.8k|  fields.push_back(std::move(field));
  390|  42.8k|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_15TypeModuleFieldENS1_14default_deleteIS3_EEEE:
  392|  1.81k|void Module::AppendField(std::unique_ptr<TypeModuleField> field) {
  393|  1.81k|  TypeEntry& type = *field->type;
  394|  1.81k|  if (!type.name.empty()) {
  ------------------
  |  Branch (394:7): [True: 0, False: 1.81k]
  ------------------
  395|      0|    type_bindings.emplace(type.name, Binding(field->loc, types.size()));
  396|      0|  }
  397|  1.81k|  types.push_back(&type);
  398|  1.81k|  fields.push_back(std::move(field));
  399|  1.81k|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_17GlobalModuleFieldENS1_14default_deleteIS3_EEEE:
  401|  1.35k|void Module::AppendField(std::unique_ptr<GlobalModuleField> field) {
  402|  1.35k|  Global& global = field->global;
  403|  1.35k|  if (!global.name.empty()) {
  ------------------
  |  Branch (403:7): [True: 0, False: 1.35k]
  ------------------
  404|      0|    global_bindings.emplace(global.name, Binding(field->loc, globals.size()));
  405|      0|  }
  406|  1.35k|  globals.push_back(&global);
  407|  1.35k|  fields.push_back(std::move(field));
  408|  1.35k|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_17ImportModuleFieldENS1_14default_deleteIS3_EEEE:
  410|  71.5k|void Module::AppendField(std::unique_ptr<ImportModuleField> field) {
  411|  71.5k|  Import* import = field->import.get();
  412|  71.5k|  const std::string* name = nullptr;
  413|  71.5k|  BindingHash* bindings = nullptr;
  414|  71.5k|  Index index = kInvalidIndex;
  415|       |
  416|  71.5k|  switch (import->kind()) {
  ------------------
  |  Branch (416:11): [True: 0, False: 71.5k]
  ------------------
  417|  66.6k|    case ExternalKind::Func: {
  ------------------
  |  Branch (417:5): [True: 66.6k, False: 4.90k]
  ------------------
  418|  66.6k|      Func& func = cast<FuncImport>(import)->func;
  419|  66.6k|      name = &func.name;
  420|  66.6k|      bindings = &func_bindings;
  421|  66.6k|      index = funcs.size();
  422|  66.6k|      funcs.push_back(&func);
  423|  66.6k|      ++num_func_imports;
  424|  66.6k|      break;
  425|      0|    }
  426|       |
  427|    552|    case ExternalKind::Table: {
  ------------------
  |  Branch (427:5): [True: 552, False: 71.0k]
  ------------------
  428|    552|      Table& table = cast<TableImport>(import)->table;
  429|    552|      name = &table.name;
  430|    552|      bindings = &table_bindings;
  431|    552|      index = tables.size();
  432|    552|      tables.push_back(&table);
  433|    552|      ++num_table_imports;
  434|    552|      break;
  435|      0|    }
  436|       |
  437|  1.45k|    case ExternalKind::Memory: {
  ------------------
  |  Branch (437:5): [True: 1.45k, False: 70.1k]
  ------------------
  438|  1.45k|      Memory& memory = cast<MemoryImport>(import)->memory;
  439|  1.45k|      name = &memory.name;
  440|  1.45k|      bindings = &memory_bindings;
  441|  1.45k|      index = memories.size();
  442|  1.45k|      memories.push_back(&memory);
  443|  1.45k|      ++num_memory_imports;
  444|  1.45k|      break;
  445|      0|    }
  446|       |
  447|    956|    case ExternalKind::Global: {
  ------------------
  |  Branch (447:5): [True: 956, False: 70.6k]
  ------------------
  448|    956|      Global& global = cast<GlobalImport>(import)->global;
  449|    956|      name = &global.name;
  450|    956|      bindings = &global_bindings;
  451|    956|      index = globals.size();
  452|    956|      globals.push_back(&global);
  453|    956|      ++num_global_imports;
  454|    956|      break;
  455|      0|    }
  456|       |
  457|  1.93k|    case ExternalKind::Tag: {
  ------------------
  |  Branch (457:5): [True: 1.93k, False: 69.6k]
  ------------------
  458|  1.93k|      Tag& tag = cast<TagImport>(import)->tag;
  459|  1.93k|      name = &tag.name;
  460|  1.93k|      bindings = &tag_bindings;
  461|  1.93k|      index = tags.size();
  462|  1.93k|      tags.push_back(&tag);
  463|  1.93k|      ++num_tag_imports;
  464|  1.93k|      break;
  465|      0|    }
  466|  71.5k|  }
  467|       |
  468|  71.5k|  assert(name && bindings && index != kInvalidIndex);
  469|  71.5k|  if (!name->empty()) {
  ------------------
  |  Branch (469:7): [True: 0, False: 71.5k]
  ------------------
  470|      0|    bindings->emplace(*name, Binding(field->loc, index));
  471|      0|  }
  472|  71.5k|  imports.push_back(import);
  473|  71.5k|  fields.push_back(std::move(field));
  474|  71.5k|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_17MemoryModuleFieldENS1_14default_deleteIS3_EEEE:
  476|  1.73k|void Module::AppendField(std::unique_ptr<MemoryModuleField> field) {
  477|  1.73k|  Memory& memory = field->memory;
  478|  1.73k|  if (!memory.name.empty()) {
  ------------------
  |  Branch (478:7): [True: 0, False: 1.73k]
  ------------------
  479|      0|    memory_bindings.emplace(memory.name, Binding(field->loc, memories.size()));
  480|      0|  }
  481|  1.73k|  memories.push_back(&memory);
  482|  1.73k|  fields.push_back(std::move(field));
  483|  1.73k|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_16StartModuleFieldENS1_14default_deleteIS3_EEEE:
  485|     63|void Module::AppendField(std::unique_ptr<StartModuleField> field) {
  486|     63|  starts.push_back(&field->start);
  487|     63|  fields.push_back(std::move(field));
  488|     63|}
_ZN4wabt6Module11AppendFieldENSt3__110unique_ptrINS_16TableModuleFieldENS1_14default_deleteIS3_EEEE:
  490|    464|void Module::AppendField(std::unique_ptr<TableModuleField> field) {
  491|    464|  Table& table = field->table;
  492|    464|  if (!table.name.empty()) {
  ------------------
  |  Branch (492:7): [True: 0, False: 464]
  ------------------
  493|      0|    table_bindings.emplace(table.name, Binding(field->loc, tables.size()));
  494|      0|  }
  495|    464|  tables.push_back(&table);
  496|    464|  fields.push_back(std::move(field));
  497|    464|}
_ZN4wabt3VarC2Ev:
  591|  3.65M|Var::Var() : Var(kInvalidIndex, Location()) {}
_ZN4wabt3VarC2EjRKNS_8LocationE:
  594|  6.28M|    : loc(loc), type_(VarType::Index), index_(index) {}
_ZN4wabt3VarC2EOS0_:
  599|   206k|Var::Var(Var&& rhs) : Var() {
  600|   206k|  *this = std::move(rhs);
  601|   206k|}
_ZN4wabt3VarC2ERKS0_:
  603|   761k|Var::Var(const Var& rhs) : Var() {
  604|   761k|  *this = rhs;
  605|   761k|}
_ZN4wabt3VaraSEOS0_:
  607|  1.14M|Var& Var::operator=(Var&& rhs) {
  608|  1.14M|  loc = rhs.loc;
  609|  1.14M|  if (rhs.is_index()) {
  ------------------
  |  Branch (609:7): [True: 1.14M, False: 0]
  ------------------
  610|  1.14M|    set_index(rhs.index_);
  611|  1.14M|  } else {
  612|      0|    set_name(rhs.name_);
  613|      0|  }
  614|  1.14M|  return *this;
  615|  1.14M|}
_ZN4wabt3VaraSERKS0_:
  617|  1.84M|Var& Var::operator=(const Var& rhs) {
  618|  1.84M|  loc = rhs.loc;
  619|  1.84M|  if (rhs.is_index()) {
  ------------------
  |  Branch (619:7): [True: 1.84M, False: 0]
  ------------------
  620|  1.84M|    set_index(rhs.index_);
  621|  1.84M|  } else {
  622|      0|    set_name(rhs.name_);
  623|      0|  }
  624|  1.84M|  return *this;
  625|  1.84M|}
_ZN4wabt3VarD2Ev:
  627|  6.28M|Var::~Var() {
  628|  6.28M|  Destroy();
  629|  6.28M|}
_ZN4wabt3Var9set_indexEj:
  631|  2.99M|void Var::set_index(Index index) {
  632|  2.99M|  Destroy();
  633|  2.99M|  type_ = VarType::Index;
  634|  2.99M|  index_ = index;
  635|  2.99M|}
_ZN4wabt3Var7DestroyEv:
  647|  9.27M|void Var::Destroy() {
  648|  9.27M|  if (is_name()) {
  ------------------
  |  Branch (648:7): [True: 0, False: 9.27M]
  ------------------
  649|      0|    Destruct(name_);
  650|      0|  }
  651|  9.27M|}
ir.cc:_ZZNK4wabt10LocalTypes4sizeEvENK3$_0clEjRKNSt3__14pairINS_4TypeEjEE:
  198|  41.4k|      [](Index sum, const Decl& decl) { return sum + decl.second; });

_ZN4wabt17WriteU32Leb128RawEPhS0_j:
   86|    326|Offset WriteU32Leb128Raw(uint8_t* dest, uint8_t* dest_end, uint32_t value) {
   87|    326|  uint8_t data[MAX_U32_LEB128_BYTES];
   88|    326|  Offset length = 0;
   89|    326|  LEB128_LOOP_UNTIL(value == 0);
  ------------------
  |  |   38|    562|  do {                              \
  |  |   39|    562|    uint8_t byte = value & 0x7f;    \
  |  |   40|    562|    value >>= 7;                    \
  |  |   41|    562|    if (end_cond) {                 \
  |  |  ------------------
  |  |  |  Branch (41:9): [True: 326, False: 236]
  |  |  ------------------
  |  |   42|    326|      data[length++] = byte;        \
  |  |   43|    326|      break;                        \
  |  |   44|    326|    } else {                        \
  |  |   45|    236|      data[length++] = byte | 0x80; \
  |  |   46|    236|    }                               \
  |  |   47|    562|  } while (1)
  |  |  ------------------
  |  |  |  Branch (47:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
   90|    326|  if (static_cast<Offset>(dest_end - dest) < length) {
  ------------------
  |  Branch (90:7): [True: 0, False: 326]
  ------------------
   91|      0|    return 0;
   92|      0|  }
   93|    326|  memcpy(dest, data, length);
   94|    326|  return length;
   95|    326|}
_ZN4wabt13ReadU32Leb128EPKhS1_Pj:
  184|  13.5M|                     uint32_t* out_value) {
  185|  13.5M|  if (p < end && (p[0] & 0x80) == 0) {
  ------------------
  |  Branch (185:7): [True: 10.5M, False: 2.95M]
  |  Branch (185:18): [True: 10.1M, False: 396k]
  ------------------
  186|  10.1M|    *out_value = LEB128_1(uint32_t);
  ------------------
  |  |  166|  10.1M|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  ------------------
  |  |  |  |  164|  10.1M|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  ------------------
  187|  10.1M|    return 1;
  188|  10.1M|  } else if (p + 1 < end && (p[1] & 0x80) == 0) {
  ------------------
  |  Branch (188:14): [True: 394k, False: 2.95M]
  |  Branch (188:29): [True: 329k, False: 65.3k]
  ------------------
  189|   329k|    *out_value = LEB128_2(uint32_t);
  ------------------
  |  |  167|   329k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  164|   329k|#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|   329k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|   329k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  190|   329k|    return 2;
  191|  3.02M|  } else if (p + 2 < end && (p[2] & 0x80) == 0) {
  ------------------
  |  Branch (191:14): [True: 64.9k, False: 2.95M]
  |  Branch (191:29): [True: 44.5k, False: 20.4k]
  ------------------
  192|  44.5k|    *out_value = LEB128_3(uint32_t);
  ------------------
  |  |  168|  44.5k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  164|  44.5k|#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|  44.5k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  44.5k|#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|  44.5k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  44.5k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  193|  44.5k|    return 3;
  194|  2.97M|  } else if (p + 3 < end && (p[3] & 0x80) == 0) {
  ------------------
  |  Branch (194:14): [True: 20.2k, False: 2.95M]
  |  Branch (194:29): [True: 13.4k, False: 6.87k]
  ------------------
  195|  13.4k|    *out_value = LEB128_4(uint32_t);
  ------------------
  |  |  169|  13.4k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  164|  13.4k|#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|  13.4k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  13.4k|#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|  13.4k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  13.4k|#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|  13.4k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  13.4k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  196|  13.4k|    return 4;
  197|  2.96M|  } else if (p + 4 < end && (p[4] & 0x80) == 0) {
  ------------------
  |  Branch (197:14): [True: 6.83k, False: 2.95M]
  |  Branch (197:29): [True: 5.30k, False: 1.53k]
  ------------------
  198|       |    // The top bits set represent values > 32 bits.
  199|  5.30k|    if (p[4] & 0xf0) {
  ------------------
  |  Branch (199:9): [True: 291, False: 5.01k]
  ------------------
  200|    291|      return 0;
  201|    291|    }
  202|  5.01k|    *out_value = LEB128_5(uint32_t);
  ------------------
  |  |  170|  5.01k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  164|  5.01k|#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|  5.01k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  5.01k|#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|  5.01k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  5.01k|#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|  5.01k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  5.01k|#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|  5.01k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  5.01k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|  5.01k|    return 5;
  204|  2.95M|  } else {
  205|       |    // past the end.
  206|  2.95M|    *out_value = 0;
  207|  2.95M|    return 0;
  208|  2.95M|  }
  209|  13.5M|}
_ZN4wabt13ReadU64Leb128EPKhS1_Pm:
  213|   139k|                     uint64_t* out_value) {
  214|   139k|  if (p < end && (p[0] & 0x80) == 0) {
  ------------------
  |  Branch (214:7): [True: 139k, False: 88]
  |  Branch (214:18): [True: 112k, False: 26.4k]
  ------------------
  215|   112k|    *out_value = LEB128_1(uint64_t);
  ------------------
  |  |  166|   112k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  ------------------
  |  |  |  |  164|   112k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  ------------------
  216|   112k|    return 1;
  217|   112k|  } else if (p + 1 < end && (p[1] & 0x80) == 0) {
  ------------------
  |  Branch (217:14): [True: 26.4k, False: 103]
  |  Branch (217:29): [True: 12.5k, False: 13.8k]
  ------------------
  218|  12.5k|    *out_value = LEB128_2(uint64_t);
  ------------------
  |  |  167|  12.5k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  164|  12.5k|#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.5k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  12.5k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  219|  12.5k|    return 2;
  220|  13.9k|  } else if (p + 2 < end && (p[2] & 0x80) == 0) {
  ------------------
  |  Branch (220:14): [True: 13.8k, False: 109]
  |  Branch (220:29): [True: 5.79k, False: 8.06k]
  ------------------
  221|  5.79k|    *out_value = LEB128_3(uint64_t);
  ------------------
  |  |  168|  5.79k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  164|  5.79k|#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|  5.79k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  5.79k|#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|  5.79k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  5.79k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  222|  5.79k|    return 3;
  223|  8.17k|  } else if (p + 3 < end && (p[3] & 0x80) == 0) {
  ------------------
  |  Branch (223:14): [True: 8.06k, False: 116]
  |  Branch (223:29): [True: 2.62k, False: 5.43k]
  ------------------
  224|  2.62k|    *out_value = LEB128_4(uint64_t);
  ------------------
  |  |  169|  2.62k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  164|  2.62k|#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.62k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  2.62k|#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.62k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  2.62k|#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.62k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  2.62k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  225|  2.62k|    return 4;
  226|  5.55k|  } else if (p + 4 < end && (p[4] & 0x80) == 0) {
  ------------------
  |  Branch (226:14): [True: 5.43k, False: 117]
  |  Branch (226:29): [True: 1.14k, False: 4.28k]
  ------------------
  227|  1.14k|    *out_value = LEB128_5(uint64_t);
  ------------------
  |  |  170|  1.14k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  164|  1.14k|#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.14k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.14k|#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.14k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.14k|#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.14k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  1.14k|#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.14k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.14k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  228|  1.14k|    return 5;
  229|  4.40k|  } else if (p + 5 < end && (p[5] & 0x80) == 0) {
  ------------------
  |  Branch (229:14): [True: 4.28k, False: 119]
  |  Branch (229:29): [True: 1.07k, False: 3.20k]
  ------------------
  230|  1.07k|    *out_value = LEB128_6(uint64_t);
  ------------------
  |  |  171|  1.07k|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  ------------------
  |  |  |  |  164|  1.07k|#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|  1.07k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.07k|#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.07k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.07k|#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.07k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  1.07k|#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.07k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.07k|#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.07k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.07k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  231|  1.07k|    return 6;
  232|  3.32k|  } else if (p + 6 < end && (p[6] & 0x80) == 0) {
  ------------------
  |  Branch (232:14): [True: 3.20k, False: 121]
  |  Branch (232:29): [True: 545, False: 2.66k]
  ------------------
  233|    545|    *out_value = LEB128_7(uint64_t);
  ------------------
  |  |  172|    545|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  ------------------
  |  |  |  |  164|    545|#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|    545|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    545|#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|    545|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    545|#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|    545|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    545|#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|    545|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    545|#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|    545|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    545|#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|    545|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    545|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  234|    545|    return 7;
  235|  2.78k|  } else if (p + 7 < end && (p[7] & 0x80) == 0) {
  ------------------
  |  Branch (235:14): [True: 2.65k, False: 124]
  |  Branch (235:29): [True: 1.09k, False: 1.56k]
  ------------------
  236|  1.09k|    *out_value = LEB128_8(uint64_t);
  ------------------
  |  |  173|  1.09k|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  ------------------
  |  |  |  |  164|  1.09k|#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|  1.09k|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.09k|#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|  1.09k|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.09k|#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|  1.09k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  1.09k|#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.09k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.09k|#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.09k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.09k|#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.09k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.09k|#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.09k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.09k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  237|  1.09k|    return 8;
  238|  1.68k|  } else if (p + 8 < end && (p[8] & 0x80) == 0) {
  ------------------
  |  Branch (238:14): [True: 1.55k, False: 128]
  |  Branch (238:29): [True: 877, False: 679]
  ------------------
  239|    877|    *out_value = LEB128_9(uint64_t);
  ------------------
  |  |  174|    877|#define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  ------------------
  |  |  |  |  164|    877|#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|    877|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    877|#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|    877|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    877|#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|    877|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    877|#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|    877|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    877|#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|    877|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    877|#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|    877|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    877|#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|    877|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    877|#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|    877|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    877|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  240|    877|    return 9;
  241|    877|  } else if (p + 9 < end && (p[9] & 0x80) == 0) {
  ------------------
  |  Branch (241:14): [True: 675, False: 132]
  |  Branch (241:29): [True: 663, False: 12]
  ------------------
  242|       |    // The top bits set represent values > 64 bits.
  243|    663|    if (p[9] & 0xfe) {
  ------------------
  |  Branch (243:9): [True: 8, False: 655]
  ------------------
  244|      8|      return 0;
  245|      8|    }
  246|    655|    *out_value = LEB128_10(uint64_t);
  ------------------
  |  |  175|    655|#define LEB128_10(type) (BYTE_AT(type, 9, 63) | LEB128_9(type))
  |  |  ------------------
  |  |  |  |  164|    655|#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|    655|#define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    655|#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|    655|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    655|#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|    655|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    655|#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|    655|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    655|#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|    655|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    655|#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|    655|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    655|#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|    655|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    655|#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|    655|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    655|#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|    655|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    655|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  247|    655|    return 10;
  248|    663|  } else {
  249|       |    // past the end.
  250|    144|    *out_value = 0;
  251|    144|    return 0;
  252|    144|  }
  253|   139k|}
_ZN4wabt13ReadS32Leb128EPKhS1_Pj:
  257|  1.03M|                     uint32_t* out_value) {
  258|  1.03M|  if (p < end && (p[0] & 0x80) == 0) {
  ------------------
  |  Branch (258:7): [True: 1.03M, False: 760]
  |  Branch (258:18): [True: 1.01M, False: 27.8k]
  ------------------
  259|  1.01M|    uint32_t result = LEB128_1(uint32_t);
  ------------------
  |  |  166|  1.01M|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  ------------------
  |  |  |  |  164|  1.01M|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  ------------------
  260|  1.01M|    *out_value = SIGN_EXTEND(int32_t, result, 6);
  ------------------
  |  |  179|  1.01M|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  1.01M|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  1.01M|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  1.01M|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  261|  1.01M|    return 1;
  262|  1.01M|  } else if (p + 1 < end && (p[1] & 0x80) == 0) {
  ------------------
  |  Branch (262:14): [True: 27.8k, False: 796]
  |  Branch (262:29): [True: 13.9k, False: 13.8k]
  ------------------
  263|  13.9k|    uint32_t result = LEB128_2(uint32_t);
  ------------------
  |  |  167|  13.9k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  164|  13.9k|#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|  13.9k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  13.9k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  264|  13.9k|    *out_value = SIGN_EXTEND(int32_t, result, 13);
  ------------------
  |  |  179|  13.9k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  13.9k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  13.9k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  13.9k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  265|  13.9k|    return 2;
  266|  14.6k|  } else if (p + 2 < end && (p[2] & 0x80) == 0) {
  ------------------
  |  Branch (266:14): [True: 13.8k, False: 809]
  |  Branch (266:29): [True: 7.33k, False: 6.52k]
  ------------------
  267|  7.33k|    uint32_t result = LEB128_3(uint32_t);
  ------------------
  |  |  168|  7.33k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  164|  7.33k|#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|  7.33k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  7.33k|#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|  7.33k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  7.33k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|  7.33k|    *out_value = SIGN_EXTEND(int32_t, result, 20);
  ------------------
  |  |  179|  7.33k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  7.33k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  7.33k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  7.33k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  269|  7.33k|    return 3;
  270|  7.33k|  } else if (p + 3 < end && (p[3] & 0x80) == 0) {
  ------------------
  |  Branch (270:14): [True: 6.51k, False: 817]
  |  Branch (270:29): [True: 3.13k, False: 3.38k]
  ------------------
  271|  3.13k|    uint32_t result = LEB128_4(uint32_t);
  ------------------
  |  |  169|  3.13k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  164|  3.13k|#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.13k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  3.13k|#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.13k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  3.13k|#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.13k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  3.13k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  272|  3.13k|    *out_value = SIGN_EXTEND(int32_t, result, 27);
  ------------------
  |  |  179|  3.13k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  3.13k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  3.13k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  3.13k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  273|  3.13k|    return 4;
  274|  4.19k|  } else if (p + 4 < end && (p[4] & 0x80) == 0) {
  ------------------
  |  Branch (274:14): [True: 3.37k, False: 824]
  |  Branch (274:29): [True: 2.97k, False: 394]
  ------------------
  275|       |    // The top bits should be a sign-extension of the sign bit.
  276|  2.97k|    bool sign_bit_set = (p[4] & 0x8);
  277|  2.97k|    int top_bits = p[4] & 0xf0;
  278|  2.97k|    if ((sign_bit_set && top_bits != 0x70) ||
  ------------------
  |  Branch (278:10): [True: 1.00k, False: 1.97k]
  |  Branch (278:26): [True: 667, False: 333]
  ------------------
  279|  2.97k|        (!sign_bit_set && top_bits != 0)) {
  ------------------
  |  Branch (279:10): [True: 1.97k, False: 333]
  |  Branch (279:27): [True: 207, False: 1.77k]
  ------------------
  280|    874|      return 0;
  281|    874|    }
  282|  2.10k|    uint32_t result = LEB128_5(uint32_t);
  ------------------
  |  |  170|  2.10k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  164|  2.10k|#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.10k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  2.10k|#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.10k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  2.10k|#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.10k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  2.10k|#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.10k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  2.10k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  283|  2.10k|    *out_value = result;
  284|  2.10k|    return 5;
  285|  2.97k|  } else {
  286|       |    // Past the end.
  287|  1.21k|    return 0;
  288|  1.21k|  }
  289|  1.03M|}
_ZN4wabt13ReadS64Leb128EPKhS1_Pm:
  293|  14.3k|                     uint64_t* out_value) {
  294|  14.3k|  if (p < end && (p[0] & 0x80) == 0) {
  ------------------
  |  Branch (294:7): [True: 14.2k, False: 15]
  |  Branch (294:18): [True: 4.75k, False: 9.53k]
  ------------------
  295|  4.75k|    uint64_t result = LEB128_1(uint64_t);
  ------------------
  |  |  166|  4.75k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  ------------------
  |  |  |  |  164|  4.75k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  ------------------
  ------------------
  296|  4.75k|    *out_value = SIGN_EXTEND(int64_t, result, 6);
  ------------------
  |  |  179|  4.75k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  4.75k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  4.75k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  4.75k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  297|  4.75k|    return 1;
  298|  9.54k|  } else if (p + 1 < end && (p[1] & 0x80) == 0) {
  ------------------
  |  Branch (298:14): [True: 9.52k, False: 21]
  |  Branch (298:29): [True: 1.43k, False: 8.08k]
  ------------------
  299|  1.43k|    uint64_t result = LEB128_2(uint64_t);
  ------------------
  |  |  167|  1.43k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  ------------------
  |  |  |  |  164|  1.43k|#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.43k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.43k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  300|  1.43k|    *out_value = SIGN_EXTEND(int64_t, result, 13);
  ------------------
  |  |  179|  1.43k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  1.43k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  1.43k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  1.43k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  301|  1.43k|    return 2;
  302|  8.11k|  } else if (p + 2 < end && (p[2] & 0x80) == 0) {
  ------------------
  |  Branch (302:14): [True: 8.08k, False: 26]
  |  Branch (302:29): [True: 1.53k, False: 6.55k]
  ------------------
  303|  1.53k|    uint64_t result = LEB128_3(uint64_t);
  ------------------
  |  |  168|  1.53k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  ------------------
  |  |  |  |  164|  1.53k|#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.53k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.53k|#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.53k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.53k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|  1.53k|    *out_value = SIGN_EXTEND(int64_t, result, 20);
  ------------------
  |  |  179|  1.53k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  1.53k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  1.53k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  1.53k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  305|  1.53k|    return 3;
  306|  6.57k|  } else if (p + 3 < end && (p[3] & 0x80) == 0) {
  ------------------
  |  Branch (306:14): [True: 6.54k, False: 27]
  |  Branch (306:29): [True: 1.15k, False: 5.39k]
  ------------------
  307|  1.15k|    uint64_t result = LEB128_4(uint64_t);
  ------------------
  |  |  169|  1.15k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  ------------------
  |  |  |  |  164|  1.15k|#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.15k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.15k|#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.15k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.15k|#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.15k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  1.15k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  308|  1.15k|    *out_value = SIGN_EXTEND(int64_t, result, 27);
  ------------------
  |  |  179|  1.15k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  1.15k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  1.15k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  1.15k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  309|  1.15k|    return 4;
  310|  5.41k|  } else if (p + 4 < end && (p[4] & 0x80) == 0) {
  ------------------
  |  Branch (310:14): [True: 5.38k, False: 31]
  |  Branch (310:29): [True: 1.09k, False: 4.29k]
  ------------------
  311|  1.09k|    uint64_t result = LEB128_5(uint64_t);
  ------------------
  |  |  170|  1.09k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  ------------------
  |  |  |  |  164|  1.09k|#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.09k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.09k|#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.09k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.09k|#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.09k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  1.09k|#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.09k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.09k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  312|  1.09k|    *out_value = SIGN_EXTEND(int64_t, result, 34);
  ------------------
  |  |  179|  1.09k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  1.09k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  1.09k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  1.09k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  313|  1.09k|    return 5;
  314|  4.32k|  } else if (p + 5 < end && (p[5] & 0x80) == 0) {
  ------------------
  |  Branch (314:14): [True: 4.29k, False: 35]
  |  Branch (314:29): [True: 1.49k, False: 2.79k]
  ------------------
  315|  1.49k|    uint64_t result = LEB128_6(uint64_t);
  ------------------
  |  |  171|  1.49k|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  ------------------
  |  |  |  |  164|  1.49k|#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|  1.49k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.49k|#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.49k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.49k|#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.49k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  1.49k|#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.49k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.49k|#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.49k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.49k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  316|  1.49k|    *out_value = SIGN_EXTEND(int64_t, result, 41);
  ------------------
  |  |  179|  1.49k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  1.49k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  1.49k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  1.49k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  317|  1.49k|    return 6;
  318|  2.83k|  } else if (p + 6 < end && (p[6] & 0x80) == 0) {
  ------------------
  |  Branch (318:14): [True: 2.79k, False: 41]
  |  Branch (318:29): [True: 1.02k, False: 1.77k]
  ------------------
  319|  1.02k|    uint64_t result = LEB128_7(uint64_t);
  ------------------
  |  |  172|  1.02k|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  ------------------
  |  |  |  |  164|  1.02k|#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|  1.02k|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|  1.02k|#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|  1.02k|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|  1.02k|#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.02k|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|  1.02k|#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.02k|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.02k|#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.02k|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.02k|#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.02k|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|  1.02k|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|  1.02k|    *out_value = SIGN_EXTEND(int64_t, result, 48);
  ------------------
  |  |  179|  1.02k|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|  1.02k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|  1.02k|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|  1.02k|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  321|  1.02k|    return 7;
  322|  1.81k|  } else if (p + 7 < end && (p[7] & 0x80) == 0) {
  ------------------
  |  Branch (322:14): [True: 1.76k, False: 46]
  |  Branch (322:29): [True: 752, False: 1.01k]
  ------------------
  323|    752|    uint64_t result = LEB128_8(uint64_t);
  ------------------
  |  |  173|    752|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  ------------------
  |  |  |  |  164|    752|#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|    752|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    752|#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|    752|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    752|#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|    752|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    752|#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|    752|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    752|#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|    752|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    752|#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|    752|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    752|#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|    752|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    752|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  324|    752|    *out_value = SIGN_EXTEND(int64_t, result, 55);
  ------------------
  |  |  179|    752|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|    752|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|    752|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|    752|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  325|    752|    return 8;
  326|  1.06k|  } else if (p + 8 < end && (p[8] & 0x80) == 0) {
  ------------------
  |  Branch (326:14): [True: 1.01k, False: 47]
  |  Branch (326:29): [True: 421, False: 594]
  ------------------
  327|    421|    uint64_t result = LEB128_9(uint64_t);
  ------------------
  |  |  174|    421|#define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  ------------------
  |  |  |  |  164|    421|#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|    421|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    421|#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|    421|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    421|#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|    421|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    421|#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|    421|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    421|#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|    421|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    421|#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|    421|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    421|#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|    421|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    421|#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|    421|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    421|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  328|    421|    *out_value = SIGN_EXTEND(int64_t, result, 62);
  ------------------
  |  |  179|    421|  (static_cast<type>((value) << SHIFT_AMOUNT(type, sign_bit)) >> \
  |  |  ------------------
  |  |  |  |  177|    421|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  |  |  180|    421|   SHIFT_AMOUNT(type, sign_bit))
  |  |  ------------------
  |  |  |  |  177|    421|#define SHIFT_AMOUNT(type, sign_bit) (sizeof(type) * 8 - 1 - (sign_bit))
  |  |  ------------------
  ------------------
  329|    421|    return 9;
  330|    641|  } else if (p + 9 < end && (p[9] & 0x80) == 0) {
  ------------------
  |  Branch (330:14): [True: 592, False: 49]
  |  Branch (330:29): [True: 580, False: 12]
  ------------------
  331|       |    // The top bits should be a sign-extension of the sign bit.
  332|    580|    bool sign_bit_set = (p[9] & 0x1);
  333|    580|    int top_bits = p[9] & 0xfe;
  334|    580|    if ((sign_bit_set && top_bits != 0x7e) ||
  ------------------
  |  Branch (334:10): [True: 97, False: 483]
  |  Branch (334:26): [True: 9, False: 88]
  ------------------
  335|    580|        (!sign_bit_set && top_bits != 0)) {
  ------------------
  |  Branch (335:10): [True: 483, False: 88]
  |  Branch (335:27): [True: 7, False: 476]
  ------------------
  336|     16|      return 0;
  337|     16|    }
  338|    564|    uint64_t result = LEB128_10(uint64_t);
  ------------------
  |  |  175|    564|#define LEB128_10(type) (BYTE_AT(type, 9, 63) | LEB128_9(type))
  |  |  ------------------
  |  |  |  |  164|    564|#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|    564|#define LEB128_9(type) (BYTE_AT(type, 8, 56) | LEB128_8(type))
  |  |  |  |  ------------------
  |  |  |  |  |  |  164|    564|#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|    564|#define LEB128_8(type) (BYTE_AT(type, 7, 49) | LEB128_7(type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  164|    564|#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|    564|#define LEB128_7(type) (BYTE_AT(type, 6, 42) | LEB128_6(type))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  164|    564|#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|    564|#define LEB128_6(type) (BYTE_AT(type, 5, 35) | LEB128_5(type))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  164|    564|#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|    564|#define LEB128_5(type) (BYTE_AT(type, 4, 28) | LEB128_4(type))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    564|#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|    564|#define LEB128_4(type) (BYTE_AT(type, 3, 21) | LEB128_3(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    564|#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|    564|#define LEB128_3(type) (BYTE_AT(type, 2, 14) | LEB128_2(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    564|#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|    564|#define LEB128_2(type) (BYTE_AT(type, 1, 7) | LEB128_1(type))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    564|#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|    564|#define LEB128_1(type) (BYTE_AT(type, 0, 0))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  164|    564|#define BYTE_AT(type, i, shift) ((static_cast<type>(p[i]) & 0x7f) << (shift))
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|    564|    *out_value = result;
  340|    564|    return 10;
  341|    580|  } else {
  342|       |    // Past the end.
  343|     61|    return 0;
  344|     61|  }
  345|  14.3k|}

_ZNK4wabt6Opcode7GetInfoEv:
   41|  12.9M|Opcode::Info Opcode::GetInfo() const {
   42|  12.9M|  if (enum_ < Invalid) {
  ------------------
  |  Branch (42:7): [True: 12.9M, False: 4.07k]
  ------------------
   43|  12.9M|    return infos_[enum_];
   44|  12.9M|  }
   45|       |
   46|  4.07k|  Info invalid_info = infos_[Opcode::Invalid];
   47|  4.07k|  DecodeInvalidOpcode(enum_, &invalid_info.prefix, &invalid_info.code);
   48|  4.07k|  invalid_info.prefix_code = PrefixCode(invalid_info.prefix, invalid_info.code);
   49|  4.07k|  return invalid_info;
   50|  12.9M|}
_ZNK4wabt6Opcode9IsEnabledERKNS_8FeaturesE:
   64|  6.22M|bool Opcode::IsEnabled(const Features& features) const {
   65|  6.22M|  switch (enum_) {
   66|   611k|    case Opcode::Try:
  ------------------
  |  Branch (66:5): [True: 611k, False: 5.61M]
  ------------------
   67|   617k|    case Opcode::Catch:
  ------------------
  |  Branch (67:5): [True: 6.43k, False: 6.21M]
  ------------------
   68|   618k|    case Opcode::Delegate:
  ------------------
  |  Branch (68:5): [True: 591, False: 6.22M]
  ------------------
   69|   623k|    case Opcode::Throw:
  ------------------
  |  Branch (69:5): [True: 5.15k, False: 6.21M]
  ------------------
   70|   630k|    case Opcode::ThrowRef:
  ------------------
  |  Branch (70:5): [True: 6.45k, False: 6.21M]
  ------------------
   71|   634k|    case Opcode::TryTable:
  ------------------
  |  Branch (71:5): [True: 3.98k, False: 6.22M]
  ------------------
   72|   645k|    case Opcode::Rethrow:
  ------------------
  |  Branch (72:5): [True: 11.5k, False: 6.21M]
  ------------------
   73|   645k|      return features.exceptions_enabled();
   74|       |
   75|  5.44k|    case Opcode::ReturnCallIndirect:
  ------------------
  |  Branch (75:5): [True: 5.44k, False: 6.21M]
  ------------------
   76|  8.63k|    case Opcode::ReturnCall:
  ------------------
  |  Branch (76:5): [True: 3.18k, False: 6.22M]
  ------------------
   77|  8.63k|      return features.tail_call_enabled();
   78|       |
   79|  1.65k|    case Opcode::I32TruncSatF32S:
  ------------------
  |  Branch (79:5): [True: 1.65k, False: 6.22M]
  ------------------
   80|  2.53k|    case Opcode::I32TruncSatF32U:
  ------------------
  |  Branch (80:5): [True: 881, False: 6.22M]
  ------------------
   81|  3.04k|    case Opcode::I32TruncSatF64S:
  ------------------
  |  Branch (81:5): [True: 507, False: 6.22M]
  ------------------
   82|  5.18k|    case Opcode::I32TruncSatF64U:
  ------------------
  |  Branch (82:5): [True: 2.14k, False: 6.22M]
  ------------------
   83|  7.35k|    case Opcode::I64TruncSatF32S:
  ------------------
  |  Branch (83:5): [True: 2.17k, False: 6.22M]
  ------------------
   84|  7.79k|    case Opcode::I64TruncSatF32U:
  ------------------
  |  Branch (84:5): [True: 441, False: 6.22M]
  ------------------
   85|  8.81k|    case Opcode::I64TruncSatF64S:
  ------------------
  |  Branch (85:5): [True: 1.01k, False: 6.22M]
  ------------------
   86|  10.5k|    case Opcode::I64TruncSatF64U:
  ------------------
  |  Branch (86:5): [True: 1.70k, False: 6.22M]
  ------------------
   87|  10.5k|      return features.sat_float_to_int_enabled();
   88|       |
   89|  5.09k|    case Opcode::I32Extend8S:
  ------------------
  |  Branch (89:5): [True: 5.09k, False: 6.21M]
  ------------------
   90|  7.79k|    case Opcode::I32Extend16S:
  ------------------
  |  Branch (90:5): [True: 2.70k, False: 6.22M]
  ------------------
   91|  10.5k|    case Opcode::I64Extend8S:
  ------------------
  |  Branch (91:5): [True: 2.70k, False: 6.22M]
  ------------------
   92|  13.4k|    case Opcode::I64Extend16S:
  ------------------
  |  Branch (92:5): [True: 2.96k, False: 6.22M]
  ------------------
   93|  15.5k|    case Opcode::I64Extend32S:
  ------------------
  |  Branch (93:5): [True: 2.08k, False: 6.22M]
  ------------------
   94|  15.5k|      return features.sign_extension_enabled();
   95|       |
   96|  3.15k|    case Opcode::MemoryAtomicNotify:
  ------------------
  |  Branch (96:5): [True: 3.15k, False: 6.22M]
  ------------------
   97|  4.37k|    case Opcode::MemoryAtomicWait32:
  ------------------
  |  Branch (97:5): [True: 1.22k, False: 6.22M]
  ------------------
   98|  6.73k|    case Opcode::MemoryAtomicWait64:
  ------------------
  |  Branch (98:5): [True: 2.35k, False: 6.22M]
  ------------------
   99|  8.10k|    case Opcode::AtomicFence:
  ------------------
  |  Branch (99:5): [True: 1.37k, False: 6.22M]
  ------------------
  100|  8.47k|    case Opcode::I32AtomicLoad:
  ------------------
  |  Branch (100:5): [True: 378, False: 6.22M]
  ------------------
  101|  8.80k|    case Opcode::I64AtomicLoad:
  ------------------
  |  Branch (101:5): [True: 324, False: 6.22M]
  ------------------
  102|  9.44k|    case Opcode::I32AtomicLoad8U:
  ------------------
  |  Branch (102:5): [True: 647, False: 6.22M]
  ------------------
  103|  10.1k|    case Opcode::I32AtomicLoad16U:
  ------------------
  |  Branch (103:5): [True: 659, False: 6.22M]
  ------------------
  104|  10.9k|    case Opcode::I64AtomicLoad8U:
  ------------------
  |  Branch (104:5): [True: 792, False: 6.22M]
  ------------------
  105|  11.4k|    case Opcode::I64AtomicLoad16U:
  ------------------
  |  Branch (105:5): [True: 516, False: 6.22M]
  ------------------
  106|  11.7k|    case Opcode::I64AtomicLoad32U:
  ------------------
  |  Branch (106:5): [True: 335, False: 6.22M]
  ------------------
  107|  11.9k|    case Opcode::I32AtomicStore:
  ------------------
  |  Branch (107:5): [True: 231, False: 6.22M]
  ------------------
  108|  12.7k|    case Opcode::I64AtomicStore:
  ------------------
  |  Branch (108:5): [True: 725, False: 6.22M]
  ------------------
  109|  13.1k|    case Opcode::I32AtomicStore8:
  ------------------
  |  Branch (109:5): [True: 485, False: 6.22M]
  ------------------
  110|  13.7k|    case Opcode::I32AtomicStore16:
  ------------------
  |  Branch (110:5): [True: 553, False: 6.22M]
  ------------------
  111|  14.5k|    case Opcode::I64AtomicStore8:
  ------------------
  |  Branch (111:5): [True: 814, False: 6.22M]
  ------------------
  112|  14.9k|    case Opcode::I64AtomicStore16:
  ------------------
  |  Branch (112:5): [True: 414, False: 6.22M]
  ------------------
  113|  15.2k|    case Opcode::I64AtomicStore32:
  ------------------
  |  Branch (113:5): [True: 258, False: 6.22M]
  ------------------
  114|  15.7k|    case Opcode::I32AtomicRmwAdd:
  ------------------
  |  Branch (114:5): [True: 526, False: 6.22M]
  ------------------
  115|  16.1k|    case Opcode::I64AtomicRmwAdd:
  ------------------
  |  Branch (115:5): [True: 347, False: 6.22M]
  ------------------
  116|  16.4k|    case Opcode::I32AtomicRmw8AddU:
  ------------------
  |  Branch (116:5): [True: 331, False: 6.22M]
  ------------------
  117|  16.6k|    case Opcode::I32AtomicRmw16AddU:
  ------------------
  |  Branch (117:5): [True: 195, False: 6.22M]
  ------------------
  118|  17.0k|    case Opcode::I64AtomicRmw8AddU:
  ------------------
  |  Branch (118:5): [True: 376, False: 6.22M]
  ------------------
  119|  17.8k|    case Opcode::I64AtomicRmw16AddU:
  ------------------
  |  Branch (119:5): [True: 855, False: 6.22M]
  ------------------
  120|  18.8k|    case Opcode::I64AtomicRmw32AddU:
  ------------------
  |  Branch (120:5): [True: 955, False: 6.22M]
  ------------------
  121|  19.4k|    case Opcode::I32AtomicRmwSub:
  ------------------
  |  Branch (121:5): [True: 599, False: 6.22M]
  ------------------
  122|  19.8k|    case Opcode::I64AtomicRmwSub:
  ------------------
  |  Branch (122:5): [True: 452, False: 6.22M]
  ------------------
  123|  20.5k|    case Opcode::I32AtomicRmw8SubU:
  ------------------
  |  Branch (123:5): [True: 671, False: 6.22M]
  ------------------
  124|  21.1k|    case Opcode::I32AtomicRmw16SubU:
  ------------------
  |  Branch (124:5): [True: 589, False: 6.22M]
  ------------------
  125|  21.6k|    case Opcode::I64AtomicRmw8SubU:
  ------------------
  |  Branch (125:5): [True: 550, False: 6.22M]
  ------------------
  126|  21.9k|    case Opcode::I64AtomicRmw16SubU:
  ------------------
  |  Branch (126:5): [True: 303, False: 6.22M]
  ------------------
  127|  22.4k|    case Opcode::I64AtomicRmw32SubU:
  ------------------
  |  Branch (127:5): [True: 492, False: 6.22M]
  ------------------
  128|  23.7k|    case Opcode::I32AtomicRmwAnd:
  ------------------
  |  Branch (128:5): [True: 1.26k, False: 6.22M]
  ------------------
  129|  24.0k|    case Opcode::I64AtomicRmwAnd:
  ------------------
  |  Branch (129:5): [True: 298, False: 6.22M]
  ------------------
  130|  24.5k|    case Opcode::I32AtomicRmw8AndU:
  ------------------
  |  Branch (130:5): [True: 513, False: 6.22M]
  ------------------
  131|  25.2k|    case Opcode::I32AtomicRmw16AndU:
  ------------------
  |  Branch (131:5): [True: 654, False: 6.22M]
  ------------------
  132|  25.7k|    case Opcode::I64AtomicRmw8AndU:
  ------------------
  |  Branch (132:5): [True: 500, False: 6.22M]
  ------------------
  133|  26.5k|    case Opcode::I64AtomicRmw16AndU:
  ------------------
  |  Branch (133:5): [True: 824, False: 6.22M]
  ------------------
  134|  27.1k|    case Opcode::I64AtomicRmw32AndU:
  ------------------
  |  Branch (134:5): [True: 633, False: 6.22M]
  ------------------
  135|  27.6k|    case Opcode::I32AtomicRmwOr:
  ------------------
  |  Branch (135:5): [True: 484, False: 6.22M]
  ------------------
  136|  28.6k|    case Opcode::I64AtomicRmwOr:
  ------------------
  |  Branch (136:5): [True: 1.05k, False: 6.22M]
  ------------------
  137|  29.1k|    case Opcode::I32AtomicRmw8OrU:
  ------------------
  |  Branch (137:5): [True: 430, False: 6.22M]
  ------------------
  138|  29.7k|    case Opcode::I32AtomicRmw16OrU:
  ------------------
  |  Branch (138:5): [True: 650, False: 6.22M]
  ------------------
  139|  30.6k|    case Opcode::I64AtomicRmw8OrU:
  ------------------
  |  Branch (139:5): [True: 861, False: 6.22M]
  ------------------
  140|  30.9k|    case Opcode::I64AtomicRmw16OrU:
  ------------------
  |  Branch (140:5): [True: 364, False: 6.22M]
  ------------------
  141|  31.5k|    case Opcode::I64AtomicRmw32OrU:
  ------------------
  |  Branch (141:5): [True: 549, False: 6.22M]
  ------------------
  142|  31.8k|    case Opcode::I32AtomicRmwXor:
  ------------------
  |  Branch (142:5): [True: 290, False: 6.22M]
  ------------------
  143|  32.3k|    case Opcode::I64AtomicRmwXor:
  ------------------
  |  Branch (143:5): [True: 525, False: 6.22M]
  ------------------
  144|  32.6k|    case Opcode::I32AtomicRmw8XorU:
  ------------------
  |  Branch (144:5): [True: 303, False: 6.22M]
  ------------------
  145|  33.1k|    case Opcode::I32AtomicRmw16XorU:
  ------------------
  |  Branch (145:5): [True: 434, False: 6.22M]
  ------------------
  146|  33.9k|    case Opcode::I64AtomicRmw8XorU:
  ------------------
  |  Branch (146:5): [True: 853, False: 6.22M]
  ------------------
  147|  34.6k|    case Opcode::I64AtomicRmw16XorU:
  ------------------
  |  Branch (147:5): [True: 742, False: 6.22M]
  ------------------
  148|  35.1k|    case Opcode::I64AtomicRmw32XorU:
  ------------------
  |  Branch (148:5): [True: 488, False: 6.22M]
  ------------------
  149|  35.5k|    case Opcode::I32AtomicRmwXchg:
  ------------------
  |  Branch (149:5): [True: 350, False: 6.22M]
  ------------------
  150|  35.7k|    case Opcode::I64AtomicRmwXchg:
  ------------------
  |  Branch (150:5): [True: 233, False: 6.22M]
  ------------------
  151|  36.2k|    case Opcode::I32AtomicRmw8XchgU:
  ------------------
  |  Branch (151:5): [True: 481, False: 6.22M]
  ------------------
  152|  36.9k|    case Opcode::I32AtomicRmw16XchgU:
  ------------------
  |  Branch (152:5): [True: 748, False: 6.22M]
  ------------------
  153|  37.3k|    case Opcode::I64AtomicRmw8XchgU:
  ------------------
  |  Branch (153:5): [True: 345, False: 6.22M]
  ------------------
  154|  37.8k|    case Opcode::I64AtomicRmw16XchgU:
  ------------------
  |  Branch (154:5): [True: 460, False: 6.22M]
  ------------------
  155|  38.1k|    case Opcode::I64AtomicRmw32XchgU:
  ------------------
  |  Branch (155:5): [True: 355, False: 6.22M]
  ------------------
  156|  39.4k|    case Opcode::I32AtomicRmwCmpxchg:
  ------------------
  |  Branch (156:5): [True: 1.28k, False: 6.22M]
  ------------------
  157|  40.5k|    case Opcode::I64AtomicRmwCmpxchg:
  ------------------
  |  Branch (157:5): [True: 1.08k, False: 6.22M]
  ------------------
  158|  41.3k|    case Opcode::I32AtomicRmw8CmpxchgU:
  ------------------
  |  Branch (158:5): [True: 819, False: 6.22M]
  ------------------
  159|  41.7k|    case Opcode::I32AtomicRmw16CmpxchgU:
  ------------------
  |  Branch (159:5): [True: 422, False: 6.22M]
  ------------------
  160|  42.1k|    case Opcode::I64AtomicRmw8CmpxchgU:
  ------------------
  |  Branch (160:5): [True: 364, False: 6.22M]
  ------------------
  161|  42.6k|    case Opcode::I64AtomicRmw16CmpxchgU:
  ------------------
  |  Branch (161:5): [True: 518, False: 6.22M]
  ------------------
  162|  43.3k|    case Opcode::I64AtomicRmw32CmpxchgU:
  ------------------
  |  Branch (162:5): [True: 747, False: 6.22M]
  ------------------
  163|  43.3k|      return features.threads_enabled();
  164|       |
  165|    768|    case Opcode::V128Const:
  ------------------
  |  Branch (165:5): [True: 768, False: 6.22M]
  ------------------
  166|  14.2k|    case Opcode::V128Load:
  ------------------
  |  Branch (166:5): [True: 13.4k, False: 6.21M]
  ------------------
  167|  32.7k|    case Opcode::V128Store:
  ------------------
  |  Branch (167:5): [True: 18.4k, False: 6.20M]
  ------------------
  168|  33.7k|    case Opcode::I8X16Splat:
  ------------------
  |  Branch (168:5): [True: 1.02k, False: 6.22M]
  ------------------
  169|  34.7k|    case Opcode::I16X8Splat:
  ------------------
  |  Branch (169:5): [True: 989, False: 6.22M]
  ------------------
  170|  38.6k|    case Opcode::I32X4Splat:
  ------------------
  |  Branch (170:5): [True: 3.90k, False: 6.22M]
  ------------------
  171|  39.5k|    case Opcode::I64X2Splat:
  ------------------
  |  Branch (171:5): [True: 909, False: 6.22M]
  ------------------
  172|  40.8k|    case Opcode::F32X4Splat:
  ------------------
  |  Branch (172:5): [True: 1.31k, False: 6.22M]
  ------------------
  173|  41.4k|    case Opcode::F64X2Splat:
  ------------------
  |  Branch (173:5): [True: 557, False: 6.22M]
  ------------------
  174|  41.7k|    case Opcode::I8X16ExtractLaneS:
  ------------------
  |  Branch (174:5): [True: 373, False: 6.22M]
  ------------------
  175|  42.3k|    case Opcode::I8X16ExtractLaneU:
  ------------------
  |  Branch (175:5): [True: 552, False: 6.22M]
  ------------------
  176|  45.0k|    case Opcode::I16X8ExtractLaneS:
  ------------------
  |  Branch (176:5): [True: 2.73k, False: 6.22M]
  ------------------
  177|  46.0k|    case Opcode::I16X8ExtractLaneU:
  ------------------
  |  Branch (177:5): [True: 971, False: 6.22M]
  ------------------
  178|  47.8k|    case Opcode::I32X4ExtractLane:
  ------------------
  |  Branch (178:5): [True: 1.76k, False: 6.22M]
  ------------------
  179|  49.6k|    case Opcode::I64X2ExtractLane:
  ------------------
  |  Branch (179:5): [True: 1.80k, False: 6.22M]
  ------------------
  180|  50.7k|    case Opcode::F32X4ExtractLane:
  ------------------
  |  Branch (180:5): [True: 1.15k, False: 6.22M]
  ------------------
  181|  53.2k|    case Opcode::F64X2ExtractLane:
  ------------------
  |  Branch (181:5): [True: 2.43k, False: 6.22M]
  ------------------
  182|  53.7k|    case Opcode::I8X16ReplaceLane:
  ------------------
  |  Branch (182:5): [True: 513, False: 6.22M]
  ------------------
  183|  54.5k|    case Opcode::I16X8ReplaceLane:
  ------------------
  |  Branch (183:5): [True: 785, False: 6.22M]
  ------------------
  184|  56.3k|    case Opcode::I32X4ReplaceLane:
  ------------------
  |  Branch (184:5): [True: 1.81k, False: 6.22M]
  ------------------
  185|  57.4k|    case Opcode::I64X2ReplaceLane:
  ------------------
  |  Branch (185:5): [True: 1.10k, False: 6.22M]
  ------------------
  186|  59.0k|    case Opcode::F32X4ReplaceLane:
  ------------------
  |  Branch (186:5): [True: 1.65k, False: 6.22M]
  ------------------
  187|  60.5k|    case Opcode::F64X2ReplaceLane:
  ------------------
  |  Branch (187:5): [True: 1.41k, False: 6.22M]
  ------------------
  188|  61.3k|    case Opcode::I8X16Add:
  ------------------
  |  Branch (188:5): [True: 867, False: 6.22M]
  ------------------
  189|  63.7k|    case Opcode::I16X8Add:
  ------------------
  |  Branch (189:5): [True: 2.37k, False: 6.22M]
  ------------------
  190|  64.2k|    case Opcode::I32X4Add:
  ------------------
  |  Branch (190:5): [True: 526, False: 6.22M]
  ------------------
  191|  64.6k|    case Opcode::I64X2Add:
  ------------------
  |  Branch (191:5): [True: 384, False: 6.22M]
  ------------------
  192|  65.4k|    case Opcode::I8X16Sub:
  ------------------
  |  Branch (192:5): [True: 794, False: 6.22M]
  ------------------
  193|  65.9k|    case Opcode::I16X8Sub:
  ------------------
  |  Branch (193:5): [True: 459, False: 6.22M]
  ------------------
  194|  66.4k|    case Opcode::I32X4Sub:
  ------------------
  |  Branch (194:5): [True: 548, False: 6.22M]
  ------------------
  195|  67.7k|    case Opcode::I64X2Sub:
  ------------------
  |  Branch (195:5): [True: 1.32k, False: 6.22M]
  ------------------
  196|  68.4k|    case Opcode::I16X8Mul:
  ------------------
  |  Branch (196:5): [True: 626, False: 6.22M]
  ------------------
  197|  69.9k|    case Opcode::I32X4Mul:
  ------------------
  |  Branch (197:5): [True: 1.50k, False: 6.22M]
  ------------------
  198|  71.8k|    case Opcode::I8X16Neg:
  ------------------
  |  Branch (198:5): [True: 1.90k, False: 6.22M]
  ------------------
  199|  72.3k|    case Opcode::I16X8Neg:
  ------------------
  |  Branch (199:5): [True: 529, False: 6.22M]
  ------------------
  200|  79.3k|    case Opcode::I32X4Neg:
  ------------------
  |  Branch (200:5): [True: 6.98k, False: 6.21M]
  ------------------
  201|  80.2k|    case Opcode::I64X2Neg:
  ------------------
  |  Branch (201:5): [True: 951, False: 6.22M]
  ------------------
  202|  84.1k|    case Opcode::I8X16AddSatS:
  ------------------
  |  Branch (202:5): [True: 3.87k, False: 6.22M]
  ------------------
  203|  84.8k|    case Opcode::I8X16AddSatU:
  ------------------
  |  Branch (203:5): [True: 666, False: 6.22M]
  ------------------
  204|  85.4k|    case Opcode::I16X8AddSatS:
  ------------------
  |  Branch (204:5): [True: 627, False: 6.22M]
  ------------------
  205|  86.0k|    case Opcode::I16X8AddSatU:
  ------------------
  |  Branch (205:5): [True: 631, False: 6.22M]
  ------------------
  206|  87.1k|    case Opcode::I8X16SubSatS:
  ------------------
  |  Branch (206:5): [True: 1.02k, False: 6.22M]
  ------------------
  207|  88.2k|    case Opcode::I8X16SubSatU:
  ------------------
  |  Branch (207:5): [True: 1.09k, False: 6.22M]
  ------------------
  208|  88.8k|    case Opcode::I16X8SubSatS:
  ------------------
  |  Branch (208:5): [True: 646, False: 6.22M]
  ------------------
  209|  89.1k|    case Opcode::I16X8SubSatU:
  ------------------
  |  Branch (209:5): [True: 341, False: 6.22M]
  ------------------
  210|  90.9k|    case Opcode::I8X16Shl:
  ------------------
  |  Branch (210:5): [True: 1.75k, False: 6.22M]
  ------------------
  211|  91.4k|    case Opcode::I16X8Shl:
  ------------------
  |  Branch (211:5): [True: 491, False: 6.22M]
  ------------------
  212|  92.4k|    case Opcode::I32X4Shl:
  ------------------
  |  Branch (212:5): [True: 971, False: 6.22M]
  ------------------
  213|  93.6k|    case Opcode::I64X2Shl:
  ------------------
  |  Branch (213:5): [True: 1.29k, False: 6.22M]
  ------------------
  214|  95.0k|    case Opcode::I8X16ShrS:
  ------------------
  |  Branch (214:5): [True: 1.32k, False: 6.22M]
  ------------------
  215|  96.3k|    case Opcode::I8X16ShrU:
  ------------------
  |  Branch (215:5): [True: 1.37k, False: 6.22M]
  ------------------
  216|  97.2k|    case Opcode::I16X8ShrS:
  ------------------
  |  Branch (216:5): [True: 870, False: 6.22M]
  ------------------
  217|  99.4k|    case Opcode::I16X8ShrU:
  ------------------
  |  Branch (217:5): [True: 2.21k, False: 6.22M]
  ------------------
  218|  99.9k|    case Opcode::I32X4ShrS:
  ------------------
  |  Branch (218:5): [True: 437, False: 6.22M]
  ------------------
  219|   100k|    case Opcode::I32X4ShrU:
  ------------------
  |  Branch (219:5): [True: 779, False: 6.22M]
  ------------------
  220|   101k|    case Opcode::I64X2ShrS:
  ------------------
  |  Branch (220:5): [True: 1.21k, False: 6.22M]
  ------------------
  221|   102k|    case Opcode::I64X2ShrU:
  ------------------
  |  Branch (221:5): [True: 961, False: 6.22M]
  ------------------
  222|   103k|    case Opcode::V128And:
  ------------------
  |  Branch (222:5): [True: 1.02k, False: 6.22M]
  ------------------
  223|   104k|    case Opcode::V128Or:
  ------------------
  |  Branch (223:5): [True: 683, False: 6.22M]
  ------------------
  224|   105k|    case Opcode::V128Xor:
  ------------------
  |  Branch (224:5): [True: 1.09k, False: 6.22M]
  ------------------
  225|   106k|    case Opcode::V128Not:
  ------------------
  |  Branch (225:5): [True: 365, False: 6.22M]
  ------------------
  226|   107k|    case Opcode::V128BitSelect:
  ------------------
  |  Branch (226:5): [True: 1.07k, False: 6.22M]
  ------------------
  227|   107k|    case Opcode::V128AnyTrue:
  ------------------
  |  Branch (227:5): [True: 800, False: 6.22M]
  ------------------
  228|   115k|    case Opcode::I8X16Bitmask:
  ------------------
  |  Branch (228:5): [True: 7.38k, False: 6.21M]
  ------------------
  229|   115k|    case Opcode::I16X8Bitmask:
  ------------------
  |  Branch (229:5): [True: 261, False: 6.22M]
  ------------------
  230|   116k|    case Opcode::I32X4Bitmask:
  ------------------
  |  Branch (230:5): [True: 502, False: 6.22M]
  ------------------
  231|   116k|    case Opcode::I64X2Bitmask:
  ------------------
  |  Branch (231:5): [True: 886, False: 6.22M]
  ------------------
  232|   118k|    case Opcode::I8X16AllTrue:
  ------------------
  |  Branch (232:5): [True: 1.71k, False: 6.22M]
  ------------------
  233|   122k|    case Opcode::I16X8AllTrue:
  ------------------
  |  Branch (233:5): [True: 4.11k, False: 6.22M]
  ------------------
  234|   123k|    case Opcode::I32X4AllTrue:
  ------------------
  |  Branch (234:5): [True: 561, False: 6.22M]
  ------------------
  235|   124k|    case Opcode::I64X2AllTrue:
  ------------------
  |  Branch (235:5): [True: 1.07k, False: 6.22M]
  ------------------
  236|   125k|    case Opcode::I8X16Eq:
  ------------------
  |  Branch (236:5): [True: 1.33k, False: 6.22M]
  ------------------
  237|   126k|    case Opcode::I16X8Eq:
  ------------------
  |  Branch (237:5): [True: 1.07k, False: 6.22M]
  ------------------
  238|   128k|    case Opcode::I32X4Eq:
  ------------------
  |  Branch (238:5): [True: 1.91k, False: 6.22M]
  ------------------
  239|   130k|    case Opcode::F32X4Eq:
  ------------------
  |  Branch (239:5): [True: 1.56k, False: 6.22M]
  ------------------
  240|   131k|    case Opcode::F64X2Eq:
  ------------------
  |  Branch (240:5): [True: 1.18k, False: 6.22M]
  ------------------
  241|   132k|    case Opcode::I8X16Ne:
  ------------------
  |  Branch (241:5): [True: 728, False: 6.22M]
  ------------------
  242|   132k|    case Opcode::I16X8Ne:
  ------------------
  |  Branch (242:5): [True: 723, False: 6.22M]
  ------------------
  243|   136k|    case Opcode::I32X4Ne:
  ------------------
  |  Branch (243:5): [True: 3.44k, False: 6.22M]
  ------------------
  244|   137k|    case Opcode::F32X4Ne:
  ------------------
  |  Branch (244:5): [True: 707, False: 6.22M]
  ------------------
  245|   137k|    case Opcode::F64X2Ne:
  ------------------
  |  Branch (245:5): [True: 842, False: 6.22M]
  ------------------
  246|   140k|    case Opcode::I8X16LtS:
  ------------------
  |  Branch (246:5): [True: 2.33k, False: 6.22M]
  ------------------
  247|   141k|    case Opcode::I8X16LtU:
  ------------------
  |  Branch (247:5): [True: 1.16k, False: 6.22M]
  ------------------
  248|   142k|    case Opcode::I16X8LtS:
  ------------------
  |  Branch (248:5): [True: 735, False: 6.22M]
  ------------------
  249|   144k|    case Opcode::I16X8LtU:
  ------------------
  |  Branch (249:5): [True: 2.00k, False: 6.22M]
  ------------------
  250|   147k|    case Opcode::I32X4LtS:
  ------------------
  |  Branch (250:5): [True: 2.87k, False: 6.22M]
  ------------------
  251|   147k|    case Opcode::I32X4LtU:
  ------------------
  |  Branch (251:5): [True: 688, False: 6.22M]
  ------------------
  252|   148k|    case Opcode::F32X4Lt:
  ------------------
  |  Branch (252:5): [True: 795, False: 6.22M]
  ------------------
  253|   149k|    case Opcode::F64X2Lt:
  ------------------
  |  Branch (253:5): [True: 1.21k, False: 6.22M]
  ------------------
  254|   151k|    case Opcode::I8X16LeS:
  ------------------
  |  Branch (254:5): [True: 1.53k, False: 6.22M]
  ------------------
  255|   151k|    case Opcode::I8X16LeU:
  ------------------
  |  Branch (255:5): [True: 704, False: 6.22M]
  ------------------
  256|   152k|    case Opcode::I16X8LeS:
  ------------------
  |  Branch (256:5): [True: 960, False: 6.22M]
  ------------------
  257|   154k|    case Opcode::I16X8LeU:
  ------------------
  |  Branch (257:5): [True: 1.46k, False: 6.22M]
  ------------------
  258|   154k|    case Opcode::I32X4LeS:
  ------------------
  |  Branch (258:5): [True: 485, False: 6.22M]
  ------------------
  259|   155k|    case Opcode::I32X4LeU:
  ------------------
  |  Branch (259:5): [True: 592, False: 6.22M]
  ------------------
  260|   156k|    case Opcode::F32X4Le:
  ------------------
  |  Branch (260:5): [True: 731, False: 6.22M]
  ------------------
  261|   157k|    case Opcode::F64X2Le:
  ------------------
  |  Branch (261:5): [True: 1.67k, False: 6.22M]
  ------------------
  262|   158k|    case Opcode::I8X16GtS:
  ------------------
  |  Branch (262:5): [True: 636, False: 6.22M]
  ------------------
  263|   159k|    case Opcode::I8X16GtU:
  ------------------
  |  Branch (263:5): [True: 597, False: 6.22M]
  ------------------
  264|   159k|    case Opcode::I16X8GtS:
  ------------------
  |  Branch (264:5): [True: 764, False: 6.22M]
  ------------------
  265|   160k|    case Opcode::I16X8GtU:
  ------------------
  |  Branch (265:5): [True: 977, False: 6.22M]
  ------------------
  266|   162k|    case Opcode::I32X4GtS:
  ------------------
  |  Branch (266:5): [True: 1.55k, False: 6.22M]
  ------------------
  267|   162k|    case Opcode::I32X4GtU:
  ------------------
  |  Branch (267:5): [True: 312, False: 6.22M]
  ------------------
  268|   164k|    case Opcode::F32X4Gt:
  ------------------
  |  Branch (268:5): [True: 1.63k, False: 6.22M]
  ------------------
  269|   166k|    case Opcode::F64X2Gt:
  ------------------
  |  Branch (269:5): [True: 1.75k, False: 6.22M]
  ------------------
  270|   168k|    case Opcode::I8X16GeS:
  ------------------
  |  Branch (270:5): [True: 2.85k, False: 6.22M]
  ------------------
  271|   170k|    case Opcode::I8X16GeU:
  ------------------
  |  Branch (271:5): [True: 1.63k, False: 6.22M]
  ------------------
  272|   171k|    case Opcode::I16X8GeS:
  ------------------
  |  Branch (272:5): [True: 1.01k, False: 6.22M]
  ------------------
  273|   172k|    case Opcode::I16X8GeU:
  ------------------
  |  Branch (273:5): [True: 879, False: 6.22M]
  ------------------
  274|   174k|    case Opcode::I32X4GeS:
  ------------------
  |  Branch (274:5): [True: 1.94k, False: 6.22M]
  ------------------
  275|   175k|    case Opcode::I32X4GeU:
  ------------------
  |  Branch (275:5): [True: 1.28k, False: 6.22M]
  ------------------
  276|   177k|    case Opcode::F32X4Ge:
  ------------------
  |  Branch (276:5): [True: 1.50k, False: 6.22M]
  ------------------
  277|   177k|    case Opcode::F64X2Ge:
  ------------------
  |  Branch (277:5): [True: 481, False: 6.22M]
  ------------------
  278|   179k|    case Opcode::F32X4Neg:
  ------------------
  |  Branch (278:5): [True: 1.78k, False: 6.22M]
  ------------------
  279|   180k|    case Opcode::F64X2Neg:
  ------------------
  |  Branch (279:5): [True: 1.33k, False: 6.22M]
  ------------------
  280|   181k|    case Opcode::F32X4Abs:
  ------------------
  |  Branch (280:5): [True: 211, False: 6.22M]
  ------------------
  281|   182k|    case Opcode::F64X2Abs:
  ------------------
  |  Branch (281:5): [True: 1.46k, False: 6.22M]
  ------------------
  282|   183k|    case Opcode::F32X4Min:
  ------------------
  |  Branch (282:5): [True: 621, False: 6.22M]
  ------------------
  283|   184k|    case Opcode::F32X4PMin:
  ------------------
  |  Branch (283:5): [True: 1.07k, False: 6.22M]
  ------------------
  284|   186k|    case Opcode::F64X2Min:
  ------------------
  |  Branch (284:5): [True: 1.80k, False: 6.22M]
  ------------------
  285|   186k|    case Opcode::F64X2PMin:
  ------------------
  |  Branch (285:5): [True: 617, False: 6.22M]
  ------------------
  286|   188k|    case Opcode::F32X4Max:
  ------------------
  |  Branch (286:5): [True: 1.99k, False: 6.22M]
  ------------------
  287|   189k|    case Opcode::F32X4PMax:
  ------------------
  |  Branch (287:5): [True: 556, False: 6.22M]
  ------------------
  288|   189k|    case Opcode::F64X2Max:
  ------------------
  |  Branch (288:5): [True: 587, False: 6.22M]
  ------------------
  289|   190k|    case Opcode::F64X2PMax:
  ------------------
  |  Branch (289:5): [True: 593, False: 6.22M]
  ------------------
  290|   190k|    case Opcode::F32X4Add:
  ------------------
  |  Branch (290:5): [True: 568, False: 6.22M]
  ------------------
  291|   191k|    case Opcode::F64X2Add:
  ------------------
  |  Branch (291:5): [True: 465, False: 6.22M]
  ------------------
  292|   192k|    case Opcode::F32X4Sub:
  ------------------
  |  Branch (292:5): [True: 697, False: 6.22M]
  ------------------
  293|   192k|    case Opcode::F64X2Sub:
  ------------------
  |  Branch (293:5): [True: 199, False: 6.22M]
  ------------------
  294|   193k|    case Opcode::F32X4Div:
  ------------------
  |  Branch (294:5): [True: 1.41k, False: 6.22M]
  ------------------
  295|   193k|    case Opcode::F64X2Div:
  ------------------
  |  Branch (295:5): [True: 280, False: 6.22M]
  ------------------
  296|   195k|    case Opcode::F32X4Mul:
  ------------------
  |  Branch (296:5): [True: 1.16k, False: 6.22M]
  ------------------
  297|   196k|    case Opcode::F64X2Mul:
  ------------------
  |  Branch (297:5): [True: 961, False: 6.22M]
  ------------------
  298|   197k|    case Opcode::F32X4Sqrt:
  ------------------
  |  Branch (298:5): [True: 1.57k, False: 6.22M]
  ------------------
  299|   197k|    case Opcode::F64X2Sqrt:
  ------------------
  |  Branch (299:5): [True: 244, False: 6.22M]
  ------------------
  300|   198k|    case Opcode::F32X4ConvertI32X4S:
  ------------------
  |  Branch (300:5): [True: 881, False: 6.22M]
  ------------------
  301|   199k|    case Opcode::F32X4ConvertI32X4U:
  ------------------
  |  Branch (301:5): [True: 226, False: 6.22M]
  ------------------
  302|   199k|    case Opcode::I32X4TruncSatF32X4S:
  ------------------
  |  Branch (302:5): [True: 435, False: 6.22M]
  ------------------
  303|   199k|    case Opcode::I32X4TruncSatF32X4U:
  ------------------
  |  Branch (303:5): [True: 270, False: 6.22M]
  ------------------
  304|   200k|    case Opcode::I8X16Swizzle:
  ------------------
  |  Branch (304:5): [True: 578, False: 6.22M]
  ------------------
  305|   218k|    case Opcode::I8X16Shuffle:
  ------------------
  |  Branch (305:5): [True: 17.8k, False: 6.20M]
  ------------------
  306|   220k|    case Opcode::V128Load8Splat:
  ------------------
  |  Branch (306:5): [True: 2.29k, False: 6.22M]
  ------------------
  307|   220k|    case Opcode::V128Load16Splat:
  ------------------
  |  Branch (307:5): [True: 514, False: 6.22M]
  ------------------
  308|   221k|    case Opcode::V128Load32Splat:
  ------------------
  |  Branch (308:5): [True: 373, False: 6.22M]
  ------------------
  309|   221k|    case Opcode::V128Load64Splat:
  ------------------
  |  Branch (309:5): [True: 570, False: 6.22M]
  ------------------
  310|   222k|    case Opcode::V128Load8Lane:
  ------------------
  |  Branch (310:5): [True: 840, False: 6.22M]
  ------------------
  311|   224k|    case Opcode::V128Load16Lane:
  ------------------
  |  Branch (311:5): [True: 1.34k, False: 6.22M]
  ------------------
  312|   224k|    case Opcode::V128Load32Lane:
  ------------------
  |  Branch (312:5): [True: 649, False: 6.22M]
  ------------------
  313|   225k|    case Opcode::V128Load64Lane:
  ------------------
  |  Branch (313:5): [True: 477, False: 6.22M]
  ------------------
  314|   225k|    case Opcode::V128Store8Lane:
  ------------------
  |  Branch (314:5): [True: 595, False: 6.22M]
  ------------------
  315|   228k|    case Opcode::V128Store16Lane:
  ------------------
  |  Branch (315:5): [True: 2.82k, False: 6.22M]
  ------------------
  316|   229k|    case Opcode::V128Store32Lane:
  ------------------
  |  Branch (316:5): [True: 861, False: 6.22M]
  ------------------
  317|   230k|    case Opcode::V128Store64Lane:
  ------------------
  |  Branch (317:5): [True: 689, False: 6.22M]
  ------------------
  318|   230k|    case Opcode::I8X16Abs:
  ------------------
  |  Branch (318:5): [True: 706, False: 6.22M]
  ------------------
  319|   231k|    case Opcode::I16X8Abs:
  ------------------
  |  Branch (319:5): [True: 420, False: 6.22M]
  ------------------
  320|   232k|    case Opcode::I32X4Abs:
  ------------------
  |  Branch (320:5): [True: 852, False: 6.22M]
  ------------------
  321|   232k|      return features.simd_enabled();
  322|       |
  323|    377|    case Opcode::I8X16RelaxedSwizzle:
  ------------------
  |  Branch (323:5): [True: 377, False: 6.22M]
  ------------------
  324|    632|    case Opcode::I32X4RelaxedTruncF32X4S:
  ------------------
  |  Branch (324:5): [True: 255, False: 6.22M]
  ------------------
  325|  1.48k|    case Opcode::I32X4RelaxedTruncF32X4U:
  ------------------
  |  Branch (325:5): [True: 850, False: 6.22M]
  ------------------
  326|  2.42k|    case Opcode::I32X4RelaxedTruncF64X2SZero:
  ------------------
  |  Branch (326:5): [True: 945, False: 6.22M]
  ------------------
  327|  2.99k|    case Opcode::I32X4RelaxedTruncF64X2UZero:
  ------------------
  |  Branch (327:5): [True: 567, False: 6.22M]
  ------------------
  328|  3.74k|    case Opcode::F32X4RelaxedMadd:
  ------------------
  |  Branch (328:5): [True: 751, False: 6.22M]
  ------------------
  329|  4.67k|    case Opcode::F32X4RelaxedNmadd:
  ------------------
  |  Branch (329:5): [True: 925, False: 6.22M]
  ------------------
  330|  5.53k|    case Opcode::F64X2RelaxedMadd:
  ------------------
  |  Branch (330:5): [True: 869, False: 6.22M]
  ------------------
  331|  6.58k|    case Opcode::F64X2RelaxedNmadd:
  ------------------
  |  Branch (331:5): [True: 1.05k, False: 6.22M]
  ------------------
  332|  7.58k|    case Opcode::I8X16RelaxedLaneSelect:
  ------------------
  |  Branch (332:5): [True: 997, False: 6.22M]
  ------------------
  333|  8.63k|    case Opcode::I16X8RelaxedLaneSelect:
  ------------------
  |  Branch (333:5): [True: 1.04k, False: 6.22M]
  ------------------
  334|  8.95k|    case Opcode::I32X4RelaxedLaneSelect:
  ------------------
  |  Branch (334:5): [True: 321, False: 6.22M]
  ------------------
  335|  9.96k|    case Opcode::I64X2RelaxedLaneSelect:
  ------------------
  |  Branch (335:5): [True: 1.00k, False: 6.22M]
  ------------------
  336|  11.1k|    case Opcode::F32X4RelaxedMin:
  ------------------
  |  Branch (336:5): [True: 1.18k, False: 6.22M]
  ------------------
  337|  11.7k|    case Opcode::F32X4RelaxedMax:
  ------------------
  |  Branch (337:5): [True: 587, False: 6.22M]
  ------------------
  338|  12.2k|    case Opcode::F64X2RelaxedMin:
  ------------------
  |  Branch (338:5): [True: 553, False: 6.22M]
  ------------------
  339|  12.7k|    case Opcode::F64X2RelaxedMax:
  ------------------
  |  Branch (339:5): [True: 502, False: 6.22M]
  ------------------
  340|  14.0k|    case Opcode::I16X8RelaxedQ15mulrS:
  ------------------
  |  Branch (340:5): [True: 1.29k, False: 6.22M]
  ------------------
  341|  15.4k|    case Opcode::I16X8DotI8X16I7X16S:
  ------------------
  |  Branch (341:5): [True: 1.32k, False: 6.22M]
  ------------------
  342|  16.0k|    case Opcode::I32X4DotI8X16I7X16AddS:
  ------------------
  |  Branch (342:5): [True: 662, False: 6.22M]
  ------------------
  343|  16.0k|      return features.relaxed_simd_enabled();
  344|       |
  345|     77|    case Opcode::MemoryInit:
  ------------------
  |  Branch (345:5): [True: 77, False: 6.22M]
  ------------------
  346|    143|    case Opcode::DataDrop:
  ------------------
  |  Branch (346:5): [True: 66, False: 6.22M]
  ------------------
  347|  1.22k|    case Opcode::MemoryCopy:
  ------------------
  |  Branch (347:5): [True: 1.07k, False: 6.22M]
  ------------------
  348|  4.23k|    case Opcode::MemoryFill:
  ------------------
  |  Branch (348:5): [True: 3.01k, False: 6.22M]
  ------------------
  349|  5.23k|    case Opcode::TableInit:
  ------------------
  |  Branch (349:5): [True: 993, False: 6.22M]
  ------------------
  350|  5.74k|    case Opcode::ElemDrop:
  ------------------
  |  Branch (350:5): [True: 512, False: 6.22M]
  ------------------
  351|  6.65k|    case Opcode::TableCopy:
  ------------------
  |  Branch (351:5): [True: 912, False: 6.22M]
  ------------------
  352|  6.65k|      return features.bulk_memory_enabled();
  353|       |
  354|  7.51k|    case Opcode::TableGet:
  ------------------
  |  Branch (354:5): [True: 7.51k, False: 6.21M]
  ------------------
  355|  12.4k|    case Opcode::TableSet:
  ------------------
  |  Branch (355:5): [True: 4.93k, False: 6.21M]
  ------------------
  356|  14.3k|    case Opcode::TableGrow:
  ------------------
  |  Branch (356:5): [True: 1.91k, False: 6.22M]
  ------------------
  357|  14.8k|    case Opcode::TableSize:
  ------------------
  |  Branch (357:5): [True: 495, False: 6.22M]
  ------------------
  358|  16.3k|    case Opcode::RefNull:
  ------------------
  |  Branch (358:5): [True: 1.48k, False: 6.22M]
  ------------------
  359|  21.2k|    case Opcode::RefIsNull:
  ------------------
  |  Branch (359:5): [True: 4.93k, False: 6.21M]
  ------------------
  360|  21.2k|      return features.reference_types_enabled();
  361|       |
  362|  12.5k|    case Opcode::CallRef:
  ------------------
  |  Branch (362:5): [True: 12.5k, False: 6.21M]
  ------------------
  363|  12.5k|      return features.function_references_enabled();
  364|       |
  365|       |    // Interpreter opcodes are never "enabled".
  366|     15|    case Opcode::InterpAlloca:
  ------------------
  |  Branch (366:5): [True: 15, False: 6.22M]
  ------------------
  367|     28|    case Opcode::InterpBrUnless:
  ------------------
  |  Branch (367:5): [True: 13, False: 6.22M]
  ------------------
  368|     43|    case Opcode::InterpCallImport:
  ------------------
  |  Branch (368:5): [True: 15, False: 6.22M]
  ------------------
  369|     53|    case Opcode::InterpData:
  ------------------
  |  Branch (369:5): [True: 10, False: 6.22M]
  ------------------
  370|     59|    case Opcode::InterpDropKeep:
  ------------------
  |  Branch (370:5): [True: 6, False: 6.22M]
  ------------------
  371|     59|      return false;
  372|       |
  373|  5.21M|    default:
  ------------------
  |  Branch (373:5): [True: 5.21M, False: 1.01M]
  ------------------
  374|  5.21M|      return true;
  375|  6.22M|  }
  376|  6.22M|}
_ZNK4wabt6Opcode8GetBytesEv:
  416|  1.20k|std::vector<uint8_t> Opcode::GetBytes() const {
  417|  1.20k|  std::vector<uint8_t> result;
  418|  1.20k|  if (HasPrefix()) {
  ------------------
  |  Branch (418:7): [True: 326, False: 881]
  ------------------
  419|    326|    result.push_back(GetPrefix());
  420|    326|    uint8_t buffer[5];
  421|    326|    Offset length =
  422|    326|        WriteU32Leb128Raw(buffer, buffer + sizeof(buffer), GetCode());
  423|    326|    assert(length != 0);
  424|    326|    result.insert(result.end(), buffer, buffer + length);
  425|    881|  } else {
  426|    881|    result.push_back(GetCode());
  427|    881|  }
  428|  1.20k|  return result;
  429|  1.20k|}

_ZN4wabt11IsValidUtf8EPKcm:
   54|  1.20M|bool IsValidUtf8(const char* s, size_t s_length) {
   55|  1.20M|  const uint8_t* p = reinterpret_cast<const uint8_t*>(s);
   56|  1.20M|  const uint8_t* end = p + s_length;
   57|  8.05M|  while (p < end) {
  ------------------
  |  Branch (57:10): [True: 6.85M, False: 1.19M]
  ------------------
   58|  6.85M|    uint8_t cu0 = *p;
   59|  6.85M|    int length = s_utf8_length[cu0];
   60|  6.85M|    if (p + length > end) {
  ------------------
  |  Branch (60:9): [True: 476, False: 6.85M]
  ------------------
   61|    476|      return false;
   62|    476|    }
   63|       |
   64|  6.85M|    switch (length) {
  ------------------
  |  Branch (64:13): [True: 0, False: 6.85M]
  ------------------
   65|  6.14k|      case 0:
  ------------------
  |  Branch (65:7): [True: 6.14k, False: 6.85M]
  ------------------
   66|  6.14k|        return false;
   67|       |
   68|  6.84M|      case 1:
  ------------------
  |  Branch (68:7): [True: 6.84M, False: 11.6k]
  ------------------
   69|  6.84M|        p++;
   70|  6.84M|        break;
   71|       |
   72|    702|      case 2:
  ------------------
  |  Branch (72:7): [True: 702, False: 6.85M]
  ------------------
   73|    702|        p++;
   74|    702|        if (!IsCont(*p++)) {
  ------------------
  |  Branch (74:13): [True: 456, False: 246]
  ------------------
   75|    456|          return false;
   76|    456|        }
   77|    246|        break;
   78|       |
   79|  1.84k|      case 3: {
  ------------------
  |  Branch (79:7): [True: 1.84k, False: 6.85M]
  ------------------
   80|  1.84k|        p++;
   81|  1.84k|        uint8_t cu1 = *p++;
   82|  1.84k|        uint8_t cu2 = *p++;
   83|  1.84k|        if (!(IsCont(cu1) && IsCont(cu2)) ||
  ------------------
  |  Branch (83:15): [True: 1.54k, False: 298]
  |  Branch (83:30): [True: 1.25k, False: 294]
  ------------------
   84|  1.84k|            (cu0 == 0xe0 && cu1 < 0xa0) ||  // Overlong encoding.
  ------------------
  |  Branch (84:14): [True: 549, False: 704]
  |  Branch (84:29): [True: 287, False: 262]
  ------------------
   85|  1.84k|            (cu0 == 0xed && cu1 >= 0xa0))   // UTF-16 surrogate halves.
  ------------------
  |  Branch (85:14): [True: 399, False: 567]
  |  Branch (85:29): [True: 201, False: 198]
  ------------------
   86|  1.08k|          return false;
   87|    765|        break;
   88|  1.84k|      }
   89|       |
   90|  2.91k|      case 4: {
  ------------------
  |  Branch (90:7): [True: 2.91k, False: 6.85M]
  ------------------
   91|  2.91k|        p++;
   92|  2.91k|        uint8_t cu1 = *p++;
   93|  2.91k|        uint8_t cu2 = *p++;
   94|  2.91k|        uint8_t cu3 = *p++;
   95|  2.91k|        if (!(IsCont(cu1) && IsCont(cu2) && IsCont(cu3)) ||
  ------------------
  |  Branch (95:15): [True: 1.97k, False: 946]
  |  Branch (95:30): [True: 1.56k, False: 410]
  |  Branch (95:45): [True: 1.34k, False: 216]
  ------------------
   96|  2.91k|            (cu0 == 0xf0 && cu1 < 0x90) ||  // Overlong encoding.
  ------------------
  |  Branch (96:14): [True: 280, False: 1.06k]
  |  Branch (96:29): [True: 212, False: 68]
  ------------------
   97|  2.91k|            (cu0 == 0xf4 && cu1 >= 0x90))   // Code point >= 0x11000.
  ------------------
  |  Branch (97:14): [True: 400, False: 735]
  |  Branch (97:29): [True: 198, False: 202]
  ------------------
   98|  1.98k|          return false;
   99|    937|        break;
  100|  2.91k|      }
  101|  6.85M|    }
  102|  6.85M|  }
  103|  1.19M|  return true;
  104|  1.20M|}
utf8.cc:_ZN4wabt12_GLOBAL__N_16IsContEh:
   48|  10.5k|bool IsCont(uint8_t c) {
   49|  10.5k|  return (c & 0xc0) == 0x80;
   50|  10.5k|}

