/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef _LIBUNWINDSTACK_DWARF_OP_H
#define _LIBUNWINDSTACK_DWARF_OP_H

#include <stdint.h>

#include <deque>
#include <string>
#include <type_traits>
#include <vector>

#include "DwarfEncoding.h"

enum DwarfVersion : uint8_t {
  DWARF_VERSION_2 = 2,
  DWARF_VERSION_3 = 3,
  DWARF_VERSION_4 = 4,
  DWARF_VERSION_MAX = DWARF_VERSION_4,
};

// Forward declarations.
class DwarfMemory;
class Memory;
template <typename AddressType>
class RegsImpl;

template <typename AddressType>
class DwarfOp {
  // Signed version of AddressType
  typedef typename std::make_signed<AddressType>::type SignedType;

  struct OpCallback {
    const char* name;
    bool (DwarfOp::*handle_func)();
    uint8_t supported_version;
    uint8_t num_required_stack_values;
    uint8_t num_operands;
    uint8_t operands[2];
  };

 public:
  DwarfOp(DwarfMemory* memory, Memory* regular_memory)
      : memory_(memory), regular_memory_(regular_memory) {}
  virtual ~DwarfOp() = default;

  bool Decode(uint8_t dwarf_version);

  bool Eval(uint64_t start, uint64_t end, uint8_t dwarf_version);

  void GetLogInfo(uint64_t start, uint64_t end, std::vector<std::string>* lines);

  AddressType StackAt(size_t index) { return stack_[index]; }
  size_t StackSize() { return stack_.size(); }

  void set_regs(RegsImpl<AddressType>* regs) { regs_ = regs; }

  DwarfError last_error() { return last_error_; }

  bool is_register() { return is_register_; }

  uint8_t cur_op() { return cur_op_; }

  Memory* regular_memory() { return regular_memory_; }

 protected:
  AddressType OperandAt(size_t index) { return operands_[index]; }
  size_t OperandsSize() { return operands_.size(); }

  AddressType StackPop() {
    AddressType value = stack_.front();
    stack_.pop_front();
    return value;
  }

 private:
  DwarfMemory* memory_;
  Memory* regular_memory_;

  RegsImpl<AddressType>* regs_;
  bool is_register_ = false;
  DwarfError last_error_ = DWARF_ERROR_NONE;
  uint8_t cur_op_;
  std::vector<AddressType> operands_;
  std::deque<AddressType> stack_;

  inline AddressType bool_to_dwarf_bool(bool value) { return value ? 1 : 0; }

  // Op processing functions.
  bool op_deref();
  bool op_deref_size();
  bool op_push();
  bool op_dup();
  bool op_drop();
  bool op_over();
  bool op_pick();
  bool op_swap();
  bool op_rot();
  bool op_abs();
  bool op_and();
  bool op_div();
  bool op_minus();
  bool op_mod();
  bool op_mul();
  bool op_neg();
  bool op_not();
  bool op_or();
  bool op_plus();
  bool op_plus_uconst();
  bool op_shl();
  bool op_shr();
  bool op_shra();
  bool op_xor();
  bool op_bra();
  bool op_eq();
  bool op_ge();
  bool op_gt();
  bool op_le();
  bool op_lt();
  bool op_ne();
  bool op_skip();
  bool op_lit();
  bool op_reg();
  bool op_regx();
  bool op_breg();
  bool op_bregx();
  bool op_nop();
  bool op_not_implemented();

  constexpr static OpCallback kCallbackTable[256] = {
      {nullptr, nullptr, 0, 0, 0, {}},  // 0x00 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0x01 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0x02 illegal op
      {
          // 0x03 DW_OP_addr
          "DW_OP_addr",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_absptr},
      },
      {nullptr, nullptr, 0, 0, 0, {}},  // 0x04 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0x05 illegal op
      {
          // 0x06 DW_OP_deref
          "DW_OP_deref",
          &DwarfOp::op_deref,
          DWARF_VERSION_2,
          1,
          0,
          {},
      },
      {nullptr, nullptr, 0, 0, 0, {}},  // 0x07 illegal op
      {
          // 0x08 DW_OP_const1u
          "DW_OP_const1u",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_udata1},
      },
      {
          // 0x09 DW_OP_const1s
          "DW_OP_const1s",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sdata1},
      },
      {
          // 0x0a DW_OP_const2u
          "DW_OP_const2u",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_udata2},
      },
      {
          // 0x0b DW_OP_const2s
          "DW_OP_const2s",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sdata2},
      },
      {
          // 0x0c DW_OP_const4u
          "DW_OP_const4u",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_udata4},
      },
      {
          // 0x0d DW_OP_const4s
          "DW_OP_const4s",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sdata4},
      },
      {
          // 0x0e DW_OP_const8u
          "DW_OP_const8u",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_udata8},
      },
      {
          // 0x0f DW_OP_const8s
          "DW_OP_const8s",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sdata8},
      },
      {
          // 0x10 DW_OP_constu
          "DW_OP_constu",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_uleb128},
      },
      {
          // 0x11 DW_OP_consts
          "DW_OP_consts",
          &DwarfOp::op_push,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x12 DW_OP_dup
          "DW_OP_dup",
          &DwarfOp::op_dup,
          DWARF_VERSION_2,
          1,
          0,
          {},
      },
      {
          // 0x13 DW_OP_drop
          "DW_OP_drop",
          &DwarfOp::op_drop,
          DWARF_VERSION_2,
          1,
          0,
          {},
      },
      {
          // 0x14 DW_OP_over
          "DW_OP_over",
          &DwarfOp::op_over,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x15 DW_OP_pick
          "DW_OP_pick",
          &DwarfOp::op_pick,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_udata1},
      },
      {
          // 0x16 DW_OP_swap
          "DW_OP_swap",
          &DwarfOp::op_swap,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x17 DW_OP_rot
          "DW_OP_rot",
          &DwarfOp::op_rot,
          DWARF_VERSION_2,
          3,
          0,
          {},
      },
      {
          // 0x18 DW_OP_xderef
          "DW_OP_xderef",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x19 DW_OP_abs
          "DW_OP_abs",
          &DwarfOp::op_abs,
          DWARF_VERSION_2,
          1,
          0,
          {},
      },
      {
          // 0x1a DW_OP_and
          "DW_OP_and",
          &DwarfOp::op_and,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x1b DW_OP_div
          "DW_OP_div",
          &DwarfOp::op_div,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x1c DW_OP_minus
          "DW_OP_minus",
          &DwarfOp::op_minus,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x1d DW_OP_mod
          "DW_OP_mod",
          &DwarfOp::op_mod,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x1e DW_OP_mul
          "DW_OP_mul",
          &DwarfOp::op_mul,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x1f DW_OP_neg
          "DW_OP_neg",
          &DwarfOp::op_neg,
          DWARF_VERSION_2,
          1,
          0,
          {},
      },
      {
          // 0x20 DW_OP_not
          "DW_OP_not",
          &DwarfOp::op_not,
          DWARF_VERSION_2,
          1,
          0,
          {},
      },
      {
          // 0x21 DW_OP_or
          "DW_OP_or",
          &DwarfOp::op_or,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x22 DW_OP_plus
          "DW_OP_plus",
          &DwarfOp::op_plus,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x23 DW_OP_plus_uconst
          "DW_OP_plus_uconst",
          &DwarfOp::op_plus_uconst,
          DWARF_VERSION_2,
          1,
          1,
          {DW_EH_PE_uleb128},
      },
      {
          // 0x24 DW_OP_shl
          "DW_OP_shl",
          &DwarfOp::op_shl,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x25 DW_OP_shr
          "DW_OP_shr",
          &DwarfOp::op_shr,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x26 DW_OP_shra
          "DW_OP_shra",
          &DwarfOp::op_shra,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x27 DW_OP_xor
          "DW_OP_xor",
          &DwarfOp::op_xor,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x28 DW_OP_bra
          "DW_OP_bra",
          &DwarfOp::op_bra,
          DWARF_VERSION_2,
          1,
          1,
          {DW_EH_PE_sdata2},
      },
      {
          // 0x29 DW_OP_eq
          "DW_OP_eq",
          &DwarfOp::op_eq,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x2a DW_OP_ge
          "DW_OP_ge",
          &DwarfOp::op_ge,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x2b DW_OP_gt
          "DW_OP_gt",
          &DwarfOp::op_gt,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x2c DW_OP_le
          "DW_OP_le",
          &DwarfOp::op_le,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x2d DW_OP_lt
          "DW_OP_lt",
          &DwarfOp::op_lt,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x2e DW_OP_ne
          "DW_OP_ne",
          &DwarfOp::op_ne,
          DWARF_VERSION_2,
          2,
          0,
          {},
      },
      {
          // 0x2f DW_OP_skip
          "DW_OP_skip",
          &DwarfOp::op_skip,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sdata2},
      },
      {
          // 0x30 DW_OP_lit0
          "DW_OP_lit0",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x31 DW_OP_lit1
          "DW_OP_lit1",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x32 DW_OP_lit2
          "DW_OP_lit2",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x33 DW_OP_lit3
          "DW_OP_lit3",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x34 DW_OP_lit4
          "DW_OP_lit4",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x35 DW_OP_lit5
          "DW_OP_lit5",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x36 DW_OP_lit6
          "DW_OP_lit6",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x37 DW_OP_lit7
          "DW_OP_lit7",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x38 DW_OP_lit8
          "DW_OP_lit8",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x39 DW_OP_lit9
          "DW_OP_lit9",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x3a DW_OP_lit10
          "DW_OP_lit10",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x3b DW_OP_lit11
          "DW_OP_lit11",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x3c DW_OP_lit12
          "DW_OP_lit12",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x3d DW_OP_lit13
          "DW_OP_lit13",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x3e DW_OP_lit14
          "DW_OP_lit14",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x3f DW_OP_lit15
          "DW_OP_lit15",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x40 DW_OP_lit16
          "DW_OP_lit16",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x41 DW_OP_lit17
          "DW_OP_lit17",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x42 DW_OP_lit18
          "DW_OP_lit18",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x43 DW_OP_lit19
          "DW_OP_lit19",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x44 DW_OP_lit20
          "DW_OP_lit20",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x45 DW_OP_lit21
          "DW_OP_lit21",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x46 DW_OP_lit22
          "DW_OP_lit22",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x47 DW_OP_lit23
          "DW_OP_lit23",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x48 DW_OP_lit24
          "DW_OP_lit24",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x49 DW_OP_lit25
          "DW_OP_lit25",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x4a DW_OP_lit26
          "DW_OP_lit26",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x4b DW_OP_lit27
          "DW_OP_lit27",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x4c DW_OP_lit28
          "DW_OP_lit28",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x4d DW_OP_lit29
          "DW_OP_lit29",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x4e DW_OP_lit30
          "DW_OP_lit30",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x4f DW_OP_lit31
          "DW_OP_lit31",
          &DwarfOp::op_lit,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x50 DW_OP_reg0
          "DW_OP_reg0",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x51 DW_OP_reg1
          "DW_OP_reg1",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x52 DW_OP_reg2
          "DW_OP_reg2",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x53 DW_OP_reg3
          "DW_OP_reg3",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x54 DW_OP_reg4
          "DW_OP_reg4",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x55 DW_OP_reg5
          "DW_OP_reg5",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x56 DW_OP_reg6
          "DW_OP_reg6",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x57 DW_OP_reg7
          "DW_OP_reg7",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x58 DW_OP_reg8
          "DW_OP_reg8",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x59 DW_OP_reg9
          "DW_OP_reg9",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x5a DW_OP_reg10
          "DW_OP_reg10",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x5b DW_OP_reg11
          "DW_OP_reg11",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x5c DW_OP_reg12
          "DW_OP_reg12",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x5d DW_OP_reg13
          "DW_OP_reg13",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x5e DW_OP_reg14
          "DW_OP_reg14",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x5f DW_OP_reg15
          "DW_OP_reg15",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x60 DW_OP_reg16
          "DW_OP_reg16",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x61 DW_OP_reg17
          "DW_OP_reg17",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x62 DW_OP_reg18
          "DW_OP_reg18",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x63 DW_OP_reg19
          "DW_OP_reg19",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x64 DW_OP_reg20
          "DW_OP_reg20",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x65 DW_OP_reg21
          "DW_OP_reg21",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x66 DW_OP_reg22
          "DW_OP_reg22",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x67 DW_OP_reg23
          "DW_OP_reg23",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x68 DW_OP_reg24
          "DW_OP_reg24",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x69 DW_OP_reg25
          "DW_OP_reg25",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x6a DW_OP_reg26
          "DW_OP_reg26",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x6b DW_OP_reg27
          "DW_OP_reg27",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x6c DW_OP_reg28
          "DW_OP_reg28",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x6d DW_OP_reg29
          "DW_OP_reg29",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x6e DW_OP_reg30
          "DW_OP_reg30",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x6f DW_OP_reg31
          "DW_OP_reg31",
          &DwarfOp::op_reg,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x70 DW_OP_breg0
          "DW_OP_breg0",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x71 DW_OP_breg1
          "DW_OP_breg1",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x72 DW_OP_breg2
          "DW_OP_breg2",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x73 DW_OP_breg3
          "DW_OP_breg3",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x74 DW_OP_breg4
          "DW_OP_breg4",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x75 DW_OP_breg5
          "DW_OP_breg5",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x76 DW_OP_breg6
          "DW_OP_breg6",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x77 DW_OP_breg7
          "DW_OP_breg7",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x78 DW_OP_breg8
          "DW_OP_breg8",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x79 DW_OP_breg9
          "DW_OP_breg9",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x7a DW_OP_breg10
          "DW_OP_breg10",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x7b DW_OP_breg11
          "DW_OP_breg11",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x7c DW_OP_breg12
          "DW_OP_breg12",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x7d DW_OP_breg13
          "DW_OP_breg13",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x7e DW_OP_breg14
          "DW_OP_breg14",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x7f DW_OP_breg15
          "DW_OP_breg15",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x80 DW_OP_breg16
          "DW_OP_breg16",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x81 DW_OP_breg17
          "DW_OP_breg17",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x82 DW_OP_breg18
          "DW_OP_breg18",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x83 DW_OP_breg19
          "DW_OP_breg19",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x84 DW_OP_breg20
          "DW_OP_breg20",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x85 DW_OP_breg21
          "DW_OP_breg21",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x86 DW_OP_breg22
          "DW_OP_breg22",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x87 DW_OP_breg23
          "DW_OP_breg23",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x88 DW_OP_breg24
          "DW_OP_breg24",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x89 DW_OP_breg25
          "DW_OP_breg25",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x8a DW_OP_breg26
          "DW_OP_breg26",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x8b DW_OP_breg27
          "DW_OP_breg27",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x8c DW_OP_breg28
          "DW_OP_breg28",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x8d DW_OP_breg29
          "DW_OP_breg29",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x8e DW_OP_breg30
          "DW_OP_breg30",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x8f DW_OP_breg31
          "DW_OP_breg31",
          &DwarfOp::op_breg,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x90 DW_OP_regx
          "DW_OP_regx",
          &DwarfOp::op_regx,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_uleb128},
      },
      {
          // 0x91 DW_OP_fbreg
          "DW_OP_fbreg",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_sleb128},
      },
      {
          // 0x92 DW_OP_bregx
          "DW_OP_bregx",
          &DwarfOp::op_bregx,
          DWARF_VERSION_2,
          0,
          2,
          {DW_EH_PE_uleb128, DW_EH_PE_sleb128},
      },
      {
          // 0x93 DW_OP_piece
          "DW_OP_piece",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_uleb128},
      },
      {
          // 0x94 DW_OP_deref_size
          "DW_OP_deref_size",
          &DwarfOp::op_deref_size,
          DWARF_VERSION_2,
          1,
          1,
          {DW_EH_PE_udata1},
      },
      {
          // 0x95 DW_OP_xderef_size
          "DW_OP_xderef_size",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_2,
          0,
          1,
          {DW_EH_PE_udata1},
      },
      {
          // 0x96 DW_OP_nop
          "DW_OP_nop",
          &DwarfOp::op_nop,
          DWARF_VERSION_2,
          0,
          0,
          {},
      },
      {
          // 0x97 DW_OP_push_object_address
          "DW_OP_push_object_address",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_3,
          0,
          0,
          {},
      },
      {
          // 0x98 DW_OP_call2
          "DW_OP_call2",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_3,
          0,
          1,
          {DW_EH_PE_udata2},
      },
      {
          // 0x99 DW_OP_call4
          "DW_OP_call4",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_3,
          0,
          1,
          {DW_EH_PE_udata4},
      },
      {
          // 0x9a DW_OP_call_ref
          "DW_OP_call_ref",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_3,
          0,
          0,  // Has a different sized operand (4 bytes or 8 bytes).
          {},
      },
      {
          // 0x9b DW_OP_form_tls_address
          "DW_OP_form_tls_address",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_3,
          0,
          0,
          {},
      },
      {
          // 0x9c DW_OP_call_frame_cfa
          "DW_OP_call_frame_cfa",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_3,
          0,
          0,
          {},
      },
      {
          // 0x9d DW_OP_bit_piece
          "DW_OP_bit_piece",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_3,
          0,
          2,
          {DW_EH_PE_uleb128, DW_EH_PE_uleb128},
      },
      {
          // 0x9e DW_OP_implicit_value
          "DW_OP_implicit_value",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_4,
          0,
          1,
          {DW_EH_PE_uleb128},
      },
      {
          // 0x9f DW_OP_stack_value
          "DW_OP_stack_value",
          &DwarfOp::op_not_implemented,
          DWARF_VERSION_4,
          1,
          0,
          {},
      },
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xa0 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xa1 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xa2 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xa3 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xa4 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xa5 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xa6 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xa7 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xa8 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xa9 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xaa illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xab illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xac illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xad illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xae illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xaf illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xb0 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xb1 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xb2 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xb3 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xb4 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xb5 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xb6 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xb7 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xb8 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xb9 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xba illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xbb illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xbc illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xbd illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xbe illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xbf illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xc0 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xc1 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xc2 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xc3 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xc4 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xc5 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xc6 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xc7 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xc8 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xc9 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xca illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xcb illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xcc illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xcd illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xce illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xcf illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xd0 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xd1 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xd2 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xd3 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xd4 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xd5 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xd6 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xd7 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xd8 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xd9 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xda illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xdb illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xdc illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xdd illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xde illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xdf illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xe0 DW_OP_lo_user
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xe1 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xe2 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xe3 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xe4 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xe5 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xe6 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xe7 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xe8 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xe9 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xea illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xeb illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xec illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xed illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xee illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xef illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xf0 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xf1 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xf2 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xf3 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xf4 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xf5 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xf6 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xf7 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xf8 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xf9 illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xfa illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xfb illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xfc illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xfd illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xfe illegal op
      {nullptr, nullptr, 0, 0, 0, {}},  // 0xff DW_OP_hi_user
  };
};

#endif  // _LIBUNWINDSTACK_DWARF_OP_H
