X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=kernel%2Forb%2Finvoke.cc;h=888cff13cf5f6c0dc8a9d0da95cb77594c2493b3;hp=ced7ad8469db3508d6cbf4706d4f6a46e59b3c96;hb=ace23b1635b73fb54745a169363dd9e9fc81c96b;hpb=cc1bee96fd874ff2c85c765f81ec2f4ba4584b9d diff --git a/kernel/orb/invoke.cc b/kernel/orb/invoke.cc index ced7ad8..888cff1 100644 --- a/kernel/orb/invoke.cc +++ b/kernel/orb/invoke.cc @@ -55,15 +55,18 @@ namespace ORB { 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) @@ -75,7 +78,8 @@ namespace ORB { ObjectPtr *ptr = *rmap.find(obj); if (ptr) return ptr; - + +#if 0 int id = alloc.alloc(); ptr = &table.lookup(id, true)->ptr; @@ -86,11 +90,14 @@ namespace ORB { 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; @@ -101,6 +108,8 @@ namespace ORB { obj->aspace = aspace; return obj; +#endif + return NULL; } static void copy_data(u8 *dest, u8 *vaddr, size_t bufsize,