[m-rev.] diff: Setup an OOM callback with Boehm GC
Julien Fischer
jfischer at opturion.com
Wed Jun 8 21:08:56 AEST 2016
On Wed, 8 Jun 2016, Julien Fischer wrote:
>
>
> On Wed, 8 Jun 2016, Paul Bone wrote:
>
>> Setup an OOM callback with Boehm GC
>>
>> This is a simplier way to get an earlier abort when we run out of memory.
>> it also prints out the requested allocation size.
>>
>> runtime/mercury_wrapper.c:
>> As above.
>> ---
>> runtime/mercury_wrapper.c | 14 ++++++++++++++
>> 1 file changed, 14 insertions(+)
>>
>> diff --git a/runtime/mercury_wrapper.c b/runtime/mercury_wrapper.c
>> index 0afabc5..dccc785 100644
>> --- a/runtime/mercury_wrapper.c
>> +++ b/runtime/mercury_wrapper.c
>> @@ -831,6 +831,18 @@ mercury_runtime_init(int argc, char **argv)
>> #error "MR_HIGHTAGS is incompatible with MR_CONSERVATIVE_GC"
>> #endif
>>
>> +/*
>> + * Boehm will call this callback when it runs out of memory, We print an
>> + * error and abort. Our error is printed after Boehm GC's on error, so we
>> + * don't need to say much.
>> + */
>> +#ifdef MR_BOEHM_GC
>> +static void *MR_oom_func(size_t bytes)
>
> Shouldn't that actually be:
>
> static void * GC_CALLBACK MR_oom_func(size_t bytes)
>
> ? (So it matches the definition of the type GC_oom_fn)
I meant GC_oom_func in the parentheses there.
Julien.
More information about the reviews
mailing list