1 bdemsky 1.1.2.1 // Runtime.java, created Wed Sep 8 14:30:28 1999 by cananian 2 bdemsky 1.1.2.1 // Copyright (C) 1999 C. Scott Ananian <cananian@alumni.princeton.edu> 3 bdemsky 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 bdemsky 1.1.2.1 package harpoon.Backend.Runtime2; 5 bdemsky 1.1.2.1 6 bdemsky 1.1.2.1 import harpoon.Analysis.ClassHierarchy; 7 bdemsky 1.1.2.1 import harpoon.Analysis.CallGraph; 8 bdemsky 1.1.2.1 import harpoon.Backend.Generic.Frame; 9 bdemsky 1.1.2.1 import harpoon.Backend.Maps.ClassDepthMap; 10 bdemsky 1.1.2.1 import harpoon.Backend.Maps.NameMap; 11 bdemsky 1.1.2.1 import harpoon.ClassFile.HClass; 12 bdemsky 1.1.2.1 import harpoon.ClassFile.HCode; 13 bdemsky 1.1.2.1 import harpoon.ClassFile.HCodeFactory; 14 bdemsky 1.1.2.1 import harpoon.ClassFile.HMethod; 15 bdemsky 1.1.2.1 import harpoon.ClassFile.Linker; 16 bdemsky 1.1.2.1 import harpoon.Util.Util; 17 bdemsky 1.1.2.1 18 bdemsky 1.1.2.1 import harpoon.Backend.Runtime1.AllocationStrategy; 19 wbeebee 1.1.2.2 import harpoon.Backend.Runtime1.ObjectBuilder.RootOracle; 20 bdemsky 1.1.2.1 21 bdemsky 1.1.2.1 import java.lang.reflect.Modifier; 22 bdemsky 1.1.2.1 23 bdemsky 1.1.2.1 import java.util.Arrays; 24 bdemsky 1.1.2.1 import java.util.Collection; 25 bdemsky 1.1.2.1 import java.util.HashSet; 26 bdemsky 1.1.2.1 import java.util.Iterator; 27 bdemsky 1.1.2.1 import java.util.List; 28 bdemsky 1.1.2.1 import java.util.Set; 29 bdemsky 1.1.2.1 /** 30 wbeebee 1.1.2.2 * <code>Runtime2.Runtime</code> is a no-frills implementation of the runtime 31 bdemsky 1.1.2.1 * abstract class. 32 bdemsky 1.1.2.1 * 33 bdemsky 1.1.2.1 * @author C. Scott Ananian <cananian@alumni.princeton.edu> 34 cananian 1.3 * @version $Id: Runtime.java,v 1.3 2002/04/10 03:03:34 cananian Exp $ 35 bdemsky 1.1.2.1 */ 36 bdemsky 1.1.2.1 public class Runtime extends harpoon.Backend.Runtime1.Runtime { 37 bdemsky 1.1.2.1 public Runtime(Frame frame, AllocationStrategy as, 38 cananian 1.1.2.5 HMethod main, boolean prependUnderscore) { 39 cananian 1.1.2.5 this(frame, as, main, prependUnderscore, null); 40 bdemsky 1.1.2.1 } 41 bdemsky 1.1.2.1 42 wbeebee 1.1.2.2 public Runtime(Frame frame, AllocationStrategy as, 43 cananian 1.1.2.5 HMethod main, 44 wbeebee 1.1.2.2 boolean prependUnderscore, RootOracle rootOracle) { 45 cananian 1.1.2.5 super(frame,as,main,prependUnderscore,rootOracle); 46 wbeebee 1.1.2.2 } 47 cananian 1.2.2.1 protected harpoon.Backend.Runtime2.TreeBuilder initTreeBuilder() { 48 cananian 1.1.2.5 int align = Integer.parseInt 49 cananian 1.1.2.5 (System.getProperty("harpoon.runtime1.pointer.alignment","0")); 50 cananian 1.2.2.2 configurationSet.add("check_with_claz_shrink_not_needed"); 51 cananian 1.1.2.5 return new harpoon.Backend.Runtime2.TreeBuilder 52 cananian 1.1.2.5 (this, frame.getLinker(), as, frame.pointersAreLong(), align); 53 bdemsky 1.1.2.1 } 54 cananian 1.2 }