[M3devel] slight differences in m3core release vs. head?
Jay K
jay.krell at cornell.edu
Fri Dec 11 12:35:02 CET 2009
Tony, which versions do you prefer in which branch?
C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\runtime\common>diff -u C:\dev2\cm3.2\m3-libs\m3core\src\runtime\common\RTHeapStats.m3 RTHeapStats.m3
--- C:\dev2\cm3.2\m3-libs\m3core\src\runtime\common\RTHeapStats.m3 2009-12-
10 09:04:05.546875000 -0800
+++ RTHeapStats.m3 2009-12-11 02:51:53.468750000 -0800
@@ -330,7 +330,7 @@
VAR fp: UNTRACED REF ADDRESS := start;
BEGIN
(* scan the stack or registers *)
- WHILE fp < stop DO
+ WHILE fp <= stop DO
WITH page = RTHeapRep.AddressToPage(fp^), d = page.desc DO
IF page # NIL AND d.space = RTHeapRep.Space.Current THEN
VisitPage(page);
C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\runtime\common>diff -u C:\dev2\cm3.2\m3-libs\m3core\src\runtime\common\RTCollector.m3 RTCollector.m3
--- C:\dev2\cm3.2\m3-libs\m3core\src\runtime\common\RTCollector.m3 2009-12-
11 02:50:02.234375000 -0800
+++ RTCollector.m3 2009-12-11 02:51:44.781250000 -0800
@@ -519,7 +519,9 @@
PROCEDURE NoteStackLocations (start, stop: ADDRESS) =
VAR fp : UNTRACED REF ADDRESS := start;
BEGIN
- IF NOT (start < stop) THEN RETURN END;
+ IF start = NIL AND stop = NIL THEN
+ RETURN;
+ END;
stop := stop - ADRSIZE (ADDRESS); (* so we don't overrun the valid addresses *)
WHILE fp <= stop DO (* with the memory read on the next line. *)
WITH page = AddressToPage(fp^) DO
@@ -2210,7 +2212,7 @@
END;
END WeakCleaner;
There are also a bunch of user thread diffs I haven't looked at closely.
And a bunch of diffs I understand.
I think off by one thing in NoteStackLocations is subtle.
The ranges come from code that might not be so precise or might be themselves off by one.
I believe in Win32 I pass in for stop the "just past the end" value.
In which case you want "<".
- Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091211/509db198/attachment-0001.html>
More information about the M3devel
mailing list