Bruce Mitchener
2e417719d4
Fix typos.
2024-11-26 22:10:23 +07:00
Richard Brooksby
f54fea1f9d
Clarifying todo in response to review < https://github.com/ravenbrook/mps/pull/119#discussion_r1115542531 >.
2023-02-24 09:07:28 +00:00
Richard Brooksby
c88e4e8a05
Downgrading old fixmes to todos with better explanation of tasks.
2023-02-20 08:51:15 +00:00
Gareth Rees
f47c389a52
Fix indentation of second clause of license.
2020-08-30 10:13:06 +01:00
Gareth Rees
af0f431eda
Use https: instead of http: when linking to the ravenbrook web site.
2020-08-30 10:13:03 +01:00
Peter Jackson
4de2606846
Publish licence updates in code directory.
...
Publish minor changes to readme and configure files in main directory.
Main directory and code directory licence texts are now fully updated.
Copied from Perforce
Change: 196994
2020-06-11 17:05:40 +01:00
Gareth Rees
4eda4e85c7
Use tags with dots; regularize design references from code.
...
Copied from Perforce
Change: 195761
2018-11-29 17:12:29 +00:00
Richard Brooksby
bf37e11ba9
Improving clarity with some hyphens.
...
Copied from Perforce
Change: 195688
2018-11-19 21:12:15 +00:00
Gareth Rees
20b2cbf95e
Don't assert splayhasupdate(splay) -- otherwise plain cbs does not work.
...
landtest now exercises CBS and CBSZoned as well as CBSFast.
Delete fbmtest (superseded by landtest).
Copied from Perforce
Change: 194807
2018-07-31 09:38:13 +01:00
Gareth Rees
2b0fec987d
Clean up function definitions: no need for "extern"; opening brace goes on new line.
...
Copied from Perforce
Change: 194654
2018-07-15 19:05:39 +01:00
Gareth Rees
0cf1718af9
Improve performance of mvff in hot builds by:
...
1. Using macros to bypass PoolFree and Land* generic functions.
2. Compiling out assertions on functions on the critical paths for manual allocation and freeing.
3. Taking advantage of the fact that splay->updateNode does not change during a splay operation.
Copied from Perforce
Change: 194397
2018-07-04 14:30:22 +01:00
Gareth Rees
bd5a075fd2
In gcc 7.3, -wextra sets -wimplicit-fallthough=3, which is rather strict about the format of the "fall through" comment.
...
Copied from Perforce
Change: 194064
2018-06-21 17:38:27 +01:00
Gareth Rees
49198a35ee
Add _critical to assertions on the critical path for manual-allocation-bound programs using mvff. this brings the hot/rash ratio for "djbench mvff" down from over 150% to about 130%.
...
Copied from Perforce
Change: 192148
ServerID: perforce.ravenbrook.com
2016-09-04 19:20:05 +01:00
Richard Brooksby
804f15dead
Removing the mostly unused size component of the closure convention.
...
Copied from Perforce
Change: 189503
ServerID: perforce.ravenbrook.com
2016-03-01 17:20:50 +00:00
Gareth Rees
7ff6169818
Fix cross-references.
...
Copied from Perforce
Change: 187791
ServerID: perforce.ravenbrook.com
2015-03-19 10:59:38 +00:00
Gareth Rees
aba1b6befd
Todo was done: replace it with cross-reference to design.
...
Copied from Perforce
Change: 187788
ServerID: perforce.ravenbrook.com
2015-03-18 20:54:28 +00:00
Gareth Rees
5f35b7f792
Use the method suffix only for methods in classes; use visitor or function for other kinds of functions.
...
New document guide.impl.c.naming sets out the rules for naming.
Copied from Perforce
Change: 187159
ServerID: perforce.ravenbrook.com
2014-10-07 23:48:55 +01:00
Gareth Rees
2d0f425428
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
Gareth Rees
b799f68e8a
Can't call funcheck outside of aver because funcheck is not available in the rash variety.
...
Copied from Perforce
Change: 186836
ServerID: perforce.ravenbrook.com
2014-07-04 17:25:33 +01:00
Gareth Rees
b0d20ed749
Catch-up merge from master sources @186540 to branch/2014-05-17/chunk-tree.
...
Copied from Perforce
Change: 186546
ServerID: perforce.ravenbrook.com
2014-06-12 17:55:16 +01:00
Gareth Rees
c71e35f3c1
Catch-up merge from masters sources @186519 to branch/2014-04-17/describe.
...
Copied from Perforce
Change: 186526
ServerID: perforce.ravenbrook.com
2014-06-12 13:45:22 +01:00
Gareth Rees
c2c38dedcc
Catch-up merge from master sources @186481 to branch/2014-05-17/chunk-tree.
...
Copied from Perforce
Change: 186491
ServerID: perforce.ravenbrook.com
2014-06-11 13:52:31 +01:00
Gareth Rees
224afa61a8
Fix problems identified by rb in review < https://info.ravenbrook.com/mail/2014/05/29/13-01-02/0/ >.
...
Copied from Perforce
Change: 186347
ServerID: perforce.ravenbrook.com
2014-05-29 14:50:36 +01:00
Gareth Rees
f5e11efb38
Improvements following review.
...
Copied from Perforce
Change: 186227
ServerID: perforce.ravenbrook.com
2014-05-21 00:43:06 +01:00
Gareth Rees
6c668c0c02
New function splaydebugcount counts the number of items in a splay tree (while checking its consistency).
...
Copied from Perforce
Change: 186182
ServerID: perforce.ravenbrook.com
2014-05-19 13:47:56 +01:00
Gareth Rees
d947fe9ff5
Replace the chunk ring with a chunk tree.
...
Fix bug in SplayFindNext (LESS and GREATER the wrong way round).
Copied from Perforce
Change: 186157
ServerID: perforce.ravenbrook.com
2014-05-17 17:05:42 +01:00
Gareth Rees
add3e4bf93
Consistent order stream, depth.
...
Copied from Perforce
Change: 186001
ServerID: perforce.ravenbrook.com
2014-05-11 18:30:23 +01:00
Gareth Rees
c44f2d6a20
Correct indentation of describe output by passing depth parameter to describe functions and to writef.
...
Call Describe functions from test cases so that we get coverage.
Copied from Perforce
Change: 186000
ServerID: perforce.ravenbrook.com
2014-05-11 18:20:38 +01:00
Gareth Rees
4ed8190265
Back out change 185626 (violates the design.mps.writef.snazzy).
...
Copied from Perforce
Change: 185941
ServerID: perforce.ravenbrook.com
2014-05-02 12:44:31 +01:00
Gareth Rees
d83fbf6b09
Correct indentation of describe output.
...
Copied from Perforce
Change: 185626
ServerID: perforce.ravenbrook.com
2014-04-17 13:36:42 +01:00
Gareth Rees
b3f9ae76ae
Fix the condition for splaynodeupdate.
...
Copied from Perforce
Change: 185307
ServerID: perforce.ravenbrook.com
2014-04-07 16:26:03 +01:00
Gareth Rees
3d1db4eab6
Use cbs subclasses to implement the fast-find and find-in-zones features. this avoids the need to control behaviour by passing booleans, and it means that there is no wasted space in the cbs block structure when these features are not used.
...
Bring splay tree design up to date; add missing diagrams; move it to the "current" section of the manual.
Copied from Perforce
Change: 185294
ServerID: perforce.ravenbrook.com
2014-04-07 15:36:18 +01:00
Gareth Rees
0ffc9ec788
Can't use checkd_nosig(tree, ...) because treeempty is null.
...
arena->enabledMessageTypes might be NULL.
Copied from Perforce
Change: 185271
ServerID: perforce.ravenbrook.com
2014-04-07 10:14:40 +01:00
Gareth Rees
bcea6812fc
Improve control over checking:
...
1. Where Type is a pointer type with a signature, replace CHECKL(TypeCheck(val)) with CHECKD(Type, val).
2. Where Type is a pointer type with no signature, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val).
3. Where Type is a pointer type with a signature, but the structure is not visible at point of checking, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val). Reference <design/check/#.hidden-type>
4. Make BTCheck extern and use it where possible.
5. Replace AVER(TypeCheck(val)) with AVERT(Type, val).
Copied from Perforce
Change: 185263
ServerID: perforce.ravenbrook.com
2014-04-06 22:51:05 +01:00
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
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
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
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
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
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
Richard Brooksby
ad6b8c27ab
Implementing splayfindlast to match splayfindfirst. oops.
...
Copied from Perforce
Change: 184578
ServerID: perforce.ravenbrook.com
2014-02-27 16:03:55 +00:00
Richard Brooksby
549f676bdb
Minor tweaks to comments.
...
Copied from Perforce
Change: 184550
ServerID: perforce.ravenbrook.com
2014-02-26 13:00:07 +00:00
Richard Brooksby
09ec0a866f
Moving and updating most of the usage documentation from the design document to the source code. design documentation should contain justification of design decisions, not a user manual.
...
Copied from Perforce
Change: 184547
ServerID: perforce.ravenbrook.com
2014-02-26 01:39:10 +00:00
Richard Brooksby
9cf1c6319c
Updating copyright dates.
...
Copied from Perforce
Change: 184510
ServerID: perforce.ravenbrook.com
2014-02-23 13:54:07 +00:00
Richard Brooksby
2c0a968b2e
Making splaysplit and splayassemble general so that they can be used easily.
...
Copied from Perforce
Change: 184452
ServerID: perforce.ravenbrook.com
2014-02-23 12:18:18 +00:00
Richard Brooksby
b9a6a613a8
Returning the results of splitting in a structure so that it’s easier to pass them on to assemble.
...
Copied from Perforce
Change: 184451
ServerID: perforce.ravenbrook.com
2014-02-23 12:10:52 +00:00
Richard Brooksby
72dcf4aa74
Removing unnecessary case of splaying empty trees.
...
Copied from Perforce
Change: 184450
ServerID: perforce.ravenbrook.com
2014-02-23 11:52:21 +00:00
Richard Brooksby
a7451a424a
Adding a signature to splay tree structure. miscellaneous documentation and naming clean-up.
...
Copied from Perforce
Change: 184448
ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
9a9369cb59
Pointer-reversing splay and assemble to avoid double traversal of side tree spines in the update case.
...
Copied from Perforce
Change: 184447
ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
00b45122ee
Lifting zig and zag cases into common prefix to shorten splaysplit. a few percent faster.
...
Copied from Perforce
Change: 184446
ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00