#include <PsnMomeArray.h>
Inheritance diagram for PsnMomeArray< T >:


Public Methods | |
| PsnMomeArray (size_t taille, PsnRelaxedMemoryManager &memoryManager) | |
| virtual | ~PsnMomeArray () |
| virtual T & | operator[] (int i) |
| virtual const T & | operator[] (int i) const |
| void * | operator new (size_t size, PsnRelaxedMemoryManager *memoryManager) |
| void | operator delete (void *, size_t) |
| virtual void | resync (PsnRelaxedMemoryManager *myMemory) const |
Protected Attributes | |
| unsigned int | _offset |
| size_t | _step |
| size_t | _taille |
Definition at line 27 of file PsnMomeArray.h.
|
||||||||||||||||
|
Definition at line 59 of file PsnMomeArray.h. References PsnMomeArray< T >::_offset, PsnMomeArray< T >::_step, HeapStackTop::globalMemoryManagerKey, and PsDate.
00060 : PsnAbstractArray<T> (taille), _taille(taille) { 00061 HeapStackTop specialContext(&memoryManager); 00062 //cerr<<"PsnMomeArray< T >::PsnMomeArray "<<sizeof(T)<<" "<<_taille<<endl; 00063 unsigned int initialOffset; 00064 _offset=(unsigned int)memoryManager.mmallocInPages(sizeof(T), &initialOffset, &_step); 00065 assert( pthread_getspecific(HeapStackTop::globalMemoryManagerKey) != NULL ); 00066 for (unsigned int i=0; i<taille ; i++) { 00067 memoryManager.anticipateFreeStoreAllocation(i); 00068 T * tmp = new((void *) (_offset + i *_step) ) T(); 00069 tmp->dateValeur = PsDate( - 2 ) ; 00070 } 00071 memoryManager.anticipateFreeStoreAllocation(-1); |
|
|||||||||
|
Definition at line 74 of file PsnMomeArray.h. References PsnMomeArray< T >::_offset, PsnRelaxedMemoryManager::mfreeInPages(), and PsnMemoryManager::whichMemoryManager().
00075 {
00076 PsnRelaxedMemoryManager * memoryManager = dynamic_cast<PsnRelaxedMemoryManager *>(PsnMemoryManager::whichMemoryManager((void *)_offset));
00077 //assert (memoryManager != NULL) ;
00078 memoryManager->mfreeInPages((void *)(_offset), sizeof(T));
|
|
||||||||||||||||
|
Definition at line 50 of file PsnMomeArray.h. References PsnRelaxedMemoryManager::mfreeForOnce(), and PsnMemoryManager::whichMemoryManager().
00051 {
00052 PsnRelaxedMemoryManager * freeFrom = dynamic_cast <PsnRelaxedMemoryManager * > (PsnMemoryManager::whichMemoryManager( addr )) ;
00053 //assert (freeFrom != NULL) ;
00054 freeFrom->mfreeForOnce(addr, size) ;
00055
|
|
||||||||||||||||
|
Definition at line 45 of file PsnMomeArray.h. References PsnRelaxedMemoryManager::mmallocForOnce().
00046 {
00047 return memoryManager->mmallocForOnce (size) ;
|
|
||||||||||
|
Implements PsnAbstractArray< T >. Definition at line 90 of file PsnMomeArray.h. References PsnMomeArray< T >::_offset, and PsnMomeArray< T >::_step.
|
|
||||||||||
|
Implements PsnAbstractArray< T >. Definition at line 82 of file PsnMomeArray.h. References PsnMomeArray< T >::_offset, and PsnMomeArray< T >::_step.
|
|
||||||||||
|
Definition at line 95 of file PsnMomeArray.h. References PsnMomeArray< T >::_offset, PsnMomeArray< T >::_step, PsnMomeArray< T >::_taille, PsnSharedMemoryManager::globalAddressToLocal(), and PsnRelaxedMemoryManager::strongSynchronizeRegion().
00096 {
00097 myMemory->strongSynchronizeRegion( (myMemory->globalAddressToLocal((void *)_offset)/4096) * 4096,
00098 _step * _taille);
|
|
|||||
|
Definition at line 37 of file PsnMomeArray.h. Referenced by PsnMomeArray< T >::operator[](), PsnMomeArray< T >::PsnMomeArray(), PsnMomeArray< T >::resync(), and PsnMomeArray< T >::~PsnMomeArray(). |
|
|||||
|
Definition at line 38 of file PsnMomeArray.h. Referenced by PsnMomeArray< T >::operator[](), PsnMomeArray< T >::PsnMomeArray(), and PsnMomeArray< T >::resync(). |
|
|||||
|
Definition at line 39 of file PsnMomeArray.h. Referenced by PsnMomeArray< T >::resync(). |
| Documentation generated on Mon Nov 25 15:26:09 2002 |
Generated with doxygen 1.2.12 by Dimitri van Heesch , 1997-2001 |