#!/usr/bin/perl

###

@benchmarks = ( 

## ==== DACAPO: antlr, bloat, chart, eclipse, fop, hsqldb, luindex, lusearch, pmd, xalan.

"-app -dynamic-package antlr. -include java -allow-phantom-refs -f J -cp ../bench/antlr.jar:../lib/rt.jar dacapo.antlr.Main2",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/bloat-deps.jar:../bench/bloat.jar:../lib/rt.jar dacapo.bloat.Main2",
#"-app -dynamic-package org.jfree.chart. -include java -allow-phantom-refs -f J -cp ../bench/chart-deps.jar:../bench/chart.jar:../lib/rt.jar dacapo.chart.Main2",
#"-app -dynamic-package org.osgi. -dynamic-package org.eclipse. -include java -allow-phantom-refs -f J -cp ../bench/eclipse-deps.jar:../bench/eclipse.jar:../lib/rt.jar dacapo.eclipse.Main2",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/fop-deps.jar:../bench/fop.jar:../lib/rt.jar dacapo.fop.Main2",
#"-app -dynamic-package org.hsqldb. -dynamic-package org.hsqldb.resources. -include java -allow-phantom-refs -f J -cp ../bench/hsqldb-deps.jar:../bench/hsqldb.jar:../lib/rt.jar dacapo.hsqldb.Main2",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/luindex-deps.jar:../bench/luindex.jar:../lib/rt.jar dacapo.luindex.Main2",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/lusearch-deps.jar:../bench/lusearch.jar:../lib/rt.jar dacapo.lusearch.Main2",
#"-app -dynamic-package net.sourceforge.pmd. -include java -allow-phantom-refs -f J -cp ../bench/pmd-deps.jar:../bench/pmd.jar:../lib/rt.jar dacapo.pmd.Main2", 
#"-app -dynamic-package org.apache.xalan. -include java -allow-phantom-refs -f J -cp ../bench/xalan-deps.jar:../bench/xalan.jar:../lib/rt.jar dacapo.xalan.Main2",

## ==== JOLDEN. Table 1 includes SUM of all Mutable, etc. over all Jolden programs, but time is Max or Avg (don't remember!) run per JOLDEN program. 
                                                                          
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jolden/:../lib/rt.jar bh.BH",                                        
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jolden/:../lib/rt.jar bisort.BiSort", 
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jolden/:../lib/rt.jar em3d.Em3d",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jolden/:../lib/rt.jar health.Health",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jolden/:../lib/rt.jar mst.MST",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jolden/:../lib/rt.jar perimeter.Perimeter",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jolden/:../lib/rt.jar power.Power",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jolden/:../lib/rt.jar treeadd.TreeAdd",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jolden/:../lib/rt.jar tsp.TSP",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jolden/:../lib/rt.jar voronoi.Voronoi",

## ==== javad and ejc

#"-app -include java -allow-phantom-refs -f J -cp ../bench/javad/:../lib/rt.jar main",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/eclipsec/:../lib/rt.jar org.eclipse.jdt.internal.compiler.batch.Main",

## ==== Libraries from ReIm paper: htmlparser, commons-pool, jdbm, jdbf, and jtds.

#"-app -include java -allow-phantom-refs -f J -cp ../bench/htmlparser/:../lib/rt.jar -process-dir ../bench/htmlparser/",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/commons-pool-1.2/build/classes/:../lib/rt.jar -process-dir ../bench/commons-pool-1.2/build/classes/",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/tinySQL/:../lib/rt.jar -process-dir ../bench/tinySQL/",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jdbm-1.0/src/main/:../lib/rt.jar -process-dir ../bench/jdbm-1.0/src/main/",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jdbf-0.1.1/src/:../lib/rt.jar -process-dir ../bench/jdbf-0.1.1/src/",
#"-app -include java -allow-phantom-refs -f J -cp ../bench/jtds-1.0/build/classes/:../lib/rt.jar -process-dir ../bench/jtds-1.0/build/classes/",

# ==== java.util and java.lang

#"-app -include java.util -allow-phantom-refs -f J -cp ../lib/rt.jar -process-dir ../lib/rt.jar",
#"-app -include java.lang -allow-phantom-refs -f J -cp ../lib/rt.jar -process-dir ../lib/rt.jar",

#"dummy"

);

###
# for each uncommented program in the list 
foreach $b (@benchmarks) {

    # call a subroutine that runs the SVN command 
    &executeCommand($b);

  }

###############################################
sub executeCommand {

  # formal parameter 1
  local($benchmark) = @_[0];
  
  print "\n=== cd bin; java -classpath .:../lib/soot-develop.jar edu.rpi.dim.SootDefiniteImmutability $benchmark\n";
  system "cd bin; java -classpath .:../lib/soot-develop.jar edu.rpi.dim.SootDefiniteImmutability $benchmark";
  
}


