Gareth Rees
fc5666204f
Call abort() instead of exit() for convenience when debugging.
...
Copied from Perforce
Change: 182495
ServerID: perforce.ravenbrook.com
2013-06-04 15:37:12 +01:00
Gareth Rees
6f356edfb1
In mvff, fall back from cbs to freelist if cbs fails.
...
Copied from Perforce
Change: 182434
ServerID: perforce.ravenbrook.com
2013-06-03 16:21:52 +01:00
Gareth Rees
8d8d553cbf
Add fbmtest to test suite.
...
Copied from Perforce
Change: 182433
ServerID: perforce.ravenbrook.com
2013-06-03 16:21:32 +01:00
Gareth Rees
f0def15a48
Freelistfindlargest() takes a size argument so that the interface matches cbsfindlargest().
...
New function FreelistFlushToCBS() tries to move all blocks out of a free list and into a CBS.
Copied from Perforce
Change: 182432
ServerID: perforce.ravenbrook.com
2013-06-03 16:17:28 +01:00
Gareth Rees
ca36e1a147
Cbsdelete() now returns the isolated contiguous range that was found, even if the requested deletion operation cannot be performed. (this is so that the caller can try deleting the whole block instead and manage the fragments using a fallback strategy.)
...
CBSFindLargest() takes a size argument, so that the caller doesn't have to re-insert the found block if it wasn't large enough.
Copied from Perforce
Change: 182431
ServerID: perforce.ravenbrook.com
2013-06-03 16:16:04 +01:00
Gareth Rees
be868669e3
Use rnd() from testlib instead for rand() from libc, so that test case is repeatable.
...
Copied from Perforce
Change: 182430
ServerID: perforce.ravenbrook.com
2013-06-03 16:05:19 +01:00
Gareth Rees
9c9e1668a1
Make sure fbmtest compiles and runs on lii6gc.
...
Copied from Perforce
Change: 182425
ServerID: perforce.ravenbrook.com
2013-06-03 13:08:55 +01:00
Gareth Rees
c9780a3401
Add freelist module to core mps.
...
Copied from Perforce
Change: 182422
ServerID: perforce.ravenbrook.com
2013-06-03 12:58:12 +01:00
Gareth Rees
f154b62bf4
Catch-up merge from master sources to mps/branch/2013-05-17/emergency
...
Copied from Perforce
Change: 182417
ServerID: perforce.ravenbrook.com
2013-06-03 12:25:18 +01:00
Gareth Rees
5a508d2178
Run apss test in a client arena as well as vm arenas.
...
Copied from Perforce
Change: 182416
ServerID: perforce.ravenbrook.com
2013-06-03 12:19:55 +01:00
Gareth Rees
e07ee8b8e3
Make expt825 and awlutth test cases build on os x.
...
Add exposet0, expt825 and zmess test cases to test suite on OS X.
Copied from Perforce
Change: 182415
ServerID: perforce.ravenbrook.com
2013-06-03 12:18:05 +01:00
Gareth Rees
b764d4b19d
Improve organization of comm.gmk:
...
* Mention each target once (this makes it more reliable to modify the set of targets).
* Include exposet0, expt825 and xmess in the automatically run test cases.
* For other test cases, explain why not included in automated test suite.
* Organize targets alphabetically (this is makes it easier to check the lists against each other).
Copied from Perforce
Change: 182413
ServerID: perforce.ravenbrook.com
2013-06-03 11:35:01 +01:00
Gareth Rees
d959e65927
Missing prototypes for freelistfindfirst and freelistfindlast.
...
Copied from Perforce
Change: 182411
ServerID: perforce.ravenbrook.com
2013-06-03 11:08:58 +01:00
Gareth Rees
0260380dd3
Rename cbstest.c to fbmtest.c (free block management test) and generalize it so that it tests both the cbs and freelist modules.
...
Split FreelistFind into FreelistFindFirst and FreelistFindLast so that the interface exactly matches the CBS interface.
Fix errors in freelist.c: missing computation of size in FreelistBlockSetLimit; update linked list correct in coalesceRight case in FreelistInsert.
Avoid compiler warnings in freelist.c.
In cbs.c: use $U for Booleans ($B is for bit tables).
Copied from Perforce
Change: 182397
ServerID: perforce.ravenbrook.com
2013-06-02 21:34:23 +01:00
Richard Brooksby
2db76fa048
Adding section number stripping to design document conversion, to allow section numbers to be included.
...
Copied from Perforce
Change: 182391
ServerID: perforce.ravenbrook.com
2013-06-02 12:30:10 +01:00
Richard Brooksby
a61c62c3c9
Reverting citations to ravenbrook style.
...
Copied from Perforce
Change: 182378
ServerID: perforce.ravenbrook.com
2013-06-01 10:43:08 +01:00
Richard Brooksby
fdd4844fa9
Fixing modtime comparison so that design documents get reconverted if modified.
...
Copied from Perforce
Change: 182377
ServerID: perforce.ravenbrook.com
2013-06-01 10:42:51 +01:00
Richard Brooksby
0c6d275f3f
Tidying up design conversion extension.
...
Copied from Perforce
Change: 182375
ServerID: perforce.ravenbrook.com
2013-06-01 10:02:26 +01:00
Richard Brooksby
a432549e81
Converting design documents within the sphinx extension so that tools like readthedocs.org can generate the manual.
...
Copied from Perforce
Change: 182373
ServerID: perforce.ravenbrook.com
2013-06-01 03:42:28 +01:00
Richard Brooksby
d0aacd13d2
Fixing up some code snippet formatting.
...
Copied from Perforce
Change: 182372
ServerID: perforce.ravenbrook.com
2013-05-31 19:19:08 +01:00
Gareth Rees
db9328da7a
Use range objects in the cbs interface instead of base, limit pairs. the idea is that freelist and cbs should offer similar interfaces so that the testing code can be shared.
...
Copied from Perforce
Change: 182364
ServerID: perforce.ravenbrook.com
2013-05-31 16:29:26 +01:00
Gareth Rees
83aff660e2
Use a tag in the bottom bit to distinguish grains and blocks in the free list. this results in much simplification of the code.
...
Copied from Perforce
Change: 182362
ServerID: perforce.ravenbrook.com
2013-05-31 13:41:36 +01:00
Gareth Rees
915a41123c
Fix iteration in freelistfindlargest.
...
Copied from Perforce
Change: 182359
ServerID: perforce.ravenbrook.com
2013-05-31 10:44:02 +01:00
Gareth Rees
e26cba758a
Mustn't use aver in describe functions.
...
Copied from Perforce
Change: 182358
ServerID: perforce.ravenbrook.com
2013-05-31 10:43:38 +01:00
Gareth Rees
d37ac3e441
Correct type for freelistiteratemethod and make other documentation improvements.
...
Copied from Perforce
Change: 182352
ServerID: perforce.ravenbrook.com
2013-05-31 01:20:12 +01:00
Gareth Rees
04f2738a18
Improve documentation. fix off-by-one errors in the setprevnext functions.
...
Copied from Perforce
Change: 182350
ServerID: perforce.ravenbrook.com
2013-05-31 00:41:28 +01:00
Gareth Rees
032657464b
New "freelist" module implementes a simple address-ordered linked list allocator (based on the "emergency list" allocator that was formerly part of the cbs module).
...
Copied from Perforce
Change: 182348
ServerID: perforce.ravenbrook.com
2013-05-31 00:12:49 +01:00
Gareth Rees
934ae05ca3
Rename the enumeration cbsfinddelete to finddelete in anticipation of it being shared between cbs and new freelist module.
...
Since ABQDisposition enumeration only has two values, it's better to use Bool.
Copied from Perforce
Change: 182347
ServerID: perforce.ravenbrook.com
2013-05-31 00:09:33 +01:00
Gareth Rees
caf1945985
Clarify the logic in cbsinsertintotree to match cbsdeletefromtree.
...
Copied from Perforce
Change: 182344
ServerID: perforce.ravenbrook.com
2013-05-30 20:09:01 +01:00
Gareth Rees
71ab5adf66
Separate block allocation from block insertion, so that cbsdeletefromtree no longer leaves the tree in an inconsistent state if allocation fails.
...
Simplify the case logic in cbsDeleteFromTree to try to make it clearer.
Explain why cbsDeleteFromTree can't fail when it's called from cbsFindDeleteRange.
Copied from Perforce
Change: 182342
ServerID: perforce.ravenbrook.com
2013-05-30 19:22:56 +01:00
Gareth Rees
6cf9953846
Use restructuretext citations for references in design documents.
...
Copied from Perforce
Change: 182334
ServerID: perforce.ravenbrook.com
2013-05-30 17:31:42 +01:00
Gareth Rees
aa16236b2a
Ansi i/o module checks its arguments using aver.
...
Copied from Perforce
Change: 182327
ServerID: perforce.ravenbrook.com
2013-05-30 16:21:42 +01:00
Gareth Rees
dad0cabdf7
Guard the calls to mps_io_flush so that it can only be called after mps_io_create.
...
Copied from Perforce
Change: 182322
ServerID: perforce.ravenbrook.com
2013-05-30 15:24:41 +01:00
Richard Brooksby
651bf2ceee
Fixing types of design documents to ktext to get keyword expansion.
...
Copied from Perforce
Change: 182315
ServerID: perforce.ravenbrook.com
2013-05-29 20:58:36 +01:00
Gareth Rees
87019f4ee2
Fix review comments from < https://info.ravenbrook.com/mail/2013/05/28/22-21-11/0/ >:
...
* Rename RangeOverlap to RangesOverlap.
* MVFF shouldn't assume that CBSInsert and CBSDelete can't fail.
* Remove unused function mps_mvff_stat.
* Don't call range methods in RangeCheck.
* RangeInit can't fail, so return void.
Copied from Perforce
Change: 182297
ServerID: perforce.ravenbrook.com
2013-05-29 12:19:19 +01:00
Richard Brooksby
2be56a898f
adding a cross-reference to request.epcore.170193.sugg.loci.
...
Fixing the format of bullet lists to prevent reST errors.
Copied from Perforce
Change: 182293
ServerID: perforce.ravenbrook.com
2013-05-29 09:56:32 +01:00
Richard Brooksby
30dd466f13
Correcting syntax on emacs mode line.
...
Copied from Perforce
Change: 182292
ServerID: perforce.ravenbrook.com
2013-05-29 09:34:21 +01:00
Richard Brooksby
7c7c533ab0
Adding irc channel to travis ci notifications.
...
Copied from Perforce
Change: 182280
ServerID: perforce.ravenbrook.com
2013-05-28 17:06:37 +01:00
Gareth Rees
09de82d52d
Describe the fact that the collector works across pools in several places where people are likely to look for this information.
...
Improve wording of assertion handling section.
Copied from Perforce
Change: 182278
ServerID: perforce.ravenbrook.com
2013-05-28 16:47:58 +01:00
Gareth Rees
4e26e67f3a
Convert alloc-frame, diag, interface-c, and io design documents to restructuredtext. and that's the lot! (cbs and poolmvt are already converted on mps/branch/2013-05-17/emergency).
...
Copied from Perforce
Change: 182275
ServerID: perforce.ravenbrook.com
2013-05-28 11:38:46 +01:00
Gareth Rees
03a844556e
Fix formatting errors.
...
Copied from Perforce
Change: 182273
ServerID: perforce.ravenbrook.com
2013-05-27 22:54:06 +01:00
Gareth Rees
9eed009f83
Mv pool class supports allocation points.
...
Copied from Perforce
Change: 182272
ServerID: perforce.ravenbrook.com
2013-05-27 22:49:14 +01:00
Gareth Rees
bef83f6507
Fix typo.
...
Copied from Perforce
Change: 182271
ServerID: perforce.ravenbrook.com
2013-05-27 22:48:37 +01:00
Gareth Rees
48d711eaa6
Convert message-gc, poolmv, protsu, sso1al, tests, thread-manager, vmo1 and vmso to restructuredtext.
...
Copied from Perforce
Change: 182270
ServerID: perforce.ravenbrook.com
2013-05-27 22:47:50 +01:00
Gareth Rees
30d713920b
Add mvt to ap stress test.
...
Copied from Perforce
Change: 182269
ServerID: perforce.ravenbrook.com
2013-05-27 21:48:06 +01:00
Gareth Rees
003a16f3c9
Modernize and fix more test cases:
...
* Missing mps_chain_destroy in function/132.
* Need to use platform alignment in the MVFF test cases (function/163, function/164, function/165, function/167, function/170)
* Avoid type pun in function/226.
Update testsets/passing accordingly.
Copied from Perforce
Change: 182262
ServerID: perforce.ravenbrook.com
2013-05-27 13:38:04 +01:00
Gareth Rees
38be215a88
Fixes for the mmqa test harness:
...
* Clang helpfully annotates its "Undefined symbols" error messages with lines of the form "(maybe you meant: _mps_ap_trip)". To avoid false positives, we must ignore these lines in scrutinize().
* We can now get the correct MPS_PF_ALIGN out of mpstd.h instead of declaring it ourselves.
* Need to include mpslib.h for the declaration of mps_lib_assert_fail_install.
Copied from Perforce
Change: 182261
ServerID: perforce.ravenbrook.com
2013-05-27 13:27:29 +01:00
Gareth Rees
3aa19f30a4
Assert instead of crashing in mps_arena_destroy when the client has failed to destroy some data structures.
...
Also, don't forget to finish the chainRing.
Copied from Perforce
Change: 182258
ServerID: perforce.ravenbrook.com
2013-05-27 12:58:05 +01:00
Gareth Rees
4bd6bde604
Mfs now rounds unitsize up to unit_min instead of asserting.
...
Copied from Perforce
Change: 182257
ServerID: perforce.ravenbrook.com
2013-05-27 10:19:35 +01:00
Gareth Rees
b6c356d1d8
Snc requires a format, so it needs a varargs decoder.
...
Copied from Perforce
Change: 182256
ServerID: perforce.ravenbrook.com
2013-05-27 10:14:38 +01:00