Changeset 12a919e in tol
- Timestamp:
- Mar 16, 2011, 3:02:15 PM (16 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- 9247be0
- Parents:
- d337602
- Location:
- tol/bbasic
- Files:
-
- 3 edited
-
cor.cpp (modified) (1 diff)
-
tol_bcore.h (modified) (1 diff)
-
tol_bfsmem.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tol/bbasic/cor.cpp
rd337602 r12a919e 56 56 return(nCore_); 57 57 } 58 59 60 BCore::MemAssignInfo::MemAssignInfo(BCore* address) 61 { 62 SetAddress(address); 63 } 64 65 void BCore::MemAssignInfo::SetAddress(BCore* address) 66 { 67 address_ = address; 68 if(address) 69 { 70 size_ = address_->GetSizeOf(); 71 pageNum_ = address_->GetPageNum(); 72 assert(size_); 73 } 74 else 75 { 76 size_ = 0; 77 pageNum_ = 0; 78 } 79 } 80 81 short BCore::MemAssignInfo::IsAssigned() 82 { 83 if(!address_) { return(0); } 84 else if(!size_) { return(0); } 85 { 86 BFixedSizeMemoryBase* hnd = BFixedSizeMemoryBase::Instance(size_); 87 if(!hnd) { return(-1); } 88 else { return(hnd->IsAssigned(address_,pageNum_)); } 89 } 90 } 91 92 void BCore::MemAssignInfo::SafeDestroy() 93 { 94 if(IsAssigned()>0) 95 { 96 address_->Destroy(); 97 address_ = NULL; 98 } 99 } -
tol/bbasic/tol_bcore.h
rd337602 r12a919e 62 62 virtual BFixedSizeMemoryBase* GetMemHandler() const { return(NULL); } 63 63 virtual unsigned short GetPageNum () const { return(0); } 64 virtual size_t GetSizeOf() const { return(0); } 64 65 struct TOL_API MemAssignInfo 65 66 { 66 67 BCore* address_; 68 size_t size_; 67 69 unsigned short pageNum_; 68 70 69 MemAssignInfo(BCore* address) 70 { 71 SetAddress(address); 72 } 73 74 void SetAddress(BCore* address) 75 { 76 address_ = address; 77 if(address) 78 { 79 pageNum_ = address_->GetPageNum(); 80 } 81 else 82 { 83 pageNum_ = 0; 84 } 85 } 86 87 short IsAssigned() 88 { 89 if(!address_) { return(0); } 90 else 91 { 92 BFixedSizeMemoryBase* hnd = BFSMSingleton<sizeof(*address_)>::Handler(); 93 if(!hnd) { return(-1); } 94 else { return(hnd->IsAssigned(address_,pageNum_)); } 95 } 96 } 97 98 void SafeDestroy() 99 { 100 if(IsAssigned()>0) 101 { 102 address_->Destroy(); 103 address_ = NULL; 104 } 105 } 71 MemAssignInfo(BCore* address); 72 void SetAddress(BCore* address); 73 short IsAssigned(); 74 void SafeDestroy(); 106 75 }; 107 76 #else -
tol/bbasic/tol_bfsmem.h
rd337602 r12a919e 63 63 return(BFSMSingleton<sizeof(ANY_)>::Handler()); \ 64 64 } \ 65 size_t GetSizeOf() const \ 66 { \ 67 return(sizeof(ANY_)); \ 68 } \ 65 69 unsigned short GetPageNum() const \ 66 70 { \
Note: See TracChangeset
for help on using the changeset viewer.
