[m-dev.] argument packing

Dirk Ziegemeyer dirk at ziegemeyer.de
Wed May 16 19:57:46 AEST 2018

Hello Zoltan,

I’m using sub-word-sized integers in this type:

:- type date_without_time
    --->    date_without_time(
                date_year   :: int16,
                date_month  :: uint8,
                date_day    :: uint8

There are some conversions between int, uint8, … types in the application and I compare date_without_time with the builtin inequalities @<, @>, @=< and @>=.

Please let me know if I can contribute by testing the application with a recent rotd.


> Am 15.05.2018 um 12:04 schrieb Zoltan Somogyi <zoltan.somogyi at runbox.com>:
> I committed the diff that enabled the packing of sub-word-sized
> integers and dummies in heap cells about a week ago. Have you
> guys tried out those features (after turning them on, since they are
> OFF by default)?
> The reason I ask is that traditionally, we computed the offset of each
> argument into the memory cell when we generated code for a unification.
> Since repeating this work for *every* unification is wasted work, that diff
> added code to compute these offsets just once, when the representation
> of each function symbol is decided, but it also left the old code in place,
> with assertions checking that the new method yields the exact same offset
> as the old method. I would like to delete the code that calculates the offsets
> the old way, along with the assertions, before I start work on my next
> diff involving argument packing. However, I would not want to take
> that step until those assertions have passed your toughest tests.
> So if you have compiled the Mercury programs you are working on
> with an installed compiler which has had its default values of
> allow_packing_ints and allow_packing_dummies set to `yes',
> and had those programs pass all their tests, please tell me.
> If you haven't, then please do so and tell me.
> And if you had any failures, please tell me as well.
> Zoltan.
> _______________________________________________
> developers mailing list
> developers at lists.mercurylang.org
> https://lists.mercurylang.org/listinfo/developers

Dirk Ziegemeyer
Selbständiger Fachberater und Projektleiter
Regulierung | Risikomanagement | Meldewesen
Mobil +49 177 2593336
E-Mail dirk at ziegemeyer.de | Web http://ziegemeyer.de

More information about the developers mailing list