From 1ce504148e960fa8fdd3701977786b99a7437f57 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 3 Apr 2012 11:20:41 -0700 Subject: * eval.c (op_modplace): push replaced with mpush (mutating push). * gc.c (gc_push): New function. * gc.h (gc_push): Declared. * hash.c (pushhash): Use mpush. * lib.c (push): Reverted to unsafe operation. TODO comment replaced with warning. (lazy_flatten_scan): push occurence commented as safe. (lazy_stream_func): Unsafe push replaced with mpush. * lib.h (mpush): New macro. --- lib.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lib.h') diff --git a/lib.h b/lib.h index 45bfae30..61af0d45 100644 --- a/lib.h +++ b/lib.h @@ -231,9 +231,11 @@ union obj { #if CONFIG_GEN_GC #define set(place, val) ((place) = (val)) #define mut(obj) +#define mpush(val, place) (push(val, &(place))) #else #define set(place, val) (gc_set(&(place), val)) #define mut(obj) (gc_mutated(obj)); +#define mpush(val, place) (gc_push(val, &(place))) #endif INLINE cnum tag(val obj) { return ((cnum) obj) & TAG_MASK; } -- cgit v1.2.3