Gareth Rees
c94be13bdf
Improved support for pelles c:
...
* Refactor nmake files so that a compiler-specific makefile is included; move Microsoft Visual C-specific options to mv.nmk.
* Add nmake files for Pelles (w3i3pc.nmk and pc.nmk).
* Rename spw3i3mv.c to spw3i3.c and spw3i6mv.c to spw3i6.c since these are also used by Pelles C.
* Make reasonable changes to the source code to avoid warnings from Pelles C:
** check results of function calls;
** avoid useless return values;
** undef max before defining it;
** ensure printf formats are checkable;
** move notreached() assertions to the end of blocks;
** suppress warnings in cases where the code shouldn't be changed ("Unreachable code", "Inline assembly code is not portable", "Structured Exception Handling is not portable").
Copied from Perforce
Change: 184977
ServerID: perforce.ravenbrook.com
2014-03-24 18:23:29 +00:00
Gareth Rees
a3575822cc
Catch-up merge from master sources to branch/2014-03-21/pellesc.
...
Copied from Perforce
Change: 184973
ServerID: perforce.ravenbrook.com
2014-03-24 12:20:49 +00:00
Gareth Rees
a9fbb48533
Replace hex constant 9024eac8 (gotneach) with 4026eac8 (notreach).
...
Copied from Perforce
Change: 184972
ServerID: perforce.ravenbrook.com
2014-03-24 12:13:20 +00:00
Gareth Rees
edd6409964
Don't list the test cases to be run in commpre.nmk: list them instead in testrun.bat for consistency with other platforms.
...
Format lists of files and test cases with one per line so that merges are easier.
Improve testrun.bat: better success/failure output; fewer gotos.
Copied from Perforce
Change: 184971
ServerID: perforce.ravenbrook.com
2014-03-24 12:12:24 +00:00
Gareth Rees
333840f54a
Ensure that all test cases call testlib_init so that the testlib assertion handler is installed: this ensures that on windows you can set mps_testlib_noabort to avoid the dialog box from abort().
...
Copied from Perforce
Change: 184965
ServerID: perforce.ravenbrook.com
2014-03-24 11:41:01 +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
558b87093c
(very) draft makefile for pelles c.
...
Copied from Perforce
Change: 184949
ServerID: perforce.ravenbrook.com
2014-03-21 18:29:36 +00:00
Gareth Rees
f7f4c6bc1c
Mps compiles and runs using pelles c.
...
Merge code from Bruce Mitchener <https://github.com/Ravenbrook/mps-temporary/pull/2 > and from RB <https://github.com/waywardmonkeys/mps-temporary/pull/1/files >.
Split call to EVENT_LIST so that event.c compiles.
Remove useless call to va_end in seg.c.
Copied from Perforce
Change: 184948
ServerID: perforce.ravenbrook.com
2014-03-21 18:28:39 +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
14cf9d4890
Fix some checkleveldeep assertions:
...
1. In GlobalsPrepareToDestroy, set arenaGlobals->defaultChain to NULL before calling ChainDestroy, to avoid a failed ChainCheck inside ControlFree.
2. In GlobalsPrepareToDestroy, set arenaGlobals->lock to NULL after destroying it, to avoid a failed LockCheck inside ControlFree.
3. In TraceIdMessagesCreate, set tsMessage[ti] and tMessage[ti] together to avoid a failed TraceIdMessagesCheck inside traceMessageInit.
4. In TracePostStartMessage, set tsMessage[ti] to NULL before calling MessagePost, to avoid a failed TraceStartMessageCheck inside ControlFree.
5. Ditto for TracePostMessage and tMessage[ti].
Copied from Perforce
Change: 184924
ServerID: perforce.ravenbrook.com
2014-03-20 23:37:02 +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
Gareth Rees
605a189ec8
Update release index and bump release number accordingly.
...
Copied from Perforce
Change: 184870
ServerID: perforce.ravenbrook.com
2014-03-18 18:11:48 +00:00
Gareth Rees
1747357cec
In configure.ac, parse the release name out of code/version.c.
...
This means that there is now just one place in the sources where the release name is specified.
Copied from Perforce
Change: 184830
ServerID: perforce.ravenbrook.com
2014-03-17 14:53:58 +00:00
Richard Brooksby
10f3818649
Merging branch/2014-01-17/cbs-tract-alloc into master.
...
Copied from Perforce
Change: 184783
ServerID: perforce.ravenbrook.com
2014-03-13 15:28:06 +00:00
Richard Brooksby
f6a29c8f35
Apss test relies on non-zoned client arena to test tight memory condition, but client arena is zoned by default now. fixed the test to set up a non-zoned client arena.
...
Copied from Perforce
Change: 184779
ServerID: perforce.ravenbrook.com
2014-03-13 15:00:37 +00:00
Richard Brooksby
a2f3b72b3c
Return the correct reason that arena extension failed.
...
Copied from Perforce
Change: 184777
ServerID: perforce.ravenbrook.com
2014-03-13 13:48:43 +00:00
Richard Brooksby
6cfc226ebd
Implementing top-down (last fit) allocation in zones.
...
Copied from Perforce
Change: 184771
ServerID: perforce.ravenbrook.com
2014-03-13 12:06:28 +00:00
Richard Brooksby
46dc29b3da
Responding to code review < https://info.ravenbrook.com/mail/2014/03/12/15-42-41/0/ >.
...
Copied from Perforce
Change: 184754
ServerID: perforce.ravenbrook.com
2014-03-12 15:45:50 +00:00
Richard Brooksby
f55d451b86
Improving rangecopy based on code review suggestion < https://info.ravenbrook.com/mail/2014/03/10/17-01-58/0/ >.
...
Copied from Perforce
Change: 184743
ServerID: perforce.ravenbrook.com
2014-03-12 11:30:05 +00:00
Richard Brooksby
996c9eab52
Arenacv is not designed to work on a zoned client arena, even though this has become a possible combination. removed that case.
...
Copied from Perforce
Change: 184742
ServerID: perforce.ravenbrook.com
2014-03-12 10:46:44 +00:00
Richard Brooksby
83ed2f72bf
Reponding to code review < https://info.ravenbrook.com/mail/2014/03/10/17-01-58/0/ >.
...
Renaming the arena’s “zoned CBS” back to earlier “free CBS”, especially since it might not be zoned.
Copied from Perforce
Change: 184738
ServerID: perforce.ravenbrook.com
2014-03-11 17:27:57 +00:00
Richard Brooksby
2a7fd3c326
Incomplete response to code review. see < https://info.ravenbrook.com/mail/2014/03/07/11-21-03/0/ >.
...
Copied from Perforce
Change: 184735
ServerID: perforce.ravenbrook.com
2014-03-11 16:39:11 +00:00
Richard Brooksby
098eb9e6d7
Catch-up merge from master.
...
Copied from Perforce
Change: 184732
ServerID: perforce.ravenbrook.com
2014-03-11 16:30:47 +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
Richard Brooksby
4a27ce10f0
Catch-up merge from branch/2014-02-22/splay-tune to pick up code review changes.
...
Copied from Perforce
Change: 184727
ServerID: perforce.ravenbrook.com
2014-03-11 16:07:19 +00:00
Richard Brooksby
4b0b5f32b3
Responding to code review < https://info.ravenbrook.com/mail/2014/03/07/18-03-14/0/ >.
...
Updating Splay Tree design document to be reasonably consistent with the current code.
Disabling tree functions not currently in use.
Copied from Perforce
Change: 184723
ServerID: perforce.ravenbrook.com
2014-03-11 15:46:51 +00:00
Richard Brooksby
d945d664bf
Improving comments in response to code review suggestions < https://info.ravenbrook.com/mail/2014/03/11/14-47-33/0/ >.
...
Copied from Perforce
Change: 184725
ServerID: perforce.ravenbrook.com
2014-03-11 15:46:51 +00:00
Richard Brooksby
0cb5069ea8
Responding to code review < https://info.ravenbrook.com/mail/2014/03/07/22-40-36/0/ >.
...
Using TREE_ELT where appropriate.
Using AVERT consistently on Tree, but see job003691.
Copied from Perforce
Change: 184724
ServerID: perforce.ravenbrook.com
2014-03-11 15:46:51 +00:00
Richard Brooksby
9e231b8784
Fixing windows build.
...
Copied from Perforce
Change: 184721
ServerID: perforce.ravenbrook.com
2014-03-11 15:22:21 +00:00
Richard Brooksby
45ddf38adc
Fixing freebsd build.
...
Copied from Perforce
Change: 184719
ServerID: perforce.ravenbrook.com
2014-03-11 14:46:47 +00:00
Gareth Rees
b7018a3fca
Poolfix is on the critical path, so use aver_critical rather than aver.
...
Copied from Perforce
Change: 184693
ServerID: perforce.ravenbrook.com
2014-03-08 10:23:09 +00:00
Gareth Rees
1243791d24
Ensure that djbench and gcbench compile on freebsd:
...
Link fmtdy with gcbench.
RESERVE_ALLOC in djbench ignores the return values from mps_reserve and mps_commit.
Don't include alloca.h -- alloca is in stdlib.h.
Rename start, finish to begin, end to avoid "local variable shadows global" error from gcc.
Copied from Perforce
Change: 184691
ServerID: perforce.ravenbrook.com
2014-03-08 00:36:32 +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
5d874048b2
Delete .gdbinit: it hasn't been necessary to "handle sigbus nostop" on os x since the we started using mach exceptions (change 183002).
...
Copied from Perforce
Change: 184678
ServerID: perforce.ravenbrook.com
2014-03-07 19:02:05 +00:00
Gareth Rees
3ed48b827d
Ensure that the mps builds on windows by adding <sa> to mpmcommon.
...
Copied from Perforce
Change: 184675
ServerID: perforce.ravenbrook.com
2014-03-07 17:24:46 +00:00
Richard Brooksby
519f208a46
Responding to code review. see < https://info.ravenbrook.com/mail/2014/03/04/12-02-27/0/ >.
...
Copied from Perforce
Change: 184669
ServerID: perforce.ravenbrook.com
2014-03-07 15:00:54 +00:00
Richard Brooksby
0112bd03b6
Resolving questions left behind in fixmes.
...
Copied from Perforce
Change: 184609
ServerID: perforce.ravenbrook.com
2014-02-28 14:42:44 +00:00
Richard Brooksby
98bdeaf173
Adding more unzoned arena test cases back, now that there’s a keyword to the arena.
...
Copied from Perforce
Change: 184608
ServerID: perforce.ravenbrook.com
2014-02-28 14:42:18 +00:00
Richard Brooksby
c0e96f9f3c
Merging branch/2014-02-22/splay-tune to pick up splay tree improvements.
...
Copied from Perforce
Change: 184606
ServerID: perforce.ravenbrook.com
2014-02-28 14:27:40 +00:00
Richard Brooksby
e4451dcf3b
Restoring error path for arenaalloc.
...
Copied from Perforce
Change: 184604
ServerID: perforce.ravenbrook.com
2014-02-28 13:48:56 +00:00
Richard Brooksby
d62ff57a76
Removing redundant blacklisting event.
...
Copied from Perforce
Change: 184603
ServerID: perforce.ravenbrook.com
2014-02-28 13:46:51 +00:00
Richard Brooksby
9eb1d4a298
Adding unzoned arena tests back, now that there is a method of asking for them.
...
Copied from Perforce
Change: 184602
ServerID: perforce.ravenbrook.com
2014-02-28 13:46:36 +00:00
Richard Brooksby
b338f41c47
More closely duplicating the allocation policy from the old vmarena, and documenting why.
...
Copied from Perforce
Change: 184601
ServerID: perforce.ravenbrook.com
2014-02-28 13:35:51 +00:00
Richard Brooksby
eb75944742
Adding a keyword to the arena to disable zoned allocation.
...
Copied from Perforce
Change: 184599
ServerID: perforce.ravenbrook.com
2014-02-28 13:20:06 +00:00
Richard Brooksby
3309e4e7f4
Implementing allocation in the client arena class.
...
Copied from Perforce
Change: 184596
ServerID: perforce.ravenbrook.com
2014-02-28 11:23:59 +00:00
Richard Brooksby
a2aa56447c
Fixing res/bool confusion found by “xc/debug/fbmtest 244032167”
...
Copied from Perforce
Change: 184595
ServerID: perforce.ravenbrook.com
2014-02-28 10:53:07 +00:00
Richard Brooksby
7df4777d3c
Reinstating exhaustive splay tree search, since a tree or node may intersect a requested zone set, and be larger than a requested size, but still not satisfy a request.
...
Copied from Perforce
Change: 184594
ServerID: perforce.ravenbrook.com
2014-02-28 10:52:45 +00:00
Richard Brooksby
cd19bda000
Tidying up interfaces to cbsinit and cbsfindinzones.
...
Documenting assumptions about CBS block allocation used by the arena.
Copied from Perforce
Change: 184593
ServerID: perforce.ravenbrook.com
2014-02-28 10:30:32 +00:00
Richard Brooksby
0c16e904f5
Simplifying the interface to cbsfindinzones.
...
Speeding up CBSFindInZones a bit.
Copied from Perforce
Change: 184589
ServerID: perforce.ravenbrook.com
2014-02-28 01:25:18 +00:00
Richard Brooksby
c518d82ca9
Reverting exhaustive search in splayfindfirst and splayfindlast since zoned cbs will use an accurate test on the cbs block zones property, and this code will never be exercised.
...
Copied from Perforce
Change: 184588
ServerID: perforce.ravenbrook.com
2014-02-28 00:47:42 +00:00