GP-2237 AddrSpace as marshaling primitive and prettyprint update

This commit is contained in:
caheckman 2022-06-23 20:16:51 -04:00
parent 4807ec354a
commit 6be9943b8a
58 changed files with 1333 additions and 1098 deletions

View file

@ -1324,10 +1324,10 @@ void BlockGraph::encodeBody(Encoder &encoder) const
list[i]->encode(encoder);
}
void BlockGraph::decodeBody(Decoder &decoder,BlockMap &resolver)
void BlockGraph::decodeBody(Decoder &decoder)
{
BlockMap newresolver(resolver);
BlockMap newresolver;
vector<FlowBlock *> tmplist;
for(;;) {
@ -1352,11 +1352,10 @@ void BlockGraph::decodeBody(Decoder &decoder,BlockMap &resolver)
/// Parse a \<block> element. This is currently just a wrapper around the
/// FlowBlock::decode() that sets of the BlockMap resolver
/// \param decoder is the stream decoder
/// \param m is the address space manager
void BlockGraph::decode(Decoder &decoder,const AddrSpaceManager *m)
void BlockGraph::decode(Decoder &decoder)
{
BlockMap resolver(m);
BlockMap resolver;
FlowBlock::decode(decoder,resolver);
// Restore goto references here
}
@ -2417,7 +2416,7 @@ void FlowBlock::decode(Decoder &decoder,BlockMap &resolver)
{
uint4 elemId = decoder.openElement(ELEM_BLOCK);
decodeHeader(decoder);
decodeBody(decoder,resolver);
decodeBody(decoder);
decodeEdges(decoder,resolver);
decoder.closeElement(elemId);
}
@ -2562,10 +2561,10 @@ void BlockBasic::encodeBody(Encoder &encoder) const
cover.encode(encoder);
}
void BlockBasic::decodeBody(Decoder &decoder,BlockMap &resolver)
void BlockBasic::decodeBody(Decoder &decoder)
{
cover.decode(decoder, resolver.getAddressManager());
cover.decode(decoder);
}
void BlockBasic::printHeader(ostream &s) const
@ -3440,12 +3439,6 @@ FlowBlock *BlockSwitch::nextFlowAfter(const FlowBlock *bl) const
return getParent()->nextFlowAfter(this);
}
BlockMap::BlockMap(const BlockMap &op2)
{
manage = op2.manage;
}
/// \param bt is the block_type
/// \return a new instance of the specialized FlowBlock
FlowBlock *BlockMap::resolveBlock(FlowBlock::block_type bt)