From bc522801a9c3075d318e4e58ca0f930a1c30748c Mon Sep 17 00:00:00 2001 From: Fabrizio Fabbri Date: Sun, 10 Sep 2017 23:35:38 -0400 Subject: [PATCH] Use bdwgc macros to allow memory debug. --- src/c/alloc_2.d | 12 ++++++------ src/c/cinit.d | 1 + src/c/compiler.d | 4 ++-- src/c/file.d | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/c/alloc_2.d b/src/c/alloc_2.d index f6672e11a..416dd7e1f 100644 --- a/src/c/alloc_2.d +++ b/src/c/alloc_2.d @@ -1160,7 +1160,7 @@ wrapped_finalizer(cl_object o, cl_object finalizer) */ GC_finalization_proc ofn; void *odata; - GC_register_finalizer_no_order(cl_list(2,o,finalizer), + GC_REGISTER_FINALIZER_NO_ORDER(cl_list(2,o,finalizer), (GC_finalization_proc)deferred_finalizer, 0, &ofn, &odata); return; @@ -1183,7 +1183,7 @@ si_get_finalizer(cl_object o) GC_finalization_proc ofn; void *odata; ecl_disable_interrupts_env(the_env); - GC_register_finalizer_no_order(o, (GC_finalization_proc)0, 0, &ofn, &odata); + GC_REGISTER_FINALIZER_NO_ORDER(o, (GC_finalization_proc)0, 0, &ofn, &odata); if (ofn == 0) { output = ECL_NIL; } else if (ofn == (GC_finalization_proc)wrapped_finalizer) { @@ -1191,7 +1191,7 @@ si_get_finalizer(cl_object o) } else { output = ECL_NIL; } - GC_register_finalizer_no_order(o, ofn, odata, &ofn, &odata); + GC_REGISTER_FINALIZER_NO_ORDER(o, ofn, odata, &ofn, &odata); ecl_enable_interrupts_env(the_env); @(return output); } @@ -1202,12 +1202,12 @@ ecl_set_finalizer_unprotected(cl_object o, cl_object finalizer) GC_finalization_proc ofn; void *odata; if (finalizer == ECL_NIL) { - GC_register_finalizer_no_order(o, (GC_finalization_proc)0, + GC_REGISTER_FINALIZER_NO_ORDER(o, (GC_finalization_proc)0, 0, &ofn, &odata); } else { GC_finalization_proc newfn; newfn = (GC_finalization_proc)wrapped_finalizer; - GC_register_finalizer_no_order(o, newfn, finalizer, + GC_REGISTER_FINALIZER_NO_ORDER(o, newfn, finalizer, &ofn, &odata); } } @@ -1431,7 +1431,7 @@ ecl_alloc_weak_pointer(cl_object o) obj->t = t_weak_pointer; obj->value = o; if (!ECL_FIXNUMP(o) && !ECL_CHARACTERP(o) && !Null(o)) { - GC_general_register_disappearing_link((void**)&(obj->value), (void*)o); + GC_GENERAL_REGISTER_DISAPPEARING_LINK((void**)&(obj->value), (void*)o); si_set_finalizer((cl_object)obj, ECL_T); } return (cl_object)obj; diff --git a/src/c/cinit.d b/src/c/cinit.d index 10b822462..290156796 100644 --- a/src/c/cinit.d +++ b/src/c/cinit.d @@ -162,6 +162,7 @@ static cl_object si_simple_toplevel () ecl_prin1(sentence, output); } } ECL_CATCH_ALL_END; + @(return); } int diff --git a/src/c/compiler.d b/src/c/compiler.d index 036a5b8d7..d5d447d93 100644 --- a/src/c/compiler.d +++ b/src/c/compiler.d @@ -2383,8 +2383,8 @@ eval_nontrivial_form(cl_env_ptr env, cl_object form) { new_c_env.lex_env, bytecodes); #ifdef GBC_BOEHM - GC_free(bytecodes->bytecodes.code); - GC_free(bytecodes); + GC_FREE(bytecodes->bytecodes.code); + GC_FREE(bytecodes); #endif } env->c_env = old_c_env; diff --git a/src/c/file.d b/src/c/file.d index 13cc03d20..3adaf6953 100755 --- a/src/c/file.d +++ b/src/c/file.d @@ -5268,7 +5268,7 @@ file_listen(cl_object stream, int fileno) unlikely_if (!GetConsoleMode(hnd, &cm)) FEwin32_error("GetConsoleMode() failed", 0); if (dw > 0) { - PINPUT_RECORD recs = (PINPUT_RECORD)GC_malloc(sizeof(INPUT_RECORD)*dw); + PINPUT_RECORD recs = (PINPUT_RECORD)GC_MALLOC(sizeof(INPUT_RECORD)*dw); int i; unlikely_if (!PeekConsoleInput(hnd, recs, dw, &dw_read)) FEwin32_error("PeekConsoleInput failed()", 0);