Fix stack scanning bugs: Add PC OFFSET before retrieving Registermap.

GC passes for the MemUsage of 5 MB * 100.
Note that RegisterMap is uncompressed. Also add new GC test.

Change-Id: I7a7afc845d4582f8f2f3ba95e4716266ec46c635
diff --git a/test/MemUsage/MemUsage.java b/test/MemUsage/MemUsage.java
index 4cc4159..710031b 100644
--- a/test/MemUsage/MemUsage.java
+++ b/test/MemUsage/MemUsage.java
@@ -1,18 +1,14 @@
 
-
 public class MemUsage {
-  public static final int NUM_1D_ARRAYS = 1000;
-  public static final int INCREMENT = 300;
+  public static final int ROUNDS = 8;
+  public static final int SIZE = 2000;
 
   public static void main(String [] args) {
-    int sz = 1000;
-    double[][] RelocationArray = new double[NUM_1D_ARRAYS][];
-    while (true) {
-      for (int i = 0; i < NUM_1D_ARRAYS; i++) {
-        RelocationArray[i] = new double[sz];
-        if (sz + INCREMENT > 0) {
-          sz += INCREMENT;
-        }
+    String s;
+    for (int j = 0; j < ROUNDS; j++) {
+      s = "";
+      for (int i = 0; i < SIZE; i++) {
+        s += "x";
       }
     }
   }