Richard Brooksby
4ce753ec45
Abstracting partially mapped page tables into a sparsearray abstract datatype, removing a great deal of complexity from the vm arena, and some unnecessary double-initialisation and scanning loops during allocation.
...
Copied from Perforce
Change: 184333
ServerID: perforce.ravenbrook.com
2014-02-12 17:32:20 +00:00
Gareth Rees
e184ad8938
Rename spi3.c to spw3i3mv.c as it is windows- and microsoft- specific.
...
Copied from Perforce
Change: 183939
ServerID: perforce.ravenbrook.com
2014-01-10 20:51:13 +00:00
Gareth Rees
bcfad58d3c
Merge custom cet mainline into the master sources. this includes fixes for job003519 (clock values in text telemetry logs on windows have top 32 bits zero), job003536 (cet office can't replicate 100k snowmen in reasonable time), job003651 (stack overflows are not reliably handled).
...
Copied from Perforce
Change: 183926
ServerID: perforce.ravenbrook.com
2014-01-10 14:16:08 +00:00
Gareth Rees
55ef6fce3c
New supported platform lii6ll (linux, x86-64, clang/llvm).
...
Copied from Perforce
Change: 183414
ServerID: perforce.ravenbrook.com
2013-09-11 10:27:22 +01:00
Richard Brooksby
8d7124929e
Thread scanning for mac os x / mach, and the start of thread exception handling.
...
Copied from Perforce
Change: 182834
ServerID: perforce.ravenbrook.com
2013-06-22 09:02:35 +01:00
Richard Brooksby
64773f305d
Implementing os x (mach) threading module.
...
Copied from Perforce
Change: 182830
ServerID: perforce.ravenbrook.com
2013-06-21 23:57:07 +01:00
David Lovemore
ec2f430557
Switched mac os x threading to use thix.c and pthreadext.c.
...
Also switched to using platform specific Mutator Context code
so that we can read out the registers for instruction emulation
and stack scanning.
Builds on 64-bit but doesn't work because sem_init is unimplemented on
Mac OS X.
Not finished on 32-bit.
Copied from Perforce
Change: 182791
ServerID: perforce.ravenbrook.com
2013-06-18 16:29:31 +01:00
Richard Brooksby
ac1e57c0ac
Merging branch/2013-05-17/emergency with major rework of mvt, mvff, and cbs.
...
Some parts of this are still ragged, and would not normally pass review, but this is a massive improvement to the existing code.
Copied from Perforce
Change: 182614
ServerID: perforce.ravenbrook.com
2013-06-08 10:57:57 +01:00
Gareth Rees
4e22988865
Remove diag facility.
...
Copied from Perforce
Change: 182553
ServerID: perforce.ravenbrook.com
2013-06-05 18:35:40 +01:00
Gareth Rees
bb56e5bd24
Add freelist module to core mps.
...
Copied from Perforce
Change: 182422
ServerID: perforce.ravenbrook.com
2013-06-03 12:58:12 +01:00
Gareth Rees
0ff7dacbb8
Catch-up merge from master sources to branch/2013-05-17/emergency.
...
Copied from Perforce
Change: 182048
ServerID: perforce.ravenbrook.com
2013-05-21 18:31:50 +01:00
Gareth Rees
03d76e0962
Add abq and range modules to mps core; add poolmv2 to supported pools.
...
Copied from Perforce
Change: 182021
ServerID: perforce.ravenbrook.com
2013-05-20 23:21:24 +01:00
Richard Brooksby
098bf44a5e
First draft of keyword arguments. mainly checking in in order to try working with git fusion on this branch.
...
Copied from Perforce
Change: 181538
ServerID: perforce.ravenbrook.com
2013-05-02 17:55:07 +01:00
Richard Brooksby
4c51d72b56
Partial merge of branch/2012-07-23/cet-transform, excluding cet-specific parts.
...
Copied from Perforce
Change: 179309
ServerID: perforce.ravenbrook.com
2012-09-06 17:17:18 +01:00
Richard Brooksby
1d42c13c25
Merging branch/2012-08-15/variety-reform.
...
Copied from Perforce
Change: 179279
ServerID: perforce.ravenbrook.com
2012-09-05 18:44:44 +01:00
Richard Brooksby
81104ff2ff
Providing config_plinth_none so that open dylan can build using mps.c without depending on the c library.
...
Copied from Perforce
Change: 179248
ServerID: perforce.ravenbrook.com
2012-09-05 09:45:24 +01:00
Richard Brooksby
1d2a377fdf
Using setjmp to save callee-save registers on windows, eliminating the need for an assembly language stack scanner.
...
Copied from Perforce
Change: 179213
ServerID: perforce.ravenbrook.com
2012-09-04 02:21:15 +01:00
Richard Brooksby
35bc676003
Fixing up reformed variety build on 64-bit freebsd.
...
Copied from Perforce
Change: 179196
ServerID: perforce.ravenbrook.com
2012-09-03 13:47:41 +01:00
Richard Brooksby
e5221f66f5
Eliminating pfmdefs from makefiles by moving them to mpstd.h so that the mps can be built with a simpler compiler command.
...
Copied from Perforce
Change: 179180
ServerID: perforce.ravenbrook.com
2012-09-03 00:49:02 +01:00
Richard Brooksby
3b469f5b21
Unifying code-identical protection implementations for linux.
...
Copied from Perforce
Change: 178937
ServerID: perforce.ravenbrook.com
2012-08-15 16:47:50 +01:00
Richard Brooksby
28ba81140b
Bringing mps.c definition up-to-date on freebsd i386.
...
Copied from Perforce
Change: 178936
ServerID: perforce.ravenbrook.com
2012-08-15 16:27:48 +01:00
Richard Brooksby
162f92cddd
Correcting misnamed i4 architecture to i3. this distinction was once slightly useful for optimisation, but no longer makes any sense.
...
Copied from Perforce
Change: 178935
ServerID: perforce.ravenbrook.com
2012-08-15 15:37:42 +01:00
Richard Brooksby
4640f3c9e1
Renaming thli.c to thix.c as it is now general to posix threads.
...
Copied from Perforce
Change: 178926
ServerID: perforce.ravenbrook.com
2012-08-14 17:10:48 +01:00
Richard Brooksby
7b40db17e9
Merging 64-bit linux port from branch/2012-07-26/linux-catchup
...
Copied from Perforce
Change: 178913
ServerID: perforce.ravenbrook.com
2012-08-13 13:53:20 +01:00
Richard Brooksby
89173908d3
Adding linux and 64-bit windows builds to mps.c.
...
Copied from Perforce
Change: 178897
ServerID: perforce.ravenbrook.com
2012-08-11 09:27:19 +01:00
Richard Brooksby
58bd26ec77
Adding w3i3mv to mps.c, allowing simple builds. this now works:
...
cl /Feamcss.exe /DCONFIG_PROD_MPS /DCONFIG_VAR_CI amcss.c fmtdy.c fmtdytst.c fmtno.c mps.c testlib.c
Copied from Perforce
Change: 178777
ServerID: perforce.ravenbrook.com
2012-07-30 16:48:02 +01:00
Richard Brooksby
9656bed733
Adding fri4gc platform to mps.c, allowing simple builds. this now works:
...
gcc -DCONFIG_PROD_MPS -DCONFIG_VAR_CI -o amcss amcss.c testlib.c fmtdy.c fmtdytst.c fmtno.c mps.c -lm -lpthread
Copied from Perforce
Change: 178776
ServerID: perforce.ravenbrook.com
2012-07-30 15:38:23 +01:00
Richard Brooksby
db14e7982d
Wrote stack scanner for xci6ll and other unix-like x86_64 platforms. more tests complete.
...
Copied from Perforce
Change: 178294
ServerID: perforce.ravenbrook.com
2012-05-23 15:56:52 +01:00
Richard Brooksby
ec55536827
Added single compilation unit version of mps library to allow global optimization and universal binary building. minor fixes to other sources to avoid clashing symbols.
...
Separated XCI3GC (gcc) from XCI3LL (clang) platforms, so that we can build both 32- and 64-bit binaries with clang.
Enabled universal (multi architecture) builds.
Copied from Perforce
Change: 178287
ServerID: perforce.ravenbrook.com
2012-05-22 21:27:55 +01:00