Gareth Rees
a90a02704a
Initialize in/out parameter old_exception_count before passing it to thread_swap_exception_ports.
...
Copied from Perforce
Change: 192128
ServerID: perforce.ravenbrook.com
2016-09-04 14:28:28 +01:00
Gareth Rees
48b3a425af
Support registering a thread with the mps multiple times on os x.
...
Restore test case.
Copied from Perforce
Change: 192127
ServerID: perforce.ravenbrook.com
2016-09-04 14:23:07 +01:00
Gareth Rees
6932a51b2f
New preprocessor constants config_pthreadext_sigsuspend and config_pthreadext_sigresume for configuring the signals used to suspend and resume threads.
...
Copied from Perforce
Change: 192122
ServerID: perforce.ravenbrook.com
2016-09-04 13:55:39 +01:00
Gareth Rees
f1b3655bd5
Add a case for rootthread to rootcheck.
...
Add test coverage for mps_root_create_thread_scanned and mps_root_create_area; improve coverage for mps_root_create_area_tagged, mps_scan_area_tagged, mps_scan_area.
Copied from Perforce
Change: 192111
ServerID: perforce.ravenbrook.com
2016-09-04 11:56:09 +01:00
Gareth Rees
4fd5435a51
Avoid strict aliasing errors in the mps test suite, so that it compiles and runs using gcc 6.1.
...
Update the manual entries for mps_alloc and mps_sac_alloc with notes highlighting the problem.
Copied from Perforce
Change: 192104
ServerID: perforce.ravenbrook.com
2016-09-02 19:20:58 +01:00
Gareth Rees
c737a08bc2
Fix assertion text in the manual.
...
Place a cross-reference by each assertion the appears in the manual, to assist in keeping the manual up to date.
Copied from Perforce
Change: 192097
ServerID: perforce.ravenbrook.com
2016-09-02 14:11:08 +01:00
Gareth Rees
63b301ca93
New program mpseventpy emits python data structures representing telemetry events.
...
Copied from Perforce
Change: 191895
ServerID: perforce.ravenbrook.com
2016-06-02 15:02:05 +01:00
Gareth Rees
38614c785e
Make shield assertions robust against deep checking -- when shieldcover is called from shieldraise there is one unsynced segment that has not yet been queued. record this fact in a new queuepending flag in the shield structure.
...
Remove incorrect shield assertion "shield->depth == 0 || shield->suspended" -- depth may be increased without suspending the mutator if the segment did not need protecting.
Copied from Perforce
Change: 191812
ServerID: perforce.ravenbrook.com
2016-05-03 17:25:27 +01:00
Gareth Rees
bf65b1e622
Patch the mfs pool's alloc method instead of rewriting its class -- the latter violates the class invariants and so asserts when deep checking is turned on.
...
Copied from Perforce
Change: 191779
ServerID: perforce.ravenbrook.com
2016-05-02 13:49:43 +01:00
Gareth Rees
0297b380b9
Clear the emergency before removing the trace from busytraces, to avoid violating <code/global.c#emergency.invariant>.
...
Copied from Perforce
Change: 191774
ServerID: perforce.ravenbrook.com
2016-05-02 13:06:07 +01:00
Richard Brooksby
6ede631ed1
Turning buffer describe methods the right way in, so that they use next-method.
...
Copied from Perforce
Change: 191589
ServerID: perforce.ravenbrook.com
2016-04-23 00:57:46 +01:00
Richard Brooksby
0ea36ccf02
Turning segment describe methods the right way in, so that they call next-method. deleting duplicate implementation of basic segment describe!
...
Copied from Perforce
Change: 191588
ServerID: perforce.ravenbrook.com
2016-04-23 00:48:48 +01:00
Richard Brooksby
b765128003
Turning pool describe methods the right way in, so that they call next-method.
...
Copied from Perforce
Change: 191587
ServerID: perforce.ravenbrook.com
2016-04-23 00:22:46 +01:00
Gareth Rees
abcea0b2a5
The computed chunk size is the smallest size with a given number of usable bytes -- the actual chunk may be one grain larger.
...
Copied from Perforce
Change: 191574
ServerID: perforce.ravenbrook.com
2016-04-22 17:04:50 +01:00
Gareth Rees
82690aa532
Untabify.
...
Copied from Perforce
Change: 191528
ServerID: perforce.ravenbrook.com
2016-04-21 20:50:45 +01:00
Richard Brooksby
1115105a80
Merging branch/2016-04-08/protidying into master sources.
...
Copied from Perforce
Change: 191498
ServerID: perforce.ravenbrook.com
2016-04-21 17:18:36 +01:00
Richard Brooksby
b06ee89936
Supressing "may be used uninitialized" warnings from gcc.
...
Copied from Perforce
Change: 191489
ServerID: perforce.ravenbrook.com
2016-04-21 15:34:20 +01:00
Gareth Rees
21585896dd
Just report the performance ratio, don't fail if it's too large (to avoid continuous integration failures).
...
Copied from Perforce
Change: 191486
ServerID: perforce.ravenbrook.com
2016-04-21 15:33:08 +01:00
Richard Brooksby
2f4348a253
Minor comment fix.
...
Copied from Perforce
Change: 191481
ServerID: perforce.ravenbrook.com
2016-04-21 15:27:42 +01:00
Richard Brooksby
546e082125
Removing bogus arenatrivdescribe and turning arenadescribe the right way in.
...
Copied from Perforce
Change: 191480
ServerID: perforce.ravenbrook.com
2016-04-21 15:27:41 +01:00
Richard Brooksby
4a8e015d30
Typo.
...
Copied from Perforce
Change: 191479
ServerID: perforce.ravenbrook.com
2016-04-21 15:27:41 +01:00
Richard Brooksby
3f76b36cf4
Eliminating special case of amsinitinternal, since amst can now just use a standard next-method.
...
Copied from Perforce
Change: 191476
ServerID: perforce.ravenbrook.com
2016-04-21 15:24:51 +01:00
Richard Brooksby
4be15a5b0b
Catch-up merge from master sources to branch/2016-04-08/protidying.
...
Copied from Perforce
Change: 191471
ServerID: perforce.ravenbrook.com
2016-04-21 14:46:10 +01:00
Richard Brooksby
d249780b2d
Enforcing rules about class overrides that were dropped in changelist 190837.
...
Copied from Perforce
Change: 191453
ServerID: perforce.ravenbrook.com
2016-04-21 13:41:27 +01:00
Richard Brooksby
4db81ddfa0
Merging branch/2016-04-21/ld-history into master sources.
...
Copied from Perforce
Change: 191447
ServerID: perforce.ravenbrook.com
2016-04-21 13:07:10 +01:00
Gareth Rees
7cea9285f2
Correct the documentation for mps_collections.
...
In finalcv, don't rely on mps_collections to terminate the test case: use garbage collection messages.
Copied from Perforce
Change: 191442
ServerID: perforce.ravenbrook.com
2016-04-21 12:34:26 +01:00
Richard Brooksby
e87ff3aa7c
Responding to review by gdr < https://info.ravenbrook.com/mail/2016/04/21/09-36-07/0/ >.
...
Copied from Perforce
Change: 191432
ServerID: perforce.ravenbrook.com
2016-04-21 10:56:35 +01:00
Gareth Rees
5050d53d48
Increase target ratios to reduce false positives.
...
Copied from Perforce
Change: 191420
ServerID: perforce.ravenbrook.com
2016-04-21 09:12:16 +01:00
Richard Brooksby
02a8064a07
Moving location dependency history into its own structure to reduce arenastruct bloat.
...
Copied from Perforce
Change: 191417
ServerID: perforce.ravenbrook.com
2016-04-21 09:05:34 +01:00
Richard Brooksby
d618f77b2e
Removing unused (and useless) poolfix macro.
...
Copied from Perforce
Change: 191407
ServerID: perforce.ravenbrook.com
2016-04-21 08:59:52 +01:00
Gareth Rees
ffcd3f0b7b
Merge branch/2016-04-11/job003998.
...
Copied from Perforce
Change: 191388
ServerID: perforce.ravenbrook.com
2016-04-20 17:56:59 +01:00
Gareth Rees
68fd97647f
Pass the -p (posix output) option to /usr/bin/time so that the results are portable between os x and linux.
...
Copied from Perforce
Change: 191378
ServerID: perforce.ravenbrook.com
2016-04-20 16:19:38 +01:00
Gareth Rees
0d0eb93f01
Merge branch/2016-04-19/job004011.
...
Copied from Perforce
Change: 191374
ServerID: perforce.ravenbrook.com
2016-04-20 16:00:43 +01:00
Gareth Rees
a5973e98f8
Merge branch/2016-04-19/job004007.
...
Copied from Perforce
Change: 191371
ServerID: perforce.ravenbrook.com
2016-04-20 15:56:32 +01:00
Gareth Rees
8a19bd5e8c
Initialize arena->zoneshift to zoneshiftunset (which is not a valid shift) and modify the arena checking to spot this value. previously a default shift value (namely 20) was used, but this value was bogus as the zone shift is not determined until the class initialization runs.
...
Copied from Perforce
Change: 191370
ServerID: perforce.ravenbrook.com
2016-04-20 15:51:16 +01:00
Gareth Rees
c5456223c1
Performance ratio test uses cpu time (not real time). use awk instead of dc to avoid having to install a package.
...
Copied from Perforce
Change: 191365
ServerID: perforce.ravenbrook.com
2016-04-20 15:07:22 +01:00
Richard Brooksby
af037d483c
Squelching bogus type pun warnings from gcc 4.7 to get a clean build in travis ci.
...
Adding platform XCI6GC to allow faster debugging of CI builds on Mac OS X with MacPorts GCC 4.7 installed. Not otherwise supported.
Copied from Perforce
Change: 191357
ServerID: perforce.ravenbrook.com
2016-04-20 13:59:23 +01:00
Gareth Rees
655e358db4
Add a test checking that the hot variety is not too much slower than the rash variety. turn this on for continuous integration testing via "make test".
...
Copied from Perforce
Change: 191339
ServerID: perforce.ravenbrook.com
2016-04-20 13:15:18 +01:00
Gareth Rees
3f41c3fba4
Discard all messages retrieved from the queue.
...
Copied from Perforce
Change: 191317
ServerID: perforce.ravenbrook.com
2016-04-20 09:35:27 +01:00
Richard Brooksby
7f44fb60fb
Eliminating poolpoolmfs in favour of mustbea.
...
Copied from Perforce
Change: 191312
ServerID: perforce.ravenbrook.com
2016-04-19 23:30:18 +01:00
Richard Brooksby
ef6407e9c6
Eliminating seg2linkseg, linkseg2seg, seg2refseg, refseg2seg, poolmrg, and mrgpool in favour of mustbea.
...
Copied from Perforce
Change: 191311
ServerID: perforce.ravenbrook.com
2016-04-19 23:29:46 +01:00
Richard Brooksby
dd14518ade
Eliminating vmarena2arena and arena2vmarena in favour of mustbea.
...
Copied from Perforce
Change: 191306
ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +01:00
Richard Brooksby
cb620cf755
Removing a note about initialization order that no longer applies.
...
Copied from Perforce
Change: 191305
ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +01:00
Richard Brooksby
65a770e91f
Avoid using "class" as an identifier, since tools like lldb parse expressions as c++, and it can't be named.
...
Copied from Perforce
Change: 191304
ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +01:00
Gareth Rees
21bb1c84b1
Address comments made by rb in review:
...
* Clearer name for the amcseg->buffered flag.
* Better explanation of the meaning of this flag.
* Explain how an AMC segment can be buffered but not accounted as buffered.
Copied from Perforce
Change: 191298
ServerID: perforce.ravenbrook.com
2016-04-19 20:38:33 +01:00
Gareth Rees
2df530bb62
Make it clear where tags are defined and where they are referenced, as suggested by rb in review.
...
Copied from Perforce
Change: 191288
ServerID: perforce.ravenbrook.com
2016-04-19 19:24:46 +01:00
Gareth Rees
c1aeb1f67a
Ensure that at most one collection of the world can be started in a call to arenapoll. this avoids a loop if the live set is large enough to provoke the "dynamic criterion".
...
Copied from Perforce
Change: 191274
ServerID: perforce.ravenbrook.com
2016-04-19 18:17:09 +01:00
Gareth Rees
e8a7c408be
Infinity was new in c99 so use huge_val instead.
...
Copied from Perforce
Change: 191254
ServerID: perforce.ravenbrook.com
2016-04-19 16:38:20 +01:00
Richard Brooksby
1c0704e3c8
Catch-up merge from master sources to branch/2016-04-08/protidying.
...
Copied from Perforce
Change: 191251
ServerID: perforce.ravenbrook.com
2016-04-19 16:37:51 +01:00
Gareth Rees
99303979de
Give buffers their own account in the pool generation accounting system. this ensures that buffers don't contribute to the "new size" of a generation, and so don't provoke collections of that generation.
...
Copied from Perforce
Change: 191243
ServerID: perforce.ravenbrook.com
2016-04-19 16:02:16 +01:00