1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-20 12:40:56 -08:00
Commit graph

49 commits

Author SHA1 Message Date
Gareth Rees
d7a8949891 Put the portable part of the vm interface in its own module.
Copied from Perforce
 Change: 186630
 ServerID: perforce.ravenbrook.com
2014-06-14 16:09:06 +01:00
Gareth Rees
946a50691d Catch-up merge from master sources @186335 to branch/2014-03-30/addrset.
Copied from Perforce
 Change: 186348
 ServerID: perforce.ravenbrook.com
2014-05-29 14:58:50 +01:00
Gareth Rees
06288300bf Don't include pooln.c in mps.c -- only used by test case poolncv.
Include dependencies in all varieties, not just in COOL.

Copied from Perforce
 Change: 186174
 ServerID: perforce.ravenbrook.com
2014-05-19 11:39:05 +01:00
Gareth Rees
34cc9d49e4 Catch-up merge from master sources @186077 to branch/2014-03-30/addrset.
Copied from Perforce
 Change: 186081
 ServerID: perforce.ravenbrook.com
2014-05-13 16:21:39 +01:00
Gareth Rees
b512c97d84 Use x and x_none for x ∈ {lock, plinth, remembered_set, shield} to match the other settings (aver_and_check, event, statistics).
Copied from Perforce
 Change: 185580
 ServerID: perforce.ravenbrook.com
2014-04-16 10:48:21 +01:00
Gareth Rees
a76ab7ce6b Catch-up merge from master sources to branch/2014-03-25/ansi.
Copied from Perforce
 Change: 185305
 ServerID: perforce.ravenbrook.com
2014-04-07 16:04:58 +01:00
Gareth Rees
4b5d396792 Catch-up merge from master sources to branch/2014-03-30/addrset.
Copied from Perforce
 Change: 185288
 ServerID: perforce.ravenbrook.com
2014-04-07 15:02:09 +01:00
Gareth Rees
0b159dc650 New module failover implements a fail-over allocator as a land class.
Use Failover in MVT and MVFF.
Test Failover in landtest.
Implementation of LandFindInZones for Freelist (untested).
Remove signature from RangeStruct so we can embed it without a space cost.

Copied from Perforce
 Change: 185196
 ServerID: perforce.ravenbrook.com
2014-04-03 12:52:23 +01:00
Gareth Rees
d2cbfda452 First pass at implementation of lands (collections of address ranges). 100% boilerplate!
Copied from Perforce
 Change: 185131
 ServerID: perforce.ravenbrook.com
2014-04-01 19:51:55 +01:00
Richard Brooksby
3c543eb1a2 Catch up merge from masters to branch/2014-01-15/nailboard.
Copied from Perforce
 Change: 185118
 ServerID: perforce.ravenbrook.com
2014-04-01 11:43:47 +01:00
Gareth Rees
e84e299beb Merge branch/2014-01-15/nailboard into branch/2014-03-25/ansi to pick up airtest, which tests the stack scanning code.
Copied from Perforce
 Change: 185031
 ServerID: perforce.ravenbrook.com
2014-03-26 17:09:16 +00:00
Gareth Rees
bfc3de38fa Symbols starting config_ must be confined to config.h (see design.mps.config.impl.dep).
Copied from Perforce
 Change: 185027
 ServerID: perforce.ravenbrook.com
2014-03-26 16:25:14 +00:00
Gareth Rees
561b76b73c Fix review comments from dl <https://info.ravenbrook.com/mail/2014/03/25/17-44-56/0/>.
Add __attribute__((__format__(printf))) to functions that take a printf-compatible format string (when building using GCC or Clang), so that format string mistakes can be detected statically.

Copied from Perforce
 Change: 185021
 ServerID: perforce.ravenbrook.com
2014-03-26 12:27:35 +00:00
Gareth Rees
00ee0bfcc5 64-bit support for pelles c:
* New nmake file w3i6pc.nmk.
* New stack scanner ssw3i6pc.c supplies missing jump buffer definition.
* Some platform tests change from defined(MPS_PF_W3I6MV) to defined(MPS_OS_w3) && defined(MPS_ARCH_I6).
* Make reasonable changes to the source code to avoid warnings from Pelles C:
** Ensure that printf formats are consistent with arguments by using PRIuLONGEST and casting to ulongest_t.
** Use size_t for loop variables that index into arrays.
** Suppress "Consider changing type to 'size_t' for loop variable" warnings for the MPS core.

Copied from Perforce
 Change: 184996
 ServerID: perforce.ravenbrook.com
2014-03-25 10:59:09 +00:00
Gareth Rees
9d5266c0cc Improved support for pelles c:
* Refactor nmake files so that a compiler-specific makefile is included; move Microsoft Visual C-specific options to mv.nmk.
* Add nmake files for Pelles (w3i3pc.nmk and pc.nmk).
* Rename spw3i3mv.c to spw3i3.c and spw3i6mv.c to spw3i6.c since these are also used by Pelles C.
* Make reasonable changes to the source code to avoid warnings from Pelles C:
** check results of function calls;
** avoid useless return values;
** undef max before defining it;
** ensure printf formats are checkable;
** move notreached() assertions to the end of blocks;
** suppress warnings in cases where the code shouldn't be changed ("Unreachable code", "Inline assembly code is not portable", "Structured Exception Handling is not portable").

Copied from Perforce
 Change: 184977
 ServerID: perforce.ravenbrook.com
2014-03-24 18:23:29 +00:00
Gareth Rees
de74b79bad Catch-up merge from master/...@184830 to nailboard branch.
Copied from Perforce
 Change: 184951
 ServerID: perforce.ravenbrook.com
2014-03-21 22:19:10 +00:00
Gareth Rees
4ef183e62a Mps compiles and runs using pelles c.
Merge code from Bruce Mitchener <https://github.com/Ravenbrook/mps-temporary/pull/2> and from RB <https://github.com/waywardmonkeys/mps-temporary/pull/1/files>.
Split call to EVENT_LIST so that event.c compiles.
Remove useless call to va_end in seg.c.

Copied from Perforce
 Change: 184948
 ServerID: perforce.ravenbrook.com
2014-03-21 18:28:39 +00:00
Richard Brooksby
96473a433e Adding basic generic binary tree datatype.
Copied from Perforce
 Change: 184423
 ServerID: perforce.ravenbrook.com
2014-02-23 10:41:07 +00:00
Gareth Rees
14dafacf6b Catch-up merge from master sources to nailboard branch.
Copied from Perforce
 Change: 184402
 ServerID: perforce.ravenbrook.com
2014-02-20 14:48:39 +00:00
Richard Brooksby
bc47522ae2 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
77e9c2692b Refactor nailboard code from poolamc.c into a new nailboard module.
Nailboard design document contains the draft design for the new module.
New functions on Range objects, and documentation thereof: RangeInitCopy, RangeIsEmpty, RangeContains.

Copied from Perforce
 Change: 184022
 ServerID: perforce.ravenbrook.com
2014-01-15 17:59:02 +00:00
Gareth Rees
3afb84b7b5 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
ea9df0b2b7 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
b59ba75674 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
512dca47e2 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
c1e5ec8f38 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
1ad79c5caa 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
56645cdc0c 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
1c4ff669ac Remove diag facility.
Copied from Perforce
 Change: 182553
 ServerID: perforce.ravenbrook.com
2013-06-05 18:35:40 +01:00
Gareth Rees
c9780a3401 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
5ea309b5cc 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
9e25483815 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
1bc62b27ef 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
858e4ac0ac 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
915c01ef3e 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
e4313d264e 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
184d8cacf0 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
9236590ff0 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
17977ef9c8 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
e4153fede9 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
e03acdfe6b 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
82ea345724 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
e9765e20d4 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
affc709f25 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
d39d3bcf2d 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
a612d07713 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
c663253cd4 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
b9a050a08e 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
f2f702fc18 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