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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? thread_local_alloc.h

?? 著名的boost庫
?? H
字號:
/* 
 * Copyright (c) 2000-2005 by Hewlett-Packard Company.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
 * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program
 * for any purpose,  provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 */

/* Included indirectly from a thread-library-specific file.	*/
/* This is the interface for thread-local allocation, whose	*/
/* implementation is mostly thread-library-independent.		*/
/* Here we describe only the interface that needs to be known	*/
/* and invoked from the thread support layer;  the actual	*/
/* implementation also exports GC_malloc and friends, which	*/
/* are declared in gc.h.					*/

#include "private/gc_priv.h"

#if defined(THREAD_LOCAL_ALLOC)

#include "gc_inline.h"


# if defined USE_HPUX_TLS
#   error USE_HPUX_TLS macro was replaced by USE_COMPILER_TLS
# endif

# if !defined(USE_PTHREAD_SPECIFIC) && !defined(USE_WIN32_SPECIFIC) && \
     !defined(USE_WIN32_COMPILER_TLS) && !defined(USE_COMPILER_TLS) && \
     !defined(USE_CUSTOM_SPECIFIC)
#   if defined(MSWIN32) || defined(MSWINCE) || defined(CYGWIN32)
#     if defined(__GNUC__)  /* Fixed for versions past 2.95? */
#       define USE_WIN32_SPECIFIC
#     else
#       define USE_WIN32_COMPILER_TLS
#     endif /* !GNU */
#   elif defined(LINUX) && !defined(ARM32) && \
		 (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >=3))
#     define USE_COMPILER_TLS
#   elif (defined(GC_DGUX386_THREADS) || defined(GC_OSF1_THREADS) || \
         defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS)) || \
	 defined(GC_NETBSD_THREADS)
#     define USE_PTHREAD_SPECIFIC
#   elif defined(GC_HPUX_THREADS)
#     ifdef __GNUC__
#      define USE_PTHREAD_SPECIFIC
         /* Empirically, as of gcc 3.3, USE_COMPILER_TLS doesn't work.	*/
#     else
#      define USE_COMPILER_TLS
#     endif
#   else
#     define USE_CUSTOM_SPECIFIC  /* Use our own.	*/
#   endif
# endif

# include <stdlib.h>

/* One of these should be declared as the tlfs field in the	*/
/* structure pointed to by a GC_thread.				*/
typedef struct thread_local_freelists {
#   ifdef THREAD_LOCAL_ALLOC
	void * ptrfree_freelists[TINY_FREELISTS];
	void * normal_freelists[TINY_FREELISTS];
#	ifdef GC_GCJ_SUPPORT
	  void * gcj_freelists[TINY_FREELISTS];
#	  define ERROR_FL (void *)(-1)
	  	/* Value used for gcj_freelist[-1]; allocation is 	*/
	  	/* erroneous.						*/
#	endif
		/* Free lists contain either a pointer or a small count */
		/* reflecting the number of granules allocated at that	*/
		/* size.						*/
		/* 0 ==> thread-local allocation in use, free list	*/
		/*       empty.						*/
		/* > 0, <= DIRECT_GRANULES ==> Using global allocation,	*/
		/*       too few objects of this size have been		*/
		/* 	 allocated by this thread.			*/
		/* >= HBLKSIZE  => pointer to nonempty free list.	*/
		/* > DIRECT_GRANULES, < HBLKSIZE ==> transition to	*/
		/*    local alloc, equivalent to 0.			*/
#	define DIRECT_GRANULES (HBLKSIZE/GRANULE_BYTES)
		/* Don't use local free lists for up to this much 	*/
		/* allocation.						*/

#   endif
} *GC_tlfs;

# if defined(USE_PTHREAD_SPECIFIC)
#   define GC_getspecific pthread_getspecific
#   define GC_setspecific pthread_setspecific
#   define GC_key_create pthread_key_create
#   define GC_remove_specific(key)  /* No need for cleanup on exit. */
    typedef pthread_key_t GC_key_t;
# elif defined(USE_COMPILER_TLS) || defined(USE_WIN32_COMPILER_TLS)
#   define GC_getspecific(x) (x)
#   define GC_setspecific(key, v) ((key) = (v), 0)
#   define GC_key_create(key, d) 0
#   define GC_remove_specific(key)  /* No need for cleanup on exit. */
    typedef void * GC_key_t;
# elif defined(USE_WIN32_SPECIFIC)
#   include <windows.h>
#   define GC_getspecific TlsGetValue
#   define GC_setspecific(key, v) !TlsSetValue(key, v)
    	/* We assume 0 == success, msft does the opposite.	*/
#   define GC_key_create(key, d)  \
	((d) != 0? (ABORT("Destructor unsupported by TlsAlloc"),0) \
	 	 : (*(key) = TlsAlloc(), 0))
#   define GC_remove_specific(key)  /* No need for cleanup on thread exit. */
    	/* Need TlsFree on process exit/detach ? */
    typedef DWORD GC_key_t;
# elif defined(USE_CUSTOM_SPECIFIC)
#   include "private/specific.h"
# else
#   error implement me
# endif


/* Each thread structure must be initialized.	*/
/* This call must be made from the new thread.	*/
/* Caller holds allocation lock.		*/
void GC_init_thread_local(GC_tlfs p);

/* Called when a thread is unregistered, or exits.	*/
/* We hold the allocator lock.				*/
void GC_destroy_thread_local(GC_tlfs p);

/* The thread support layer must arrange to mark thread-local	*/
/* free lists explicitly, since the link field is often 	*/
/* invisible to the marker.  It knows hoe to find all threads;	*/
/* we take care of an individual thread freelist structure.	*/
void GC_mark_thread_local_fls_for(GC_tlfs p);

extern
#if defined(USE_COMPILER_TLS)
  __thread
#elif defined(USE_WIN32_COMPILER_TLS)
  __declspec(thread)
#endif
GC_key_t GC_thread_key;

/* This is set up by the thread_local_alloc implementation.  But the	*/
/* thread support layer calls GC_remove_specific(GC_thread_key)		*/
/* before a thread exits.						*/
/* And the thread support layer makes sure that GC_thread_key is traced,*/
/* if necessary.							*/

#endif /* THREAD_LOCAL_ALLOC */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新国产の精品合集bt伙计| 久久av资源站| 亚洲男人的天堂在线aⅴ视频| 国产欧美一区二区三区网站| 精品1区2区在线观看| 欧美xxxxx裸体时装秀| 欧美一区二区福利视频| 欧美一三区三区四区免费在线看| 欧美精品色综合| 91精品国产综合久久久久久久久久 | 国产精品日韩精品欧美在线 | 天天综合色天天| 五月天中文字幕一区二区| 亚洲成人综合在线| 日av在线不卡| 黄一区二区三区| 国产69精品久久99不卡| av在线不卡电影| 一本大道久久a久久综合婷婷| 欧洲av一区二区嗯嗯嗯啊| 欧美三区免费完整视频在线观看| 欧美人伦禁忌dvd放荡欲情| 日韩亚洲欧美一区| 国产欧美一区二区精品久导航| 国产精品日韩成人| 亚洲已满18点击进入久久| 日本成人在线看| 国产成人av网站| 日本久久精品电影| 91精品婷婷国产综合久久性色| 日韩欧美国产高清| 国产精品伦理一区二区| 一区二区三区欧美视频| 男人操女人的视频在线观看欧美| 国产精品综合av一区二区国产馆| 成人精品一区二区三区中文字幕| 色噜噜狠狠成人中文综合| 欧美二区在线观看| 国产色一区二区| 亚洲综合视频在线| 激情综合色综合久久| 99re在线视频这里只有精品| 欧美日韩的一区二区| 久久色视频免费观看| 亚洲欧美电影一区二区| 久久精品国产精品青草| 92精品国产成人观看免费 | 国产午夜精品美女毛片视频| 亚洲女女做受ⅹxx高潮| 麻豆免费精品视频| 91在线视频播放地址| 欧美一区二区三区四区五区 | 国产精品―色哟哟| 婷婷夜色潮精品综合在线| 国产精品福利av| 亚洲专区一二三| 国产一区二区中文字幕| 日本高清免费不卡视频| 欧美成人vps| 一个色妞综合视频在线观看| 激情小说欧美图片| 日本精品免费观看高清观看| 欧美大肚乱孕交hd孕妇| 亚洲乱码中文字幕| 国产精品亚洲а∨天堂免在线| 欧美又粗又大又爽| 国产欧美日韩亚州综合| 热久久一区二区| 日本韩国一区二区三区视频| 欧美va天堂va视频va在线| 一区二区三区四区乱视频| 国产成人在线观看免费网站| 6080国产精品一区二区| 亚洲精品免费在线| 成人精品gif动图一区| 欧美一激情一区二区三区| 一区二区三区四区在线播放 | 国产一区中文字幕| 欧美巨大另类极品videosbest| 国产精品久久国产精麻豆99网站| 日韩精品1区2区3区| 91成人看片片| 亚洲色图20p| 成人伦理片在线| 久久一夜天堂av一区二区三区| 天天色图综合网| 欧美亚洲自拍偷拍| 亚洲欧美一区二区三区国产精品 | 亚洲欧美中日韩| 国产精品自拍网站| 精品少妇一区二区三区视频免付费| 亚洲图片一区二区| 欧美影视一区二区三区| 亚洲男女毛片无遮挡| 欧美一区二区三区人| 午夜欧美在线一二页| 在线观看免费亚洲| 亚洲欧美日韩国产一区二区三区| 粉嫩高潮美女一区二区三区| 国产午夜精品福利| 国产一区二区在线观看视频| 日韩欧美国产综合一区| 免费精品视频在线| 日韩精品一区二区三区老鸭窝| 日韩成人精品在线| 欧美一级久久久久久久大片| 日韩激情一二三区| 欧美一区二区播放| 美腿丝袜亚洲综合| 欧美成人综合网站| 国内久久精品视频| 国产视频一区不卡| 成人爱爱电影网址| 综合av第一页| 在线欧美日韩精品| 午夜精品久久久久久久久| 欧美人狂配大交3d怪物一区| 日韩精品欧美精品| 欧美成人性战久久| 国产精品综合av一区二区国产馆| 国产婷婷精品av在线| 99久久伊人精品| 夜夜精品浪潮av一区二区三区 | 亚洲日本va在线观看| 在线视频一区二区免费| 视频一区在线视频| 亚洲精品在线观看网站| 国产iv一区二区三区| 中文字幕亚洲一区二区va在线| 91搞黄在线观看| 日韩精品一卡二卡三卡四卡无卡| 欧美www视频| 成人丝袜高跟foot| 亚洲一区免费在线观看| 日韩一级黄色片| 成人久久视频在线观看| 亚洲一区在线观看视频| 日韩欧美中文字幕一区| 不卡电影一区二区三区| 亚洲国产美国国产综合一区二区| 欧美一区二区三区人| 国产a久久麻豆| 亚洲小说春色综合另类电影| 欧美r级在线观看| 91色乱码一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 久久免费的精品国产v∧| a美女胸又www黄视频久久| 午夜影视日本亚洲欧洲精品| 久久久久久久综合日本| 91福利在线看| 国产制服丝袜一区| 亚洲一区二区三区爽爽爽爽爽| 精品久久久久久无| 色88888久久久久久影院野外| 久久激五月天综合精品| 亚洲丝袜精品丝袜在线| 日韩欧美亚洲国产另类 | 亚洲精品一区二区三区影院 | 欧美最新大片在线看| 国模冰冰炮一区二区| 亚洲综合激情另类小说区| 久久亚洲一区二区三区明星换脸 | 国产日韩欧美在线一区| 欧美精品一二三| a级高清视频欧美日韩| 麻豆视频一区二区| 一区二区高清免费观看影视大全 | 久久蜜桃香蕉精品一区二区三区| 在线观看三级视频欧美| 国产不卡免费视频| 麻豆一区二区99久久久久| 亚洲免费三区一区二区| 欧美成人高清电影在线| 欧美日韩一区中文字幕| www.日韩av| 国产高清精品久久久久| 日韩国产欧美三级| 亚洲精品乱码久久久久久| 久久久精品天堂| 欧美一区二区三区四区视频 | 欧美韩国日本综合| 欧美一级视频精品观看| 91精彩视频在线| 99久久免费国产| 国产精品亚洲专一区二区三区 | 久久久久久久综合狠狠综合| 777xxx欧美| 精品视频在线免费看| 色琪琪一区二区三区亚洲区| 成人精品国产免费网站| 国产精品综合一区二区| 男女男精品视频| 日韩精品亚洲专区| 午夜精品国产更新| 亚洲国产视频直播| 亚洲国产一区二区三区| 亚洲精品亚洲人成人网在线播放| 国产精品乱码人人做人人爱| 国产欧美日韩不卡|