[m-rev.] for review: pack args next to remote sectags

Julien Fischer jfischer at opturion.com
Thu Aug 30 15:50:23 AEST 2018


Hi Peter,

On Tue, 28 Aug 2018, Peter Wang wrote:

> On Tue, 28 Aug 2018 16:49:15 +1000 (AEST), Julien Fischer <jfischer at opturion.com> wrote:
>>
>> Hi Zoltan,
>>
>> On Sun, 26 Aug 2018, Zoltan Somogyi wrote:
>>
>>> For review by Peter or Julien. The diff is with -b due to systematic
>>> changes in indentation levels in some files.
>>>
>>> The part of this diff that required the most work was the changes
>>> to the RTTI system. I tried to add test cases for each part of the system
>>> that was affected by this, from library/construct.m, library/deconstructs.m,
>>> deep copying and tabling, but there is one affected module for which
>>> I don't feel comfortable writing tests: library/store.m. If someone
>>> could add a test case checking the proper operation of store.m
>>> on terms that use the new data representation, I would appreciate it.
>>
>> I'll have a go at that.   Based on the XXXs within the store module,
>> it's probably broken and will be likely more broken after this change.
>> (Does anyone actually use the generic_ref stuff?)
>
> Never, it always seemed like a hack to me.

IMO, the useful part of the store module is mutvar**.  Destructively
updating the fields of strutured terms -- which is the main thing point
of difference with refs -- is very slow due to all the RTTI ops that are
involved.  (One of the variants of the nbody benchmark uses them.)

Also, the implmentation of refs is incomplete and has been for many
years.  I think we should consider getting rid of them entirely.

(** actually, I think would should consider making impure mutvars,
i.e. library/mutvar.m, a publically documented thing.  I use that
a lot more than anything from the store module.)

> I only paged through to see how big the diff was. MR_arg_value_uncommon
> looks unused now.
>
> (If we want to promote a ROTD soon, it might be prudent to pick one
> created prior to this patch going in.)

I think at a minimum the code generator aborts in asm_fast.par.gc need
to be dealt with first.

Julien.


More information about the reviews mailing list