From 1acbbe0406497c772a050046b8499aeffed1cc44 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Mon, 26 Feb 2007 01:44:54 +0000 Subject: [PATCH] small changes for benchmarks --- .../src/Benchmarks/ChatJava/ChatThread.java | 4 + .../src/Benchmarks/WebServer/Inventory.java | 5 +- Robust/src/Benchmarks/WebServer/Logger.java | 2 +- .../Benchmarks/WebServer/WebServerSocket.java | 89 +++++++++---------- .../src/Benchmarks/WebServerJava/Logger.java | 2 +- .../WebServerJava/WebServerThread.java | 19 ++-- Robust/src/ClassLibrary/String.java | 4 + Robust/src/IR/Flat/BuildCode.java | 6 +- Robust/src/Runtime/garbage.c | 14 +-- Robust/src/Runtime/runtime.c | 1 - Robust/src/Runtime/runtime.h | 1 + 11 files changed, 79 insertions(+), 68 deletions(-) diff --git a/Robust/src/Benchmarks/ChatJava/ChatThread.java b/Robust/src/Benchmarks/ChatJava/ChatThread.java index 7500abe9..db533329 100644 --- a/Robust/src/Benchmarks/ChatJava/ChatThread.java +++ b/Robust/src/Benchmarks/ChatJava/ChatThread.java @@ -30,6 +30,10 @@ public class ChatThread extends Thread { byte buffer[]=new byte[1024]; int length=sock.read(buffer); String st=(new String(buffer)).subString(0, length); + System.printString(st); + System.printString("\n"); + System.printInt(length); + System.printString("\n"); room.sendToRoom(this, st.getBytes()); } diff --git a/Robust/src/Benchmarks/WebServer/Inventory.java b/Robust/src/Benchmarks/WebServer/Inventory.java index ca8cb3a5..6964a18e 100644 --- a/Robust/src/Benchmarks/WebServer/Inventory.java +++ b/Robust/src/Benchmarks/WebServer/Inventory.java @@ -5,11 +5,12 @@ public class Inventory { // Transaction variables int numitems; HashMap map; - int balance=100000; + int balance; // Constructor public Inventory(){ map = new HashMap(); + balance=100000; } public Inventory(int howmany) { @@ -80,7 +81,7 @@ public class Inventory { totalvalue+=oo.quantity*oo.price; } sb.append("Total value: "); - sb.append(new Integer(totalvalue)); + sb.append((new Integer(totalvalue)).toString()); sb.append("\n"); return sb.toString(); } diff --git a/Robust/src/Benchmarks/WebServer/Logger.java b/Robust/src/Benchmarks/WebServer/Logger.java index 1583870b..a23cc4fa 100644 --- a/Robust/src/Benchmarks/WebServer/Logger.java +++ b/Robust/src/Benchmarks/WebServer/Logger.java @@ -6,7 +6,7 @@ public class Logger { //Constructor public Logger(){ - fos=new FileOutputStream("../../Tests/htmlfiles/request.log");//Open request.log file + fos=new FileOutputStream("request.log");//Open request.log file } //Logs filename as per client requests diff --git a/Robust/src/Benchmarks/WebServer/WebServerSocket.java b/Robust/src/Benchmarks/WebServer/WebServerSocket.java index 01fbb3df..67c58f60 100644 --- a/Robust/src/Benchmarks/WebServer/WebServerSocket.java +++ b/Robust/src/Benchmarks/WebServer/WebServerSocket.java @@ -95,51 +95,48 @@ public class WebServerSocket extends Socket { //kind of operation, name of item, quantity of item, price of item //e.g. trans_add_car_2_10000 is the filename //store in the parsed[] string , add,car,2,1000 - public int parseTransaction(){ - int start = filename.indexOf('_'); - String s = filename.subString(start+1); - - if (s.startsWith("add")==true){ - // System.printString("DEBUG > ADD\n"); - int i1 = s.indexOf('_'); - parsed[0] = new String(s.subString(0,i1)); - - String s1 = s.subString(i1+1); - int i2 = s1.indexOf('_'); - parsed[1] = new String(s1.subString(0,i2)); - - String s2 = s1.subString(i2+1); - int i3 = s2.indexOf('_'); - parsed[2] = new String(s2.subString(0,i3)); - - String s3 = s2.subString(i3+1); - parsed[3] = s3; - - return 0; - - } - if (s.startsWith("buy")==true){ - // System.printString("DEBUG > BUY\n"); - int i1 = s.indexOf('_'); - parsed[0] = s.subString(0,i1); - - String s1 = s.subString(i1+1); - int i2 = s1.indexOf('_'); - parsed[1] = s1.subString(0,i2); - - String s2 = s1.subString(i2+1); - parsed[2] = s2; - - parsed[3] = ""; - - return 1; - } - if (s.startsWith("inventory")==true){ - // System.printString("DEBUG > INVENTORY\n"); - return 2; - - } - // Error transaction - return -1; + public int parseTransaction(){ + int start = filename.indexOf('_'); + String s = filename.subString(start+1); + + if (s.startsWith("add")==true){ + // System.printString("DEBUG > ADD\n"); + int i1 = s.indexOf('_'); + parsed[0] = new String(s.subString(0,i1)); + + int i2 = s.indexOf('_',i1+1); + parsed[1] = new String(s.subString(i1+1,i2)); + + int i3 = s.indexOf('_',i2+1); + parsed[2] = new String(s.subString(i2+1,i3)); + + String s3 = s.subString(i3+1); + parsed[3] = s3; + + return 0; + + } + if (s.startsWith("buy")==true){ + // System.printString("DEBUG > BUY\n"); + int i1 = s.indexOf('_'); + parsed[0] = s.subString(0,i1); + + int i2 = s.indexOf('_', i1+1); + parsed[1] = s.subString(i1+1,i2); + + String s2 = s.subString(i2+1); + parsed[2] = s2; + + parsed[3] = ""; + + return 1; + } + if (s.startsWith("inventory")==true){ + // System.printString("DEBUG > INVENTORY\n"); + return 2; + } + // Error transaction + return -1; + } } diff --git a/Robust/src/Benchmarks/WebServerJava/Logger.java b/Robust/src/Benchmarks/WebServerJava/Logger.java index 1583870b..a23cc4fa 100644 --- a/Robust/src/Benchmarks/WebServerJava/Logger.java +++ b/Robust/src/Benchmarks/WebServerJava/Logger.java @@ -6,7 +6,7 @@ public class Logger { //Constructor public Logger(){ - fos=new FileOutputStream("../../Tests/htmlfiles/request.log");//Open request.log file + fos=new FileOutputStream("request.log");//Open request.log file } //Logs filename as per client requests diff --git a/Robust/src/Benchmarks/WebServerJava/WebServerThread.java b/Robust/src/Benchmarks/WebServerJava/WebServerThread.java index 50127903..3704e2f5 100644 --- a/Robust/src/Benchmarks/WebServerJava/WebServerThread.java +++ b/Robust/src/Benchmarks/WebServerJava/WebServerThread.java @@ -190,15 +190,13 @@ public class WebServerThread extends Thread { int i1 = s.indexOf('_'); parsed[0] = new String(s.subString(0,i1)); - String s1 = s.subString(i1+1); - int i2 = s1.indexOf('_'); - parsed[1] = new String(s1.subString(0,i2)); + int i2 = s.indexOf('_',i1+1); + parsed[1] = new String(s.subString(i1+1,i2)); - String s2 = s1.subString(i2+1); - int i3 = s2.indexOf('_'); - parsed[2] = new String(s2.subString(0,i3)); + int i3 = s.indexOf('_',i2+1); + parsed[2] = new String(s.subString(i2+1,i3)); - String s3 = s2.subString(i3+1); + String s3 = s.subString(i3+1); parsed[3] = s3; return 0; @@ -209,11 +207,10 @@ public class WebServerThread extends Thread { int i1 = s.indexOf('_'); parsed[0] = s.subString(0,i1); - String s1 = s.subString(i1+1); - int i2 = s1.indexOf('_'); - parsed[1] = s1.subString(0,i2); + int i2 = s.indexOf('_', i1+1); + parsed[1] = s.subString(i1+1,i2); - String s2 = s1.subString(i2+1); + String s2 = s.subString(i2+1); parsed[2] = s2; parsed[3] = ""; diff --git a/Robust/src/ClassLibrary/String.java b/Robust/src/ClassLibrary/String.java index eda12065..95d85b22 100644 --- a/Robust/src/ClassLibrary/String.java +++ b/Robust/src/ClassLibrary/String.java @@ -2,6 +2,7 @@ public class String { char value[]; int count; int offset; + private int cachedHashcode; private String() { } @@ -154,9 +155,12 @@ public class String { } public int hashCode() { + if (cachedHashcode!=0) + return cachedHashcode; int hashcode=0; for(int i=0;ifailurecount) {instructioncount=0;injectinstructionfailure();}"); + } + else + output.println("if ((--instructioncount)==0) injectinstructionfailure();"); } if (current_node.numNext()==0) { output.print(" "); diff --git a/Robust/src/Runtime/garbage.c b/Robust/src/Runtime/garbage.c index 4fced6a9..b59a3e8b 100644 --- a/Robust/src/Runtime/garbage.c +++ b/Robust/src/Runtime/garbage.c @@ -212,12 +212,16 @@ void collect(struct garbagelist * stackptr) { { struct genpointerlist * ptr=failedtasks->list; while(ptr!=NULL) { - void *orig=ptr->src; + struct taskparamdescriptor *tpd=ptr->src; + void *orig; void *copy; - if (gc_createcopy(orig, ©)) - enqueue(orig); - ptr->src=copy; - ptr->object=copy; + int i; + for(i=0;inumParameters;i++) { + orig=tpd->parameterArray[i]; + if (gc_createcopy(orig, ©)) + enqueue(orig); + tpd->parameterArray[i]=copy; + } ptr=ptr->inext; } genrehash(failedtasks); diff --git a/Robust/src/Runtime/runtime.c b/Robust/src/Runtime/runtime.c index ac4d9807..b6d7ff94 100644 --- a/Robust/src/Runtime/runtime.c +++ b/Robust/src/Runtime/runtime.c @@ -415,7 +415,6 @@ void injectinstructionfailure() { if (injectinstructionfailures) { if (numfailures==0) return; - instructioncount=failurecount; instaccum+=failurecount; if ((((double)random())/RAND_MAX)0) diff --git a/Robust/src/Runtime/runtime.h b/Robust/src/Runtime/runtime.h index f5948098..5dd0fe6c 100644 --- a/Robust/src/Runtime/runtime.h +++ b/Robust/src/Runtime/runtime.h @@ -3,6 +3,7 @@ #include extern jmp_buf error_handler; extern int instructioncount; +extern int failurecount; #ifdef PRECISE_GC #include "garbage.h" -- 2.34.1