]> git.buserror.net Git - polintos/scott/priv.git/blobdiff - kernel/orb/invoke.cc
Move arrays to Util namespace, add parametric allocator.
[polintos/scott/priv.git] / kernel / orb / invoke.cc
index 7fffb61ef2fde1bb1b8c00e17abea2aec434bcf5..ced7ad8469db3508d6cbf4706d4f6a46e59b3c96 100644 (file)
@@ -116,7 +116,7 @@ namespace ORB {
                        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;
@@ -161,13 +161,13 @@ namespace ORB {
                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]);
                
@@ -190,8 +190,8 @@ namespace ORB {
                        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);