1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 00:01:33 -08:00
Commit graph

81 commits

Author SHA1 Message Date
Gareth Rees
164f0b1214 catch-up merge from master sources at changelevel 194605 to branch/2016-03-30/tract-p-elim.
Copied from Perforce
 Change: 194617
2018-07-11 21:52:22 +01:00
Gareth Rees
880b97bfb1 There is now no difference between the sets of sources for compilers mv and pc, so eliminate the duplication.
Copied from Perforce
 Change: 194602
2018-07-11 17:09:07 +01:00
Gareth Rees
602564a4e1 Merge branch/2014-10-26/sc into the master sources.
Copied from Perforce
 Change: 194595
2018-07-11 15:20:49 +01:00
Gareth Rees
83256946e6 Merge branch 2016-03-27/cbs-tidy into the master sources.
Copied from Perforce
 Change: 194572
2018-07-10 15:31:25 +01:00
Gareth Rees
e5b175a961 Catch-up merge from master sources at changelevel 194484 to branch/2014-10-26/sc.
Copied from Perforce
 Change: 194487
2018-07-06 21:42:35 +01:00
Gareth Rees
7f41cd5d86 Rename "node" to "rangetree" as suggested in review by gdr <https://info.ravenbrook.com/mail/2018/07/05/10-17-35/0/>
Get Xcode builds working.
Add rangetree.[ch] to the source code index.

Copied from Perforce
 Change: 194434
2018-07-05 12:06:47 +01:00
Gareth Rees
c4a840d676 Rename "mac os x" and "os x" to "macos", except for a few cases where for historical accuracy we want to continue to refer to the former name.
Copied from Perforce
 Change: 193821
2018-06-15 12:15:36 +01:00
Gareth Rees
ce8e22cd8e Split generic mutator context module into two parts: one for generic operating system (prmcan.c) and one for generic architecture (prmcanan.c).
Copied from Perforce
 Change: 192583
 ServerID: perforce.ravenbrook.com
2016-10-14 13:25:14 +01:00
Gareth Rees
1a04431cff New modulefile prmcw3.c avoids duplication of code between prmcw3i3.c and prmcw3i6.c.
Implement MutatorContextCheck on Windows. Add AVERT(MutatorContext, context) in PoolAccess and other functions.
Document initialization functions MutatorContextInitFault and MutatorContextInitThread and implement them on Windows.
Add a union discriminator to MutatorContextStruct on Windows so that we don't accidentally try to get the stack pointer from a fault context, or the exception address from a thread context.

Copied from Perforce
 Change: 192567
 ServerID: perforce.ravenbrook.com
2016-10-14 11:53:26 +01:00
Gareth Rees
4457a77a07 Initialization and checking of mutatorcontext data structures.
New files prmcix.c and prmcxc.c avoid duplicated code.

Copied from Perforce
 Change: 192562
 ServerID: perforce.ravenbrook.com
2016-10-13 23:13:40 +01:00
Gareth Rees
0abb95e025 Use protsgix.c on linux and delete protli.c.
Copied from Perforce
 Change: 192556
 ServerID: perforce.ravenbrook.com
2016-10-13 21:24:04 +01:00
Gareth Rees
9b3e45e883 Implement mutatorcontextsp and mutatorcontextscan for platforms w3i3 and w3i6.
This means that ThreadScan becomes identical on these two platforms and can be moved to thw3.c.
This means that thw3.h, thw3i3.c and thw3i6.c become redundant and can be deleted.

Copied from Perforce
 Change: 192534
 ServerID: perforce.ravenbrook.com
2016-10-13 16:28:50 +01:00
Gareth Rees
b4a3d0824b Rename the "protection mutator context" module to "mutator context" (this module handles mutator context decoding for both the protection module and the thread module).
Rename functions Prot{Can,}StepInstruction to MutatorContext{Can,}StepInstruction so that they follow the naming convention in guide.implc.naming.prefix.program.
Move mutator context declarations out of prot.h into new header prmc.h.
Correct .assume.null in a couple of places -- it's not safe for MutatorContextStepInstruction to return ResUNIMPL, instead MutatorContextCanStepInstruction should return FALSE.

Copied from Perforce
 Change: 192528
 ServerID: perforce.ravenbrook.com
2016-10-13 15:06:14 +01:00
Gareth Rees
d0ae56d7dd Rename prot{i3,i6}.c to prmc{i3,i6}.c because these files are part of the protection mutator context module.
Rename prmc{i3,i6}{fr,li,w3,xc}.c to prmc{fr,li,w3,xc}{i3,i6}.c for consistency of ordering of platform codes (OS before AR before CT).

Copied from Perforce
 Change: 192512
 ServerID: perforce.ravenbrook.com
2016-10-13 13:24:47 +01:00
Gareth Rees
cb41b91f19 Remove support for linux 2.4 and 2.5 (these versions used linuxthreads). linux is now supported from version 2.6 onwards (these versions use posix threads).
Copied from Perforce
 Change: 192240
 ServerID: perforce.ravenbrook.com
2016-09-08 11:36:02 +01:00
Richard Brooksby
18ececa2c3 Oops. adding node.c to mps.c.
Copied from Perforce
 Change: 190490
 ServerID: perforce.ravenbrook.com
2016-03-28 11:58:49 +01:00
Richard Brooksby
6edbc6b977 Removing mv pool class and substituting mvff.
Disabling MV Debug test, since that doesn't work now that it's really MVFF Debug.

Copied from Perforce
 Change: 190494
 ServerID: perforce.ravenbrook.com
2016-03-27 22:24:57 +01:00
Richard Brooksby
3de3827d47 Catch-up merge from master sources to branch/2014-10-26/sc.
Copied from Perforce
 Change: 190118
 ServerID: perforce.ravenbrook.com
2016-03-16 17:36:35 +00:00
Richard Brooksby
ca7dcd913e Basic removal of the reservoir pool from code and design.
Copied from Perforce
 Change: 190000
 ServerID: perforce.ravenbrook.com
2016-03-13 20:32:24 +00:00
Richard Brooksby
9c1d2bfb44 Catch-up merge from master sources to branch/2014-10-26/sc.
Copied from Perforce
 Change: 189865
 ServerID: perforce.ravenbrook.com
2016-03-11 14:56:59 +00:00
Gareth Rees
c56dd90bbb Merge poolamsi.c into poolams.c for consistency with other pool class implementations.
Copied from Perforce
 Change: 189681
 ServerID: perforce.ravenbrook.com
2016-03-06 18:49:47 +00:00
Richard Brooksby
3d7d35c59f Catch-up merge from master sources to branch/2014-10-26/sc.
Copied from Perforce
 Change: 189653
 ServerID: perforce.ravenbrook.com
2016-03-05 14:22:11 +00:00
Richard Brooksby
7d93da3182 Adding new platform fri3ll to support freebsd 10 and above, which have clang and not gcc by default.
Copied from Perforce
 Change: 189622
 ServerID: perforce.ravenbrook.com
2016-03-04 13:20:51 +00:00
Richard Brooksby
883f73fc04 Scanning the whole stack context on every platform using portable code, because on no platform can we assume that any registers never contain references.
Copied from Perforce
 Change: 189570
 ServerID: perforce.ravenbrook.com
2016-03-03 02:10:58 +00:00
Richard Brooksby
0911504dd8 Catch-up merge from master sources to branch/2014-10-26/sc.
Copied from Perforce
 Change: 189563
 ServerID: perforce.ravenbrook.com
2016-03-02 22:08:09 +00:00
Richard Brooksby
a8de8eec7c Adding new platform fri6ll to support freebsd 10 and above, which have clang and not gcc by default.
Copied from Perforce
 Change: 189560
 ServerID: perforce.ravenbrook.com
2016-03-02 22:00:11 +00:00
Richard Brooksby
f11eb2ef8c Catch-up merge from master sources to branch/2014-10-26/sc.
Includes hairy merging of stack manipulation code and may need further work on each platform.

Copied from Perforce
 Change: 189545
 ServerID: perforce.ravenbrook.com
2016-03-02 17:55:25 +00:00
Richard Brooksby
998a11b45a Catch-up merge from master sources to branch/2015-09-04/stack.
Copied from Perforce
 Change: 189370
 ServerID: perforce.ravenbrook.com
2016-02-27 00:54:00 +00:00
Richard Brooksby
a3fdda4678 Lifting and generalising area scanners to allow flexible tagging schemes.
Copied from Perforce
 Change: 189189
 ServerID: perforce.ravenbrook.com
2016-02-15 15:30:08 +00:00
Gareth Rees
b3056139c8 New module policy.c.
Copied from Perforce
 Change: 188152
 ServerID: perforce.ravenbrook.com
2015-08-19 15:03:47 +01:00
Gareth Rees
4126fe1d73 Save mutator context on entry to the mps.
Copied from Perforce
 Change: 187412
 ServerID: perforce.ravenbrook.com
2014-10-26 22:18:57 +00:00
Gareth Rees
c1fe4521a2 Ssw3i6.asm was deleted in change 179213.
Copied from Perforce
 Change: 187402
 ServerID: perforce.ravenbrook.com
2014-10-26 00:53:45 +01:00
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