From f5ad8473e4a8be141c7d614412d7e0f9e5731904 Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 8 May 2005 23:01:10 +0000 Subject: [PATCH] version 0.2 darcs-hash:20050508230110-5007d-45494117392f3aa91f919d0756731bbc08284e92.gz --- Makefile | 46 ++-- doc/chart.pdf | Bin 0 -> 24434 bytes doc/prezo.pdf | Bin 0 -> 185467 bytes src/edu/berkeley/cs/megacz/JArena.java | 223 -------------------- src/org/ibex/arenaj/GCBench.java | 197 +++++++++++++++++ src/org/ibex/arenaj/Gladiator.java | 4 + .../Transformer.java => org/ibex/arenaj/Main.java} | 103 +++++---- .../cs/megacz => org/ibex/arenaj}/Test.java | 2 +- 8 files changed, 273 insertions(+), 302 deletions(-) create mode 100644 doc/chart.pdf create mode 100644 doc/prezo.pdf delete mode 100644 src/edu/berkeley/cs/megacz/JArena.java create mode 100644 src/org/ibex/arenaj/GCBench.java create mode 100644 src/org/ibex/arenaj/Gladiator.java rename src/{edu/berkeley/cs/megacz/Transformer.java => org/ibex/arenaj/Main.java} (86%) rename src/{edu/berkeley/cs/megacz => org/ibex/arenaj}/Test.java (91%) diff --git a/Makefile b/Makefile index 828aeba..9c7e2c2 100644 --- a/Makefile +++ b/Makefile @@ -1,39 +1,17 @@ -#cp = lib/soot.jar:/Users/megacz/ibex.org/jar/org.ibex.core.jar:/Users/megacz/ibex.org/jar/org.ibex.util.jar:/Users/megacz/ibex.org/jar/org.ibex.js.jar:/Users/megacz/ibex.org/jar/org.ibex.net.jar:/Users/megacz/ibex.org/jar/org.ibex.io.jar:bin -sootcp = lib/soot.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Classes/classes.jar +sootjars := jar/sootclasses-2.2.1.jar jar/jasminclasses-2.2.1.jar jar/polyglotclasses-1.3.jar +java := java -Djava.ext.dirs=jar +arenaj := ${java} -jar jar/org.ibex.arenaj.jar -# IVME Paper -doc/charts/%.pdf: doc/charts/%.dat doc/charts/%.gnuplot - cd doc/charts; gnuplot $*.gnuplot - cd doc/charts; chmod +x boxfill.pl; ./boxfill.pl -g -o unfilled.eps $*.eps - cd doc/charts; ps2pdf $*.eps +jar: ; mkdir -p jar +jar/sootclasses-2.2.1.jar: jar; cd jar; curl -C - -O http://www.sable.mcgill.ca/software/sootclasses-2.2.1.jar +jar/jasminclasses-2.2.1.jar: jar; cd jar; curl -C - -O http://www.sable.mcgill.ca/software/jasminclasses-2.2.1.jar +jar/polyglotclasses-1.3.jar: jar; cd jar; curl -C - -O http://www.sable.mcgill.ca/software/polyglotclasses-1.3.jar -#mainclass = edu.berkeley.cs.megacz.Test -#mainclass = org.ibex.graphics.Mesh +jar/org.ibex.arenaj.jar: jar/org.ibex.tool.jar + ${java} -jar jar/org.ibex.tool.jar -v -w -j jar/org.ibex.arenaj.jar -m org.ibex.arenaj.Main src -go: - javac -classpath lib/soot.jar:bin -d bin `find src/ -name \*.java` - mkdir -p in -# cd in; for A in /Users/megacz/ibex.org.arenaj/jar/*.jar; do jar xf $$A; done -# mkdir -p out -# java -cp bin:lib/soot.jar edu.berkeley.cs.megacz.Transformer -keep-line-number -app -i org.ibex.graphics -d out -cp ${sootcp}:in org.ibex.graphics.Mesh - java -cp bin:lib/soot.jar edu.berkeley.cs.megacz.Transformer \ - -keep-line-number \ +demo: jar/org.ibex.arenaj.jar + ${arenaj} \ -app -i org.ibex.graphics \ - -w \ -d out \ - -cp ${sootcp}:bin \ - -p cg enabled:false \ - -p cg.cha enabled:false \ - -p cg.spark enabled:false \ - -p cg.paddle enabled:false \ - -p wjap.ra enabled:false \ - -p wjap.umt enabled:false \ - -p wjap.uft enabled:false \ - -p wjap.tqt enabled:false \ - -p wjap.cgg enabled:false \ - edu.berkeley.cs.megacz.GCBench - - -# java -jar lib/soot.jar -app -i org.ibex.graphics -f d -d outsrc -cp ${sootcp}:out ${mainclass} -# cd out; find . -name \*.class -exec jad {} \; -# cat out/Test.jad + org.ibex.arenaj.Test diff --git a/doc/chart.pdf b/doc/chart.pdf new file mode 100644 index 0000000000000000000000000000000000000000..613758a6017bec6a37a6e3f7a16993a6a7df97ad GIT binary patch literal 24434 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 IYATWa7mRlPUjP6A literal 0 HcmV?d00001 diff --git a/doc/prezo.pdf b/doc/prezo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c82bf02c38705361cc670582bd95989d14fd5ebc GIT binary patch literal 185467 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:aP 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 YW(aKG{n$$bB?C*EoR3ddO^*Ek0r01^-~a#s literal 0 HcmV?d00001 diff --git a/src/edu/berkeley/cs/megacz/JArena.java b/src/edu/berkeley/cs/megacz/JArena.java deleted file mode 100644 index a9c5d9d..0000000 --- a/src/edu/berkeley/cs/megacz/JArena.java +++ /dev/null @@ -1,223 +0,0 @@ -package edu.berkeley.cs.megacz; - -import soot.*; -import soot.util.*; -import java.util.*; -import soot.toolkits.scalar.*; -import soot.jimple.*; -import soot.toolkits.graph.*; -import soot.*; -import soot.jimple.*; -import soot.toolkits.scalar.*; -import soot.toolkits.graph.*; -import soot.util.*; -import java.util.*; - -/** Tracks which locals are definitely non-null. - * Author: Patrick Lam (plam@sable.mcgill.ca) - * Based on BranchedRefVarsAnalysis by Janus Godard (janus@place.org). */ -class JArena extends ForwardBranchedFlowAnalysis { - - protected Object newInitialFlow() { return fullSet.clone(); } - protected Object entryInitialFlow() { return emptySet.clone(); } - private void addGen(Unit u, Value v) { ArraySparseSet l = (ArraySparseSet)unitToGenerateSet.get(u); l.add(v); } - private void addGensFor(DefinitionStmt u) { - Value lo = u.getLeftOp(); - Value ro = u.getRightOp(); - if (ro instanceof NewExpr || - ro instanceof NewArrayExpr || - ro instanceof NewMultiArrayExpr || - ro instanceof ThisRef || - ro instanceof CaughtExceptionRef) - addGen(u, lo); - } - - protected void copy(Object src, Object dest) { - FlowSet sourceSet = (FlowSet)src, destSet = (FlowSet) dest; - sourceSet.copy(destSet); - } - - protected void merge(Object src1, Object src2, Object dest) { - FlowSet srcSet1 = (FlowSet) src1; - FlowSet srcSet2 = (FlowSet) src2; - FlowSet destSet = (FlowSet) dest; - srcSet1.intersection(srcSet2, destSet); - } - - FlowSet fullSet, emptySet; - FlowUniverse allRefLocals; - Map unitToGenerateSet; - - protected void flowThrough(Object srcValue, Unit unit, List fallOut, List branchOuts) { - FlowSet dest; - FlowSet src = (FlowSet) srcValue; - Unit s = (Unit) unit; - - // Create working set. - dest = (FlowSet)src.clone(); - - // Take out kill set. - Iterator boxIt = s.getDefBoxes().iterator(); - while (boxIt.hasNext()) { - ValueBox box = (ValueBox) boxIt.next(); - Value value = box.getValue(); - if (value instanceof Local && value.getType() instanceof RefLikeType) - dest.remove(value); - } - - // Perform gen. - dest.union((FlowSet)unitToGenerateSet.get(unit), dest); - - // Handle copy statements: - // x = y && 'y' in src => add 'x' to dest - if (s instanceof DefinitionStmt) - { - DefinitionStmt as = (DefinitionStmt) s; - - Value ro = as.getRightOp(); - - // extract cast argument - if (ro instanceof CastExpr) ro = ((CastExpr) ro).getOp(); - - if (src.contains(ro) && as.getLeftOp() instanceof Local) - dest.add(as.getLeftOp()); - } - - // Copy the out value to the fallthrough box (don't need iterator) - { - Iterator it = fallOut.iterator(); - while (it.hasNext()) { - FlowSet fs = (FlowSet) (it.next()); - copy(dest, fs); - } - } - - // Copy the out value to all branch boxes. - { - Iterator it = branchOuts.iterator(); - while (it.hasNext()) { - FlowSet fs = (FlowSet) (it.next()); - copy(dest, fs); - } - } - - // Handle if statements by patching dest sets. - if (unit instanceof IfStmt) - { - Value cond = ((IfStmt)unit).getCondition(); - Value op1 = ((BinopExpr) cond).getOp1(); - Value op2 = ((BinopExpr) cond).getOp2(); - boolean isNeg = cond instanceof NeExpr; - Value toGen = null; - - // case 1: opN is a local and opM is NullConstant - // => opN nonnull on ne branch. - if (op1 instanceof Local && op2 instanceof NullConstant) - toGen = op1; - - if (op2 instanceof Local && op1 instanceof NullConstant) - toGen = op2; - - if (toGen != null) - { - Iterator it = null; - - // if (toGen != null) goto l1: on branch, toGen nonnull. - if (isNeg) - it = branchOuts.iterator(); - else - it = fallOut.iterator(); - - while(it.hasNext()) { - FlowSet fs = (FlowSet) (it.next()); - fs.add(toGen); - } - } - - // case 2: both ops are local and one op is non-null and testing equality - if (op1 instanceof Local && op2 instanceof Local && - cond instanceof EqExpr) - { - toGen = null; - - if (src.contains(op1)) - toGen = op2; - if (src.contains(op2)) - toGen = op1; - - if (toGen != null) - { - Iterator branchIt = branchOuts.iterator(); - while (branchIt.hasNext()) { - FlowSet fs = (FlowSet) (branchIt.next()); - fs.add(toGen); - } - } - } - } - } - - public JArena(UnitGraph g) { - super(g); - - unitToGenerateSet = new HashMap(); - - Body b = g.getBody(); - - List refLocals = new LinkedList(); - - // set up universe, empty, full sets. - - emptySet = new ArraySparseSet(); - fullSet = new ArraySparseSet(); - - // Find all locals in body. - Iterator localIt = b.getLocals().iterator(); - while (localIt.hasNext()) { - Local l = (Local)localIt.next(); - if (l.getType() instanceof RefLikeType) fullSet.add(l); - } - - // Create gen sets. - Iterator unitIt = b.getUnits().iterator(); - while (unitIt.hasNext()) { - Unit u = (Unit)unitIt.next(); - unitToGenerateSet.put(u, new ArraySparseSet()); - - if (u instanceof DefinitionStmt) { - Value lo = ((DefinitionStmt)u).getLeftOp(); - if (lo instanceof Local && lo.getType() instanceof RefLikeType) - addGensFor((DefinitionStmt)u); - } - - Iterator boxIt = u.getUseAndDefBoxes().iterator(); - while (boxIt.hasNext()) { - Value boxValue = ((ValueBox) boxIt.next()).getValue(); - Value base = null; - - if(boxValue instanceof InstanceFieldRef) { - base = ((InstanceFieldRef) (boxValue)).getBase(); - } else if (boxValue instanceof ArrayRef) { - base = ((ArrayRef) (boxValue)).getBase(); - } else if (boxValue instanceof InstanceInvokeExpr) { - base = ((InstanceInvokeExpr) boxValue).getBase(); - } else if (boxValue instanceof LengthExpr) { - base = ((LengthExpr) boxValue).getOp(); - } else if (u instanceof ThrowStmt) { - base = ((ThrowStmt)u).getOp(); - } else if (u instanceof MonitorStmt) { - base = ((MonitorStmt)u).getOp(); - } - - if (base != null && - base instanceof Local && - base.getType() instanceof RefLikeType) - addGen(u, base); - } - } - - // Call superclass method to do work. - doAnalysis(); - } -} - diff --git a/src/org/ibex/arenaj/GCBench.java b/src/org/ibex/arenaj/GCBench.java new file mode 100644 index 0000000..1507062 --- /dev/null +++ b/src/org/ibex/arenaj/GCBench.java @@ -0,0 +1,197 @@ +package org.ibex.arenaj; +// This is adapted from a benchmark written by John Ellis and Pete Kovac +// of Post Communications. +// It was modified by Hans Boehm of Silicon Graphics. +// +// This is no substitute for real applications. No actual application +// is likely to behave in exactly this way. However, this benchmark was +// designed to be more representative of real applications than other +// Java GC benchmarks of which we are aware. +// It attempts to model those properties of allocation requests that +// are important to current GC techniques. +// It is designed to be used either to obtain a single overall performance +// number, or to give a more detailed estimate of how collector +// performance varies with object lifetimes. It prints the time +// required to allocate and collect balanced binary trees of various +// sizes. Smaller trees result in shorter object lifetimes. Each cycle +// allocates roughly the same amount of memory. +// Two data structures are kept around during the entire process, so +// that the measured performance is representative of applications +// that maintain some live in-memory data. One of these is a tree +// containing many pointers. The other is a large array containing +// double precision floating point numbers. Both should be of comparable +// size. +// +// The results are only really meaningful together with a specification +// of how much memory was used. It is possible to trade memory for +// better time performance. This benchmark should be run in a 32 MB +// heap, though we don't currently know how to enforce that uniformly. +// +// Unlike the original Ellis and Kovac benchmark, we do not attempt +// measure pause times. This facility should eventually be added back +// in. There are several reasons for omitting it for now. The original +// implementation depended on assumptions about the thread scheduler +// that don't hold uniformly. The results really measure both the +// scheduler and GC. Pause time measurements tend to not fit well with +// current benchmark suites. As far as we know, none of the current +// commercial Java implementations seriously attempt to minimize GC pause +// times. +// +// Known deficiencies: +// - No way to check on memory use +// - No cyclic data structures +// - No attempt to measure variation with object size +// - Results are sensitive to locking cost, but we dont +// check for proper locking + +public class GCBench { + + public static final int kStretchTreeDepth = 18; // about 16Mb + public static final int kLongLivedTreeDepth = 16; // about 4Mb + public static final int kArraySize = 500000; // about 4Mb + public static final int kMinTreeDepth = 4; + public static final int kMaxTreeDepth = 16; + + public static int zap(Object o) { return o==null ? -1 : ((Integer)o).intValue(); } + + // Nodes used by a tree of a given size + static int TreeSize(int i) { + return ((1 << (i + 1)) - 1); + } + + // Number of iterations to use for a given tree depth + static int NumIters(int i) { + return 2 * TreeSize(kStretchTreeDepth) / TreeSize(i); + } + + // Build tree top down, assigning to older objects. + void Populate(int iDepth) { Populate(iDepth, new Node()); } + void Populate(int iDepth, Node thisNode) { + if (iDepth<=0) { + return; + } else { + iDepth--; + thisNode.left = new Node(); + thisNode.right = new Node(); + Populate (iDepth, thisNode.left); + Populate (iDepth, thisNode.right); + } + } + + // Build tree bottom-up + void doMakeTree(int iDepth) { MakeTree(iDepth); } + Node MakeTree(int iDepth) { + if (iDepth<=0) { + return new Node(); + } else { + Node l = MakeTree(iDepth-1); + Node r = MakeTree(iDepth-1); + Node ret = new Node(); + ret.left = l; + ret.right = r; + return ret; + } + } + + static void PrintDiagnostics() { + long lFreeMemory = Runtime.getRuntime().freeMemory(); + long lTotalMemory = Runtime.getRuntime().totalMemory(); + + System.out.print(" Total memory available=" + + lTotalMemory + " bytes"); + System.out.println(" Free memory=" + lFreeMemory + " bytes"); + } + + void TimeConstruction(int depth) { + Node root; + long tStart, tFinish; + int iNumIters = NumIters(depth); + GCBench tempTree; + + System.out.println("Creating " + iNumIters + + " trees of depth " + depth); + tStart = System.currentTimeMillis(); + for (int i = 0; i < iNumIters; ++i) { + tempTree = new GCBench(); + tempTree.Populate(depth); + tempTree = null; + } + tFinish = System.currentTimeMillis(); + System.out.println("\tTop down construction took " + + (tFinish - tStart) + "msecs"); + tStart = System.currentTimeMillis(); + for (int i = 0; i < iNumIters; ++i) { + tempTree = new GCBench(); + tempTree.doMakeTree(depth); + tempTree = null; + } + tFinish = System.currentTimeMillis(); + System.out.println("\tBottom up construction took " + + (tFinish - tStart) + "msecs"); + + } + + public static void main(String args[]) { + Node root; + Node longLivedTree; + Node tempTree; + long tStart, tFinish; + long tElapsed; + + + System.out.println("Garbage Collector Test"); + System.out.println( + " Stretching memory with a binary tree of depth " + + kStretchTreeDepth); + PrintDiagnostics(); + tStart = System.currentTimeMillis(); + + // Stretch the memory space quickly + GCBench gcb = new GCBench(); + gcb.doMakeTree(kStretchTreeDepth); + gcb = null; + + // Create a long lived object + System.out.println( + " Creating a long-lived binary tree of depth " + + kLongLivedTreeDepth); + GCBench ll = new GCBench(); + ll.Populate(kLongLivedTreeDepth); + + /* + // Create long-lived array, filling half of it + System.out.println( + " Creating a long-lived array of " + + kArraySize + " doubles"); + double array[] = new double[kArraySize]; + for (int i = 0; i < kArraySize/2; ++i) { + array[i] = 1.0/i; + } + */ + PrintDiagnostics(); + + for (int d = kMinTreeDepth; d <= kMaxTreeDepth; d += 2) { + ll.TimeConstruction(d); + } + /* + if (longLivedTree == null || array[1000] != 1.0/1000) + System.out.println("Failed"); + */ + // fake reference to LongLivedTree + // and array + // to keep them from being optimized away + + tFinish = System.currentTimeMillis(); + tElapsed = tFinish-tStart; + PrintDiagnostics(); + System.out.println("Completed in " + tElapsed + "ms."); + } + + private class Node implements Gladiator { + Node left, right; + int i, j; + //Node(Node l, Node r) { left = l; right = r; } + Node() { } + } + +} // class JavaGC diff --git a/src/org/ibex/arenaj/Gladiator.java b/src/org/ibex/arenaj/Gladiator.java new file mode 100644 index 0000000..1b043d5 --- /dev/null +++ b/src/org/ibex/arenaj/Gladiator.java @@ -0,0 +1,4 @@ +package org.ibex.arenaj; + +public interface Gladiator { +} diff --git a/src/edu/berkeley/cs/megacz/Transformer.java b/src/org/ibex/arenaj/Main.java similarity index 86% rename from src/edu/berkeley/cs/megacz/Transformer.java rename to src/org/ibex/arenaj/Main.java index 8473f80..27e2643 100644 --- a/src/edu/berkeley/cs/megacz/Transformer.java +++ b/src/org/ibex/arenaj/Main.java @@ -1,29 +1,53 @@ -package edu.berkeley.cs.megacz; +package org.ibex.arenaj; import soot.*; import soot.jimple.*; import soot.util.*; import java.io.*; import java.util.*; -public class Transformer extends SceneTransformer { +public class Main extends SceneTransformer { public static final int initialSize = 100; - private static Transformer instance = new Transformer(); - private Transformer() { - } - public static Transformer v() { return instance; } + private static Main instance = new Main(); + private Main() { } + public static Main v() { return instance; } - public static void main(String[] args) { + public static void main(String[] args) throws Exception { if(args.length == 0) { System.out.println("Syntax: java " + v().getClass().getName() + " [soot options]"); System.exit(0); } - //PackManager.v().allPacks().add(v()); - PackManager.v().getPack("wjtp").add(new Transform("wjtp.tx", Transformer.v())); - // Just in case, resolve the PrintStream SootClass. - Scene.v().addBasicClass("java.io.PrintStream",SootClass.SIGNATURES); - soot.Main.main(args); + PackManager.v().getPack("wjtp").add(new Transform("wjtp.tx", Main.v())); + String[] args2 = new String[args.length + 11]; + System.arraycopy(args, 0, args2, 0, args.length-1); + String sootcp = + System.getProperty("java.class.path") + + File.pathSeparator + + System.getProperty("sun.boot.class.path"); + if (System.getProperty("java.ext.dirs") != null) { + StringTokenizer st = new StringTokenizer(File.pathSeparatorChar+"", System.getProperty("java.ext.dirs")); + while(st.hasMoreTokens()) { + File f = new File(st.nextToken()); + if (!f.exists() || !f.isDirectory()) continue; + String[] jars = f.list(); + for(int i=0; i")) continue; if (m.getName().equals("")) continue; - //if (map.get(m) != null) continue; - //map.put(m, Boolean.TRUE); - System.out.println(m.getName() + " -- " + m.getActiveBody()); List l2 = new LinkedList(); List l = m.getParameterTypes(); for(Iterator it2 = l.iterator(); it2.hasNext();) { Type t = (Type)it2.next(); - //l2.add(t); l2.add(isGladiatorType(t) ? IntType.v() : t); - //if (isGladiatorType(t)) System.out.println("ought to swap " + t); } Type t = m.getReturnType(); c.removeMethod(m); @@ -268,7 +290,6 @@ public class Transformer extends SceneTransformer { if (s instanceof DefinitionStmt) { DefinitionStmt ds = (DefinitionStmt)s; if (ds.getLeftOp().getType() instanceof PrimType && ds.getRightOp().getType() instanceof NullType) { - System.out.println("*************************"); ds.getRightOpBox().setValue(IntConstant.v(-1)); } } @@ -281,11 +302,9 @@ public class Transformer extends SceneTransformer { if (v instanceof BinopExpr) { BinopExpr boe = (BinopExpr)v; if (boe.getOp1().getType() instanceof PrimType && boe.getOp2().getType() instanceof NullType) { - System.out.println("*************************"); boe.setOp2(IntConstant.v(-1)); } if (boe.getOp2().getType() instanceof PrimType && boe.getOp1().getType() instanceof NullType) { - System.out.println("*************************"); boe.setOp1(IntConstant.v(-1)); } } @@ -325,10 +344,8 @@ public class Transformer extends SceneTransformer { } else if (v instanceof NewExpr) { NewExpr ne = (NewExpr)v; if (isGladiatorType(ne.getBaseType())) { - System.out.println("******"); - SootClass mc = Scene.v().getMainClass(); SootClass sc = ((RefType)ne.getBaseType()).getSootClass(); - System.out.println(sc); + SootClass mc = getParent(sc); String incFuncName = sc.getShortName().substring(sc.getShortName().lastIndexOf('$')+1) + "$$inc"; SootMethodRef smr = Scene.v().makeMethodRef(mc, incFuncName, new LinkedList(), IntType.v(), false); Expr invokeExpr = Jimple.v().newSpecialInvokeExpr(body.getThisLocal(), smr); @@ -339,9 +356,7 @@ public class Transformer extends SceneTransformer { } else if (v instanceof CastExpr) { CastExpr ce = (CastExpr)v; if (isGladiatorType(ce.getCastType())) { - //SootClass intClass = Scene.v().getSootClass("java.lang.Integer"); - //SootClass intClass = Scene.v().getSootClass("java.lang.Integer"); - SootClass mc = Scene.v().getMainClass(); + SootClass mc = getParent(((RefType)ce.getCastType()).getSootClass()); LinkedList list = new LinkedList(); list.add(Scene.v().getSootClass("java.lang.Object").getType()); SootMethodRef mr = Scene.v().makeMethodRef(mc, "zap", list, IntType.v(), true); @@ -356,7 +371,7 @@ public class Transformer extends SceneTransformer { SootFieldRef fr = ifr.getFieldRef(); Type t = fr.type(); if (isGladiatorFieldRef(fr)) { - SootClass mc = Scene.v().getMainClass(); + SootClass mc = getParent(fr.declaringClass()); SootFieldRef sf = getGladiatorField(fr).makeRef(); InstanceFieldRef sfr = Jimple.v().newInstanceFieldRef(body.getThisLocal(), sf); ArrayRef ar = Jimple.v().newArrayRef(viaLocal(sfr, body, s), ifr.getBase()); @@ -364,7 +379,7 @@ public class Transformer extends SceneTransformer { } if ((t instanceof RefType) && isGladiator(((RefType)t).getSootClass())) { SootClass tc = ((RefType)t).getSootClass(); - SootClass mc = Scene.v().getMainClass(); + SootClass mc = getParent(tc); ifr.setFieldRef(Scene.v().makeFieldRef(mc, fr.name(), IntType.v(), false)); } } diff --git a/src/edu/berkeley/cs/megacz/Test.java b/src/org/ibex/arenaj/Test.java similarity index 91% rename from src/edu/berkeley/cs/megacz/Test.java rename to src/org/ibex/arenaj/Test.java index eca2504..94d97e9 100644 --- a/src/edu/berkeley/cs/megacz/Test.java +++ b/src/org/ibex/arenaj/Test.java @@ -1,4 +1,4 @@ -package edu.berkeley.cs.megacz; +package org.ibex.arenaj; public class Test { public static void main(String[] s) { -- 1.7.10.4