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
82690aa532
Untabify.
...
Copied from Perforce
Change: 191528
ServerID: perforce.ravenbrook.com
2016-04-21 20:50:45 +01:00
Richard Brooksby
cae4514c1b
Merging branch/2016-03-13/defer-write-barrier into master sources.
...
Copied from Perforce
Change: 190380
ServerID: perforce.ravenbrook.com
2016-03-24 12:07:20 +00:00
Richard Brooksby
eb1d39c425
Improving shieldflushentries to allow for delayed protection changes on shieldlower.
...
Copied from Perforce
Change: 190363
ServerID: perforce.ravenbrook.com
2016-03-23 19:03:00 +00:00
Richard Brooksby
f3b8479322
Improving commentary: the mutator is suspended, not the arena.
...
Copied from Perforce
Change: 190352
ServerID: perforce.ravenbrook.com
2016-03-23 17:55:22 +00:00
Richard Brooksby
33b28efbdb
Responding to review by nb < https://info.ravenbrook.com/mail/2016/03/22/17-19-03/0/ >.
...
Copied from Perforce
Change: 190349
ServerID: perforce.ravenbrook.com
2016-03-23 17:31:59 +00:00
Richard Brooksby
20f558f64a
Improving commentary in response to nb < https://info.ravenbrook.com/mail/2016/03/22/17-19-03/0/ >.
...
Copied from Perforce
Change: 190339
ServerID: perforce.ravenbrook.com
2016-03-23 14:37:54 +00:00
Richard Brooksby
0f3a469fa7
Responding to review by gdr < https://info.ravenbrook.com/mail/2016/03/21/21-05-49/0/ >.
...
Copied from Perforce
Change: 190336
ServerID: perforce.ravenbrook.com
2016-03-23 14:23:14 +00:00
Richard Brooksby
4204f99d67
Moving quicksort's workspace off the stack to limit mps stack usage.
...
Copied from Perforce
Change: 190332
ServerID: perforce.ravenbrook.com
2016-03-23 13:47:55 +00:00
Richard Brooksby
f8a79ec8e4
Added discussion of when it might be good to resume the mutator early in design.mps.shield.improv.resume.
...
Copied from Perforce
Change: 190329
ServerID: perforce.ravenbrook.com
2016-03-23 13:11:19 +00:00
Richard Brooksby
5bc87114ea
Counting shield holds and releases, to ensure they are nested correctly.
...
Counting the number of unsynced segments in order to check consistency.
Moving the extra shield hold for request.dylan.160098 around actual whitening, and adding a matching shield release.
Copied from Perforce
Change: 190321
ServerID: perforce.ravenbrook.com
2016-03-23 11:59:57 +00:00
Richard Brooksby
cf0ac842bc
Reorganising shield design and updating.
...
Renaming ShieldSuspend to ShieldHold and ShieldResume to ShieldRelease to reduce confusion.
Copied from Perforce
Change: 190320
ServerID: perforce.ravenbrook.com
2016-03-23 08:20:29 +00:00
Richard Brooksby
548bdb35a2
Catch-up merge from master sources to branch/2016-03-11/shield-coalesce.
...
Copied from Perforce
Change: 190234
ServerID: perforce.ravenbrook.com
2016-03-20 12:46:55 +00:00
Richard Brooksby
5e62e27402
Fixing splitting and merging for queued segments.
...
Copied from Perforce
Change: 190228
ServerID: perforce.ravenbrook.com
2016-03-20 01:22:15 +00:00
Richard Brooksby
a03174304d
Tearing down shield correctly.
...
Copied from Perforce
Change: 190225
ServerID: perforce.ravenbrook.com
2016-03-20 01:01:54 +00:00
Richard Brooksby
b97bd74013
Renaming shield cache to shield queue.
...
Copied from Perforce
Change: 190220
ServerID: perforce.ravenbrook.com
2016-03-20 00:46:59 +00:00
Richard Brooksby
e09dbaab0f
Promoting shield to first class structure.
...
Copied from Perforce
Change: 190219
ServerID: perforce.ravenbrook.com
2016-03-20 00:32:43 +00:00
Richard Brooksby
ff0b6d1379
More documentation, tidying up, and cross-referencing.
...
Copied from Perforce
Change: 190205
ServerID: perforce.ravenbrook.com
2016-03-19 15:12:12 +00:00
Richard Brooksby
ca6aa07632
Tidying up, especially special assertions.
...
Copied from Perforce
Change: 190204
ServerID: perforce.ravenbrook.com
2016-03-19 14:47:54 +00:00
Richard Brooksby
d280ff5c04
Fixing missing cache flag reset when a single entry is removed in low memory situations.
...
Copied from Perforce
Change: 190199
ServerID: perforce.ravenbrook.com
2016-03-19 14:11:26 +00:00
Richard Brooksby
ff69c9af04
Separating flag for segment in shield cache from depth, clarifying code and optimising segfree somewhat.
...
Copied from Perforce
Change: 190194
ServerID: perforce.ravenbrook.com
2016-03-19 13:42:09 +00:00
Richard Brooksby
9172773f9c
Updating shield design and actually checking invariants in code.
...
Copied from Perforce
Change: 190192
ServerID: perforce.ravenbrook.com
2016-03-19 10:15:10 +00:00
Richard Brooksby
ed69abbd66
Deferring non-urgent fixmes to todos.
...
Copied from Perforce
Change: 190190
ServerID: perforce.ravenbrook.com
2016-03-19 08:34:30 +00:00
Richard Brooksby
91a08048b7
Design documentation, commentary, and code tidying.
...
Copied from Perforce
Change: 190172
ServerID: perforce.ravenbrook.com
2016-03-17 20:04:26 +00:00
Richard Brooksby
eb8b31f059
Tidying up quicksort into an mpm utility.
...
Copied from Perforce
Change: 190171
ServerID: perforce.ravenbrook.com
2016-03-17 19:26:45 +00:00
Richard Brooksby
4d889230f9
Replacing qsort with an iterative implementation.
...
Copied from Perforce
Change: 190166
ServerID: perforce.ravenbrook.com
2016-03-17 18:22:08 +00:00
Richard Brooksby
8df13d0bff
Shield cache that grows. improving commentary.
...
Copied from Perforce
Change: 190160
ServerID: perforce.ravenbrook.com
2016-03-17 16:55:14 +00:00
Richard Brooksby
641cdc164c
Catch-up merge from master sources to branch/2016-03-11/shield-coalesce.
...
Copied from Perforce
Change: 190150
ServerID: perforce.ravenbrook.com
2016-03-17 13:53:40 +00:00
Richard Brooksby
662a1b1b9b
Allocate the shield cache. also improve commentary quite a bit.
...
Copied from Perforce
Change: 190147
ServerID: perforce.ravenbrook.com
2016-03-17 13:37:40 +00:00
Richard Brooksby
ca73a994c0
Simplifying segsetsummary by not requiring it to calculate the previous shield mode.
...
Copied from Perforce
Change: 189963
ServerID: perforce.ravenbrook.com
2016-03-13 14:09:38 +00:00
David Lovemore
3669ed07b8
Basic coalescing of protects on shield flush.
...
Copied from Perforce
Change: 189871
ServerID: perforce.ravenbrook.com
2016-03-11 17:05:01 +00:00
David Lovemore
2d98fb2118
Rename functions cache() and flush().
...
Copied from Perforce
Change: 189868
ServerID: perforce.ravenbrook.com
2016-03-11 15:07:48 +00:00
Richard Brooksby
eac348d664
Catch-up merge from masters.
...
Copied from Perforce
Change: 188921
ServerID: perforce.ravenbrook.com
2016-01-19 16:22:39 +00:00
Gareth Rees
abbdcfc59f
Assert if a thread dies while registered, but make a best effort to continue working after the assertion, by marking the thread as dead and moving it to a ring of dead threads.
...
Copied from Perforce
Change: 187393
ServerID: perforce.ravenbrook.com
2014-10-25 17:41:42 +01:00
Gareth Rees
c968255f1e
Ensure that code of the form if (condition) statement; is split over two lines, so that it is possible to set a breakpoint on the statement in a debugger.
...
This change was agreed in 1997 (see <https://info.ravenbrook.com/project/mps/mail/1997/08/19/13-44/0.txt >), so it's about time it was implemented.
Copied from Perforce
Change: 187071
ServerID: perforce.ravenbrook.com
2014-09-27 22:57:02 +01:00
Richard Brooksby
50950e47e7
Adding comment i was prompted to write at < http://news.ycombinator.com/item?id=4524036 > to the code at shieldexpose.
...
Copied from Perforce
Change: 179495
ServerID: perforce.ravenbrook.com
2012-09-14 22:28:56 +01:00
Richard Brooksby
f2f702fc18
Added single compilation unit version of mps library to allow global optimization and universal binary building. minor fixes to other sources to avoid clashing symbols.
...
Separated XCI3GC (gcc) from XCI3LL (clang) platforms, so that we can build both 32- and 64-bit binaries with clang.
Enabled universal (multi architecture) builds.
Copied from Perforce
Change: 178287
ServerID: perforce.ravenbrook.com
2012-05-22 21:27:55 +01:00
Richard Brooksby
78ef580722
Eliminating "impl" type tags and replacing them with uri-style file references.
...
Copied from Perforce
Change: 29900
ServerID: perforce.ravenbrook.com
2002-06-07 17:34:59 +01:00
Richard Brooksby
97075f7053
Updating cross references to design documents to html style, to go with master/design document tree.
...
Copied from Perforce
Change: 29897
ServerID: perforce.ravenbrook.com
2002-06-07 16:47:14 +01:00
Richard Brooksby
a0f676c8e1
Adding forward reference to licenses from copyright notices.
...
Adding licenses to a couple of files I missed.
Copied from Perforce
Change: 29837
ServerID: perforce.ravenbrook.com
2002-06-06 11:56:19 +01:00
Richard Brooksby
4301a6db0a
Adding licenses to source code files.
...
Copied from Perforce
Change: 29836
ServerID: perforce.ravenbrook.com
2002-06-06 11:44:23 +01:00
Nick Barnes
db4b3a6fa5
Remove trailing whitespace.
...
Copied from Perforce
Change: 25309
ServerID: perforce.ravenbrook.com
2001-12-17 15:18:17 +00:00
Richard Brooksby
c0bb4cd3cd
Removing hopenames from the master sources.
...
This change will be integrated but ignored (-ay) to the gg-epcore/union sources, so that they retain HopeNames.
Copied from Perforce
Change: 24911
ServerID: perforce.ravenbrook.com
2001-12-07 13:19:25 +00:00
Richard Brooksby
3d5e2ca85f
Adding hopenames back into the master sources, so that they can be included in the union sources along with the id keywords.
...
This was achieved by partially undoing changelist 24817, including an accidental corruption of eventgen.pl.
Copied from Perforce
Change: 24877
ServerID: perforce.ravenbrook.com
2001-12-06 18:14:02 +00:00
Richard Brooksby
b824e1c406
Updating copyright messages to say copyright 2001 ravenbrook throughout.
...
Adding some missing copyright messages.
Copied from Perforce
Change: 24818
ServerID: perforce.ravenbrook.com
2001-12-05 16:18:43 +00:00
Richard Brooksby
2589307099
Changing hopename keywords to id keywords throughout, to work with perforce.
...
Copied from Perforce
Change: 24817
ServerID: perforce.ravenbrook.com
2001-12-05 16:05:52 +00:00
Richard Brooksby
492dd3c684
Merging changes from union to masters. this incorporates pekka's updates: tuning and a type in amcsshe.c and some adding some missing checks in arenavm.c. it also brings our cope of their hopenames up to date.
...
Copied from Perforce
Change: 24815
ServerID: perforce.ravenbrook.com
2001-12-05 15:48:24 +00:00
Nick Barnes
7acfca905d
Branch imports for masters.
...
Copied from Perforce
Change: 23678
ServerID: perforce.ravenbrook.com
2001-10-31 14:40:56 +00:00