MPS issue job003639

TitleUnclear why StackProbeDEPTH is 500
Statusclosed
Prioritynice
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionIn config.h [1] the constant StackProbeDEPTH is defined for platforms **I3MV and W3I6MV:

    #if defined(MPS_ARCH_I3) && defined(MPS_BUILD_MV)
    #define StackProbeDEPTH ((Size)500)
    #elif defined(MPS_PF_W3I6MV)
    #define StackProbeDEPTH ((Size)500)
    #else
    #define StackProbeDEPTH ((Size)0)
    #endif

But there is no analysis explaining where the value 500 comes from, or how to ensure that it can be correctly maintained in future.
AnalysisIt looks as though DRJ wrote the original stack probe code [2] [3] [4] [5] [6] [7] [8] and added the StackProbeDEPTH parameter [9] [10] so I asked him [11], but he didn't remember [12].
How foundinspection
Evidence[1] <http://www.ravenbrook.com/project/mps/master/code/config.h>
[2] <https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+19030>
[3] <https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+19031>
[4] <https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+19032>
[5] <https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+19033>
[6] <https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+19034>
[7] <https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+19036>
[8] <https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+19038>
[9] <https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+19049>
[10] <https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+19050>
[11] <https://info.ravenbrook.com/mail/2013/10/29/16-45-21/0/>
[12] <https://info.ravenbrook.com/mail/2013/10/29/17-14-25/0/>
Introduced in1.110.0
Created byGareth Rees
Created on2013-10-29 15:40:17
Last modified byGareth Rees
Last modified on2014-10-24 10:16:39
History2013-10-29 GDR Created.

Fixes

Change Effect Date User Description
187380 closed 2014-10-24 10:16:28 Gareth Rees Analysis justifying the value of StackProbeDEPTH.