[m-rev.] for testing: list all may-introduce-calls-to predicates

Julien Fischer jfischer at opturion.com
Sun Feb 20 18:16:10 AEDT 2022


Hi Zoltan,

On Thu, 17 Feb 2022, Zoltan Somogyi wrote:

> This diff affects only one file, but it rewrites that file almost
> completely, so I am sending the file instead of a diff.
>
> There are some XXXs that may be worth reading,
> but the rest of the file cannot be effectively reviewed
> by humans, because what's there cannot be the cause
> of a bug; bugs can be caused only by stuff being *missing*.
>
> I tracked down the predicates and functions we may introduce
> calls to by looking for plain_call and call_foreign_proc goals
> being constructed, and tracking where their pred_ids came from.
> If a pred_id came from the lookup of the name of a predicate
> or of a function, I included them in the list. However, since
> it is possible that I may have missed some, this diff should
> be tested thoroughly. Julien, can you please exercise
> a compiler with this diff with all the grade/optlevel combinations
> you tested the release with on your -j16 machine? That is
> the "review" that this diff needs.

The stage 2 library fails to compile when bootchecking in grade
asm_fast.gc.profdeep.stseg.

Uncaught Mercury exception:
Software Error: predicate
`hlds.pred_table.lookup_builtin_pred_proc_id'/8: Unexpected: can't
locate builtin.compare_representation/3
Stack dump not available in this grade.

(FYI: the change has so far bootstapped at all optimization levels, with
and without --intermod-opt, in the following grades: asm_fast.gc,
hlc.gc, asm_fast.gc.tr, hlc.gc.tr, asm_fast.gc.debug.stseg and
asm_fast.gc.decldebug.stseg.)

Julien.


More information about the reviews mailing list