gc_platform.h File Reference


Defines

#define MAP_ANONYMOUS   MAP_ANON
 
Author:
Xiao-Feng Li, 2006/10/05

#define PREFETCH_SUPPORTED
#define FORCE_INLINE   inline
#define PREFETCH   prefetchnta
#define ABS_DIFF(x, y)   (((x)>(y))?((x)-(y)):((y)-(x)))
#define USEC_PER_SEC   INT64_C(1000000)
#define VmThreadHandle   void*
#define VmEventHandle   hysem_t
#define THREAD_OK   TM_ERROR_NONE
#define THREAD_GROUP   hythread_group_t
#define try_lock(x)   (!atomic_cas32(&(x), LOCKED, FREE_LOCK))
#define lock(x)   while( !try_lock(x)){ while( x==LOCKED ){ vm_thread_yield();}}
#define unlock(x)   do{ x = FREE_LOCK;}while(0)

Typedefs

typedef volatile unsigned int SpinLock

Enumerations

enum  Lock_State { FREE_LOCK, LOCKED }

Functions

hythread_group_t get_gc_thread_group ()
int vm_wait_event (hysem_t event)
int vm_set_event (hysem_t event)
int vm_reset_event (hysem_t event)
int vm_create_event (hysem_t *event)
void vm_thread_yield ()
void * vm_thread_local ()
int vm_create_thread (int(*func)(void *), void *data)
int vm_thread_is_suspend_enable ()
void * atomic_casptr (volatile void **mem, void *with, const void *cmp)
POINTER_SIZE_INT atomic_casptrsz (volatile POINTER_SIZE_INT *mem, POINTER_SIZE_INT swap, POINTER_SIZE_INT cmp)
uint32 atomic_cas32 (volatile unsigned int *mem, apr_uint32_t swap, apr_uint32_t cmp)
uint32 atomic_inc32 (volatile unsigned int *mem)
uint32 atomic_dec32 (volatile unsigned int *mem)
uint32 atomic_add32 (volatile unsigned int *mem, unsigned int val)
unsigned int vm_get_system_alloc_unit ()
void * vm_map_mem (void *start, POINTER_SIZE_INT size)
Boolean vm_unmap_mem (void *start, POINTER_SIZE_INT size)
void * vm_alloc_mem (void *start, POINTER_SIZE_INT size)
Boolean vm_free_mem (void *start, POINTER_SIZE_INT size)
void * vm_reserve_mem (void *start, POINTER_SIZE_INT size)
Boolean vm_release_mem (void *start, POINTER_SIZE_INT size)
void * vm_commit_mem (void *start, POINTER_SIZE_INT size)
Boolean vm_decommit_mem (void *start, POINTER_SIZE_INT size)
void mem_fence ()
int64 time_now ()
void string_to_upper (char *s)

Variables

char * large_page_hint
hythread_group_t gc_thread_group


Define Documentation

#define MAP_ANONYMOUS   MAP_ANON

Author:
Xiao-Feng Li, 2006/10/05

#define PREFETCH_SUPPORTED

#define FORCE_INLINE   inline

#define PREFETCH   prefetchnta

#define ABS_DIFF ( x,
 )     (((x)>(y))?((x)-(y)):((y)-(x)))

#define USEC_PER_SEC   INT64_C(1000000)

#define VmThreadHandle   void*

#define VmEventHandle   hysem_t

#define THREAD_OK   TM_ERROR_NONE

#define THREAD_GROUP   hythread_group_t

#define try_lock (  )     (!atomic_cas32(&(x), LOCKED, FREE_LOCK))

#define lock (  )     while( !try_lock(x)){ while( x==LOCKED ){ vm_thread_yield();}}

#define unlock (  )     do{ x = FREE_LOCK;}while(0)


Typedef Documentation

typedef volatile unsigned int SpinLock


Enumeration Type Documentation

enum Lock_State

Enumerator:
FREE_LOCK 
LOCKED 


Function Documentation

hythread_group_t get_gc_thread_group (  ) 

int vm_wait_event ( hysem_t  event  ) 

int vm_set_event ( hysem_t  event  ) 

int vm_reset_event ( hysem_t  event  ) 

int vm_create_event ( hysem_t *  event  ) 

void vm_thread_yield (  ) 

void* vm_thread_local (  ) 

int vm_create_thread ( int(*)(void *)  func,
void *  data 
)

int vm_thread_is_suspend_enable (  ) 

void* atomic_casptr ( volatile void **  mem,
void *  with,
const void *  cmp 
)

POINTER_SIZE_INT atomic_casptrsz ( volatile POINTER_SIZE_INT *  mem,
POINTER_SIZE_INT  swap,
POINTER_SIZE_INT  cmp 
)

uint32 atomic_cas32 ( volatile unsigned int *  mem,
apr_uint32_t  swap,
apr_uint32_t  cmp 
)

uint32 atomic_inc32 ( volatile unsigned int *  mem  ) 

uint32 atomic_dec32 ( volatile unsigned int *  mem  ) 

uint32 atomic_add32 ( volatile unsigned int *  mem,
unsigned int  val 
)

unsigned int vm_get_system_alloc_unit (  ) 

void* vm_map_mem ( void *  start,
POINTER_SIZE_INT  size 
)

Boolean vm_unmap_mem ( void *  start,
POINTER_SIZE_INT  size 
)

void* vm_alloc_mem ( void *  start,
POINTER_SIZE_INT  size 
)

Boolean vm_free_mem ( void *  start,
POINTER_SIZE_INT  size 
)

void* vm_reserve_mem ( void *  start,
POINTER_SIZE_INT  size 
)

Boolean vm_release_mem ( void *  start,
POINTER_SIZE_INT  size 
)

void* vm_commit_mem ( void *  start,
POINTER_SIZE_INT  size 
)

Boolean vm_decommit_mem ( void *  start,
POINTER_SIZE_INT  size 
)

void mem_fence (  ) 

int64 time_now (  ) 

void string_to_upper ( char *  s  ) 


Variable Documentation

char* large_page_hint

hythread_group_t gc_thread_group


Genereated on Tue Mar 11 19:25:34 2008 by Doxygen.

(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.