-
Notifications
You must be signed in to change notification settings - Fork 84
Make extension callbacks part of the public MPS #213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
exit.pass at 1316
|
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.