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     }