1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 01:41:01 -08:00
Commit graph

66 commits

Author SHA1 Message Date
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
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
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
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
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
06b87869fd 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
817f014bd3 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
1c7107fd8c 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
65d5f185f8 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
32a1c7c44f 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
7500c714e7 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
3dc5a92860 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
82690aa532 Untabify.
Copied from Perforce
 Change: 191528
 ServerID: perforce.ravenbrook.com
2016-04-21 20:50:45 +01:00
Richard Brooksby
f650061dab 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
ae41e87726 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
c968255f1e 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
1f517274f3 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
8b012960dc 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
d482c85929 Fix rash build.
Copied from Perforce
 Change: 186527
 ServerID: perforce.ravenbrook.com
2014-06-12 13:49:57 +01:00
Gareth Rees
c77c91056d Consistent order stream, depth.
Copied from Perforce
 Change: 186001
 ServerID: perforce.ravenbrook.com
2014-05-11 18:30:23 +01:00
Gareth Rees
2493f121dc 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
d1b44a4f05 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
6721c2b913 Correct indentation of describe output.
Copied from Perforce
 Change: 185626
 ServerID: perforce.ravenbrook.com
2014-04-17 13:36:42 +01:00
Gareth Rees
bc72bc7f79 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
da307afb81 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
fe68bfac83 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
3340bd2bf6 Uncomment event_list calls.
Copied from Perforce
 Change: 185011
 ServerID: perforce.ravenbrook.com
2014-03-25 15:12:33 +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
6d76fdd813 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
f81d124529 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
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
Gareth Rees
fab773659d 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
949578bac4 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
dad0cabdf7 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
5c6785b815 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
68c312f9ba 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
7043c844ae 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
ecd77595bb 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
1746c7583a 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
d48d96f15e 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
22b0358048 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
fbe4595319 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
03b25f13a5 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
6d6f88608f 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
c4c3595fb8 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
7047e27cd1 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
bf36f61bb4 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
455e3ee43c 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
09dc2bca88 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