Richard Brooksby
103e03d285
Catch up merge from masters to branch/2014-01-15/nailboard.
...
Copied from Perforce
Change: 185118
ServerID: perforce.ravenbrook.com
2014-04-01 11:43:47 +01:00
Gareth Rees
8c5bb6ae3c
Turn on -wunreachable-code for gcc and clang.
...
Remove unreachable code:
* No need to have different debug options or structured allocation classes for different platforms.
* Don't use STATISTIC_BEGIN, use STATISTIC_STAT.
* #ifdef away the unused code in zmess.c for testing ControlAlloc failure.
* Remove unused code from the example Scheme interpreter.
Copied from Perforce
Change: 185089
ServerID: perforce.ravenbrook.com
2014-03-30 14:26:02 +01: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
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
Gareth Rees
9930b9c807
Move coverage testing out of the xcode project (to avoid normal debug builds being slowed down by coverage instrumentation, and to avoid error messages when the tests are unable to update the coverage data).
...
Copied from Perforce
Change: 184931
ServerID: perforce.ravenbrook.com
2014-03-21 12:51:06 +00:00
Gareth Rees
3a249b1bfe
Drop .py extension from python executables, as requested by rb.
...
Copied from Perforce
Change: 184900
ServerID: perforce.ravenbrook.com
2014-03-20 11:36:58 +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
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
1320687ab1
New test program nailboardtest.
...
Copied from Perforce
Change: 184570
ServerID: perforce.ravenbrook.com
2014-02-26 22:41:22 +00:00
Richard Brooksby
fbb0d3be44
Adding basic generic binary tree datatype.
...
Copied from Perforce
Change: 184423
ServerID: perforce.ravenbrook.com
2014-02-23 10:41:07 +00:00
Gareth Rees
a4fa37129c
Another catch-up merge from the master sources to the nailboard branch.
...
Copied from Perforce
Change: 184407
ServerID: perforce.ravenbrook.com
2014-02-20 17:44:30 +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
Gareth Rees
ce1ce29f74
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
199a1261ed
Catch-up merge from master, mainly to pick up chain-zones merge.
...
Copied from Perforce
Change: 184343
ServerID: perforce.ravenbrook.com
2014-02-14 15:23:36 +00:00
Richard Brooksby
c915c5abe7
Merging branch //info.ravenbrook.com/project/mps/branch/2014-01-29/mps-chain-zones/... into master.
...
Copied from Perforce
Change: 184342
ServerID: perforce.ravenbrook.com
2014-02-14 15:15:07 +00:00
Richard Brooksby
ad8e5e5cd4
Catch-up merge from master, mainly to pick up gcbench.
...
Copied from Perforce
Change: 184335
ServerID: perforce.ravenbrook.com
2014-02-12 17:39:31 +00:00
Richard Brooksby
4ce753ec45
Abstracting partially mapped page tables into a sparsearray abstract datatype, removing a great deal of complexity from the vm arena, and some unnecessary double-initialisation and scanning loops during allocation.
...
Copied from Perforce
Change: 184333
ServerID: perforce.ravenbrook.com
2014-02-12 17:32:20 +00:00
David Lovemore
60ada86df4
Add gcbench, a parameterizable benchmark for gc pools.
...
Copied from Perforce
Change: 184312
ServerID: perforce.ravenbrook.com
2014-02-11 11:54:27 +00:00
Richard Brooksby
9cdb3dd03b
Bringing strategy design up to date with changes to zone allocation.
...
Adding design documents to Xcode project for easier editing and source control.
Copied from Perforce
Change: 184218
ServerID: perforce.ravenbrook.com
2014-01-29 15:26:04 +00:00
Richard Brooksby
76b66a7083
Adding a rash configuration to xcode builds.
...
Copied from Perforce
Change: 184117
ServerID: perforce.ravenbrook.com
2014-01-25 15:25:52 +00:00
Richard Brooksby
8086cc7cad
Merging the "dj" benchmark from the benchmarking development branch.
...
Copied from Perforce
Change: 184106
ServerID: perforce.ravenbrook.com
2014-01-24 15:29:28 +00:00
Richard Brooksby
e37946b6f9
Catch-up merge from master.
...
Copied from Perforce
Change: 184103
ServerID: perforce.ravenbrook.com
2014-01-24 14:22:27 +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
1e97a6a193
Turn on -wextra -wwrite-strings when compiling with gcc or clang.
...
Add missing initializer to mps_args_none.
Change "char *" to "const char *" where necessary.
Copied from Perforce
Change: 183494
ServerID: perforce.ravenbrook.com
2013-09-30 17:18:52 +01:00
Richard Brooksby
66bf8d9ce6
Adding awlutth to regular test cases on os x.
...
Copied from Perforce
Change: 183000
ServerID: perforce.ravenbrook.com
2013-07-11 15:53:59 +01:00
Richard Brooksby
636aece062
Catch-up merge from master to macosx-threads branch.
...
Copied from Perforce
Change: 182928
ServerID: perforce.ravenbrook.com
2013-07-05 00:56:22 +01:00
Richard Brooksby
d7c130af26
Lots of tidying up, deleting unnecessary code, and adding documentation.
...
Copied from Perforce
Change: 182926
ServerID: perforce.ravenbrook.com
2013-07-05 00:36:13 +01:00
Richard Brooksby
b471aeb616
Registering exception handler for each thread, rather than the whole task.
...
This avoids the need to forward exception messages to the debugger, since we can reasonably insist that we're the first handler in the chain for each thread.
Copied from Perforce
Change: 182925
ServerID: perforce.ravenbrook.com
2013-07-04 22:58:34 +01:00
Richard Brooksby
8b701281b6
Fixing alloc_table in awlutth.c so that it doesn't allocate a bogus extra word. not sure how it got like this.
...
Copied from Perforce
Change: 182896
ServerID: perforce.ravenbrook.com
2013-07-02 19:18:16 +01:00
Gareth Rees
147e9a54ab
No need to compile arg.c separately: included in mps.c since change 181994.
...
Copied from Perforce
Change: 182877
ServerID: perforce.ravenbrook.com
2013-07-01 11:23:59 +01:00
Richard Brooksby
7181701824
Initial implementation of mac os x protection exception handling using mach.
...
Some threading tests get quite a long way.
Copied from Perforce
Change: 182872
ServerID: perforce.ravenbrook.com
2013-06-29 01:22:42 +01:00
Richard Brooksby
8d7124929e
Thread scanning for mac os x / mach, and the start of thread exception handling.
...
Copied from Perforce
Change: 182834
ServerID: perforce.ravenbrook.com
2013-06-22 09:02:35 +01:00
Richard Brooksby
d9f95e5213
Mutator fault context definitions for os x using mach.
...
Copied from Perforce
Change: 182832
ServerID: perforce.ravenbrook.com
2013-06-22 00:54:50 +01:00
Richard Brooksby
64773f305d
Implementing os x (mach) threading module.
...
Copied from Perforce
Change: 182830
ServerID: perforce.ravenbrook.com
2013-06-21 23:57:07 +01:00
Richard Brooksby
b0e4e8528f
Adding multi-threading to djbench in order to test performance with thread contention.
...
Copied from Perforce
Change: 182778
ServerID: perforce.ravenbrook.com
2013-06-16 21:20:29 +01:00
Richard Brooksby
8ef0a0be21
Adding recursion factor and repeatable random number seeding to dj benchmark.
...
Copied from Perforce
Change: 182776
ServerID: perforce.ravenbrook.com
2013-06-16 18:59:54 +01:00
Richard Brooksby
e73109d070
Tidying up djbench and merging into a single file rather than relying on #include hacks.
...
Copied from Perforce
Change: 182774
ServerID: perforce.ravenbrook.com
2013-06-16 15:32:43 +01:00
Richard Brooksby
57925c8a86
Renaming djban test to djbench in xcode project and sharing scheme.
...
Copied from Perforce
Change: 182773
ServerID: perforce.ravenbrook.com
2013-06-16 07:52:15 +01:00
Richard Brooksby
c548654603
Generalising dj benchmark test to accept options controlling test parameters and arguments saying which pool classes to test.
...
Copied from Perforce
Change: 182767
ServerID: perforce.ravenbrook.com
2013-06-16 00:21:28 +01:00
Richard Brooksby
29fb66594d
Adding "dj" benchmark to exercise manual variable pools and compare with malloc.
...
Copied from Perforce
Change: 182766
ServerID: perforce.ravenbrook.com
2013-06-15 18:41:58 +01:00
Richard Brooksby
b610d57e92
Sharing the scheme building xcode scheme so that others can get logs and profile easily.
...
Copied from Perforce
Change: 182754
ServerID: perforce.ravenbrook.com
2013-06-15 16:24:38 +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
117c85cce4
Adding the scheme example to the xcode project.
...
Adding a simple Scheme benchmark program to stress the MPS mildly.
Copied from Perforce
Change: 182711
ServerID: perforce.ravenbrook.com
2013-06-12 23:30:28 +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
ef933fde2f
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
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
e5b8cf82d8
Add fbmtest to test suite.
...
Copied from Perforce
Change: 182433
ServerID: perforce.ravenbrook.com
2013-06-03 16:21:32 +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