2020-05-04 12:14:39 +03:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2020, Itamar S. <itamar8910@gmail.com>
|
|
|
|
|
*
|
2021-04-22 01:24:48 -07:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-05-04 12:14:39 +03:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
2020-05-28 20:40:53 +02:00
|
|
|
|
2020-05-04 12:14:39 +03:00
|
|
|
#include "AK/ByteBuffer.h"
|
|
|
|
|
#include "AK/Types.h"
|
|
|
|
|
|
2020-09-12 00:44:54 +02:00
|
|
|
struct PtraceRegisters;
|
2020-05-04 12:14:39 +03:00
|
|
|
|
2020-08-25 04:33:07 +01:00
|
|
|
namespace Debug::Dwarf::Expression {
|
2020-05-28 20:40:53 +02:00
|
|
|
|
2020-05-04 12:14:39 +03:00
|
|
|
enum class Type {
|
|
|
|
|
None,
|
|
|
|
|
UnsignedIntetger,
|
|
|
|
|
Register,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct Value {
|
|
|
|
|
Type type;
|
|
|
|
|
union {
|
|
|
|
|
u32 as_u32;
|
|
|
|
|
} data { 0 };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum class Operations : u8 {
|
|
|
|
|
RegEbp = 0x75,
|
|
|
|
|
FbReg = 0x91,
|
|
|
|
|
};
|
|
|
|
|
|
2020-08-05 10:55:36 +02:00
|
|
|
Value evaluate(ReadonlyBytes, const PtraceRegisters&);
|
2020-05-04 12:14:39 +03:00
|
|
|
|
2020-05-28 20:40:53 +02:00
|
|
|
}
|