Richard Brooksby
fdab3a6795
Documentation and commentary clarifications in response to code review < https://info.ravenbrook.com/mail/2013/07/11/13-17-56/0/ >.
...
Copied from Perforce
Change: 182999
ServerID: perforce.ravenbrook.com
2013-07-11 15:44:19 +01:00
Gareth Rees
227f03cda5
Small fixes following review < https://info.ravenbrook.com/mail/2013/07/11/13-17-56/0/ >.
...
Copied from Perforce
Change: 182993
ServerID: perforce.ravenbrook.com
2013-07-11 14:17:17 +01:00
Gareth Rees
3017f9b480
Changes from review < https://info.ravenbrook.com/mail/2013/07/10/14-38-35/0/ >.
...
Copied from Perforce
Change: 182986
ServerID: perforce.ravenbrook.com
2013-07-10 15:37:27 +01:00
Richard Brooksby
0ebb152f41
Improving references to documentation and source code.
...
Copied from Perforce
Change: 182983
ServerID: perforce.ravenbrook.com
2013-07-10 14:12:46 +01:00
Richard Brooksby
6cfd6d75c9
Reducing unnecessary copying of thread states by passing a pointer to the state in the mutator fault context.
...
Copied from Perforce
Change: 182980
ServerID: perforce.ravenbrook.com
2013-07-05 17:43:14 +01:00
Bruce Mitchener
7162dfcad2
Don't define _gnu_source if already defined.
...
When using the build method of including the MPS directly into
one's own sources, that build system may already define _GNU_SOURCE
causing a warning here about re-defining it.
Copied from Perforce
Change: 182941
ServerID: perforce.ravenbrook.com
2013-07-05 10:21:50 +01:00
Richard Brooksby
b71af4dbe4
Fixing a couple of comments that are out of date.
...
Copied from Perforce
Change: 182932
ServerID: perforce.ravenbrook.com
2013-07-05 01:53:51 +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
d8504fb9bb
Minor tidying and improved documentation in the leader comment.
...
Copied from Perforce
Change: 182924
ServerID: perforce.ravenbrook.com
2013-07-04 22:11:55 +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
Richard Brooksby
641995b424
Fixing minor linux build error left over from dl's debugging.
...
Copied from Perforce
Change: 182884
ServerID: perforce.ravenbrook.com
2013-07-01 20:51:21 +01:00
Richard Brooksby
daebd8206a
Amcssth test was broken: didn't register the worker threads as roots, only created one worker thread, registered it twice. weird.
...
Copied from Perforce
Change: 182882
ServerID: perforce.ravenbrook.com
2013-07-01 20:04:30 +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
Gareth Rees
09d0dfc481
Document the intention behind mps_ld_isstale rather than the implementation: it captures the intention of testing whether a particular dependency is stale (even though the implementation in fact tests whether any dependency is stale). add new function mps_ls_isstale_any for expressing the intention of testing whether any dependencey is stale. the two functions have the same implementation at present, but the separation gives us the freedom to return a more precise result from mps_ld_isstale in future.
...
Copied from Perforce
Change: 182816
ServerID: perforce.ravenbrook.com
2013-06-20 16:25:08 +01:00
David Lovemore
ec2f430557
Switched mac os x threading to use thix.c and pthreadext.c.
...
Also switched to using platform specific Mutator Context code
so that we can read out the registers for instruction emulation
and stack scanning.
Builds on 64-bit but doesn't work because sem_init is unimplemented on
Mac OS X.
Not finished on 32-bit.
Copied from Perforce
Change: 182791
ServerID: perforce.ravenbrook.com
2013-06-18 16:29:31 +01:00
Gareth Rees
dbdf90119d
Move the poolhasrange test to pool.c so that all frees (including internal ones) get the check.
...
Copied from Perforce
Change: 182783
ServerID: perforce.ravenbrook.com
2013-06-17 17:52:25 +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
d02bc32f5f
Adding leader comment description, copyright, and license.
...
Copied from Perforce
Change: 182775
ServerID: perforce.ravenbrook.com
2013-06-16 15:36:17 +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
201a76c3b7
Improving usage message.
...
Copied from Perforce
Change: 182772
ServerID: perforce.ravenbrook.com
2013-06-16 00:55:41 +01:00
Richard Brooksby
be18333bdb
Fixing parsing of -s and -r options.
...
Copied from Perforce
Change: 182768
ServerID: perforce.ravenbrook.com
2013-06-16 00:38:06 +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
1ea9ffdac4
Suppress warnings about uninitialized use of eof.
...
Copied from Perforce
Change: 182750
ServerID: perforce.ravenbrook.com
2013-06-15 14:38:00 +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
03a84ad1c5
Ensuring that the arena passes consistency checking before calling vmarenatrivextended, by setting the zoneshift and alignment at the same time.
...
Copied from Perforce
Change: 182708
ServerID: perforce.ravenbrook.com
2013-06-12 20:02:29 +01:00
Richard Brooksby
f9724af3e0
Catch-up merge from custom/cet/main to master, to pick up arena extension callbacks.
...
Copied from Perforce
Change: 182701
ServerID: perforce.ravenbrook.com
2013-06-12 15:33:49 +01:00
Richard Brooksby
17cf0ad76d
Rewriting mvtbufferfill to separate out its various attempts to allocate memory and clarify their relationships. mvtbufferfill itself now clearly spells out the methods it applies and its fallbacks. this reveals quite a few questions which i have noted with fixmes and todos.
...
Copied from Perforce
Change: 182642
ServerID: perforce.ravenbrook.com
2013-06-08 18:38:03 +01:00
Gareth Rees
559703b2ca
Fix handling of -i and -o options.
...
Copied from Perforce
Change: 182634
ServerID: perforce.ravenbrook.com
2013-06-08 16:29:04 +01:00
Gareth Rees
eaad083f93
Improve the explanation at the start of globalsfinish.
...
Put assertion from vmChunkDestroy into the manual.
Copied from Perforce
Change: 182633
ServerID: perforce.ravenbrook.com
2013-06-08 16:16:48 +01:00
Gareth Rees
293e78f372
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
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
a16f5b3f6c
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
ccbf5341e8
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
4753e1ba3a
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
ddf49ff7e9
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
c44b1e0e31
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
08f28c589a
Fix function description.
...
Copied from Perforce
Change: 182601
ServerID: perforce.ravenbrook.com
2013-06-07 13:17:21 +01:00
Gareth Rees
bcb3aeacde
Oops, forgot fl argument to freelistblocklimit.
...
Copied from Perforce
Change: 182586
ServerID: perforce.ravenbrook.com
2013-06-06 15:58:02 +01:00