add gc() to System
[IRC.git] / Robust / src / ClassLibrary / System.java
index 1b6cf9e9aee3e49349fba744282cd9aaa92a3284..df5fd33b75e7be7e18f6e753d7c4cbbd4ec6d924 100644 (file)
@@ -4,12 +4,37 @@ 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) {
-    System.printString(s);
+    System.printString(s+"\n");
+  }
+
+  public static void println(Object o) {
+    System.printString(""+o+"\n");
+  }
+
+  public static void println(int o) {
+    System.printString(""+o+"\n");
+  }
+
+  public static void println(double o) {
+    System.printString(""+o+"\n");
+  }
+
+  public static void println(long o) {
+    System.printString(""+o+"\n");
+  }
+
+  public static void println() {
     System.printString("\n");
   }
 
@@ -17,6 +42,22 @@ public class System {
     System.printString(s);
   }
 
+  public static void print(Object o) {
+    System.printString(""+o);
+  }
+
+  public static void print(int o) {
+    System.printString(""+o);
+  }
+
+  public static void print(double o) {
+    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");
   }
@@ -29,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();
 }