[m-rev.] for review: pack small args next to local secondary tags

Julien Fischer jfischer at opturion.com
Mon Jul 9 11:33:25 AEST 2018


Hi Zoltan,

On Sun, 8 Jul 2018, Zoltan Somogyi wrote:

>> You (presumably) also need to update the C# definition of that enumeration;
>> in runtime/mercury_dotnet.cs.in.
>>
>> library/rtti_implementation.m probably also requires updating.
>
> Done. You may want to have a look at the diffs of those files in the
> attached updated diff. I updated anything that looked like it needed
> updating, but I don't know whether the affected code is even used
> currently, or just there are as a placeholder.
>
> Nevertheless, I think problems with the Java and C# grades are unlikely, since
> (a) the new packing scheme applies only to the low level data representation,
> and (b) the updated compiler generates exactly the same Java and C# code as
> the original compiler, modulo the extra field in functor descriptors, and these
> are not needed if the new packing is not enabled.

There's one issue with them: the classes in C# and Java corresponding to
du_ptag_layouts require either (1) the addition of an extra argument to
their constructors or (2) the code generators to be updated to not emit
the extra argument (since it won't do anything in those grades anwyay).

Mercury/css/array.cs(194,55): error CS1729: The type
`mercury.runtime.DuPtagLayout' does not contain a constructor that takes
`4' arguments
../runtime/mercury_dotnet.cs(738,12): (Location of the symbol related to
previous error)
Mercury/css/array2d.cs(52,45): error CS1729: The type
`mercury.runtime.DuPtagLayout' does not contain a constructor that takes
`4' arguments
../runtime/mercury_dotnet.cs(738,12): (Location of the symbol related to
previous error)

Julien.


More information about the reviews mailing list