1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
/*
FALCON - The Falcon Programming Language
FILE: garbageable.cpp
Garbageable objects, declaration.
-------------------------------------------------------------------
Author: Giancarlo Niccolai
Begin: lun gen 22 2007
-------------------------------------------------------------------
(C) Copyright 2004: the FALCON developers (see list in AUTHORS file)
See LICENSE file for licensing details.
*/
/** \file
Garbageable items definition
*/
#include <falcon/setup.h>
#include <falcon/types.h>
#include <falcon/garbageable.h>
#include <falcon/vm.h>
namespace Falcon {
GarbageableBase::GarbageableBase( const GarbageableBase &other ):
m_gcStatus( other.m_gcStatus )
{}
GarbageableBase::~GarbageableBase()
{}
bool GarbageableBase::finalize()
{
delete this;
return true;
}
uint32 GarbageableBase::occupation()
{
return 0;
}
//========================================================================
Garbageable::Garbageable()
{
memPool->storeForGarbage(this);
}
Garbageable::Garbageable( const Garbageable &other ):
GarbageableBase( other )
{
memPool->storeForGarbage(this);
}
Garbageable::~Garbageable()
{}
void Garbageable::gcMark( uint32 mk )
{
mark( mk );
}
}
/* end of garbageable.cpp */
|