add gc() to System
[IRC.git] / Robust / src / ClassLibrary / System.java
index 711769e05f5889fc8100d5639095835a7a242d42..df5fd33b75e7be7e18f6e753d7c4cbbd4ec6d924 100644 (file)
@@ -4,10 +4,60 @@ 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+"\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");
+  }
+
+  public static void print(String s) {
+    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");
   }
@@ -18,6 +68,24 @@ public class System {
 
   public static native void clearPrefetchCache();
 
-  public static native void rangePrefetch(Object o, short numoffset,  short[] offsets); //TODO Complete this definition
+  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();
 }