Richard Brooksby
42e76b8d9f
Implementing segofaddr with a splay tree of segments as a step to eliminating tracts.
...
Copied from Perforce
Change: 190076
ServerID: perforce.ravenbrook.com
2016-03-15 11:16:07 +00:00
Richard Brooksby
fe2784d961
Breaking direct connection from segments to tracts.
...
Copied from Perforce
Change: 190074
ServerID: perforce.ravenbrook.com
2016-03-15 11:16:07 +00:00
Richard Brooksby
d4a055f70b
Merging branch/2016-03-12/pause into the master sources.
...
Copied from Perforce
Change: 190053
ServerID: perforce.ravenbrook.com
2016-03-15 06:31:08 +00:00
Gareth Rees
e034e7aeea
Address points made by rb in review < https://info.ravenbrook.com/mail/2016/03/14/18-48-19/0/ >
...
Copied from Perforce
Change: 190031
ServerID: perforce.ravenbrook.com
2016-03-14 20:10:14 +00:00
Gareth Rees
167408b7e0
Implement pause time control.
...
Copied from Perforce
Change: 189921
ServerID: perforce.ravenbrook.com
2016-03-12 22:08:26 +00:00
Gareth Rees
31de518300
Catch-up merge from branch/2015-08-25/tradeoff to branch/2016-03-12/pause (to pick up the morework value in arenapoll).
...
Copied from Perforce
Change: 189918
ServerID: perforce.ravenbrook.com
2016-03-12 20:32:41 +00:00
Gareth Rees
f9041d9a20
Documentation and interface for pause time control (no implementation yet).
...
Copied from Perforce
Change: 189915
ServerID: perforce.ravenbrook.com
2016-03-12 20:25:33 +00:00
Richard Brooksby
275770ed43
Catch-up merge from master sources to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 189891
ServerID: perforce.ravenbrook.com
2016-03-12 15:13:15 +00:00
Richard Brooksby
e168936d79
Catch-up merge from master sources to branch/2016-03-01/closure-size.
...
Copied from Perforce
Change: 189728
ServerID: perforce.ravenbrook.com
2016-03-08 09:13:35 +00:00
Richard Brooksby
aa0412e071
Removing the mostly unused size component of the closure convention.
...
Copied from Perforce
Change: 189503
ServerID: perforce.ravenbrook.com
2016-03-01 17:20:50 +00:00
Richard Brooksby
07a1290f3e
Eliminating closure_size from area scanners and root registration functions, as it isn't all that useful.
...
Copied from Perforce
Change: 189491
ServerID: perforce.ravenbrook.com
2016-03-01 15:59:06 +00:00
Richard Brooksby
998a11b45a
Catch-up merge from master sources to branch/2015-09-04/stack.
...
Copied from Perforce
Change: 189370
ServerID: perforce.ravenbrook.com
2016-02-27 00:54:00 +00:00
Richard Brooksby
a3efd2d694
Catch-up merge from branch/2015-08-06/config to remove arenaconfigure.
...
Copied from Perforce
Change: 189335
ServerID: perforce.ravenbrook.com
2016-02-25 22:59:06 +00:00
Richard Brooksby
6a15535df6
Removing unused function arenascannable.
...
Reinstate when needed. See <https://info.ravenbrook.com/mail/2016/02/17/13-05-54/0/ >.
Copied from Perforce
Change: 189292
ServerID: perforce.ravenbrook.com
2016-02-25 17:09:09 +00:00
Richard Brooksby
8a4e5ab290
Moving scanning accounting to tracescanarea and creating analogous formatscan.
...
Copied from Perforce
Change: 189325
ServerID: perforce.ravenbrook.com
2016-02-19 12:11:50 +00:00
Richard Brooksby
266228be7c
Renaming "bottom" and "top" of stack to "cold" and "hot" end, to prevent confusion about descending stacks.
...
Correcting design documentation relating to stacks.
Referencing hot and cold end concepts from glossary entry for control stacks.
Copied from Perforce
Change: 189320
ServerID: perforce.ravenbrook.com
2016-02-18 23:49:58 +00:00
Richard Brooksby
0f8bee3762
Detabifying code and restructuredtext files.
...
Copied from Perforce
Change: 189309
ServerID: perforce.ravenbrook.com
2016-02-18 19:58:13 +00:00
Richard Brooksby
c015827c36
Catch-up merge from master sources.
...
Copied from Perforce
Change: 189265
ServerID: perforce.ravenbrook.com
2016-02-17 11:04:51 +00:00
Richard Brooksby
8140fab4dd
Creating general mps_root_create_thread and renaming mps_root_create_stack as a specialised version of it, mps_root_create_thread_tagged.
...
Copied from Perforce
Change: 189198
ServerID: perforce.ravenbrook.com
2016-02-15 19:12:59 +00:00
Richard Brooksby
a759889048
Reimplementing mps_root_create_reg in terms of rootcreatethreadtagged and abolishing rootreg. yay!
...
Copied from Perforce
Change: 189197
ServerID: perforce.ravenbrook.com
2016-02-15 18:19:30 +00:00
Richard Brooksby
53ce574bfe
Renaming rootreg_masked to rootthread_tagged with corresponding changes to other identifiers.
...
Copied from Perforce
Change: 189196
ServerID: perforce.ravenbrook.com
2016-02-15 17:57:06 +00:00
Richard Brooksby
2ad27f73b1
Lifting stack and register area scanner into mps interface to allow generalisation of stack format.
...
Copied from Perforce
Change: 189195
ServerID: perforce.ravenbrook.com
2016-02-15 17:46:45 +00:00
Richard Brooksby
b04dbd8677
Generalising roottable to rootarea and using it to implement mps_root_create_table_* and mps_root_create_area.
...
Copied from Perforce
Change: 189193
ServerID: perforce.ravenbrook.com
2016-02-15 17:30:45 +00:00
Richard Brooksby
3b33c0808b
Generalising roottable_masked to rootarea_tagged and lifting scanner assumption.
...
Copied from Perforce
Change: 189192
ServerID: perforce.ravenbrook.com
2016-02-15 16:56:42 +00:00
Richard Brooksby
16bde84a68
Generalising tracescanarea to be a checking wrapper for all area scanners.
...
Copied from Perforce
Change: 189190
ServerID: perforce.ravenbrook.com
2016-02-15 15:44:57 +00:00
Richard Brooksby
c8fed5bb8d
Renaming tracescanareamasked to tracescanareatagged
...
Copied from Perforce
Change: 189133
ServerID: perforce.ravenbrook.com
2016-02-11 20:39:57 +00:00
Richard Brooksby
9c0c184728
Adding mps_root_create_table_tagged as an interface to more generally tagged roots.
...
Deprecating the less general mps_root_create_table_masked.
Copied from Perforce
Change: 189131
ServerID: perforce.ravenbrook.com
2016-02-11 20:28:39 +00:00
Richard Brooksby
a0e001c000
Catch up merge from master sources.
...
Copied from Perforce
Change: 189130
ServerID: perforce.ravenbrook.com
2016-02-10 21:10:25 +00:00
Richard Brooksby
eac348d664
Catch-up merge from masters.
...
Copied from Perforce
Change: 188921
ServerID: perforce.ravenbrook.com
2016-01-19 16:22:39 +00:00
Gareth Rees
aa6a027c68
Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188250
ServerID: perforce.ravenbrook.com
2015-09-04 19:13:28 +01:00
Gareth Rees
0a927608dc
Policycollectiontime is now local to policy.c.
...
Improve comment for policyCondemnChain (document the mortalityReturn parameter to; fix design reference).
Copied from Perforce
Change: 188240
ServerID: perforce.ravenbrook.com
2015-09-04 16:02:46 +01:00
Gareth Rees
2514663693
Move policy for mps_arena_step to policy module.
...
Copied from Perforce
Change: 188238
ServerID: perforce.ravenbrook.com
2015-09-04 15:25:37 +01:00
Gareth Rees
881c594458
Correct type for rootcreateregmasked.
...
Copied from Perforce
Change: 188233
ServerID: perforce.ravenbrook.com
2015-09-04 12:28:49 +01:00
Gareth Rees
edf30c06b4
New function mps_root_create_reg_masked applies a mask and pattern test to all words in registers and on the stack when scanning them. this supports tagged references in these locations.
...
Consistently use the type "Word *" for pointers into the stack or into saved registers.
Remove TraceScanAreaTagged.
Copied from Perforce
Change: 188231
ServerID: perforce.ravenbrook.com
2015-09-04 12:22:03 +01:00
Gareth Rees
7bf1664f5e
Separate the values "more work to do?" and "amount of work done" in tracepoll. previously, the code used "amount of work done > 0" when it needed "more work to do?" but that's not right, because on the last two calls to traceadvance, no "work" is done (because reclaim work is not measured), but there may still be more work to do.
...
Copied from Perforce
Change: 188218
ServerID: perforce.ravenbrook.com
2015-09-03 15:51:37 +01:00
Gareth Rees
b4db3bd09f
Introduce new type work representing a measure of work done by the collector. use this systematically to make the code clearer.
...
Copied from Perforce
Change: 188210
ServerID: perforce.ravenbrook.com
2015-09-03 13:01:55 +01:00
Gareth Rees
bea6e91d73
Accumulate trace metrics in arenapark.
...
Copied from Perforce
Change: 188208
ServerID: perforce.ravenbrook.com
2015-09-03 11:50:28 +01:00
Gareth Rees
3b0e0c2aa5
Don't start a trace unless there's work to do.
...
Copied from Perforce
Change: 188204
ServerID: perforce.ravenbrook.com
2015-09-02 21:55:24 +01:00
Gareth Rees
309d42e408
Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188203
ServerID: perforce.ravenbrook.com
2015-09-02 21:23:23 +01:00
Gareth Rees
9a303f6935
Refactor tracequantum into tracepoll and traceadvance. (tracequantum was formerly called from arenapark, but that doesn't care about the quantum size.)
...
Copied from Perforce
Change: 188198
ServerID: perforce.ravenbrook.com
2015-09-02 10:50:00 +01:00
Gareth Rees
1f6522bd04
Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188176
ServerID: perforce.ravenbrook.com
2015-08-25 19:35:03 +01:00
Gareth Rees
9dd49aa48e
New functions policypoll and policypollagain.
...
Update design.strategy.
Copied from Perforce
Change: 188165
ServerID: perforce.ravenbrook.com
2015-08-25 13:27:17 +01:00
Gareth Rees
d506458eea
New function policycollectiontime estimates the time needed to collect the arena. mysterious constants are given names and moved to config.h.
...
Copied from Perforce
Change: 188160
ServerID: perforce.ravenbrook.com
2015-08-21 15:27:14 +01:00
Gareth Rees
eee7ccb60c
New function policystarttrace decides whether to start a trace.
...
Copied from Perforce
Change: 188154
ServerID: perforce.ravenbrook.com
2015-08-20 16:57:33 +01:00
Gareth Rees
b3056139c8
New module policy.c.
...
Copied from Perforce
Change: 188152
ServerID: perforce.ravenbrook.com
2015-08-19 15:03:47 +01:00
Gareth Rees
511ec1c025
Catch-up merge from branch/2015-08-10/arena-create to branch/2015-08-06/config.
...
Copied from Perforce
Change: 188104
ServerID: perforce.ravenbrook.com
2015-08-10 12:49:36 +01:00
Gareth Rees
6359b0ed98
Merge branch/2014-09-29/reserved into the master sources.
...
Copied from Perforce
Change: 188090
ServerID: perforce.ravenbrook.com
2015-08-07 16:33:43 +01:00
Gareth Rees
703c1ee5f5
New function mps_arena_configure provides keyword argument interface to changing the properties of an arena.
...
New keyword arguments MPS_KEY_ARENA_COMMIT_LIMIT and MPS_KEY_SPARE_ARENA_COMMIT_LIMIT can be passed to mps_arena_create_k or mps_arena_configure.
Deprecate mps_arena_commit_limit_set and mps_arena_spare_commit_limit_set.
Copied from Perforce
Change: 188085
ServerID: perforce.ravenbrook.com
2015-08-06 17:02:51 +01:00
Gareth Rees
5315baa846
The "remember" parameters to arenaexposeremember is a boolean, not an integer.
...
Copied from Perforce
Change: 187467
ServerID: perforce.ravenbrook.com
2014-11-06 12:03:18 +00:00
Gareth Rees
abbdcfc59f
Assert if a thread dies while registered, but make a best effort to continue working after the assertion, by marking the thread as dead and moving it to a ring of dead threads.
...
Copied from Perforce
Change: 187393
ServerID: perforce.ravenbrook.com
2014-10-25 17:41:42 +01:00