亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? processheap.h

?? newos is new operation system
?? H
字號(hào):
///-*-C++-*-////////////////////////////////////////////////////////////////////// Hoard: A Fast, Scalable, and Memory-Efficient Allocator//        for Shared-Memory Multiprocessors// Contact author: Emery Berger, http://www.cs.utexas.edu/users/emery//// Copyright (c) 1998-2000, The University of Texas at Austin.//// This library is free software; you can redistribute it and/or modify// it under the terms of the GNU Library General Public License as// published by the Free Software Foundation, http://www.fsf.org.//// This library is distributed in the hope that it will be useful, but// WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU// Library General Public License for more details./////////////////////////////////////////////////////////////////////////////////*  processheap.h  ------------------------------------------------------------------------  We use one processHeap for the whole program.  ------------------------------------------------------------------------  @(#) $Id: processheap.h,v 1.73 2001/03/22 22:10:55 emery Exp $  ------------------------------------------------------------------------  Emery Berger                    | <http://www.cs.utexas.edu/users/emery>  Department of Computer Sciences |             <http://www.cs.utexas.edu>  University of Texas at Austin   |                <http://www.utexas.edu>  ========================================================================*/#ifndef _PROCESSHEAP_H_#define _PROCESSHEAP_H_#include "config.h"#include <stdio.h>//#include <stdlib.h>#include "arch-specific.h"#include "heap.h"#if USE_PRIVATE_HEAPS#include "privateheap.h"#define HEAPTYPE privateHeap#else#define HEAPTYPE threadHeap#include "threadheap.h"#endif#if HEAP_LOG#include "memstat.h"#include "log.h"#endifclass processHeap : public hoardHeap {public:  // Always grab at least this many superblocks' worth of memory which  // we parcel out.  enum { REFILL_NUMBER_OF_SUPERBLOCKS = 16 };  processHeap (void);  ~processHeap (void) {#if HEAP_STATS    stats();#endif  }  // Memory deallocation routines.  void free (void * ptr);  // Print out statistics information.  void stats (void);  // Get a thread heap index.  inline int getHeapIndex (void);  // Get the thread heap with index i.  inline HEAPTYPE& getHeap (int i);  // Extract a superblock.  inline superblock * acquire (const int c,			       hoardHeap * dest);  // Get space for a superblock.  inline char * getSuperblockBuffer (void);  // Insert a superblock.  inline void release (superblock * sb);#if HEAP_LOG  // Get the log for index i.  inline Log<MemoryRequest>& getLog (int i);#endif#if HEAP_FRAG_STATS  // Declare that we have allocated an object.  void setAllocated (int requestedSize,		     int actualSize);  // Declare that we have deallocated an object.  void setDeallocated (int requestedSize,		       int actualSize);  // Return the number of wasted bytes at the high-water mark  // (maxAllocated - maxRequested)  inline int getFragmentation (void);  int getMaxAllocated (void) {    return _maxAllocated;  }  int getInUseAtMaxAllocated (void) {    return _inUseAtMaxAllocated;  }  int getMaxRequested (void) {    return _maxRequested;  }#endifprivate:  // Hide the lock & unlock methods.  void lock (void) {    hoardHeap::lock();  }  void unlock (void) {    hoardHeap::unlock();  }  // Prevent copying and assignment.  processHeap (const processHeap&);  const processHeap& operator= (const processHeap&);  // The per-thread heaps.  HEAPTYPE theap[MAX_HEAPS];#if HEAP_FRAG_STATS  // Statistics required to compute fragmentation.  We cannot  // unintrusively keep track of these on a multiprocessor, because  // this would become a bottleneck.  int _currentAllocated;  int _currentRequested;  int _maxAllocated;  int _maxRequested;  int _inUseAtMaxAllocated;  int _fragmentation;  // A lock to protect these statistics.  hoardLockType _statsLock;#endif#if HEAP_LOG  Log<MemoryRequest> _log[MAX_HEAPS + 1];#endif  // A lock for the superblock buffer.  hoardLockType _bufferLock;  char * 	_buffer;  int 		_bufferCount;};HEAPTYPE& processHeap::getHeap (int i){  assert (i >= 0);  assert (i < MAX_HEAPS);  return theap[i];}#if HEAP_LOGLog<MemoryRequest>& processHeap::getLog (int i){  assert (i >= 0);  assert (i < MAX_HEAPS + 1);  return _log[i];}#endif// unused, moved to heap.cpp#if 0// Return ceil(log_2(num)).// num must be positive.static int lg (int num){  assert (num > 0);  int power = 0;  int n = 1;  // Invariant: 2^power == n.  while (n < num) {    n <<= 1;    power++;  }  return power;}#endif// Hash out the thread id to a heap and return an index to that heap.int processHeap::getHeapIndex (void) {  // Here we use the number of processors as the maximum number of heaps.  // In fact, for efficiency, we just round up to the highest power of two,  // times two.  int tid = hoardGetThreadID() & _numProcessorsMask;  assert (tid < MAX_HEAPS);  return tid;}superblock * processHeap::acquire (const int sizeclass,				   hoardHeap * dest){  lock ();  // Remove the superblock with the most free space.  superblock * maxSb = removeMaxSuperblock (sizeclass);  if (maxSb) {    maxSb->setOwner (dest);  }  unlock ();  return maxSb;}inline char * processHeap::getSuperblockBuffer (void){  char * buf;  hoardLock (_bufferLock);  if (_bufferCount == 0) {    _buffer = (char *) hoardSbrk (SUPERBLOCK_SIZE * REFILL_NUMBER_OF_SUPERBLOCKS);    _bufferCount = REFILL_NUMBER_OF_SUPERBLOCKS;  }  buf = _buffer;  _buffer += SUPERBLOCK_SIZE;  _bufferCount--;  hoardUnlock (_bufferLock);  return buf;}// Put a superblock back into our list of superblocks.void processHeap::release (superblock * sb){  assert (EMPTY_FRACTION * sb->getNumAvailable() > sb->getNumBlocks());  lock();  // Insert the superblock.  insertSuperblock (sb->getBlockSizeClass(), sb, this);  unlock();}#endif // _PROCESSHEAP_H_

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一卡两卡| 日本免费新一区视频| 国产精品77777竹菊影视小说| 在线综合亚洲欧美在线视频 | 久久精品久久久精品美女| 欧美一区二区女人| 久久99国产精品久久99果冻传媒| 日韩免费看网站| 国产制服丝袜一区| 国产精品久久久久久久久久久免费看| 99久久伊人久久99| 国产精品久久夜| 欧美成人精品1314www| 国产主播一区二区三区| 水野朝阳av一区二区三区| 日韩一级片在线播放| 国产91精品露脸国语对白| 一区二区三区中文字幕电影 | 天堂影院一区二区| 亚洲欧美日韩一区二区| 91.com视频| 欧美午夜精品一区二区三区| 蜜桃精品视频在线观看| 国产精品日日摸夜夜摸av| 欧美在线一二三四区| 国产又黄又大久久| 一个色在线综合| 国产精品每日更新在线播放网址 | 欧美videos中文字幕| 欧美夫妻性生活| 在线观看一区不卡| 91偷拍与自偷拍精品| 日韩电影免费在线看| 亚洲一区二区在线免费看| 久久久久国产精品厨房| 欧美日韩国产美女| 成人精品gif动图一区| 日韩在线观看一区二区| 亚洲午夜久久久久中文字幕久| 久久日韩粉嫩一区二区三区| 欧美精品一区二区三区四区| 欧美中文字幕亚洲一区二区va在线 | 在线欧美日韩国产| 欧美主播一区二区三区| 欧美日韩激情一区| 欧美肥大bbwbbw高潮| 日韩一区二区不卡| 欧美电影免费观看高清完整版在线 | 一个色综合av| 午夜在线电影亚洲一区| 欧美高清在线一区| 欧美成人国产一区二区| 精品乱人伦一区二区三区| 久久亚洲精华国产精华液 | 精品美女一区二区| 欧美精品一区二区三区一线天视频| 精品国免费一区二区三区| 久久久国产精品不卡| 一区二区中文视频| 国产午夜精品美女毛片视频| 欧美精品第1页| 欧美mv和日韩mv的网站| 久久色在线观看| 中文字幕亚洲在| 亚洲h动漫在线| 国产最新精品精品你懂的| www.日韩av| 欧美另类变人与禽xxxxx| 欧美精品一区二区三区蜜桃| 国产精品成人网| 亚洲国产人成综合网站| 精品亚洲成a人| eeuss影院一区二区三区| 欧美日韩免费观看一区二区三区 | 亚洲综合色网站| 日本sm残虐另类| 天天做天天摸天天爽国产一区| 亚洲黄色录像片| 伊人色综合久久天天人手人婷| 日韩精品乱码免费| 国产成人精品免费看| 成人黄色小视频在线观看| 欧美亚洲动漫另类| 久久久不卡网国产精品二区| 一区二区三区不卡视频在线观看| 理论电影国产精品| 日本高清免费不卡视频| 色综合天天综合色综合av| 在线免费观看日韩欧美| 精品成人一区二区| 亚洲成人av一区二区| 国产高清亚洲一区| 欧美日韩国产一区二区三区地区| 国产日韩高清在线| 国产精品你懂的在线欣赏| 日韩vs国产vs欧美| 97久久精品人人做人人爽50路| 日韩精品最新网址| 亚洲另类春色校园小说| 国产成人精品影视| 日韩一级二级三级精品视频| 亚洲精品精品亚洲| 国产福利视频一区二区三区| 欧美久久免费观看| 综合久久久久综合| 日本午夜精品一区二区三区电影| eeuss鲁片一区二区三区在线看| 日韩一区二区免费在线电影| 亚洲资源在线观看| av一区二区久久| 久久嫩草精品久久久精品一| 蜜桃传媒麻豆第一区在线观看| 在线观看国产日韩| 亚洲日本一区二区三区| 国产宾馆实践打屁股91| 日韩一区二区三区在线观看| 亚洲国产视频一区二区| 色综合一个色综合亚洲| 中文字幕在线不卡一区| 国产成人免费网站| 久久先锋影音av| 精品一区二区久久久| 欧美一区二区三区人| 午夜日韩在线电影| 欧美三级电影在线观看| 亚洲一区影音先锋| 色哦色哦哦色天天综合| 精品福利二区三区| 免费在线成人网| 日韩一级二级三级| 老司机一区二区| 精品va天堂亚洲国产| 美女任你摸久久| 日韩欧美卡一卡二| 美女爽到高潮91| 精品国产第一区二区三区观看体验| 日韩电影在线观看一区| 欧美一级片在线看| 久久国产精品第一页| 26uuu国产日韩综合| 国产精品资源在线看| 国产欧美日韩在线观看| 高清不卡一区二区| 中文字幕五月欧美| 日本道色综合久久| 亚洲成a人片在线不卡一二三区| 欧美视频在线不卡| 日本伊人精品一区二区三区观看方式| 欧美日本乱大交xxxxx| 蜜臀久久99精品久久久久久9| 久久这里只有精品首页| 成人精品高清在线| 一区二区视频在线看| 欧美日韩高清一区二区三区| 日韩av电影天堂| 日韩精品一区在线| 国产91高潮流白浆在线麻豆| 中文字幕在线观看一区| 欧美午夜不卡视频| 久久精品国产成人一区二区三区| 久久在线观看免费| 99视频国产精品| 亚洲自拍欧美精品| 精品国产髙清在线看国产毛片 | 91女神在线视频| 亚洲一区二区三区在线| 欧美变态tickle挠乳网站| 国产成a人亚洲精| 一区二区免费看| 精品少妇一区二区三区在线播放| 成人av网址在线观看| 天天综合日日夜夜精品| 国产片一区二区| 欧美综合色免费| 国产一区二区0| 一区二区成人在线观看| 日韩一级成人av| av网站一区二区三区| 日韩高清欧美激情| 中文字幕不卡一区| 欧美一区二区视频网站| 成人黄色777网| 蜜桃久久av一区| 亚洲精品中文在线观看| 久久久亚洲高清| 欧美日韩高清不卡| caoporn国产一区二区| 免费看欧美美女黄的网站| 亚洲另类在线视频| 久久精品夜夜夜夜久久| 欧美精品黑人性xxxx| 91在线观看免费视频| 国产资源在线一区| 日韩电影在线免费| 一二三区精品福利视频| 欧美激情中文字幕| 精品少妇一区二区三区免费观看| 欧美私模裸体表演在线观看| 岛国一区二区三区| 亚洲精品少妇30p|