Gareth Rees
1e77b9d762
Remove mps_fix, deprecated since release 1.111.0
...
Also remove undocumented and deprecated MPS_FIX macro, and rename
TRACE_FIX to TRACE_FIX12 to maintain parallelism.
2020-09-27 14:16:39 +01:00
Gareth Rees
7c286cba8f
Remove mps_alloc_v, deprecated since release 1.112.0.
2020-09-26 15:08:31 +01:00
Gareth Rees
ac0b724847
Remove reservoir functions, deprecated since release 1.115.0
2020-09-24 11:36:46 +01:00
Gareth Rees
93438da02d
Remove mps_arena_expose, deprecated since release 1.111.0
...
Also remove mps_arena_unsafe_expose_remember_protection and
mps_arena_unsafe_expose_restore_protection.
2020-09-24 09:35:47 +01:00
Gareth Rees
302c8d0b19
Remove mps_tramp, deprecated since release 1.111.0.
2020-09-24 09:30:33 +01:00
Gareth Rees
5acb13ba24
Save and restore errno in signal handlers.
...
Ensure there are assertions on the results of all the libc functions
in protsgix.c and pthrdext.c.
2020-09-02 19:59:23 +01:00
Bruce Mitchener
c825216539
Fix typos.
2020-09-01 16:33:45 +01:00
Gareth Rees
5d966c76fd
Spell out "analysis" in full.
2020-09-01 13:54:31 +01:00
Gareth Rees
5559f36540
Fix indentation of second clause of license.
2020-08-30 10:13:06 +01:00
Gareth Rees
5165d75267
Use https: instead of http: when linking to the ravenbrook web site.
2020-08-30 10:13:03 +01:00
Gareth Rees
e7d4356705
Merge branch 'branch/2020-08-24/eintr'
2020-08-30 09:24:08 +01:00
Gareth Rees
ae265371c1
Set sa_restart flag when calling sigaction().
...
This ensures that if a mutator thread is blocked in a system call when
the MPS handles a signal, the system call will not fail with EINTR but
instead will be restarted.
Add a test case for the thread suspend and resume signals.
2020-08-30 09:23:35 +01:00
Gareth Rees
7c650f8051
Merge branch 'branch/2020-08-23/macos-build'
2020-08-30 09:08:38 +01:00
Gareth Rees
86525a2b0a
Traceid is a typedef for unsigned so we mustn't negate it.
...
This was not caught by testing because we don't support multiple
traces and so tr->id is always zero.
2020-08-29 18:56:46 +01:00
Gareth Rees
d8aed56eaa
Fix build on macos 10.15 with clang 11.0.
...
We no longer need the -Wno-extended-offsetof or -Wno-invalid-offsetof
compiler options, since the nonstandard uses of offsetof() were
fixed (see job003619), so they can just be removed.
2020-08-23 16:17:36 +01:00
Peter Jackson
1d00afac81
Publish licence updates in code directory.
...
Publish minor changes to readme and configure files in main directory.
Main directory and code directory licence texts are now fully updated.
Copied from Perforce
Change: 196994
2020-06-11 17:05:40 +01:00
Gareth Rees
b3052e79c6
Avoid warning from gcc 5.4.0.
...
Copied from Perforce
Change: 196419
2019-10-10 15:18:03 +01:00
Gareth Rees
d161061c79
The makefile rule for building a generic target no longer depends on the content of extra_targets, since this is designed to be configurable.
...
Copied from Perforce
Change: 196414
2019-10-10 14:37:38 +01:00
Gareth Rees
db58f314d1
Avoid an "extended" (non-standards-conforming) call to offsetof.
...
Copied from Perforce
Change: 196195
2019-06-05 16:31:13 +01:00
Gareth Rees
2ed4e993f7
Remove -wno-extended-offsetof flag, no longer needed and not compatible with all the versions of clang that we need to support.
...
Copied from Perforce
Change: 196189
2019-06-05 14:33:43 +01:00
Gareth Rees
1442df6958
Revert change 196178, submitted on wrong branch.
...
Copied from Perforce
Change: 196185
2019-06-05 10:36:50 +01:00
Gareth Rees
88f046fff1
Call mps_arena_create_k, not mps_arena_create.
...
Copied from Perforce
Change: 196181
2019-06-04 15:40:38 +01:00
Gareth Rees
b46461edb5
Restore assembly code (removed in change 194595) for spilling callee-save registers on fr and li platforms.
...
Copied from Perforce
Change: 196178
2019-06-04 14:09:05 +01:00
Gareth Rees
93b1364fd2
Change the type of writeff to avoid compiler warnings from gcc 8.
...
Copied from Perforce
Change: 196063
2019-03-14 15:17:47 +00:00
Gareth Rees
5f42b4b2b1
Simulate just one allocation failure each time.
...
Copied from Perforce
Change: 195983
2019-02-07 11:57:16 +00:00
Gareth Rees
d1418dec5e
Add a flag to fotest.c so that oomalloc knows when to return error codes, avoiding confusion between the test's pool and the mps's own pool.
...
Copied from Perforce
Change: 195974
2019-02-07 10:21:32 +00:00
Gareth Rees
fd8eba1528
Update urls (mostly http -> https).
...
Copied from Perforce
Change: 195858
2018-12-10 13:07:41 +00:00
Gareth Rees
0b324c158b
Use tags with dots; regularize design references from code.
...
Copied from Perforce
Change: 195761
2018-11-29 17:12:29 +00:00
Gareth Rees
cc9d3b9f7b
Change http to https for links to {info,www}.ravenbrook.com.
...
Copied from Perforce
Change: 195719
2018-11-22 12:34:46 +00:00
Richard Brooksby
920b7d1200
Improving clarity with some hyphens.
...
Copied from Perforce
Change: 195688
2018-11-19 21:12:15 +00:00
Richard Brooksby
9e8f076716
Fixing copy-paste error in comment.
...
Copied from Perforce
Change: 195683
2018-11-19 20:56:45 +00:00
Alistair Turnbull
eeb8b6aa9c
To guarantee at least one failure while maintaining test coverage, use oomalloc on the
...
first loop iteration and with 50% probability thereafter.
Copied from Perforce
Change: 195278
2018-10-17 17:12:14 +01:00
Alistair Turnbull
9e03b1db34
Implement review suggestions:
...
- https://info.ravenbrook.com/mail/2018/10/09/07-29-18/0/
- https://info.ravenbrook.com/mail/2018/10/09/12-04-39/0/
Fix the code for shuffling an array.
Ensure that oomAlloc is always used at least once.
TODO: Find a principled way of computing `testSetSIZE`.
Copied from Perforce
Change: 195272
2018-10-16 18:03:45 +01:00
Gareth Rees
fa3abac8df
Improve handling of telemetry events on the critical path:
...
1. Being on the critical path is a property of the code location where the event is emitted, not of the event type, so indicate this using EVENT_CRITICAL macros rather than a field in the event table.
2. Compile out events on the critical path in hot varieties.
3. Remove TraceFixWhite event (redundant with TraceFixSeg).
4. No need for special handling of PoolFree event -- this are already skipped in hot varieties by dispatching directly to the pool class via PoolFreeMacro.
Copied from Perforce
Change: 195261
2018-10-15 14:22:16 +01:00
Gareth Rees
6edddcbabb
Fix mpseventsql, broken by change 195250.
...
Copied from Perforce
Change: 195258
2018-10-15 11:55:51 +01:00
Gareth Rees
ae8f45704e
Convenience target for building mpseventsql.
...
Copied from Perforce
Change: 195251
2018-10-14 14:59:15 +01:00
Gareth Rees
af935e8479
Update mpseventsql to handle event parameter documentation.
...
Copied from Perforce
Change: 195250
2018-10-14 14:59:01 +01:00
Gareth Rees
60bf7320e2
Document the event parameters.
...
Split event ArenaAccess into ArenaAccessBegin and ArenaAccessEnd to avoid the need for the count field.
New events SegReclaim and SegScan.
Delete some redundant events: AMCFinish (PoolFinish), AMCFix, AMCFixForward, AMCFixInPlace (TraceFix), AMCGenCreate (GenInit), AMCGenDestroy (GenFinish), AMCInit (PoolInitAMC), AMCReclaim (SegReclaim), AMCScanBegin, AMCScanEnd (SegScan), ArenaWriteFaults (ArenaAccessBegin), PoolInitMV, TraceScanSeg (SegScan).
Add result code field to events ArenaAllocFail, CommitLimitSet, SegAllocFail.
Remove arena field from events PoolInitAMS, PoolInitMFS, PoolInitMVFF (already appeared in generic PoolInit event).
Copied from Perforce
Change: 195247
2018-10-14 14:04:40 +01:00
Gareth Rees
c0266874cf
Merge branch/2018-06-20/monitor into the master sources.
...
Copied from Perforce
Change: 195235
2018-10-13 12:22:24 +01:00
Gareth Rees
2965fc9150
There's no point keeping the definitions of old events, especially since we have changed the event format. name events consistently with initial capital letters and put them in alphabetical order.
...
Copied from Perforce
Change: 195231
2018-10-12 13:01:12 +01:00
Gareth Rees
08a7e943b6
Remove call to pause_end from tracedestroy; see < https://info.ravenbrook.com/mail/2018/10/12/10-20-07/0/ >
...
The MPS passes the number of system pools to the monitor via the ArenaCreate events, to avoid the monitor having to know how many this is.
Copied from Perforce
Change: 195227
2018-10-12 12:35:55 +01:00
Alistair Turnbull
779380b40d
Remove job4014 machinery, which is no longer needed.
...
Copied from Perforce
Change: 195211
2018-10-08 17:25:22 +01:00
Alistair Turnbull
766aee0567
Add flag is_failure_our_problem to fotest.c.
...
Copied from Perforce
Change: 195210
2018-10-08 17:19:18 +01:00
Gareth Rees
5a2e321a20
Fix issue identified in review < https://info.ravenbrook.com/mail/2018/09/22/15-55-52/0/ >
...
Copied from Perforce
Change: 195142
2018-09-23 23:00:59 +01:00
Gareth Rees
b903309074
Move assignment so as to avoid "variable 'warmest' might be clobbered by 'longjmp'".
...
Copied from Perforce
Change: 195136
2018-09-23 20:31:52 +01:00
David Lovemore
fe05398e64
Address issue 5 found in review < https://info.ravenbrook.com/mail/2018/09/22/11-42-19/0/ >
...
Copied from Perforce
Change: 195133
2018-09-23 05:36:19 +01:00
Gareth Rees
a25cb5b29d
Don't specify macosx_deployment_target in the xcode project -- this avoids complaints from xcode 10.0 without preventing compilation on old versions of macos.
...
Copied from Perforce
Change: 195108
2018-09-18 18:18:50 +01:00
Gareth Rees
bf95401d06
Remove unused function rangetreeinit and rename rangetreeinitfromrange to rangetreeinit.
...
Copied from Perforce
Change: 195094
2018-09-18 15:37:13 +01:00
Gareth Rees
56a5573881
Update xcode project for xcode 10.0.
...
Xcode 10.0 no longer supports building for IA-32, so the MPS can no longer support building for xci3ll using Xcode.
Revise example Scheme interpreter so that it can be compiled even if getopt.h includes unistd.h (as it does on macOS).
Copied from Perforce
Change: 195090
2018-09-18 15:00:45 +01:00
Gareth Rees
ee06f16296
Remove support for macos 10.4 and 10.5, because xcode 10.0 does not support these versions.
...
Copied from Perforce
Change: 195087
2018-09-18 14:18:52 +01:00