Gareth Rees
4316347668
Catch-up merge from branch/2014-05-28/align to branch/2014-06-14/vm.
...
Copied from Perforce
Change: 186633
ServerID: perforce.ravenbrook.com
2014-06-14 16:20:04 +01:00
Gareth Rees
513bc73827
Put the portable part of the vm interface in its own module.
...
Copied from Perforce
Change: 186630
ServerID: perforce.ravenbrook.com
2014-06-14 16:09:06 +01:00
Gareth Rees
de16f0deeb
There's nothing special about version.c that requires it to be linked separately.
...
Copied from Perforce
Change: 186627
ServerID: perforce.ravenbrook.com
2014-06-14 15:55:21 +01:00
Gareth Rees
d98336d308
Catch-up merge from master sources @186335 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 186348
ServerID: perforce.ravenbrook.com
2014-05-29 14:58:50 +01:00
Gareth Rees
f5547fb738
Don't include pooln.c in mps.c -- only used by test case poolncv.
...
Include dependencies in all varieties, not just in COOL.
Copied from Perforce
Change: 186174
ServerID: perforce.ravenbrook.com
2014-05-19 11:39:05 +01:00
Gareth Rees
6dec3e4cec
Correct dependencies for benchmarks and event tools.
...
Copied from Perforce
Change: 186171
ServerID: perforce.ravenbrook.com
2014-05-19 10:55:48 +01:00
Gareth Rees
883f4a4c3f
Catch-up merge from master sources @186077 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 186081
ServerID: perforce.ravenbrook.com
2014-05-13 16:21:39 +01:00
Gareth Rees
cbddbd5fac
Only link the testthr* module with test cases that use it.
...
Copied from Perforce
Change: 186055
ServerID: perforce.ravenbrook.com
2014-05-12 21:54:52 +01:00
Gareth Rees
b9ccc0af7a
Fix problems identified by dl in < https://info.ravenbrook.com/mail/2014/04/30/12-47-23/0/ >.
...
Copied from Perforce
Change: 185897
ServerID: perforce.ravenbrook.com
2014-04-30 15:24:26 +01:00
Gareth Rees
0abdd8ae47
Catch-up merge from master/...@185556 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 185563
ServerID: perforce.ravenbrook.com
2014-04-15 13:14:50 +01:00
Gareth Rees
eeaf8b887a
Revert hasty merge of branch/2014-04-15/shared -- broke xcode build.
...
Copied from Perforce
Change: 185553
ServerID: perforce.ravenbrook.com
2014-04-15 12:39:51 +01:00
Gareth Rees
992ab111d6
Build and install a shared library on unix platforms.
...
Copied from Perforce
Change: 185543
ServerID: perforce.ravenbrook.com
2014-04-15 11:02:05 +01:00
Gareth Rees
ffa190ac2b
Catch-up merge from master sources to branch/2014-03-25/ansi.
...
Copied from Perforce
Change: 185356
ServerID: perforce.ravenbrook.com
2014-04-08 18:07:11 +01:00
Gareth Rees
993821517e
Fix bugs in exposet0.c and steptest.c on windows.
...
Port djbench and gcbench to Windows.
Run amcssth and awlutth test cases on Windows.
Copied from Perforce
Change: 185354
ServerID: perforce.ravenbrook.com
2014-04-08 16:26:27 +01:00
Gareth Rees
a03056f39a
New header testthr.h provides simple threading interface.
...
Implementations testthrix.c for Unix and testthrw3.c for Windows.
Multi-threaded test cases use the new interface.
Rename lockutw3 to lockut (no longer Windows-specific).
Run multi-threaded test cases on Windows and lockut elsewhere.
Copied from Perforce
Change: 185350
ServerID: perforce.ravenbrook.com
2014-04-08 15:14:32 +01:00
Gareth Rees
d939167b1e
Catch-up merge from master sources to branch/2014-03-25/ansi.
...
Copied from Perforce
Change: 185305
ServerID: perforce.ravenbrook.com
2014-04-07 16:04:58 +01:00
Gareth Rees
0c2cd2ab6d
Catch-up merge from master sources to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 185288
ServerID: perforce.ravenbrook.com
2014-04-07 15:02:09 +01:00
Gareth Rees
c8071e3332
Compile cool before hot because the former doesn't need to optimize and so detects errors more quickly; and because the former uses file-at-a-time compilation and so can pick up where it left off instead of having to start from the beginning of mps.c.
...
Copied from Perforce
Change: 185211
ServerID: perforce.ravenbrook.com
2014-04-03 15:02:20 +01:00
Gareth Rees
a3055d56c0
New module failover implements a fail-over allocator as a land class.
...
Use Failover in MVT and MVFF.
Test Failover in landtest.
Implementation of LandFindInZones for Freelist (untested).
Remove signature from RangeStruct so we can embed it without a space cost.
Copied from Perforce
Change: 185196
ServerID: perforce.ravenbrook.com
2014-04-03 12:52:23 +01:00
Gareth Rees
6ef8e57b1f
Turn freelist into a land class.
...
Copied from Perforce
Change: 185155
ServerID: perforce.ravenbrook.com
2014-04-02 14:01:18 +01:00
Gareth Rees
e43a554d1c
Add land.c to list of modules, and missing header range.h.
...
Copied from Perforce
Change: 185134
ServerID: perforce.ravenbrook.com
2014-04-01 21:26:07 +01:00
Gareth Rees
d844d87c4d
Generate dependencies for fmtscheme.c.
...
Copied from Perforce
Change: 185120
ServerID: perforce.ravenbrook.com
2014-04-01 12:11:06 +01:00
Gareth Rees
693e3a4622
Test case database now notes which test cases use threads.
...
New test suite "testansi" consists of test cases that run on the generic ("ANSI") platform.
New target "ansi" builds the MPS with the CONFIG_PF_ANSI CONFIG_THREAD_SINGLE and CONFIG_PROTECTION_NONE settings.
Build and test the "ansi" target as part of "make test" for the benefit of the buildbots (just Linux and FreeBSD for the moment).
Copied from Perforce
Change: 185050
ServerID: perforce.ravenbrook.com
2014-03-27 15:19:42 +00:00
Gareth Rees
74c04b45f0
Provide three different test targets for different purposes:
...
* testrun = "smoke test", fast enough to run before every commit
* testci = continuous integration tests, must be known good
* testall = all test cases, for ensuring quality of a release
Switch the main "make test" from testrun to testci.
Put test cases into "database" so that they can be selected.
Copied from Perforce
Change: 185039
ServerID: perforce.ravenbrook.com
2014-03-27 11:52:27 +00:00
Gareth Rees
47a6cc51b5
Refactor comm.gmk so that cflags is reserved for the user. this means that if you want to build using the ansi platform you can run "make -f xci6ll.gmk cflags=-dconfig_pf_ansi".
...
Don't include the testrun target in the "all" target.
Copied from Perforce
Change: 185034
ServerID: perforce.ravenbrook.com
2014-03-26 21:23:04 +00:00
Gareth Rees
26f1ceb523
Catch-up merge from master sources to branch/2014-01-15/nailboard.
...
Copied from Perforce
Change: 185029
ServerID: perforce.ravenbrook.com
2014-03-26 16:36:36 +00:00
Gareth Rees
57f2e6db8f
Support for "make -f platform.gmk testrun".
...
Copied from Perforce
Change: 184990
ServerID: perforce.ravenbrook.com
2014-03-24 21:26:42 +00:00
Gareth Rees
15d585558e
Don't list the test cases to be run in the xcode project: list them in testrun.sh instead so that this is shared with the freebsd and linux platforms.
...
Format the list with one test case per line so that merges are easier.
Copied from Perforce
Change: 184958
ServerID: perforce.ravenbrook.com
2014-03-22 18:04:56 +00:00
Gareth Rees
96d1aec2b6
Catch-up merge from master/...@184830 to nailboard branch.
...
Copied from Perforce
Change: 184951
ServerID: perforce.ravenbrook.com
2014-03-21 22:19:10 +00:00
Richard Brooksby
c861919d7f
Catch-up merge from masters.
...
Copied from Perforce
Change: 184728
ServerID: perforce.ravenbrook.com
2014-03-11 16:13:39 +00:00
Richard Brooksby
45ddf38adc
Fixing freebsd build.
...
Copied from Perforce
Change: 184719
ServerID: perforce.ravenbrook.com
2014-03-11 14:46:47 +00:00
Gareth Rees
1243791d24
Ensure that djbench and gcbench compile on freebsd:
...
Link fmtdy with gcbench.
RESERVE_ALLOC in djbench ignores the return values from mps_reserve and mps_commit.
Don't include alloca.h -- alloca is in stdlib.h.
Rename start, finish to begin, end to avoid "local variable shadows global" error from gcc.
Copied from Perforce
Change: 184691
ServerID: perforce.ravenbrook.com
2014-03-08 00:36:32 +00:00
Gareth Rees
cd7110d70a
Add locbwcss and locusss to the test suite on os x, freebsd and linux.
...
Add const qualifier so that locbwcss and locusss compile without warnings.
Build djbench and gcbench on FreeBSD and Linux.
Don't include <alloca.h> -- alloca is in stdlib.h.
Copied from Perforce
Change: 184689
ServerID: perforce.ravenbrook.com
2014-03-08 00:24:04 +00:00
Gareth Rees
12ff0b70da
Build and run nailboardtest on unix.
...
Copied from Perforce
Change: 184673
ServerID: perforce.ravenbrook.com
2014-03-07 16:13:10 +00:00
Gareth Rees
2853c402e9
Catch-up merge from master sources to nailboard branch.
...
Copied from Perforce
Change: 184402
ServerID: perforce.ravenbrook.com
2014-02-20 14:48:39 +00:00
Richard Brooksby
7e219e4284
Fixing up the build on freebsd (fri3gc)
...
Copied from Perforce
Change: 184356
ServerID: perforce.ravenbrook.com
2014-02-17 17:00:08 +00:00
Gareth Rees
f070780cba
Add the object format from the scheme example, so that not all test cases use the dylan format.
...
New test case "airtest" (AIR = ambiguous interior reference).
Copied from Perforce
Change: 184026
ServerID: perforce.ravenbrook.com
2014-01-16 14:24:48 +00:00
Gareth Rees
4a983b9852
Refactor nailboard code from poolamc.c into a new nailboard module.
...
Nailboard design document contains the draft design for the new module.
New functions on Range objects, and documentation thereof: RangeInitCopy, RangeIsEmpty, RangeContains.
Copied from Perforce
Change: 184022
ServerID: perforce.ravenbrook.com
2014-01-15 17:59:02 +00:00
Gareth Rees
73989d332e
Raise an error if variety is something other than rash, hot, or cool.
...
Copied from Perforce
Change: 183499
ServerID: perforce.ravenbrook.com
2013-10-01 10:53:09 +01:00
Richard Brooksby
55906e2b58
Fixing up build for test platform xci3gc, broken by os x threads development.
...
Enabling amcssth and awlutth tests for all platforms, since I believe these were fixed by OS X threads development.
Copied from Perforce
Change: 183118
ServerID: perforce.ravenbrook.com
2013-07-17 16:49:31 +01:00
Richard Brooksby
dc3fe5546b
Eliminating eventpro.c and simplifying event reading in eventcnv.
...
Copied from Perforce
Change: 182748
ServerID: perforce.ravenbrook.com
2013-06-15 14:24:52 +01:00
Richard Brooksby
9e8f8eb1b4
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
ac1e57c0ac
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
81e1ea0da2
Fix build on linux.
...
Copied from Perforce
Change: 182574
ServerID: perforce.ravenbrook.com
2013-06-06 14:21:39 +01:00
Gareth Rees
ef9c7a057e
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
Gareth Rees
4e22988865
Remove diag facility.
...
Copied from Perforce
Change: 182553
ServerID: perforce.ravenbrook.com
2013-06-05 18:35:40 +01:00
Gareth Rees
4232dc3125
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
3515defcdd
Make fotest run on lii6gc.
...
Copied from Perforce
Change: 182512
ServerID: perforce.ravenbrook.com
2013-06-04 18:40:52 +01:00
Gareth Rees
67ab8d1385
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
bb56e5bd24
Add freelist module to core mps.
...
Copied from Perforce
Change: 182422
ServerID: perforce.ravenbrook.com
2013-06-03 12:58:12 +01:00