Object *IDSpace::lookup(ID id)
{
+#if 0
// FIXME: refcounting
ObjTableEntry *ote = table.lookup(id);
- if (!ote || !ote->hdr.Valid)
+ if (!ote || ote->hdr.id == invalid_id)
return NULL;
if (ote->hdr.Pointer)
return ote->ptr.object;
return &ote->obj;
+#endif
+ return NULL;
}
ObjectHdr *IDSpace::get_local(Object *obj)
ObjectPtr *ptr = *rmap.find(obj);
if (ptr)
return ptr;
-
+
+#if 0
int id = alloc.alloc();
ptr = &table.lookup(id, true)->ptr;
ptr->object = obj;
rmap.add(obj, ptr);
+#endif
return ptr;
+
}
Object *IDSpace::newobj(Mem::ProcAddrSpace *aspace)
{
+#if 0
Lock::AutoSpinLock autolock(lock);
int id = alloc.alloc();
Object *obj = &table.lookup(id, true)->obj;
obj->aspace = aspace;
return obj;
+#endif
+ return NULL;
}
static void copy_data(u8 *dest, u8 *vaddr, size_t bufsize,
size_t len = round_up(spib->segments[i].len, 3);
if (len + copied > bufsize || len + copied < copied)
- throw_idl(InvalidArgument, 0, countarray("copy_data: bad size"));
+ throw_idl(InvalidArgument, 0, countarray<ORBMM>("copy_data: bad size"));
dpib->segments[i].ptr = vaddr;
dpib->segments[i].len = len;
printf("objlist len %u\n", pib.objlist_len);
if (pib.objlist_len == 0)
- throw_idl(InvalidArgument, 0, countarray("no objects"));
+ throw_idl(InvalidArgument, 0, countarray<ORBMM>("no objects"));
// FIXME: declare constants somewhere
if (pib.num_segments > 64)
- throw_idl(InvalidArgument, 0, countarray("too many segments"));
+ throw_idl(InvalidArgument, 0, countarray<ORBMM>("too many segments"));
if (pib.objlist_len > 4096)
- throw_idl(InvalidArgument, 0, countarray("too many objects"));
+ throw_idl(InvalidArgument, 0, countarray<ORBMM>("too many objects"));
printf("&pib.objlist[0] %p\n", &pib.objlist[0]);
buflen += sizeof(ParamInfoBlock);
buflen += pib.num_segments * sizeof(ParamInfoBlock::Segment);
- u8 *args = new(orbmm) u8[buflen];
- u8 *copy = new(orbmm) u8[pib.copy_size];
+ u8 *args = new(ORBMM()) u8[buflen];
+ u8 *copy = new(ORBMM()) u8[pib.copy_size];
ParamInfoBlock *dpib = reinterpret_cast<ParamInfoBlock *>
(args + piboff);
dpib->objlist = reinterpret_cast<ID *>(args + datalen);