diff options
author | Damien Doligez <damien.doligez-inria.fr> | 2011-07-20 09:17:07 +0000 |
---|---|---|
committer | Damien Doligez <damien.doligez-inria.fr> | 2011-07-20 09:17:07 +0000 |
commit | c91db736b18c7ed0ec81596b76874f5423d5d331 (patch) | |
tree | a967edfcd254aa6844c44e81ea33596a82b7bf87 /byterun/gc_ctrl.c | |
parent | 46d5420ca9c695738f7a0baa527d3591d95f067a (diff) | |
download | ocaml-c91db736b18c7ed0ec81596b76874f5423d5d331.tar.gz |
merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'byterun/gc_ctrl.c')
-rw-r--r-- | byterun/gc_ctrl.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/byterun/gc_ctrl.c b/byterun/gc_ctrl.c index 0fe2215155..9a2e0b08ca 100644 --- a/byterun/gc_ctrl.c +++ b/byterun/gc_ctrl.c @@ -467,8 +467,11 @@ CAMLprim value caml_gc_major_slice (value v) CAMLprim value caml_gc_compaction(value v) { Assert (v == Val_unit); + caml_gc_message (0x10, "Heap compaction requested\n", 0); caml_empty_minor_heap (); caml_finish_major_cycle (); + caml_final_do_calls (); + caml_empty_minor_heap (); caml_finish_major_cycle (); caml_compact_heap (); caml_final_do_calls (); @@ -481,7 +484,9 @@ void caml_init_gc (uintnat minor_size, uintnat major_size, { uintnat major_heap_size = Bsize_wsize (norm_heapincr (major_size)); - caml_page_table_initialize(Bsize_wsize(minor_size) + major_heap_size); + if (caml_page_table_initialize(Bsize_wsize(minor_size) + major_heap_size)){ + caml_fatal_error ("OCaml runtime error: cannot initialize page table\n"); + } caml_set_minor_heap_size (Bsize_wsize (norm_minsize (minor_size))); caml_major_heap_increment = Bsize_wsize (norm_heapincr (major_incr)); caml_percent_free = norm_pfree (percent_fr); |