Gareth Rees
335edef764
Avoid calling abort() on windows when running the test suite, so that the test suite doesn't get suspended waiting for someone to press a button.
...
Copied from Perforce
Change: 183041
ServerID: perforce.ravenbrook.com
2013-07-15 15:37:22 +01:00
Richard Brooksby
839c44c698
Added note about why we don't check that we're the only exception port before sending a reply.
...
Copied from Perforce
Change: 183006
ServerID: perforce.ravenbrook.com
2013-07-11 16:22:52 +01:00
Richard Brooksby
44d206b27c
Adding missing #endif caused by merge error. oops.
...
Copied from Perforce
Change: 183004
ServerID: perforce.ravenbrook.com
2013-07-11 16:08:42 +01:00
Richard Brooksby
f737f311ab
Merging branch/2013-06-18/macosx-threads back to master.
...
Copied from Perforce
Change: 183002
ServerID: perforce.ravenbrook.com
2013-07-11 15:55:58 +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
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
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
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
Gareth Rees
f651dbdc27
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
fe60d16407
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
5926e279f3
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
81e1ea0da2
Fix build on linux.
...
Copied from Perforce
Change: 182574
ServerID: perforce.ravenbrook.com
2013-06-06 14:21:39 +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
5d10a62ae9
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