Make extension callbacks part of the public MPS#213
Conversation
* Move type and macro declarations to the public header mps.h. * Move documentation to appropriate sections of manual. (cherry picked from commit b928fa2)
|
We call the extended callback in VMArenaCreate so that the primary chunk is registered Line 723 in 9919050 but we don't call contracted when chunks are destroyed by VMArenaDestroy That seems inconsistent. Note that although VMArenaDestroy destroys all chunks Lines 777 to 780 in 9919050 it's not vmChunkDestroy that calls contracted. That's only called by vmChunkCompact. Lines 1239 to 1240 in 9919050 We should consider the effect of changing this behaviour on existing clients. |
|
So, VMChunkCreate (which should be named vmChunkCreate) is called from two places:
We explicitly call the extended callback in both cases. vmChunkDestroy (correctly named) is called from:
We explicitly call the contracted callback only in vmChunkCompact. It seems likely to me that we can call the extended and contracted callbacks from VMChunkCreate and vmChunkDestroy only, simplifying the code and eliminating the possibility of this inconsistency recurring. |
This avoids the issue #210 Also increase the number of test objects by *10 to make it more likely the arena will decide to contract. Also comment out some printfs in the interrupt context, to avoid messy output. Also fix some typos in comments
|
In the test extcon.c we observed on Rockhopper that the arena would mostly extend 50 times with the current test setup, but sometimes only 34 times. This seems odd and needs further investigation. |
…ings in extcon.c.
…es, to try to diagnose intermittent failures in CI.
…he stack, since the testobj array is now a static and not comparible.
|
Executing proc.review.entry
|
…mt. Also disable code relating to stack roots. Also replaces deprecated root_table. Add comments
|
Executing proc.review.plan
|
|
executing proc.review.kickoff Link to rules directory for checkers. All rules documents except rule.code.python.rst |
|
Begin brainstorming started at 1425
|
|
Executing proc.review.edit Start time 2023/05/23 0031 |
Updated documentation in arena.rst to reflect current behaviour. |
|
Paused proc.review.edit Commit of changes so far: b8ac0d1 Pause time 2023/05/23 0204 |
… it is called when the arena is destroyed.
|
Executing [proc.review.exit] (https://github.com/Ravenbrook/mps/blob/586336a7021c2276a3f798ad10e6e4ab5f438226/procedure/review.rst)
Fixed: in fb93d86 where callbacks were redesigned to be more consistent, and documentation was updated. |
exit.universal.imp.issue : #236 .exit paused at 2140 |
|
Resuming .exit at 1030 Total time for exit: 85 mins |
|
Estimates (person mins) .calc.defects-remaining: 0-1 see calc here |
|
Executing proc.merge.pull-request from #228
|
Fixes #212 .
Progress towards resolving #110 .
Part of the plan to meet Configura's requirements by separating and reviewing each implementation.
This branch cherry-picks and edits b928fa2 from #76 to only include the arena extension callback feature.