diff options
author | Jacques-Henri Jourdan <jacques-henri.jourdan@normalesup.org> | 2019-04-23 09:27:31 +0200 |
---|---|---|
committer | Jacques-Henri Jourdan <jacques-henri.jourdan@normalesup.org> | 2019-05-09 16:40:45 +0200 |
commit | 052a950deaa739139870f660ea53c6ce2b060f3e (patch) | |
tree | 99c6624705d9b9f8da0158464fc017685b935e9d /runtime/minor_gc.c | |
parent | 89b1ab4acacc9266aa6f6df6bb86f43310825447 (diff) | |
download | ocaml-052a950deaa739139870f660ea53c6ce2b060f3e.tar.gz |
Statistical memory profiling of blocks allocated in the major heap.
Diffstat (limited to 'runtime/minor_gc.c')
-rw-r--r-- | runtime/minor_gc.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/runtime/minor_gc.c b/runtime/minor_gc.c index fce3ae06a5..8cdaddd4f8 100644 --- a/runtime/minor_gc.c +++ b/runtime/minor_gc.c @@ -196,7 +196,7 @@ void caml_oldify_one (value v, value *p) value field0; sz = Wosize_hd (hd); - result = caml_alloc_shr_preserving_profinfo (sz, tag, hd); + result = caml_alloc_shr_for_minor_gc (sz, tag, hd); *p = result; field0 = Field (v, 0); Hd_val (v) = 0; /* Set forward flag */ @@ -213,7 +213,7 @@ void caml_oldify_one (value v, value *p) } }else if (tag >= No_scan_tag){ sz = Wosize_hd (hd); - result = caml_alloc_shr_preserving_profinfo (sz, tag, hd); + result = caml_alloc_shr_for_minor_gc (sz, tag, hd); for (i = 0; i < sz; i++) Field (result, i) = Field (v, i); Hd_val (v) = 0; /* Set forward flag */ Field (v, 0) = result; /* and forward pointer. */ @@ -246,7 +246,7 @@ void caml_oldify_one (value v, value *p) ){ /* Do not short-circuit the pointer. Copy as a normal block. */ CAMLassert (Wosize_hd (hd) == 1); - result = caml_alloc_shr_preserving_profinfo (1, Forward_tag, hd); + result = caml_alloc_shr_for_minor_gc (1, Forward_tag, hd); *p = result; Hd_val (v) = 0; /* Set (GC) forward flag */ Field (v, 0) = result; /* and forward pointer. */ @@ -489,6 +489,7 @@ CAMLexport value caml_check_urgent_gc (value extra_root) CAML_INSTR_INT ("force_minor/check_urgent_gc@", 1); caml_gc_dispatch(); } + caml_memprof_handle_postponed(); CAMLreturn (extra_root); } |