summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--byterun/io.c4
-rw-r--r--byterun/major_gc.c1
-rw-r--r--byterun/major_gc.h2
3 files changed, 3 insertions, 4 deletions
diff --git a/byterun/io.c b/byterun/io.c
index 595ff3ada..1b2b413c7 100644
--- a/byterun/io.c
+++ b/byterun/io.c
@@ -143,7 +143,7 @@ static int do_write(int fd, char *p, int n)
{
int retcode;
- Assert(!Is_young(p));
+ Assert(!Is_young((value) p));
#ifdef HAS_UI
retcode = ui_write(fd, p, n);
#else
@@ -258,7 +258,7 @@ CAMLexport int do_read(int fd, char *p, unsigned int n)
{
int retcode;
- Assert(!Is_young(p));
+ Assert(!Is_young((value) p));
enter_blocking_section();
#ifdef HAS_UI
retcode = ui_read(fd, p, n);
diff --git a/byterun/major_gc.c b/byterun/major_gc.c
index 8faf288c9..ca1b2647a 100644
--- a/byterun/major_gc.c
+++ b/byterun/major_gc.c
@@ -205,7 +205,6 @@ static void mark_slice (long work)
}
work -= Whsize_hd (hd);
}else{
- Assert (weak_prev == NULL);
/* Subphase_weak is done. Handle finalised values. */
gray_vals_cur = gray_vals_ptr;
final_update ();
diff --git a/byterun/major_gc.h b/byterun/major_gc.h
index ac6b6fa6b..7a648457d 100644
--- a/byterun/major_gc.h
+++ b/byterun/major_gc.h
@@ -57,7 +57,7 @@ extern char *gc_sweep_hp;
#define Not_in_heap 0
#define Page(p) ((unsigned long) (p) >> Page_log)
#define Is_in_heap(p) \
- (Assert (Is_block (p)), \
+ (Assert (Is_block ((value) (p))), \
(addr)(p) >= (addr)heap_start && (addr)(p) < (addr)heap_end \
&& page_table [Page (p)])