mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-10 22:37:38 +02:00
Disabling write barrier, not needed for pairs
This commit is contained in:
parent
d73f20ea4c
commit
30cf7b58a4
1 changed files with 3 additions and 6 deletions
|
@ -429,7 +429,6 @@ static object find_or_add_symbol(const char *name){
|
||||||
/* Write Barrier
|
/* Write Barrier
|
||||||
This is necessary when a mutation (EG: set-car!) occurs, because otherwise
|
This is necessary when a mutation (EG: set-car!) occurs, because otherwise
|
||||||
if the new value is on the stack, it will never be transported to the heap.
|
if the new value is on the stack, it will never be transported to the heap.
|
||||||
*/
|
|
||||||
list write_barrier = nil;
|
list write_barrier = nil;
|
||||||
|
|
||||||
static void add_to_write_barrier(object obj);
|
static void add_to_write_barrier(object obj);
|
||||||
|
@ -460,7 +459,7 @@ static void clear_write_barrier() {
|
||||||
}
|
}
|
||||||
write_barrier = nil;
|
write_barrier = nil;
|
||||||
}
|
}
|
||||||
/* END write barrier */
|
* END write barrier */
|
||||||
|
|
||||||
/* Global variables. */
|
/* Global variables. */
|
||||||
|
|
||||||
|
@ -796,13 +795,11 @@ static object Cyc_eq(object x, object y) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static object Cyc_set_car(object l, object val) {
|
static object Cyc_set_car(object l, object val) {
|
||||||
//add_to_write_barrier(val);
|
|
||||||
((list)l)->cons_car = val;
|
((list)l)->cons_car = val;
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
|
||||||
static object Cyc_set_cdr(object l, object val) {
|
static object Cyc_set_cdr(object l, object val) {
|
||||||
//add_to_write_barrier(val);
|
|
||||||
((list)l)->cons_cdr = val;
|
((list)l)->cons_cdr = val;
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
@ -1753,8 +1750,8 @@ static void GC_loop(int major, closure cont, object *ans, int num_ans)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Transport global variables. */
|
/* Transport global variables. */
|
||||||
transp_write_barrier();
|
// transp_write_barrier();
|
||||||
clear_write_barrier(); /* Reset for next time */
|
// clear_write_barrier(); /* Reset for next time */
|
||||||
transp(Cyc_global_variables); /* Internal global used by the runtime */
|
transp(Cyc_global_variables); /* Internal global used by the runtime */
|
||||||
GC_GLOBALS
|
GC_GLOBALS
|
||||||
while (scanp<allocp) /* Scan the newspace. */
|
while (scanp<allocp) /* Scan the newspace. */
|
||||||
|
|
Loading…
Add table
Reference in a new issue