[m-rev.] for post-commit review: fix deep profiling bootchecks
Julien Fischer
jfischer at opturion.com
Sat Aug 1 16:07:49 AEST 2020
On Sat, 1 Aug 2020, Zoltan Somogyi wrote:
> This should fix Mantis bug #515. For review by anyone.
> Fix bootcheck in deep profiling grades.
>
> The fix is in two parts.
>
> compiler/disj_gen.m:
> The first is fixing a bug I introduced recently while fixing
> github issue #90. The fix involved flushing resume vars to the stack
> *before* executing the code of a non-last disjunct, but the state of
> the code generator while generating the code of that disjunct needs
> to reflect this having been done. The earlier change did not do this,
> but this one does.
>
> library/exception.m:
> The second part is some needed declarations of entry labels
> were not visible when compiling exception.c. Give exception.m,
> and hence exception.c, access to the declarations of those labels
> by #including the files containing the declarations, and ...
>
> library/profiling_builtin.m:
> ... include two such declarations in the .mh file of this module
> for use by exception.m.
>
> tests/EXPECT_FAIL_TESTS.asm_fast.gc.profdeep:
> Expect the setenv test case to fail in deep profiling grades, since
> (in the absence of working tail recursion while deep profiling)
> its million-calls-deep recursion to construct a million cons cells
> allocates *much* more memory per recursive call than in other grades,
> and thus running out of memory is the expected result.
That looks fine; bootchecking in asm_fast.gc.profdeep.stseg works
again on my system.
Julien.
More information about the reviews
mailing list