Added SetPieceAt() and Dump() methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31635 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
f3516af2ca
commit
bcbd46eba3
|
@ -56,9 +56,48 @@ ValueLocation::PieceAt(int32 index) const
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
ValueLocation::SetPieceAt(int32 index, const ValuePieceLocation& piece)
|
||||||
|
{
|
||||||
|
if (index < 0 || index >= fPieces.Size())
|
||||||
|
return;
|
||||||
|
|
||||||
|
fPieces.ElementAt(index) = piece;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ValueLocation&
|
ValueLocation&
|
||||||
ValueLocation::operator=(const ValueLocation& other)
|
ValueLocation::operator=(const ValueLocation& other)
|
||||||
{
|
{
|
||||||
fPieces = other.fPieces;
|
fPieces = other.fPieces;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
ValueLocation::Dump() const
|
||||||
|
{
|
||||||
|
int32 count = fPieces.Size();
|
||||||
|
printf("ValueLocation: %ld pieces:\n", count);
|
||||||
|
|
||||||
|
for (int32 i = 0; i < count; i++) {
|
||||||
|
const ValuePieceLocation& piece = fPieces[i];
|
||||||
|
switch (piece.type) {
|
||||||
|
case VALUE_PIECE_LOCATION_INVALID:
|
||||||
|
printf(" invalid\n");
|
||||||
|
continue;
|
||||||
|
case VALUE_PIECE_LOCATION_UNKNOWN:
|
||||||
|
printf(" unknown");
|
||||||
|
break;
|
||||||
|
case VALUE_PIECE_LOCATION_MEMORY:
|
||||||
|
printf(" address %#llx", piece.address);
|
||||||
|
break;
|
||||||
|
case VALUE_PIECE_LOCATION_REGISTER:
|
||||||
|
printf(" register %lu", piece.reg);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf(" size: %llu+%u, offset: %u\n", piece.size, piece.bitSize,
|
||||||
|
piece.bitOffset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -85,9 +85,13 @@ public:
|
||||||
|
|
||||||
int32 CountPieces() const;
|
int32 CountPieces() const;
|
||||||
ValuePieceLocation PieceAt(int32 index) const;
|
ValuePieceLocation PieceAt(int32 index) const;
|
||||||
|
void SetPieceAt(int32 index,
|
||||||
|
const ValuePieceLocation& piece);
|
||||||
|
|
||||||
ValueLocation& operator=(const ValueLocation& other);
|
ValueLocation& operator=(const ValueLocation& other);
|
||||||
|
|
||||||
|
void Dump() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef Array<ValuePieceLocation> PieceArray;
|
typedef Array<ValuePieceLocation> PieceArray;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue