Gareth Rees
4b5d396792
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
0b159dc650
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
b409ae89f6
Turn freelist into a land class.
...
Copied from Perforce
Change: 185155
ServerID: perforce.ravenbrook.com
2014-04-02 14:01:18 +01:00
Richard Brooksby
3c543eb1a2
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
f025b00534
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
b81e8b2cc8
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
ff8a0c71d9
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
de74b79bad
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
9b9e33c6d6
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
87a1b83f20
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
331be1205e
Catch-up merge from masters.
...
Copied from Perforce
Change: 184728
ServerID: perforce.ravenbrook.com
2014-03-11 16:13:39 +00:00
Gareth Rees
d2b6956f6a
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
90d9df5c00
New test program nailboardtest.
...
Copied from Perforce
Change: 184570
ServerID: perforce.ravenbrook.com
2014-02-26 22:41:22 +00:00
Richard Brooksby
96473a433e
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
f0f64a6044
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
14dafacf6b
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
19fa48cba5
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
d8cb7e9a01
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
e6ff3a648f
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
8679bb210f
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
bc47522ae2
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
14a09c99a3
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
eba2dc5a54
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
893ac1da13
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
8ef0ecb155
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
199ef9ca11
Catch-up merge from master.
...
Copied from Perforce
Change: 184103
ServerID: perforce.ravenbrook.com
2014-01-24 14:22:27 +00:00
Gareth Rees
fd1b087f66
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
77e9c2692b
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
a3c7ed0cab
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
4a36041494
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
09b3808c9e
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
a4b67cf92a
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
30e439b2c5
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
cf0a17c78f
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
a86c3e469e
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
96448d34a9
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
512dca47e2
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
ac028a5fd0
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
c1e5ec8f38
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
f2e1e2c6c9
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
8373da6f37
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
48e588a2ba
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
d1863e3ead
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
9a05728bce
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
77798d2e0a
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
0adf0ec459
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
195ffba67b
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
725fd962bf
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
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
210e2febfb
Remove diag.c from xcode project.
...
Copied from Perforce
Change: 182572
ServerID: perforce.ravenbrook.com
2013-06-06 13:58:01 +01:00