* src/mm/cacao-gc/rootset.c (rootset_from_thread): Add javastack references to
authormichi <none@none>
Thu, 19 Apr 2007 00:44:14 +0000 (00:44 +0000)
committermichi <none@none>
Thu, 19 Apr 2007 00:44:14 +0000 (00:44 +0000)
the rootset as well.

--HG--
branch : exact-gc

14 files changed:
src/mm/cacao-gc/rootset.c
src/vm/jit/allocator/simplereg.c
src/vm/jit/arm/codegen.c
src/vm/jit/i386/emit.c
src/vm/jit/inline/inline.c
src/vm/jit/jit.h
src/vm/jit/mips/codegen.c
src/vm/jit/parse.c
src/vm/jit/s390/codegen.c
src/vm/jit/s390/emit.c
src/vm/jit/stack.c
src/vm/jit/verify/typecheck.c
src/vm/jit/verify/typeinfo.c
src/vm/jit/x86_64/emit.c

index 184974a7682754f8db12fc599d45e647cc6d8b41..987a2ceafc56cfa48a579f9605ba91f09616be4c 100644 (file)
@@ -274,7 +274,8 @@ void rootset_from_thread(threadobject *thread, rootset_t *rs)
        /* now inspect the source state to compile the root set */
        for (sf = ss->frames; sf != NULL; sf = sf->down) {
 
-               GC_ASSERT(sf->javastackdepth == 0);
+               GC_LOG( printf("Source Frame: localcount=%d, stackdepth=%d\n", sf->javalocalcount, sf->javastackdepth); );
+               GC_ASSERT(sf->syncslotcount == 0);
 
                for (i = 0; i < sf->javalocalcount; i++) {
 
@@ -282,14 +283,23 @@ void rootset_from_thread(threadobject *thread, rootset_t *rs)
                        if (sf->javalocaltype[i] != TYPE_ADR)
                                continue;
 
-                       /* check for null pointer */
-                       if (sf->javalocals[i].a == NULL)
+                       GC_LOG2( printf("Found Reference (Java Local): %p\n", (void *) sf->javalocals[i].a); );
+
+                       /* add this reference to the root set */
+                       ROOTSET_ADD((java_objectheader **) &( sf->javalocals[i] ), true, REFTYPE_STACK);
+
+               }
+
+               for (i = 0; i < sf->javastackdepth; i++) {
+
+                       /* we only need to consider references */
+                       if (sf->javastacktype[i] != TYPE_ADR)
                                continue;
 
-                       GC_LOG2( printf("Found Reference: %p\n", (void *) sf->javalocals[i].a); );
+                       GC_LOG2( printf("Found Reference (Java Stack): %p\n", (void *) sf->javastack[i].a); );
 
                        /* add this reference to the root set */
-                       ROOTSET_ADD((java_objectheader **) &( sf->javalocals[i] ), true, REFTYPE_STACK);
+                       ROOTSET_ADD((java_objectheader **) &( sf->javastack[i] ), true, REFTYPE_STACK);
 
                }
        }
index 3a480b0609039ba9a2005a3abe2bcdaaae7f681c..4f4da410db513194aed56b04bc40b0bf96eef770 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
    02111-1307, USA.
 
-   $Id: simplereg.c 7713 2007-04-15 21:49:48Z twisti $
+   $Id: simplereg.c 7723 2007-04-16 18:03:08Z michi $
 
 */
 
index 80ab2c854c69faad24c2425621d41ed55da37b5d..19ff55f264875ac054ec915e99465daeed751643 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: codegen.c 7713 2007-04-15 21:49:48Z twisti $
+   $Id: codegen.c 7723 2007-04-16 18:03:08Z michi $
 
 */
 
index 5683320d82fd7166949aa67c85cc63695a08fbee..d5f7366fcd605661dfb3e049a03bd5b91e131c65 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: emit.c 7596 2007-03-28 21:05:53Z twisti $
+   $Id: emit.c 7601 2007-03-28 23:02:50Z michi $
 
 */
 
index 769222751cf7a81dc94a89f6dfdb77dc69597755..1b770770b159bf4315b3450998920f94a01c57e5 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: inline.c 7731 2007-04-16 22:24:30Z twisti $
+   $Id: inline.c 7732 2007-04-16 22:32:50Z michi $
 
 */
 
index d5c44eddcbd1bc212653e5c43484b4836a4225b9..e9b330addaff85f8ef66b736228986399e034a45 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: jit.h 7663 2007-04-04 22:14:42Z twisti $
+   $Id: jit.h 7667 2007-04-05 00:16:05Z michi $
 
 */
 
index db594035516364574847ec20f2273ff0a30521d9..26d47555feff8369400b32e2df2a801915e320e5 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: codegen.c 7713 2007-04-15 21:49:48Z twisti $
+   $Id: codegen.c 7723 2007-04-16 18:03:08Z michi $
 
 */
 
index fd9490a87fd267a5ccc1ec6b5ddacda61b2e6253..7138f107c83093f17149443c3ac5f56137a8b55d 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: parse.c 7663 2007-04-04 22:14:42Z twisti $
+   $Id: parse.c 7667 2007-04-05 00:16:05Z michi $
 
 */
 
index 27538db398c235809a471f4ff75d1922c9f316b2..e6ebec949550149977d6982b3452cdd08325afef 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: codegen.c 7692 2007-04-12 14:47:24Z twisti $
+   $Id: codegen.c 7693 2007-04-12 14:56:49Z michi $
 
 */
 
index 6b823bf8e25c6265703d576ff1ee9a859defbc41..5f912677d8edb058c29c105cacd028aff7cf5dda 100644 (file)
@@ -26,7 +26,7 @@
 
    Authors: Christian Thalinger
 
-   $Id: emit.c 7680 2007-04-10 05:02:20Z pm $
+   $Id: emit.c 7688 2007-04-12 09:05:12Z michi $
 
 */
 
index 6fb32e58b97332d84a12c41af2ddfa9154dcb7ce..554d3da477045e3fb171f403139c352bde603a06 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: stack.c 7713 2007-04-15 21:49:48Z twisti $
+   $Id: stack.c 7723 2007-04-16 18:03:08Z michi $
 
 */
 
index 3e4f99027f5a8f366de414ed6d4cfba6f1559eab..1f45f2da8eb6cd65678ae8ff46df80e44bc9adf9 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: typecheck.c 7486 2007-03-08 13:50:07Z twisti $
+   $Id: typecheck.c 7483 2007-03-08 13:17:40Z michi $
 
 */
 
index fa3189584f0c91752707a5d2b377c51508cd70cd..109f3fe2c05c532a2fd4338d7a2474cc57b81bae 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: typeinfo.c 7486 2007-03-08 13:50:07Z twisti $
+   $Id: typeinfo.c 7483 2007-03-08 13:17:40Z michi $
 
 */
 
index 7e818eaed51f6d9fedcd4e278e37c4a16ebf52c1..d59278a0145440a8173861094ae9f1b21efe9f7d 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: emit.c 7713 2007-04-15 21:49:48Z twisti $
+   $Id: emit.c 7723 2007-04-16 18:03:08Z michi $
 
 */