Richard Brooksby
c06af39ff1
Turning buffer init methods the right way in, so that they each call the next method up the class hierarchy.
...
Copied from Perforce
Change: 190888
ServerID: perforce.ravenbrook.com
2016-04-11 07:10:15 +01:00
Richard Brooksby
d0d32eadbb
Fixing initialisation in segment splitting to use instinit.
...
Copied from Perforce
Change: 190887
ServerID: perforce.ravenbrook.com
2016-04-11 06:37:02 +01:00
Richard Brooksby
781457ad4e
Noting potential optimisation of superclass.
...
Copied from Perforce
Change: 190886
ServerID: perforce.ravenbrook.com
2016-04-11 06:36:28 +01:00
Richard Brooksby
d234a1f1a7
Minor tidying.
...
Copied from Perforce
Change: 190885
ServerID: perforce.ravenbrook.com
2016-04-10 23:48:13 +01:00
Richard Brooksby
7b73bba6e9
Removing obsolete comment about prime numbers.
...
Copied from Perforce
Change: 190884
ServerID: perforce.ravenbrook.com
2016-04-10 23:46:06 +01:00
Richard Brooksby
1400111767
Class init functions get called before the arena is initialized, so make sure they initialize the event logger before logging anything.
...
Copied from Perforce
Change: 190883
ServerID: perforce.ravenbrook.com
2016-04-10 23:35:34 +01:00
Richard Brooksby
429347256d
Turning segment init methods the right way in, so that they each call the next method up the class hierarchy.
...
Copied from Perforce
Change: 190882
ServerID: perforce.ravenbrook.com
2016-04-10 23:23:49 +01:00
Richard Brooksby
50fd841553
Checking in a classdef.h that matches the sources.
...
Copied from Perforce
Change: 190870
ServerID: perforce.ravenbrook.com
2016-04-10 19:37:31 +01:00
Richard Brooksby
64640669f9
Adding classdef.h. oops.
...
Copied from Perforce
Change: 190865
ServerID: perforce.ravenbrook.com
2016-04-10 19:20:32 +01:00
Richard Brooksby
c4b08f2f52
Demonstrating use of mustbea to remove boilerplate in pooln.
...
Copied from Perforce
Change: 190864
ServerID: perforce.ravenbrook.com
2016-04-10 18:10:30 +01:00
Richard Brooksby
cbe65b637e
Adding note about how amcinit should work.
...
Copied from Perforce
Change: 190859
ServerID: perforce.ravenbrook.com
2016-04-10 17:57:25 +01:00
Richard Brooksby
d303ed0aeb
Turning pool init methods the right way in, so that they each call the next method up the class hierarchy.
...
Copied from Perforce
Change: 190858
ServerID: perforce.ravenbrook.com
2016-04-10 17:49:08 +01:00
Richard Brooksby
907494aa56
Adding instinit and instfinish and using them as next methods in seginit, segfinish, etc.
...
Copied from Perforce
Change: 190857
ServerID: perforce.ravenbrook.com
2016-04-10 15:33:17 +01:00
Richard Brooksby
cf29dcc98d
Making arenas properly inherit from instances, and converting remaining method calls to use the method macro, while noting uses which are inside-out.
...
Copied from Perforce
Change: 190856
ServerID: perforce.ravenbrook.com
2016-04-10 14:00:55 +01:00
Richard Brooksby
b6219b10a6
Fixing level of instclass so that class checks work properly.
...
Copied from Perforce
Change: 190851
ServerID: perforce.ravenbrook.com
2016-04-10 12:33:47 +01:00
Richard Brooksby
6a732464b3
Repairing superclass by taking a kind, which can later be checked.
...
Copied from Perforce
Change: 190850
ServerID: perforce.ravenbrook.com
2016-04-10 12:28:51 +01:00
Richard Brooksby
9480adaf7c
Fixing mustbea to not return a void *.
...
Copied from Perforce
Change: 190849
ServerID: perforce.ravenbrook.com
2016-04-08 20:29:33 +01:00
Richard Brooksby
7d83a6432c
Fixing nulls in class methods revealed by more thoroughly applying class checking functions.
...
Copied from Perforce
Change: 190842
ServerID: perforce.ravenbrook.com
2016-04-08 20:00:23 +01:00
Richard Brooksby
24a1aaa4d8
Generating type-safe functions for getting and setting the class of instances.
...
Fixing warning revealed by GCC that I wasn't actually checking classes after init.
Fixing abstract classes so that they pass their own checks!
Copied from Perforce
Change: 190837
ServerID: perforce.ravenbrook.com
2016-04-08 19:50:12 +01:00
Richard Brooksby
fc269fd07a
Using common code for class getters and setters.
...
Copied from Perforce
Change: 190836
ServerID: perforce.ravenbrook.com
2016-04-08 18:33:34 +01:00
Richard Brooksby
c92bf9505a
Explicitly making inststruct the prefix of instances, eliminating pointer punning of class pointers, and reducing likelihood of editing errors.
...
Copied from Perforce
Change: 190830
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:21 +01:00
Richard Brooksby
dad08f0000
Eliminating issubclasspoly and replacing with compile-time constant test.
...
Copied from Perforce
Change: 190829
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:21 +01:00
Richard Brooksby
65bbea0f0d
Replacing prime factor subclass test with array-based test, because the type ids were overflowing 32 bits.
...
Copied from Perforce
Change: 190828
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:21 +01:00
Richard Brooksby
c4bcc24759
Generating a static superclass mapping and eliminating other superclass macros.
...
Copied from Perforce
Change: 190827
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
aab7cc0a18
Implementing isa, mustbea, couldbea, and reshaping the land classes to put the init, finish, and describe methods the right way in.
...
Copied from Perforce
Change: 190826
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
4207b9ebf8
Eliminating the concept of "alias classes" in favour of "kinds".
...
Copied from Perforce
Change: 190825
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
e5efe2849f
Referring to classes by their base identifiers.
...
Copied from Perforce
Change: 190823
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
d3d57e828d
Renaming protocolinst to inst and protocolclass to instclass to make naming consistent with other classes.
...
Copied from Perforce
Change: 190822
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
f0cf348dc4
Adding an assert that can be used in expressions.
...
Copied from Perforce
Change: 190821
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
cc725ee45b
Adding class-based checking macros.
...
Copied from Perforce
Change: 190820
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
484d3b77bf
Removing always-zero offset from pool class structure.
...
Copied from Perforce
Change: 190819
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
313fd5d5da
Removing unused offset field in arena classes.
...
Copied from Perforce
Change: 190818
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
9a0a5a4c12
Using prime factors to determine subclass relationships quickly.
...
Copied from Perforce
Change: 190817
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
590c23a935
Moving common fields into the base class, starting with the class name.
...
Copied from Perforce
Change: 190816
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
20dbb8314f
Removing never-used multiple inheritance speculation.
...
Copied from Perforce
Change: 190815
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
e7fa1fd3bb
Eliminating structure copy by sharing class init method.
...
Copied from Perforce
Change: 190814
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
4f086a873a
Sharing definition of class declaration in class definition.
...
Copied from Perforce
Change: 190813
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
3e978abde6
Abstracting class declarations and references to classes.
...
Copied from Perforce
Change: 190812
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
8007f484a8
Getting rid of "old style" class ensure functions.
...
Copied from Perforce
Change: 190811
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
003e4ee580
Updating copyright date to current year.
...
Copied from Perforce
Change: 190707
ServerID: perforce.ravenbrook.com
2016-04-05 11:30:42 +01:00
Richard Brooksby
7fd416c8b0
Updating .p4ignore files with miscellaneous entries collected from work with git.
...
Copied from Perforce
Change: 190702
ServerID: perforce.ravenbrook.com
2016-04-05 11:27:30 +01:00
Richard Brooksby
845e66778d
Fixing horrible intialization of segment class by poking before calling seginit.
...
Copied from Perforce
Change: 190694
ServerID: perforce.ravenbrook.com
2016-04-04 23:28:28 +01:00
Richard Brooksby
a2931bfddb
Linking .p4ignore to .gitignore to share configuration between perforce and git.
...
Copied from Perforce
Change: 190667
ServerID: perforce.ravenbrook.com
2016-04-04 19:20:26 +01:00
Richard Brooksby
19a55b06d8
Adding new build directories to .p4ignore.
...
Copied from Perforce
Change: 190643
ServerID: perforce.ravenbrook.com
2016-04-02 15:54:24 +01:00
Richard Brooksby
a53339fed3
Protecting some segment accessor macros with rvalue.
...
Removing duplicate definition of SegPoolRing.
Copied from Perforce
Change: 190642
ServerID: perforce.ravenbrook.com
2016-04-02 15:53:57 +01:00
Richard Brooksby
ba9d203b1d
Don't attempt to merge a non-white segment with a white one.
...
Copied from Perforce
Change: 190634
ServerID: perforce.ravenbrook.com
2016-04-02 12:07:46 +01:00
Richard Brooksby
dc5632de9a
Fixing default behaviour for merging segments with differing summaries and therefore write barriers.
...
Copied from Perforce
Change: 190629
ServerID: perforce.ravenbrook.com
2016-04-02 09:18:58 +01:00
Richard Brooksby
27e38efbda
Don't allow pools to whiten segments without condemning objects, so that a condemned size of zero implies no white segments, allowing quick trace destruction.
...
Copied from Perforce
Change: 190607
ServerID: perforce.ravenbrook.com
2016-03-31 23:41:46 +01:00
Richard Brooksby
b9f6d7d1c7
Cherry-picking low-risk fix for job003880. see < https://info.ravenbrook.com/mail/2016/03/29/20-23-20/0/ >.
...
Copied from Perforce
Change: 190579
ServerID: perforce.ravenbrook.com
2016-03-31 12:30:00 +01:00
Richard Brooksby
956f09bc2d
Reducing over-ambitious random alignment increases in apss test.
...
Copied from Perforce
Change: 190575
ServerID: perforce.ravenbrook.com
2016-03-31 09:28:41 +01:00