xo-alloc / xo-ordinaltree: work on dual-alloc-policy trees
This commit is contained in:
parent
fd6bdd93c3
commit
77f84cabbb
3 changed files with 10 additions and 2 deletions
|
|
@ -318,7 +318,8 @@ namespace xo {
|
|||
* @param rhs. new target for @p *lhs
|
||||
**/
|
||||
virtual void assign_member(IObject * parent, IObject ** lhs, IObject* rhs) final override;
|
||||
|
||||
/** evacuate @p *lhs and replace with forwarding pointer **/
|
||||
virtual void forward_inplace(IObject ** lhs) final override;
|
||||
/** during GC check for source objects owned by GC.
|
||||
* See Object::_shallow_move.
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -568,6 +568,12 @@ namespace xo {
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
GC::forward_inplace(IObject ** lhs)
|
||||
{
|
||||
Object::_forward_inplace(lhs, this);
|
||||
}
|
||||
|
||||
bool
|
||||
GC::check_owned(IObject * src) const
|
||||
{
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@ namespace xo {
|
|||
Object::mm = nullptr;
|
||||
|
||||
IObject *
|
||||
Object::_forward(IObject * src, gc::IAlloc * gc)
|
||||
Object::_forward(IObject * src,
|
||||
gc::IAlloc * gc)
|
||||
{
|
||||
if (!src)
|
||||
return src;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue