1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-24 07:41:54 -07:00
Commit graph

66 commits

Author SHA1 Message Date
Gareth Rees
f47c389a52 Fix indentation of second clause of license. 2020-08-30 10:13:06 +01:00
Gareth Rees
af0f431eda Use https: instead of http: when linking to the ravenbrook web site. 2020-08-30 10:13:03 +01:00
Peter Jackson
4de2606846 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
1ec8c4a141 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
cbf9885146 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
aa9f8bef8a 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
d2d2895c03 Catch-up merge from master sources at changelevel 194022 to branch/2018-06-20/monitor.
Copied from Perforce
 Change: 195071
2018-09-15 21:29:28 +01:00
Gareth Rees
2b0fec987d Clean up function definitions: no need for "extern"; opening brace goes on new line.
Copied from Perforce
 Change: 194654
2018-07-15 19:05:39 +01:00
Gareth Rees
aea2ed3811 Handle deletion of arenas and pools (they often get recreated at the same addresses so this is vital).
Sort the events in batches so that, for example, we get PoolFinish before ArenaDestroy.
Emit ArenaDestroy event after finishing all its pools.
Add arena parameter to PoolFinish event.
Restore top-down logging of events (no need to order them the telemetry output, since the monitor sorts them).
Add comments for all the events used by the monitor.
Include the arena's name in the pool's name when there are multiple arenas.

Copied from Perforce
 Change: 194112
2018-06-23 15:37:11 +01:00
Gareth Rees
bb5034594d Event alignment doesn't need to be mps_pf_align (that's wasteful on windows).
Copied from Perforce
 Change: 194091
2018-06-22 14:09:56 +01:00
Gareth Rees
c3a7104eff Label the time series in the monitor.
In telemetry output, distinguish between labelling of (client) addresses and (MPS-internal) pointers, to avoid transgressing the distinction.
Add arena grain size, class, and serial number to ArenaCreate* events.
Add pool class and serial number to PoolInit event.

Copied from Perforce
 Change: 194086
2018-06-22 11:05:46 +01:00
Gareth Rees
6ebfdb2a10 Avoid "dereferencing type-punned pointer will break strict-aliasing rules" from gcc 4.8.
Copied from Perforce
 Change: 194061
2018-06-21 17:30:51 +01:00
Gareth Rees
14ce806a0c Emit events in time order (per kind for now) in order to support telemetry consumers that run in real time.
Copied from Perforce
 Change: 194051
2018-06-21 14:00:05 +01:00
Gareth Rees
fb3e4144a9 Untabify.
Copied from Perforce
 Change: 191528
 ServerID: perforce.ravenbrook.com
2016-04-21 20:50:45 +01:00
Richard Brooksby
72d14e139f Guarding eventinit with the global lock, and removing the enforcement of the reference count, so that the event system can be used from classes, which get called before any arena.
Copied from Perforce
 Change: 191018
 ServerID: perforce.ravenbrook.com
2016-04-12 18:16:06 +01:00
Gareth Rees
f8cd40212e Fix bug in event_desc macro introduced in change 187071.
Copied from Perforce
 Change: 187081
 ServerID: perforce.ravenbrook.com
2014-09-29 09:48:47 +01:00
Gareth Rees
2d0f425428 Ensure that code of the form if (condition) statement; is split over two lines, so that it is possible to set a breakpoint on the statement in a debugger.
This change was agreed in 1997 (see <https://info.ravenbrook.com/project/mps/mail/1997/08/19/13-44/0.txt>), so it's about time it was implemented.

Copied from Perforce
 Change: 187071
 ServerID: perforce.ravenbrook.com
2014-09-27 22:57:02 +01:00
Gareth Rees
10afd0ee3b Cast all arguments to the writef function to make it easy to check that none of the necessary casts have been omitted.
New macro WriteFYesNo makes it easy to describe a Boolean.
Describe more structure elements for ABQ, Arena, Buffer, Format, MFS, Root, Seg.

Copied from Perforce
 Change: 187063
 ServerID: perforce.ravenbrook.com
2014-09-27 12:49:30 +01:00
Gareth Rees
1b7de24015 Some assertions with && crept back in. split them up so that we get as much information as possible from an assertion failure.
Copied from Perforce
 Change: 186577
 ServerID: perforce.ravenbrook.com
2014-06-13 15:52:50 +01:00
Gareth Rees
c8d293af37 Fix rash build.
Copied from Perforce
 Change: 186527
 ServerID: perforce.ravenbrook.com
2014-06-12 13:49:57 +01:00
Gareth Rees
add3e4bf93 Consistent order stream, depth.
Copied from Perforce
 Change: 186001
 ServerID: perforce.ravenbrook.com
2014-05-11 18:30:23 +01:00
Gareth Rees
c44f2d6a20 Correct indentation of describe output by passing depth parameter to describe functions and to writef.
Call Describe functions from test cases so that we get coverage.

Copied from Perforce
 Change: 186000
 ServerID: perforce.ravenbrook.com
2014-05-11 18:20:38 +01:00
Gareth Rees
4ed8190265 Back out change 185626 (violates the design.mps.writef.snazzy).
Copied from Perforce
 Change: 185941
 ServerID: perforce.ravenbrook.com
2014-05-02 12:44:31 +01:00
Gareth Rees
d83fbf6b09 Correct indentation of describe output.
Copied from Perforce
 Change: 185626
 ServerID: perforce.ravenbrook.com
2014-04-17 13:36:42 +01:00
Gareth Rees
532cd901ac Avoid strict aliasing warnings from gcc 4.8.
Copied from Perforce
 Change: 185484
 ServerID: perforce.ravenbrook.com
2014-04-12 21:44:18 +01:00
Gareth Rees
ab57c07df5 Turn on -wduplicate-enum and -wmissing-variable-declarations options for clang. ensure the mps compiles with these options.
Copied from Perforce
 Change: 185466
 ServerID: perforce.ravenbrook.com
2014-04-11 15:17:20 +01:00
Gareth Rees
7fc9d6f911 Avoid expanding __file__ in aver in pelles c -- the compiler somehow loses its definition for __file__ in deeply nested macro expansions.
Copied from Perforce
 Change: 185025
 ServerID: perforce.ravenbrook.com
2014-03-26 13:44:02 +00:00
Gareth Rees
42b4955c2f Uncomment event_list calls.
Copied from Perforce
 Change: 185011
 ServerID: perforce.ravenbrook.com
2014-03-25 15:12:33 +00:00
Gareth Rees
c94be13bdf 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
a3575822cc Catch-up merge from master sources to branch/2014-03-21/pellesc.
Copied from Perforce
 Change: 184973
 ServerID: perforce.ravenbrook.com
2014-03-24 12:20:49 +00:00
Gareth Rees
a9fbb48533 Replace hex constant 9024eac8 (gotneach) with 4026eac8 (notreach).
Copied from Perforce
 Change: 184972
 ServerID: perforce.ravenbrook.com
2014-03-24 12:13:20 +00:00
Gareth Rees
f7f4c6bc1c 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
Gareth Rees
7b16ae5a45 Use macro nonnegative so that we can keep asserting that values are >= 0 without provoking "unsigned comparison >= 0 is always true" warnings from gcc.
Copied from Perforce
 Change: 183505
 ServerID: perforce.ravenbrook.com
2013-10-01 14:27:52 +01:00
Gareth Rees
4950182f38 Avoid warnings when compiling with -wwrite-strings:
* Use const char * in places where we want to assign string constants.
Avoid warnings when compiling with -Wextra:
* Avoid if statement with empty body in amcsshe.c
* Avoid comparison of unsigned >= 0.

Copied from Perforce
 Change: 183498
 ServerID: perforce.ravenbrook.com
2013-10-01 10:52:45 +01:00
Gareth Rees
a344ce6284 Guard the calls to mps_io_flush so that it can only be called after mps_io_create.
Copied from Perforce
 Change: 182322
 ServerID: perforce.ravenbrook.com
2013-05-30 15:24:41 +01:00
Richard Brooksby
8a9d451ff8 Catch-up merge from custom/cet/main to master.
Includes installable assertion handler, events in circular memory buffers, LARGEADDRESSAWARE, etc.

Copied from Perforce
 Change: 182176
 ServerID: perforce.ravenbrook.com
2013-05-24 19:42:46 +01:00
Richard Brooksby
9f7a30bfbc Preventing failure if there is an assertion before event buffers are initialized.
Copied from Perforce
 Change: 182012
 ServerID: perforce.ravenbrook.com
2013-05-20 19:37:59 +01:00
Gareth Rees
b30f6576b8 Restore "res = resok" to eventflush (removed in change 180152).
Copied from Perforce
 Change: 180471
 ServerID: perforce.ravenbrook.com
2012-11-14 17:46:03 +00:00
Nick Barnes
1a66f62952 Add mps_clocks_per_sec to the eventinit header, and put some header-checking code into eventcnv, so now we have at least a rudimentary check that a binary event log is readable.
Copied from Perforce
 Change: 180160
 ServerID: perforce.ravenbrook.com
2012-10-30 14:15:27 +00:00
Nick Barnes
9ba10aeae4 Make eventclocksync events, and output them once per buffer flush.
Copied from Perforce
 Change: 180152
 ServerID: perforce.ravenbrook.com
2012-10-30 09:36:30 +00:00
Nick Barnes
b407283356 Add an eventinit event, giving various parameters including the event system version.
Copied from Perforce
 Change: 180100
 ServerID: perforce.ravenbrook.com
2012-10-26 13:22:04 +01:00
Richard Brooksby
869bf43521 Responding to nb's review comments.
Copied from Perforce
 Change: 179335
 ServerID: perforce.ravenbrook.com
2012-09-07 15:46:18 +01:00
Richard Brooksby
f11aad1d62 Fixing warnings found by lii6gc build.
Copied from Perforce
 Change: 179149
 ServerID: perforce.ravenbrook.com
2012-08-31 21:27:55 +01:00
Richard Brooksby
8bbc754163 Tidying up fixmes.
Catching errors from EVENT_CLOCK_WRITE.
Printing more information about unknown event types.

Copied from Perforce
 Change: 179143
 ServerID: perforce.ravenbrook.com
2012-08-31 20:15:26 +01:00
Richard Brooksby
589a6aa3f6 Simplifying event string fields to be just c strings.
Copied from Perforce
 Change: 179142
 ServerID: perforce.ravenbrook.com
2012-08-31 19:53:44 +01:00
Richard Brooksby
24eb124aa4 Now there is no measurable performance penalty for events, they're on in all varieties (except we).
Copied from Perforce
 Change: 179137
 ServerID: perforce.ravenbrook.com
2012-08-31 16:42:17 +01:00
Richard Brooksby
f8cad3754b Writing events into separate buffers by kind.
Always recording events into buffers, but only writing them to the telemetry stream if they're enabled.

Copied from Perforce
 Change: 179136
 ServerID: perforce.ravenbrook.com
2012-08-31 16:09:07 +01:00
Richard Brooksby
767c9a231e Avoid creating the telemetry output stream until there are events to log.
Copied from Perforce
 Change: 179134
 ServerID: perforce.ravenbrook.com
2012-08-31 15:37:29 +01:00
Richard Brooksby
05ff4da034 Adding an mps-style eventdescribe.
Removing deliberate assert and event debugging dump.  Oops.

Copied from Perforce
 Change: 179133
 ServerID: perforce.ravenbrook.com
2012-08-31 15:14:09 +01:00
Richard Brooksby
09cf2f4f37 Writing event dumper to print recent events, and adding it to the default assertion handler.
NUL-terminating event strings to make them easier to print.

Copied from Perforce
 Change: 179132
 ServerID: perforce.ravenbrook.com
2012-08-31 14:12:23 +01:00