/[cmucl]/src/lisp/gencgc.c
ViewVC logotype

Diff of /src/lisp/gencgc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.49 by toy, Fri Jan 9 15:14:57 2004 UTC revision 1.50 by toy, Fri Jan 9 23:05:32 2004 UTC
# Line 64  Line 64 
64   * stuff, so we need to preserve those bits when we give it a value.   * stuff, so we need to preserve those bits when we give it a value.
65   * This value better not have any bits set there either!   * This value better not have any bits set there either!
66   */   */
67  #if 0  
68  #define set_alloc_pointer(value) \  /*
69    (current_dynamic_space_free_pointer = (lispobj*) ((value) \   * On sparc, we don't need to set the alloc_pointer in the code here
70           | ((unsigned long) current_dynamic_space_free_pointer & lowtag_Mask)))   * because the alloc pointer (current_dynamic_space_free_pointer) is
71  #else   * the same as *current-region-free-pointer* and is stored in
72     * alloc-tn.
73     */
74  #define set_alloc_pointer(value)  #define set_alloc_pointer(value)
 #endif  
75  #define get_alloc_pointer() \  #define get_alloc_pointer() \
76    ((unsigned long) current_dynamic_space_free_pointer & ~lowtag_Mask)    ((unsigned long) current_dynamic_space_free_pointer & ~lowtag_Mask)
77  #define get_binding_stack_pointer() \  #define get_binding_stack_pointer() \
# Line 89  Line 90 
90    (current_dynamic_space_free_pointer \    (current_dynamic_space_free_pointer \
91     = (lispobj*) ((unsigned long) current_dynamic_space_free_pointer & ~pseudo_atomic_InterruptedValue))     = (lispobj*) ((unsigned long) current_dynamic_space_free_pointer & ~pseudo_atomic_InterruptedValue))
92    
 #if 0  
 #define set_current_region_free(value) \  
   SetSymbolValue(CURRENT_REGION_FREE_POINTER, (value))  
   
 #define get_current_region_free() \  
   SymbolValue(CURRENT_REGION_FREE_POINTER)  
   
 #else  
93  #define set_current_region_free(value) \  #define set_current_region_free(value) \
94    current_dynamic_space_free_pointer = (lispobj*)((value) | ((long)current_dynamic_space_free_pointer & lowtag_Mask))    current_dynamic_space_free_pointer = (lispobj*)((value) | ((long)current_dynamic_space_free_pointer & lowtag_Mask))
95    
96  #define get_current_region_free() \  #define get_current_region_free() \
97    ((long)current_dynamic_space_free_pointer & (~(lowtag_Mask)))    ((long)current_dynamic_space_free_pointer & (~(lowtag_Mask)))
 #endif  
98    
99  #define set_current_region_end(value) \  #define set_current_region_end(value) \
100    SetSymbolValue(CURRENT_REGION_END_ADDR, (value))    SetSymbolValue(CURRENT_REGION_END_ADDR, (value))
# Line 6960  char * Line 6952  char *
6952  alloc (int nbytes)  alloc (int nbytes)
6953  {  {
6954  #ifndef sparc  #ifndef sparc
6955      /*
6956       * *current-region-free-pointer* is the same as alloc-tn (=
6957       * current_dynamic_space_free_pointer) and therefore contains the
6958       * pseudo-atomic bits.
6959       */
6960    gc_assert (((unsigned) get_current_region_free() & lowtag_Mask) == 0);    gc_assert (((unsigned) get_current_region_free() & lowtag_Mask) == 0);
6961  #endif  #endif
6962    gc_assert ((nbytes & lowtag_Mask) == 0);    gc_assert ((nbytes & lowtag_Mask) == 0);
# Line 7075  int get_bytes_consed_upper(void) Line 7072  int get_bytes_consed_upper(void)
7072    return ((int)bytes_allocated_sum / 0x10000000) & 0xFFFFFFF;    return ((int)bytes_allocated_sum / 0x10000000) & 0xFFFFFFF;
7073  }  }
7074    
 #if 0  
 #define current_region_free_pointer SymbolValue(CURRENT_REGION_FREE_POINTER)  
 #define current_region_end_addr     ((void *) SymbolValue(CURRENT_REGION_END_ADDR))  
 #else  
7075  #define current_region_free_pointer get_current_region_free()  #define current_region_free_pointer get_current_region_free()
7076  #define current_region_end_addr     ((void *) SymbolValue(CURRENT_REGION_END_ADDR))  #define current_region_end_addr     ((void *) SymbolValue(CURRENT_REGION_END_ADDR))
7077  #endif  
7078  int get_bytes_allocated_lower(void)  int get_bytes_allocated_lower(void)
7079  {  {
7080    int size = bytes_allocated;    int size = bytes_allocated;

Legend:
Removed from v.1.49  
changed lines
  Added in v.1.50

  ViewVC Help
Powered by ViewVC 1.1.5