Gareth Rees
96b001376d
Fri6gc needs the same flags as fri3gc in order to compile mpseventsql.
...
Copied from Perforce
Change: 182624
ServerID: perforce.ravenbrook.com
2013-06-08 13:30:38 +01:00
Richard Brooksby
b9306a0fac
Removing amcssth from the list of automatically run tests, since we have no plans to fix it at present.
...
Copied from Perforce
Change: 182616
ServerID: perforce.ravenbrook.com
2013-06-08 11:18:22 +01:00
Richard Brooksby
56645cdc0c
Merging branch/2013-05-17/emergency with major rework of mvt, mvff, and cbs.
...
Some parts of this are still ragged, and would not normally pass review, but this is a massive improvement to the existing code.
Copied from Perforce
Change: 182614
ServerID: perforce.ravenbrook.com
2013-06-08 10:57:57 +01:00
Gareth Rees
287feece82
Test cbs and freelist with different alignments.
...
Maintain test state in a structure to avoid having to pass it all around as function arguments.
Copied from Perforce
Change: 182611
ServerID: perforce.ravenbrook.com
2013-06-07 19:36:42 +01:00
Gareth Rees
1d594d8c6d
Mvtfinish must make the structure invalid first.
...
Add comment explaining choice of GCSegClass.
Copied from Perforce
Change: 182608
ServerID: perforce.ravenbrook.com
2013-06-07 15:39:07 +01:00
Gareth Rees
60a4cb56a1
Improve design docs following review from rb.
...
Copied from Perforce
Change: 182606
ServerID: perforce.ravenbrook.com
2013-06-07 14:50:22 +01:00
Gareth Rees
da3afade7b
Mvt takes configurable alignment via a keyword argument.
...
Copied from Perforce
Change: 182605
ServerID: perforce.ravenbrook.com
2013-06-07 14:45:14 +01:00
Gareth Rees
509ebcb215
Check that all addresses in the freed range belong to the pool, not just the base of the range.
...
Copied from Perforce
Change: 182602
ServerID: perforce.ravenbrook.com
2013-06-07 13:20:20 +01:00
Gareth Rees
a70d471ed2
Fix function description.
...
Copied from Perforce
Change: 182601
ServerID: perforce.ravenbrook.com
2013-06-07 13:17:21 +01:00
Gareth Rees
36bcd67544
Oops, forgot fl argument to freelistblocklimit.
...
Copied from Perforce
Change: 182586
ServerID: perforce.ravenbrook.com
2013-06-06 15:58:02 +01:00
Gareth Rees
997477468b
Extra-careful check after setting the limit.
...
Copied from Perforce
Change: 182585
ServerID: perforce.ravenbrook.com
2013-06-06 15:51:41 +01:00
Gareth Rees
5db8a1802d
Represent a block on the free list as a freelistblock rather than an addr (for better type safety). add many checks.
...
Copied from Perforce
Change: 182584
ServerID: perforce.ravenbrook.com
2013-06-06 15:47:37 +01:00
Richard Brooksby
982dc78f06
Merging branch/2013-06-05/diag to eliminate the "diag" system. hurrah!
...
Copied from Perforce
Change: 182575
ServerID: perforce.ravenbrook.com
2013-06-06 14:56:47 +01:00
Gareth Rees
a2de65a0d9
Fix build on linux.
...
Copied from Perforce
Change: 182574
ServerID: perforce.ravenbrook.com
2013-06-06 14:21:39 +01:00
Gareth Rees
210e2febfb
Remove diag.c from xcode project.
...
Copied from Perforce
Change: 182572
ServerID: perforce.ravenbrook.com
2013-06-06 13:58:01 +01:00
Gareth Rees
27601f7af0
Remove mentions of diagnostic feedback from the design documents and the code; add mentions of corresponding events.
...
Copied from Perforce
Change: 182570
ServerID: perforce.ravenbrook.com
2013-06-06 13:47:33 +01:00
Gareth Rees
294abbca99
Delete ntbuild.cmd: this was obsoleted by the variety reform.
...
Copied from Perforce
Change: 182568
ServerID: perforce.ravenbrook.com
2013-06-06 13:46:31 +01:00
Gareth Rees
3627d69bd2
Remove the diag variety (and the obsolete ti variety) from the makefiles.
...
Copied from Perforce
Change: 182567
ServerID: perforce.ravenbrook.com
2013-06-06 13:46:08 +01:00
Richard Brooksby
d14b8bbc81
Merging branch/2013-05-01/keyword-arguments to pick up keyword arguments for object formats.
...
Copied from Perforce
Change: 182562
ServerID: perforce.ravenbrook.com
2013-06-06 12:55:04 +01:00
Gareth Rees
1c4ff669ac
Remove diag facility.
...
Copied from Perforce
Change: 182553
ServerID: perforce.ravenbrook.com
2013-06-05 18:35:40 +01:00
Gareth Rees
b2e2f66c28
Ensure that mpseventcnv and mpseventtxt are built by default on windows, and that mpseventsql is buildable if you request it.
...
Copied from Perforce
Change: 182537
ServerID: perforce.ravenbrook.com
2013-06-05 15:27:42 +01:00
Gareth Rees
08111255cc
Fix compilation of test suite on unix.
...
Copied from Perforce
Change: 182536
ServerID: perforce.ravenbrook.com
2013-06-05 15:05:57 +01:00
Richard Brooksby
3b37d681c2
Linking tags to mmprevol requests (e.g. request.epcode.12345) to their location on info.ravenbrook.com.
...
Copied from Perforce
Change: 182526
ServerID: perforce.ravenbrook.com
2013-06-05 00:57:04 +01:00
Gareth Rees
e6605cc39c
Tidying up in anticipation of review.
...
Copied from Perforce
Change: 182524
ServerID: perforce.ravenbrook.com
2013-06-04 23:49:48 +01:00
Gareth Rees
0132ece962
Build and run on windows.
...
Copied from Perforce
Change: 182519
ServerID: perforce.ravenbrook.com
2013-06-04 20:52:40 +01:00
Gareth Rees
0b204bf4e7
Catch-up merge from master sources to mps/branch/2013-05-17/emergency.
...
Copied from Perforce
Change: 182518
ServerID: perforce.ravenbrook.com
2013-06-04 20:44:03 +01:00
Gareth Rees
3cd8c3964f
Avoid "variable may be used uninitialized" warning from visual c.
...
Copied from Perforce
Change: 182517
ServerID: perforce.ravenbrook.com
2013-06-04 20:41:19 +01:00
Gareth Rees
3c5b19a611
Reorganize windows build so that facts are mentioned in only one place.
...
Provide "testrun" target (and batch file) for running the test suite.
Copied from Perforce
Change: 182516
ServerID: perforce.ravenbrook.com
2013-06-04 20:40:07 +01:00
Gareth Rees
7288e21131
Avoid "variable may be used uninitialized" warnings.
...
Copied from Perforce
Change: 182513
ServerID: perforce.ravenbrook.com
2013-06-04 18:46:07 +01:00
Gareth Rees
cb2aea227c
Make fotest run on lii6gc.
...
Copied from Perforce
Change: 182512
ServerID: perforce.ravenbrook.com
2013-06-04 18:40:52 +01:00
Gareth Rees
d6912235bd
Mvt now fails over from a cbs to a freelist.
...
Update test cases and design accordingly.
Copied from Perforce
Change: 182509
ServerID: perforce.ravenbrook.com
2013-06-04 18:16:32 +01:00
Gareth Rees
938f1945fa
Encapsulate cbsfindlargest falling back to freelistfindlargest as suggested by rb in review.
...
Copied from Perforce
Change: 182502
ServerID: perforce.ravenbrook.com
2013-06-04 17:10:38 +01:00
Gareth Rees
2bda69bc6b
New test case "fotest" for fail-over of cbs to freelist in mvff. (plus stub for mvt.) need some testing hooks in mvff and mvt for getting the cbs.
...
This reveals a couple of bugs in MVFF: (i) if CBSDelete fails, this might be because the block is actually on the Freelist instead; (ii) we can't SegFree before calling FreelistDelete because the Freelist needs access to the memory in order to read its pointers.
Copied from Perforce
Change: 182500
ServerID: perforce.ravenbrook.com
2013-06-04 16:51:24 +01:00
Gareth Rees
9c3831f28e
Missing extern.
...
Copied from Perforce
Change: 182496
ServerID: perforce.ravenbrook.com
2013-06-04 15:40:45 +01:00
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
Richard Brooksby
ead194349a
Miscellaneous design document improvements.
...
Documenting why WriteF on points comes out with the wrong endianness on Intel platforms.
Copied from Perforce
Change: 182421
ServerID: perforce.ravenbrook.com
2013-06-03 12:57:55 +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
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