xo-object2 stack: RAllocator.assign_barrier() works.
use for DList::assign_head(), DArray::assign_at().
This commit is contained in:
parent
024574350a
commit
6c8da340c8
2 changed files with 13 additions and 12 deletions
|
|
@ -82,10 +82,11 @@ namespace xo {
|
|||
|
||||
scope log(XO_DEBUG(true), "need write barrier");
|
||||
|
||||
mm.barrier_assign_aux(this,
|
||||
elts_[ix].iface(), elts_[ix].opaque_data_addr(),
|
||||
x.iface(), x.opaque_data());
|
||||
// mm_do_assign(gc, this, &elts_[ix], x);
|
||||
mm.barrier_assign(this, &elts_[ix], x);
|
||||
|
||||
//mm.barrier_assign_aux(this,
|
||||
// elts_[ix].iface(), elts_[ix].opaque_data_addr(),
|
||||
// x.iface(), x.opaque_data());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -101,11 +102,11 @@ namespace xo {
|
|||
void * mem = &(elts_[size_]);
|
||||
new (mem) obj<AGCObject>();
|
||||
|
||||
mm.barrier_assign_aux(this,
|
||||
elts_[size_].iface(), elts_[size_].opaque_data_addr(),
|
||||
elt.iface(), elt.opaque_data());
|
||||
mm.barrier_assign(this, &elts_[size_], elt);
|
||||
|
||||
//mm_do_assign(gc, this, &(elts_[size_]), elt);
|
||||
//mm.barrier_assign_aux(this,
|
||||
// elts_[size_].iface(), elts_[size_].opaque_data_addr(),
|
||||
// elt.iface(), elt.opaque_data());
|
||||
|
||||
++(this->size_);
|
||||
|
||||
|
|
|
|||
|
|
@ -124,11 +124,11 @@ namespace xo {
|
|||
{
|
||||
scope log(XO_DEBUG(true), xtag("mm.data", mm.data_));
|
||||
|
||||
mm.barrier_assign_aux(this,
|
||||
head_.iface(), head_.opaque_data_addr(),
|
||||
rhs.iface(), rhs.opaque_data());
|
||||
mm.barrier_assign(this, &head_, rhs);
|
||||
|
||||
//mm_do_assign(gc, this, &head_, rhs);
|
||||
//mm.barrier_assign_aux(this,
|
||||
// head_.iface(), head_.opaque_data_addr(),
|
||||
// rhs.iface(), rhs.opaque_data());
|
||||
}
|
||||
|
||||
// vestigial. used in MockCollector
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue