logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

r9583 - in trunk/fundev/Sources: dylan lib/run-time: msg#00060

Subject: r9583 - in trunk/fundev/Sources: dylan lib/run-time
Author: andreas
Date: Fri Nov 12 21:12:38 2004
New Revision: 9583

Modified:
   trunk/fundev/Sources/dylan/boot.dylan
   trunk/fundev/Sources/lib/run-time/collector.c
Log:
bug: 7143

- Drop a bogus assertion in MMCommitWrapper
- Properly generate a version field for dynamically generated wrappers

This fixes bug 7143.


Modified: trunk/fundev/Sources/dylan/boot.dylan
==============================================================================
--- trunk/fundev/Sources/dylan/boot.dylan       (original)
+++ trunk/fundev/Sources/dylan/boot.dylan       Fri Nov 12 21:12:38 2004
@@ -133,7 +133,12 @@
   let wrapper :: <mm-wrapper> = system-allocate-wrapper();
   wrapper.mm-wrapper-implementation-class := implementation-class;
   wrapper.mm-wrapper-fixed-part := integer-as-raw(fixed-part-header);
-  wrapper.mm-wrapper-variable-part := integer-as-raw(variable-part-header);
+  wrapper.mm-wrapper-variable-part // store version 2 in high byte
+    := primitive-machine-word-bit-field-deposit
+         (integer-as-raw(2),
+          integer-as-raw($machine-word-size - 8),
+          integer-as-raw(8),
+          integer-as-raw(variable-part-header));
   // wrapper.mm-wrapper-number-patterns := 0;
   wrapper
 end function;

Modified: trunk/fundev/Sources/lib/run-time/collector.c
==============================================================================
--- trunk/fundev/Sources/lib/run-time/collector.c       (original)
+++ trunk/fundev/Sources/lib/run-time/collector.c       Fri Nov 12 21:12:38 2004
@@ -1259,7 +1259,9 @@
 
   assert(gc_teb->gc_teb_inside_tramp);
   assert(dylan_check(p));
-  assert(dylan_wrapper_check(p));
+  // there used to be a call to dylan_wrapper_check(p) here, but
+  // the wrapper isn't properly initialized until after allocation.
+  // So the check will always fail.
 
   res = mps_root_create_fmt(&root, arena, MPS_RANK_EXACT,
                              (mps_rm_t)0, fmt_A->scan, p, (char *)p + size);
_______________________________________________
Gd-chatter mailing list
Gd-chatter@xxxxxxxxxxxxxxxx
https://gauss.gwydiondylan.org/mailman/listinfo/gd-chatter



<Prev in Thread] Current Thread [Next in Thread>