[m-dev.] diff: fix hlc.par.gc float deep_copy bug

Zoltan Somogyi zs at cs.mu.OZ.AU
Mon Nov 27 13:59:25 AEDT 2000


On 25-Nov-2000, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> +#ifdef MR_HIGHLEVEL_CODE
> +                    /*
> +                    ** We can't use MR_float_to_word, since it uses
> +                    ** MR_hp, which in grade hlc.par.gc will be a
> +                    ** reference to thread-local storage that we haven't
> +                    ** allocated.
> +                    */
> +                    new_data = MR_box_float(MR_unbox_float(data));
> +#else
>                      new_data = MR_float_to_word(MR_word_to_float(data));
> +#endif

This looks like fixing the immediate problem, but there may be other uses of
MR_float_to_word that aren't fixed. A real solution would have to involve
redefining MR_float_to_word itself to make it safe in all grades.

Zoltan.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list