webengine/osswebengine/JavaScriptCore/kjs/collector.cpp
changeset 5 10e98eab6f85
parent 1 7c90e6132015
child 40 8bfb9186a8b8
equal deleted inserted replaced
1:7c90e6132015 5:10e98eab6f85
    77 
    77 
    78 const size_t SPARE_EMPTY_BLOCKS = 2;
    78 const size_t SPARE_EMPTY_BLOCKS = 2;
    79 const size_t MIN_ARRAY_SIZE = 14;
    79 const size_t MIN_ARRAY_SIZE = 14;
    80 const size_t GROWTH_FACTOR = 2;
    80 const size_t GROWTH_FACTOR = 2;
    81 const size_t LOW_WATER_FACTOR = 4;
    81 const size_t LOW_WATER_FACTOR = 4;
    82 const size_t ALLOCATIONS_PER_COLLECTION = 4000;
    82 const size_t ALLOCATIONS_PER_COLLECTION = 1000;
    83 
    83 
    84 enum OperationInProgress { NoOperation, Allocation, Collection };
    84 enum OperationInProgress { NoOperation, Allocation, Collection };
    85 
    85 
    86 //forward declaration
    86 //forward declaration
    87 static void freeBlock(CollectorBlock* block);
    87 static void freeBlock(CollectorBlock* block);
   100 
   100 
   101   ~CollectorHeap() {
   101   ~CollectorHeap() {
   102       for(int i=0; i<usedBlocks; ++i) {
   102       for(int i=0; i<usedBlocks; ++i) {
   103           freeBlock(blocks[i]);
   103           freeBlock(blocks[i]);
   104       }
   104       }
       
   105       fastFree(blocks);
   105   }
   106   }
   106 };
   107 };
   107 
   108 
   108 static CollectorHeap heap = { 0, 0, 0, 0, 0, 0, 0, NoOperation };
   109 static CollectorHeap heap = { 0, 0, 0, 0, 0, 0, 0, NoOperation };
   109 
   110