[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