Richard Brooksby
5ebe95c9dc
Catch-up merge from master sources to branch/2016-04-08/protidying.
...
Copied from Perforce
Change: 191019
ServerID: perforce.ravenbrook.com
2016-04-12 18:17:05 +01:00
Richard Brooksby
72d14e139f
Guarding eventinit with the global lock, and removing the enforcement of the reference count, so that the event system can be used from classes, which get called before any arena.
...
Copied from Perforce
Change: 191018
ServerID: perforce.ravenbrook.com
2016-04-12 18:16:06 +01:00
Richard Brooksby
90a825ad34
Converting a low priority fixme into a todo for later.
...
Copied from Perforce
Change: 191013
ServerID: perforce.ravenbrook.com
2016-04-12 17:48:29 +01:00
Richard Brooksby
38f79142c2
Adding comment about how a fixme will be resolved by a later branch merge.
...
Copied from Perforce
Change: 191012
ServerID: perforce.ravenbrook.com
2016-04-12 15:44:28 +01:00
Richard Brooksby
2e2cfa9bae
Moving pool format argument picking into abstract pool initialization, so that code is shared.
...
Copied from Perforce
Change: 191004
ServerID: perforce.ravenbrook.com
2016-04-12 15:07:26 +01:00
Richard Brooksby
b9a917033c
Moving setclassofpoly to after initialization, to be more like signature setting.
...
Copied from Perforce
Change: 190994
ServerID: perforce.ravenbrook.com
2016-04-12 13:40:13 +01:00
Richard Brooksby
2df4ffd5fd
Moving setclassofpoly to after initializion in ams, and fixing pgen initialization to be consistent during init.
...
Copied from Perforce
Change: 190993
ServerID: perforce.ravenbrook.com
2016-04-12 13:16:43 +01:00
Richard Brooksby
14da33f5e9
Moving setclassofpoly to after initialization, to be more like signature setting. partially complete.
...
Copied from Perforce
Change: 190992
ServerID: perforce.ravenbrook.com
2016-04-12 13:15:54 +01:00
Richard Brooksby
28424dd5a5
Undo mistaken check-in of local alias of gcc. oops.
...
Copied from Perforce
Change: 190987
ServerID: perforce.ravenbrook.com
2016-04-12 13:00:02 +01:00
Richard Brooksby
e7d5490d11
Automatically setting pool->fix on first fix, to avoid tricky initialization.
...
Copied from Perforce
Change: 190986
ServerID: perforce.ravenbrook.com
2016-04-12 12:44:54 +01:00
Richard Brooksby
7a88275b88
Prevent race and then infinite regress when initializing the root classes.
...
Copied from Perforce
Change: 190981
ServerID: perforce.ravenbrook.com
2016-04-12 12:22:58 +01:00
Richard Brooksby
fd1ff6f863
Clearing up various fixmes by making the type naming inconsistency clearly visible and intentional.
...
Copied from Perforce
Change: 190980
ServerID: perforce.ravenbrook.com
2016-04-12 10:51:41 +01:00
Richard Brooksby
87c53e6a5c
Discard_exp does not avoid warnings in hot builds, so removing if for now.
...
Copied from Perforce
Change: 190975
ServerID: perforce.ravenbrook.com
2016-04-12 10:12:27 +01:00
Richard Brooksby
b75de04efc
Reducing boilerplate code using mustbea.
...
Copied from Perforce
Change: 190970
ServerID: perforce.ravenbrook.com
2016-04-12 00:58:04 +01:00
Richard Brooksby
3dcd9e1159
Removing a fixed fixme.
...
Copied from Perforce
Change: 190969
ServerID: perforce.ravenbrook.com
2016-04-12 00:57:49 +01:00
Richard Brooksby
7981236042
Fixing instclass initialisation of its own class.
...
Properly bracketing cast expression in CouldBeA.
Copied from Perforce
Change: 190968
ServerID: perforce.ravenbrook.com
2016-04-12 00:57:00 +01:00
Richard Brooksby
a38bb879ef
Commentary and design document improvements.
...
Copied from Perforce
Change: 190967
ServerID: perforce.ravenbrook.com
2016-04-12 00:09:17 +01:00
Richard Brooksby
d31995246d
Making classes into instances of kinds, allowing subclass tests to be used to validate classes as well.
...
Copied from Perforce
Change: 190958
ServerID: perforce.ravenbrook.com
2016-04-11 20:58:39 +01:00
Richard Brooksby
a724e16626
Removing various fixed fixmes.
...
Copied from Perforce
Change: 190957
ServerID: perforce.ravenbrook.com
2016-04-11 18:58:36 +01:00
Richard Brooksby
12d4dfda16
Eliminating generated classof* and setclassof* functions in favour of checked poly macros.
...
Copied from Perforce
Change: 190938
ServerID: perforce.ravenbrook.com
2016-04-11 18:06:47 +01:00
Richard Brooksby
62533b8c71
Converting many uses of classof* to method macros.
...
Copied from Perforce
Change: 190937
ServerID: perforce.ravenbrook.com
2016-04-11 17:59:36 +01:00
Richard Brooksby
964cd6147f
Checking that classes are the right kind using signatures.
...
Copied from Perforce
Change: 190936
ServerID: perforce.ravenbrook.com
2016-04-11 17:38:47 +01:00
Richard Brooksby
5307650059
Implementing nextmethod and replacing all uses of superclass with it.
...
Copied from Perforce
Change: 190935
ServerID: perforce.ravenbrook.com
2016-04-11 16:54:39 +01:00
Richard Brooksby
a38d6e7178
Making all static next-method calls look similar.
...
Copied from Perforce
Change: 190934
ServerID: perforce.ravenbrook.com
2016-04-11 16:35:43 +01:00
Richard Brooksby
db6752b47d
Implementing mustbea_critical and elision of mustbea assertions in different varieties.
...
Copied from Perforce
Change: 190925
ServerID: perforce.ravenbrook.com
2016-04-11 16:09:29 +01:00
Richard Brooksby
3bf43b069f
Using mustbea and couldbea when calling inst functions.
...
Copied from Perforce
Change: 190924
ServerID: perforce.ravenbrook.com
2016-04-11 15:17:24 +01:00
Richard Brooksby
30d1c5fa63
Using mustbea to reduce boilerplate in client arenas, fotest, and the amc pool.
...
Copied from Perforce
Change: 190906
ServerID: perforce.ravenbrook.com
2016-04-11 14:57:38 +01:00
Richard Brooksby
e99abe1ee2
Using mustbea to reduce boilerplate in amcbuf and sncbuf methods.
...
Copied from Perforce
Change: 190905
ServerID: perforce.ravenbrook.com
2016-04-11 14:27:38 +01:00
Richard Brooksby
78ad983c55
Adding classname for use in describe methods.
...
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
2016-04-11 14:06:28 +01:00
Richard Brooksby
c4ef464d0e
Using superclass init and finish in the arena bootstrap and teardown.
...
Copied from Perforce
Change: 190895
ServerID: perforce.ravenbrook.com
2016-04-11 13:35:16 +01:00
Richard Brooksby
c77c4a6a63
Removing class typedefs made redundant by kinds.
...
Copied from Perforce
Change: 190894
ServerID: perforce.ravenbrook.com
2016-04-11 09:54:29 +01:00
Richard Brooksby
37883c3490
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
5627213751
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
ccced27857
Noting potential optimisation of superclass.
...
Copied from Perforce
Change: 190886
ServerID: perforce.ravenbrook.com
2016-04-11 06:36:28 +01:00
Richard Brooksby
28de9b80bc
Minor tidying.
...
Copied from Perforce
Change: 190885
ServerID: perforce.ravenbrook.com
2016-04-10 23:48:13 +01:00
Richard Brooksby
793dfb2864
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
b57dabdb49
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
d5f2a9f2d7
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
5813cde43a
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
aeca979665
Adding classdef.h. oops.
...
Copied from Perforce
Change: 190865
ServerID: perforce.ravenbrook.com
2016-04-10 19:20:32 +01:00
Richard Brooksby
6e4a017ee2
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
5ca22bbd75
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
3dd201bf47
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
111136891e
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
3154cbed7d
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
187a9129a8
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
d462d4b36d
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
3bc19084f6
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
a15e1139c1
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
a56de59509
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