(file) Return to SCMOStreamer.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/SCMOStreamer.cpp between version 1.1.2.5 and 1.3

version 1.1.2.5, 2009/12/03 15:53:27 version 1.3, 2009/12/16 15:17:07
Line 122 
Line 122 
 // instance of SCMOStreamer, including their referenced Classes and Instances // instance of SCMOStreamer, including their referenced Classes and Instances
 bool SCMOStreamer::deserialize() bool SCMOStreamer::deserialize()
 { {
     PEG_METHOD_ENTER(TRC_DISPATCHER,"SCMOStreamer::serialize");      PEG_METHOD_ENTER(TRC_DISPATCHER,"SCMOStreamer::deserialize");
  
     if(!_getClasses(_buf,_classTable))     if(!_getClasses(_buf,_classTable))
     {     {
Line 182 
Line 182 
 { {
     SCMOResolutionTable tableEntry;     SCMOResolutionTable tableEntry;
  
     tableEntry.scmbptr = (void*)&inst;      tableEntry.scmbptr = (Uint64)(void*)&inst;
     tableEntry.index = idx;     tableEntry.index = idx;
  
     _instResolverTable.append(tableEntry);     _instResolverTable.append(tableEntry);
Line 208 
Line 208 
     // Now build a new entry for the class resolution table     // Now build a new entry for the class resolution table
     SCMOResolutionTable tableEntry;     SCMOResolutionTable tableEntry;
  
     tableEntry.scmbptr = (void*)inst.inst.hdr;      tableEntry.scmbptr = (Uint64)(void*)inst.inst.hdr;
     tableEntry.index = clsIdx;     tableEntry.index = clsIdx;
  
     _clsResolverTable.append(tableEntry);     _clsResolverTable.append(tableEntry);
Line 226 
Line 226 
 Uint32 SCMOStreamer::_appendToClassTable(const SCMOInstance& inst) Uint32 SCMOStreamer::_appendToClassTable(const SCMOInstance& inst)
 { {
     Uint32 clsTableSize = _classTable.size();     Uint32 clsTableSize = _classTable.size();
     SCMBClass_Main* clsPtr = inst.inst.hdr->theClass->cls.hdr;      SCMBClass_Main* clsPtr = inst.inst.hdr->theClass.ptr->cls.hdr;
  
     const SCMBClass_Main* const* clsArray = _classTable.getData();     const SCMBClass_Main* const* clsArray = _classTable.getData();
  
Line 262 
Line 262 
     fprintf(stderr,"INSTANCES:\n");     fprintf(stderr,"INSTANCES:\n");
     for (Uint32 x=0; x < _clsResolverTable.size(); x++)     for (Uint32 x=0; x < _clsResolverTable.size(); x++)
     {     {
         fprintf(stderr,"\t[%2d] I = %p - cls = %2d\n",          fprintf(stderr,"\t[%2d] I = %llx - cls = %2d\n",
                 x,                 x,
                 _clsResolverTable[x].scmbptr,                 _clsResolverTable[x].scmbptr,
                 _clsResolverTable[x].index);                 _clsResolverTable[x].index);
Line 271 
Line 271 
     fprintf(stderr,"INSTANCE REFERENCES:\n");     fprintf(stderr,"INSTANCE REFERENCES:\n");
     for (Uint32 x=0; x < _instResolverTable.size(); x++)     for (Uint32 x=0; x < _instResolverTable.size(); x++)
     {     {
         fprintf(stderr,"\t[%2d] R = %p - I = %2d\n",          fprintf(stderr,"\t[%2d] R = %llx - I = %2d\n",
                 x,                 x,
                 _instResolverTable[x].scmbptr,                 _instResolverTable[x].scmbptr,
                 _instResolverTable[x].index);                 _instResolverTable[x].index);
Line 301 
Line 301 
         out.putUint64(size);         out.putUint64(size);
  
         // Write class data         // Write class data
         out.putBytes(clsArray[x],size);          out.putBytes(clsArray[x],(size_t)size);
     }     }
  
 } }
Line 328 
Line 328 
         }         }
  
         // Read class data         // Read class data
         SCMBClass_Main* scmbClassPtr = (SCMBClass_Main*)malloc(size);          SCMBClass_Main* scmbClassPtr = (SCMBClass_Main*)malloc((size_t)size);
         if (0 == scmbClassPtr)         if (0 == scmbClassPtr)
         {         {
             // Not enough memory!             // Not enough memory!
             throw PEGASUS_STD(bad_alloc)();             throw PEGASUS_STD(bad_alloc)();
         }         }
  
         if (!in.getBytes(scmbClassPtr,size))          if (!in.getBytes(scmbClassPtr,(size_t)size))
         {         {
             return false;             return false;
         }         }
Line 385 
Line 385 
         _buf.putUint64(size);         _buf.putUint64(size);
  
         // Write class data         // Write class data
         _buf.putBytes(instPtr,size);          _buf.putBytes(instPtr,(size_t)size);
     }     }
 } }
  
Line 443 
Line 443 
         // updates without reallocation         // updates without reallocation
  
         // Read instance data         // Read instance data
         SCMBInstance_Main* scmbInstPtr = (SCMBInstance_Main*)malloc(size+64);          SCMBInstance_Main* scmbInstPtr =
               (SCMBInstance_Main*)malloc((size_t)size+64);
         if (0 == scmbInstPtr)         if (0 == scmbInstPtr)
         {         {
             // Not enough memory!             // Not enough memory!
             throw PEGASUS_STD(bad_alloc)();             throw PEGASUS_STD(bad_alloc)();
         }         }
  
         if(!_buf.getBytes(scmbInstPtr,size))          if(!_buf.getBytes(scmbInstPtr,(size_t)size))
         {         {
             return false;             return false;
         }         }
Line 459 
Line 460 
         scmbInstPtr->header.totalSize = size+64;         scmbInstPtr->header.totalSize = size+64;
         scmbInstPtr->header.freeBytes = 64;         scmbInstPtr->header.freeBytes = 64;
         scmbInstPtr->refCount.set(0);         scmbInstPtr->refCount.set(0);
         scmbInstPtr->theClass =          scmbInstPtr->theClass.ptr =
              new SCMOClass((SCMBClass_Main*)clsArray[instArray[x].index]);              new SCMOClass((SCMBClass_Main*)clsArray[instArray[x].index]);
  
         SCMOInstance* scmoInstPtr = new SCMOInstance(scmbInstPtr);         SCMOInstance* scmoInstPtr = new SCMOInstance(scmbInstPtr);
Line 482 
Line 483 
             }             }
         }         }
  
         instArray[x].scmbptr = (void*)scmoInstPtr;          instArray[x].scmbptr = (Uint64)(void*)scmoInstPtr;
  
 #ifdef PEGASUS_DEBUG #ifdef PEGASUS_DEBUG
         _clsResolverTable.append(instArray[x]);         _clsResolverTable.append(instArray[x]);


Legend:
Removed from v.1.1.2.5  
changed lines
  Added in v.1.3

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2