aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/buffer.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Downgrading old fixmes to todos with better explanation of tasks.Richard Brooksby2023-02-201-1/+2
|
* Ensure that the mps builds with clang 10.Gareth Rees2021-01-101-9/+9
| | | | | | | | | | | | | | | | Clang 10 turns on -Wimplicit-int-float-conversion, and on 64-bit platforms this issues a warning that implicit conversions to double from Size and unsigned long "may lose precision". This commit adds casts to (double) for all such conversions. The loss of precision is either impossible in practice (because a double can represent all integers up to 2**53, which is about 9 petabytes, well beyond the addressing capabilities for current CPUs), or else acceptable, because we are accumulating an approximate quantity like "collection work" or "fill size" (that has to cope with loss of precision due in any case), or computing a threshold like the spare commit limit where it is acceptable for it to be somewhat approximate.
* Fix indentation of second clause of license.Gareth Rees2020-08-301-3/+3
|
* Use https: instead of http: when linking to the ravenbrook web site.Gareth Rees2020-08-301-1/+1
|
* Publish licence updates in code directory.Peter Jackson2020-06-111-36/+24
| | | | | | | | | 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
* Use tags with dots; regularize design references from code.Gareth Rees2018-11-291-10/+14
| | | | | | Copied from Perforce Change: 195761
* Describe values uniformly as bytes (not kilobytes).Gareth Rees2018-08-141-4/+4
| | | | | | Copied from Perforce Change: 194982
* New bufferfill and bufferempty methods on segments.Gareth Rees2018-07-101-3/+4
| | | | | | Copied from Perforce Change: 194568
* Check that arena, buffer, land classes override sets of related methods.Gareth Rees2017-03-301-0/+7
| | | | | | | Copied from Perforce Change: 193060 ServerID: perforce.ravenbrook.com
* Check that segment classes override sets of related methods.Gareth Rees2017-03-301-0/+4
| | | | | | | | | | Add missing finish functions amcSegFinish, mrgLinkSegFinish, mrgRefSegFinish, sncSegFinish. Check all class constructor results. Copied from Perforce Change: 193055 ServerID: perforce.ravenbrook.com
* Catch-up merge from the master sources to branch/2016-04-23/inst-methods.Gareth Rees2016-09-051-7/+4
|\ | | | | | | | | | | | | Copied from Perforce Change: 192176 ServerID: perforce.ravenbrook.com
| * Catch-up merge from the master sources.Gareth Rees2016-09-051-52/+30
| |\ | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 192170 ServerID: perforce.ravenbrook.com
| | * Fix assertion text in the manual.Gareth Rees2016-09-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Replacing segbuffer with version that returns bool and the buffer, and ↵Richard Brooksby2016-04-271-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | disallowing null to segsetbuffer, adding setunsetbuffer for that case instead. Copied from Perforce Change: 191695 ServerID: perforce.ravenbrook.com
| * | Catch-up merge from master sources to branch/2016-04-20/seghasbuffer.Gareth Rees2016-04-221-230/+157
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 191548 ServerID: perforce.ravenbrook.com
| * | | New function seghasbuffer.Gareth Rees2016-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 191537 ServerID: perforce.ravenbrook.com
* | | | Renaming class fields called "protocol" to "instclassstruct" in line with ↵Richard Brooksby2016-04-271-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | usual mps convention. Copied from Perforce Change: 191685 ServerID: perforce.ravenbrook.com
* | | | Converting buffer finish and describe methods to specialize instfinish and ↵Richard Brooksby2016-04-231-17/+18
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | instdescribe. Copied from Perforce Change: 191608 ServerID: perforce.ravenbrook.com
* | | Turning buffer describe methods the right way in, so that they use next-method.Richard Brooksby2016-04-231-51/+29
| |/ |/| | | | | | | | | | | Copied from Perforce Change: 191589 ServerID: perforce.ravenbrook.com
* | Untabify.Gareth Rees2016-04-211-5/+5
| | | | | | | | | | | | | | Copied from Perforce Change: 191528 ServerID: perforce.ravenbrook.com
* | Avoid using "class" as an identifier, since tools like lldb parse ↵Richard Brooksby2016-04-191-58/+58
| | | | | | | | | | | | | | | | | | expressions as c++, and it can't be named. Copied from Perforce Change: 191304 ServerID: perforce.ravenbrook.com
* | Catch-up merge from master sources to branch/2016-04-08/protidying.Richard Brooksby2016-04-191-133/+3
|\ \ | |/ | | | | | | | | | | Copied from Perforce Change: 191251 ServerID: perforce.ravenbrook.com
| * Catch-up merge from master sources to branch/2014-10-11/snc.Gareth Rees2016-04-131-20/+8
| |\ | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 191065 ServerID: perforce.ravenbrook.com
| * | Because of the requirement to make popped objects dead in a timely fashion, ↵Gareth Rees2014-10-131-130/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | we can only implement lightweight pops to an address in the buffer. in particular we can't support pending pops, which means that there's no need for the fields in the allocation point that support pending pops. Copied from Perforce Change: 187232 ServerID: perforce.ravenbrook.com
* | | Adding comment about how a fixme will be resolved by a later branch merge.Richard Brooksby2016-04-121-1/+3
| | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 191012 ServerID: perforce.ravenbrook.com
* | | Moving setclassofpoly to after initialization, to be more like signature ↵Richard Brooksby2016-04-121-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | setting. partially complete. Copied from Perforce Change: 190992 ServerID: perforce.ravenbrook.com
* | | Making classes into instances of kinds, allowing subclass tests to be used ↵Richard Brooksby2016-04-111-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | to validate classes as well. Copied from Perforce Change: 190958 ServerID: perforce.ravenbrook.com
* | | Eliminating generated classof* and setclassof* functions in favour of ↵Richard Brooksby2016-04-111-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | checked poly macros. Copied from Perforce Change: 190938 ServerID: perforce.ravenbrook.com
* | | Converting many uses of classof* to method macros.Richard Brooksby2016-04-111-12/+10
| | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 190937 ServerID: perforce.ravenbrook.com
* | | Implementing nextmethod and replacing all uses of superclass with it.Richard Brooksby2016-04-111-4/+4
| | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 190935 ServerID: perforce.ravenbrook.com
* | | Using mustbea to reduce boilerplate in amcbuf and sncbuf methods.Richard Brooksby2016-04-111-55/+21
| | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 190905 ServerID: perforce.ravenbrook.com
* | | Adding classname for use in describe methods.Richard Brooksby2016-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixing error path to use class destroy in ArenaCreate. Using MustBeA to reduce boiler plate in land classes. Copied from Perforce Change: 190904 ServerID: perforce.ravenbrook.com
* | | Turning buffer init methods the right way in, so that they each call the ↵Richard Brooksby2016-04-111-95/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | next method up the class hierarchy. Copied from Perforce Change: 190888 ServerID: perforce.ravenbrook.com
* | | Turning pool init methods the right way in, so that they each call the next ↵Richard Brooksby2016-04-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | method up the class hierarchy. Copied from Perforce Change: 190858 ServerID: perforce.ravenbrook.com
* | | Adding instinit and instfinish and using them as next methods in seginit, ↵Richard Brooksby2016-04-101-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | segfinish, etc. Copied from Perforce Change: 190857 ServerID: perforce.ravenbrook.com
* | | Making arenas properly inherit from instances, and converting remaining ↵Richard Brooksby2016-04-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | method calls to use the method macro, while noting uses which are inside-out. Copied from Perforce Change: 190856 ServerID: perforce.ravenbrook.com
* | | Repairing superclass by taking a kind, which can later be checked.Richard Brooksby2016-04-101-4/+4
| | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 190850 ServerID: perforce.ravenbrook.com
* | | Fixing mustbea to not return a void *.Richard Brooksby2016-04-081-9/+9
| | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 190849 ServerID: perforce.ravenbrook.com
* | | Explicitly making inststruct the prefix of instances, eliminating pointer ↵Richard Brooksby2016-04-081-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | punning of class pointers, and reducing likelihood of editing errors. Copied from Perforce Change: 190830 ServerID: perforce.ravenbrook.com
* | | Generating a static superclass mapping and eliminating other superclass macros.Richard Brooksby2016-04-081-4/+4
| | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 190827 ServerID: perforce.ravenbrook.com
* | | Eliminating the concept of "alias classes" in favour of "kinds".Richard Brooksby2016-04-081-10/+3
| | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 190825 ServerID: perforce.ravenbrook.com
* | | Referring to classes by their base identifiers.Richard Brooksby2016-04-081-10/+10
| | | | | | | | | | | | | | | | | | | | | Copied from Perforce Change: 190823 ServerID: perforce.ravenbrook.com
* | | Renaming protocolinst to inst and protocolclass to instclass to make naming ↵Richard Brooksby2016-04-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | consistent with other classes. Copied from Perforce Change: 190822 ServerID: perforce.ravenbrook.com
* | | Moving common fields into the base class, starting with the class name.Richard Brooksby2016-04-081-8/+4
| |/ |/| | | | | | | | | | | Copied from Perforce Change: 190816 ServerID: perforce.ravenbrook.com
* | Eliminating withreservoirpermit and all its variants.Richard Brooksby2016-03-131-11/+5
| | | | | | | | | | | | | | Copied from Perforce Change: 190005 ServerID: perforce.ravenbrook.com
* | Remove a transgression by using poolalignment(pool) instead of pool->alignment.Gareth Rees2014-11-011-5/+3
| | | | | | | | | | | | | | Copied from Perforce Change: 187444 ServerID: perforce.ravenbrook.com
* | Remove unused pool {fill,empty}{mutator,internal}size statistics.Gareth Rees2014-10-141-4/+0
|/ | | | | | | Copied from Perforce Change: 187270 ServerID: perforce.ravenbrook.com
* Ensure that code of the form if (condition) statement; is split over two ↵Gareth Rees2014-09-271-10/+20
| | | | | | | | | | | 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
* Cast all arguments to the writef function to make it easy to check that none ↵Gareth Rees2014-09-271-7/+9
| | | | | | | | | | | | of the necessary casts have been omitted. New macro WriteFYesNo makes it easy to describe a Boolean. Describe more structure elements for ABQ, Arena, Buffer, Format, MFS, Root, Seg. Copied from Perforce Change: 187063 ServerID: perforce.ravenbrook.com
* Catch-up merge from masters sources @186519 to branch/2014-04-17/describe.Gareth Rees2014-06-121-4/+0
|\ | | | | | | | | | | | | Copied from Perforce Change: 186526 ServerID: perforce.ravenbrook.com