blob: 8d7325f0389020bf63d7eaa119e23a692ddde7ec [file] [log] [blame]
Chris Lattner24943d22010-06-08 16:52:24 +00001//===-- StoppointLocation.cpp -----------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "lldb/Breakpoint/StoppointLocation.h"
11
12// C Includes
13// C++ Includes
14// Other libraries and framework includes
15// Project includes
16
17using namespace lldb;
18using namespace lldb_private;
19
20//----------------------------------------------------------------------
21// StoppointLocation constructor
22//----------------------------------------------------------------------
Jim Ingham3c7b5b92010-06-16 02:00:15 +000023StoppointLocation::StoppointLocation (break_id_t bid, addr_t addr, bool hardware) :
Chris Lattner24943d22010-06-08 16:52:24 +000024 m_loc_id(bid),
Chris Lattner24943d22010-06-08 16:52:24 +000025 m_addr(addr),
Chris Lattner24943d22010-06-08 16:52:24 +000026 m_hw_preferred(hardware),
Greg Clayton54e7afa2010-07-09 20:39:50 +000027 m_hw_index(LLDB_INVALID_INDEX32),
28 m_byte_size(0),
29 m_hit_count(0)
Chris Lattner24943d22010-06-08 16:52:24 +000030{
31}
32
Jim Ingham3c7b5b92010-06-16 02:00:15 +000033StoppointLocation::StoppointLocation (break_id_t bid, addr_t addr, size_t size, bool hardware) :
Chris Lattner24943d22010-06-08 16:52:24 +000034 m_loc_id(bid),
Chris Lattner24943d22010-06-08 16:52:24 +000035 m_addr(addr),
Chris Lattner24943d22010-06-08 16:52:24 +000036 m_hw_preferred(hardware),
Greg Clayton54e7afa2010-07-09 20:39:50 +000037 m_hw_index(LLDB_INVALID_INDEX32),
38 m_byte_size(size),
39 m_hit_count(0)
Chris Lattner24943d22010-06-08 16:52:24 +000040{
41}
42
43//----------------------------------------------------------------------
44// Destructor
45//----------------------------------------------------------------------
46StoppointLocation::~StoppointLocation()
47{
48}
49
50
51size_t
52StoppointLocation::GetByteSize () const
53{
54 return m_byte_size;
55}
56
57addr_t
58StoppointLocation::GetLoadAddress() const
59{
60 return m_addr;
61}
62
Chris Lattner24943d22010-06-08 16:52:24 +000063uint32_t
64StoppointLocation::GetHitCount () const
65{
66 return m_hit_count;
67}
68
69bool
70StoppointLocation::HardwarePreferred () const
71{
72 return m_hw_preferred;
73}
74
75bool
76StoppointLocation::IsHardware () const
77{
78 return m_hw_index != LLDB_INVALID_INDEX32;
79}
80
81uint32_t
82StoppointLocation::GetHardwareIndex () const
83{
84 return m_hw_index;
85}
86
87void
88StoppointLocation::SetHardwareIndex (uint32_t hw_index)
89{
90 m_hw_index = hw_index;
91}
92
93// RETURNS - true if we should stop at this breakpoint, false if we
94// should continue.
95
96bool
97StoppointLocation::ShouldStop (StoppointCallbackContext *context)
98{
99 return true;
100}
101
102break_id_t
103StoppointLocation::GetID() const
104{
105 return m_loc_id;
106}
107
108void
109StoppointLocation::Dump (Stream *stream) const
110{
111
112}