add gc() to System
[IRC.git] / Robust / src / ClassLibrary / System.java
index ef6caa03f8f05bfb2cd86f79280c6513c75b0c10..df5fd33b75e7be7e18f6e753d7c4cbbd4ec6d924 100644 (file)
@@ -4,8 +4,14 @@ public class System {
     printString(s);
   }
 
+  public static native void gc();
+
   public static native long currentTimeMillis();
 
+  public static native long microTimes();
+
+  public static native long getticks();
+
   public static native void printString(String s);
 
   public static void println(String s) {
@@ -24,6 +30,14 @@ public class System {
     System.printString(""+o+"\n");
   }
 
+  public static void println(long o) {
+    System.printString(""+o+"\n");
+  }
+
+  public static void println() {
+    System.printString("\n");
+  }
+
   public static void print(String s) {
     System.printString(s);
   }
@@ -40,6 +54,10 @@ public class System {
     System.printString(""+o);
   }
 
+  public static void print(long o) {
+    System.printString(""+o);
+  }
+
   public static void error() {
     System.printString("Error (Use Breakpoint on ___System______error method for more information!)\n");
   }
@@ -52,4 +70,22 @@ public class System {
 
   public static native void rangePrefetch(Object o, short[] offsets);
 
+  public static native void deepArrayCopy(Object dst, Object src);
+
+  public static native void Assert(boolean status);
+
+  /* Only used for microbenchmark testing of SingleTM version */
+  public static native void logevent(int event);
+  public static native void logevent();
+
+  /* Only used for microbenchmark testing of SingleTM version */
+  public static native void initLog();
+
+  public static native void flushToFile(int threadid);
+  /* Only used for microbenchmark testing of SingleTM version */
+
+  public static native void arraycopy(Object src, int srcPos, Object dst, int destPos, int length);
+
+  // for disjoint reachability analysis
+  public static void genReach();
 }