13fa42978SRene Gollent/*
23fa42978SRene Gollent * Copyright 2013, Rene Gollent, rene@gollent.com.
33fa42978SRene Gollent * Distributed under the terms of the MIT License.
43fa42978SRene Gollent */
53fa42978SRene Gollent
6c844f6e0SRene Gollent
73fa42978SRene Gollent#include "ReturnValueInfo.h"
83fa42978SRene Gollent
93fa42978SRene Gollent#include "CpuState.h"
103fa42978SRene Gollent
113fa42978SRene Gollent
123fa42978SRene GollentReturnValueInfo::ReturnValueInfo()
133fa42978SRene Gollent	:
143fa42978SRene Gollent	BReferenceable(),
153fa42978SRene Gollent	fAddress(0),
163fa42978SRene Gollent	fState(NULL)
173fa42978SRene Gollent{
183fa42978SRene Gollent}
193fa42978SRene Gollent
203fa42978SRene Gollent
213fa42978SRene GollentReturnValueInfo::ReturnValueInfo(target_addr_t address, CpuState* state)
223fa42978SRene Gollent	:
233fa42978SRene Gollent	BReferenceable(),
243fa42978SRene Gollent	fAddress(address),
253fa42978SRene Gollent	fState(state)
263fa42978SRene Gollent{
273fa42978SRene Gollent	state->AcquireReference();
283fa42978SRene Gollent}
293fa42978SRene Gollent
303fa42978SRene Gollent
313fa42978SRene GollentReturnValueInfo::~ReturnValueInfo()
323fa42978SRene Gollent{
333fa42978SRene Gollent	if (fState != NULL)
343fa42978SRene Gollent		fState->ReleaseReference();
353fa42978SRene Gollent}
363fa42978SRene Gollent
373fa42978SRene Gollent
383fa42978SRene Gollentvoid
393fa42978SRene GollentReturnValueInfo::SetTo(target_addr_t address, CpuState* state)
403fa42978SRene Gollent{
413fa42978SRene Gollent	fAddress = address;
423fa42978SRene Gollent
433fa42978SRene Gollent	if (fState != NULL)
443fa42978SRene Gollent		fState->ReleaseReference();
453fa42978SRene Gollent
463fa42978SRene Gollent	fState = state;
473fa42978SRene Gollent	fState->AcquireReference();
483fa42978SRene Gollent}
49