Gareth Rees
91c2d03744
Prot_siginfo_good and prot_signal are no longer needed on os x.
...
Copied from Perforce
Change: 183101
ServerID: perforce.ravenbrook.com
2013-07-17 10:10:57 +01:00
Richard Brooksby
c012d80766
Fixing sacss failure introduced in changelist 183045. alignments are unpacked from varargs as promoted to size_t, but mps_pf_align is a naked number literal, and so was passed as int, causing a corrupt alignemnt failure in sacss.
...
Copied from Perforce
Change: 183048
ServerID: perforce.ravenbrook.com
2013-07-15 17:24:55 +01:00
Gareth Rees
6cedb9d2dc
Correct pass_count to fail_count in testrun.bat.
...
locbwcss shouldn't fail if there are non-contiguous allocations. Those are perfectly legitimate (MVFF uses CBS, which needs to allocate nodes in its splay tree).
Copied from Perforce
Change: 183047
ServerID: perforce.ravenbrook.com
2013-07-15 17:09:39 +01:00
Gareth Rees
f58f428605
Three test cases assumed that mps_pf_align is always equal to sizeof(void *), but this isn't true on platform w3i3mv where sizeof(void *) is 4 and mps_pf_align is 8. remove the assumption from these test cases.
...
Copied from Perforce
Change: 183045
ServerID: perforce.ravenbrook.com
2013-07-15 16:54:10 +01:00
Gareth Rees
0a7c50fdfa
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
b873e52ac0
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
08c7ce947c
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
1cd1480122
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
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
1772a17e72
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
f19d112a1a
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
f8c90b565e
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
905c983569
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
01d17882e6
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
9e2eef4fa0
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
ec0739c878
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
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
2241ede47d
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
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
Richard Brooksby
5a25854918
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
79582c17db
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
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
Gareth Rees
e88bcc5184
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
1ad79c5caa
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
25bfea8ba8
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
14dfc3b298
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
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
d384362757
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
46bc17e2a9
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
66ffa42fd2
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
bb7a5f1389
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
96b001376d
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
b9306a0fac
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
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
287feece82
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
1d594d8c6d
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
60a4cb56a1
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
da3afade7b
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
509ebcb215
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
a70d471ed2
Fix function description.
...
Copied from Perforce
Change: 182601
ServerID: perforce.ravenbrook.com
2013-06-07 13:17:21 +01:00
Gareth Rees
36bcd67544
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
997477468b
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
5db8a1802d
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