Adam Sampson
2c4ccfbf39
Update all the copyright notices.
...
I've checked these all against the Darcs history using a script
(check-copyright, in my misccode collection). Anything Neil or I did as
part of our PhDs is copyright University of Kent; more recent work
belongs to us, as appropriate.
2011-07-21 11:38:13 +00:00
Adam Sampson
1555d0f5eb
Port to use QuickCheck 2.
...
Most of this is trivial -- e.g. getting rid of dummy definitions of
coarbitrary, which is a separate typeclass in QC2, and changing the
parameter specs to use the new Args type.
The chunk of code that runs a QC test as an HUnit test is now quite a
bit simpler because QC's top-level interface returns a result. However,
this means that some gymnastics are required to get at the right
definition of Result in different places -- QC2 has two different types
called Result, and we use both for different jobs!
2011-07-20 15:10:10 +00:00
Neil Brown
7b80564828
Removed all uses of rec, which seems to be a reserved word these days
2010-04-10 19:39:54 +00:00
Neil Brown
728fa5f328
Fixed up the implicit mobility to work with oak (but needs some more work to make sure normal mobility still functions)
2009-05-27 18:01:03 +00:00
Neil Brown
734685d715
Fixed genOverArray to be okay with mobile arrays
2009-05-22 21:57:00 +00:00
Neil Brown
703bfe1afe
Added better error messages for problems with C types in the backend
2009-05-19 12:58:22 +00:00
Neil Brown
af1e4b6b7f
Added an EXIT intrinsic that's useful for profiling
2009-05-25 17:08:11 +00:00
Neil Brown
d98c5079ca
Cleaned up all the warnings in Tock's code (most unused modules, or unused functions)
2009-05-19 09:05:38 +00:00
Neil Brown
853a52cc00
Finished the name change from Polyplate to Alloy
...
Most of this was a find-and-replace, PolyplateM -> AlloyA. But I also fixed some of the opsets and removed types that were no longer needed, and so on.
2009-05-11 15:22:58 +00:00
Neil Brown
44eabe4baa
Reworked Polyplate to have a simpler way of expressing opsets, and also simplified PolyplateM and PolyplateMRoute
2009-05-06 11:32:19 +00:00
Neil Brown
f4eea82bb7
Fixed a bug where C. externals were turned into blocking calls, and B. externals were turned into normal external calls
...
This turned out to be the reason for the slowness in parrot_attack.
2009-04-19 23:09:18 +00:00
Neil Brown
d29b5b67cf
Got the tests compiling again after the changes to the AST for extended rendezvous
2009-04-19 17:34:36 +00:00
Neil Brown
cb4250b1b2
Implemented the SETAFF intrinsic
2009-04-19 17:29:20 +00:00
Neil Brown
b0ea943c72
Fixed the creation of the header define when there are characters such as dashes in the file name
2009-04-19 17:01:35 +00:00
Neil Brown
838de8a366
Corrected various test failures in the C backend
2009-04-19 15:01:00 +00:00
Neil Brown
3a5565471f
Added support for extended rendezvous throughout the compiler
2009-04-19 16:26:37 +00:00
Neil Brown
41cf599ebe
Fixed non-top-level records in the C backend
2009-04-19 13:22:24 +00:00
Neil Brown
40e0399e4c
A whole lot of changes, described in #101 that help with records and separate compilation
...
The scheme may be strange, but a lot of KRoC compiles with it (and I think the cgtests will compile again now too)
2009-04-18 21:35:26 +00:00
Neil Brown
48018a0acf
Fixed up some of the backend passes tests (and corrected the pass itself)
2009-04-18 19:48:08 +00:00
Neil Brown
57ffc7bfa4
Split out a chunk of CompState into a CompOpts type for things that can be set on the command-line
2009-04-17 21:10:14 +00:00
Neil Brown
7dbff25b29
Moved csGlobalSizes to be a StateT on the appropriate backend pass
2009-04-17 19:29:50 +00:00
Neil Brown
378ef07893
Adjusted all the other modules to reflect the new change to CSM
2009-04-17 17:40:00 +00:00
Neil Brown
b0faa0e387
Fixed the sizes for mobile arrays of mobile arrays
...
The pass was folding the two arrays together, then digging too far into the dimensions of the outer array, rather than looking at the dimensions of the inner array.
2009-04-16 18:42:27 +00:00
Neil Brown
f909c6fd03
Fixed external calls so that passing mobile arrays to and from external calls now works
2009-04-16 18:29:14 +00:00
Neil Brown
437c6bd3ef
Fixed genBytesIn for mobile arrays
2009-04-16 17:39:24 +00:00
Neil Brown
cdab6af65a
Fixed the allocation of mobile arrays of mobile things so that the pointers in the new array are set to 0
2009-04-16 17:19:40 +00:00
Neil Brown
5a5b91e387
Fixed the passing of mobile arrays to old-style external calls
2009-04-16 14:19:25 +00:00
Neil Brown
a8b1697df6
Fixed the types for MOBILE array allocations that are inferred from something with unknown dimensions
2009-04-16 10:45:02 +00:00
Neil Brown
720388c764
Added a pass for MOBILE params to FORKed processes
2009-04-16 10:44:46 +00:00
Neil Brown
ee787b911c
Rejigged the calculation of stack sizes to do partial subsitution for sizes files when they are generated
2009-04-16 10:25:43 +00:00
Neil Brown
c8136b7ef4
Fixed some problems with mobile stuff in the C backend
2009-04-16 10:25:16 +00:00
Neil Brown
ff9cabd80b
Changed csParProcs to be a map that indicates whether the process is a wrapper for FORK or PAR
2009-04-16 10:25:02 +00:00
Neil Brown
a12c4cc814
Got most of the C++ backend working again, at least on the early cgtests
2009-04-14 15:33:34 +00:00
Neil Brown
535054eed0
Added a missing sanity check when allocating mobile arrays
2009-04-15 19:36:14 +00:00
Neil Brown
d07a4cb496
Fixed a function in AnalyseAsm to not read in the same sizes file twice, and made sure that sizes files are not emitted with their path
2009-04-15 17:17:22 +00:00
Neil Brown
f11db734a8
Added in kroc_argc and kroc_argv that is expected by one of the occam modules
2009-04-15 17:11:03 +00:00
Neil Brown
5f87855cc7
Fixed the backend so that it does not think stack sizes are needed for external functions
2009-04-15 17:10:29 +00:00
Neil Brown
681b1aa878
Added a couple of new pragmas (TOCKINCLUDE and TOCKNATIVELINK) to help with modules
2009-04-15 17:09:22 +00:00
Neil Brown
5fe8d4ba6a
Fixed a couple of small things in the C backend that were causing GCC to spew out lots of warnings
2009-04-15 12:06:29 +00:00
Neil Brown
ca3fc18748
Fixed the backend to work out the header extension better
2009-04-14 17:03:55 +00:00
Neil Brown
5f5dac41d1
Fixed the backend to work with channels that shared at one end only
2009-04-14 17:01:09 +00:00
Neil Brown
46f9e1f7e4
Changed AnalyseAsm to give more helpful error messages when there is a problem
2009-04-14 16:59:53 +00:00
Neil Brown
f257100ba8
Added support for the SETPRI intrinsic
2009-04-14 11:05:27 +00:00
Neil Brown
c2b31d3c78
Fixed the listify function, especially for the C backend, so that the ordering is what we want, regardless of whether it makes sense
2009-04-13 22:40:25 +00:00
Neil Brown
d36503e15d
Fixed a couple of problems in the backend with channel bundles
2009-04-13 20:37:21 +00:00
Neil Brown
f2c4ada01b
Removed PolyplateSpine in favour of using PolyplateM (and the State monad) everywhere
2009-04-13 20:37:14 +00:00
Neil Brown
9069282ca2
Added support to the backend for FORK and FORKING
2009-04-13 14:58:07 +00:00
Neil Brown
c8b724d2be
Merged the latest set of changes from the trunk into the Polyplate branch
...
I also added the import list to all the Data.Generics imports in the tests (as I did for the other modules recently)
2009-04-10 20:38:29 +00:00
Neil Brown
8f767ff0d4
Made all the imports of Data.Generics have an import list
...
This makes sure that we catch all leftover instances of using SYB to do generic operations that we should be using Polyplate for instead. Most modules should only import Data, and possibly Typeable.
2009-04-09 15:36:37 +00:00
Neil Brown
e61a23855a
Fixed all the conflicts while merging into the Polyplate branch
2009-04-09 11:01:39 +00:00