001 /*
002 * This file is part of the Jikes RVM project (http://jikesrvm.org).
003 *
004 * This file is licensed to You under the Eclipse Public License (EPL);
005 * You may not use this file except in compliance with the License. You
006 * may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/eclipse-1.0.php
009 *
010 * See the COPYRIGHT.txt file distributed with this work for information
011 * regarding copyright ownership.
012 */
013 package org.jikesrvm.adaptive.recompilation.instrumentation;
014
015 import org.jikesrvm.adaptive.util.AOSOptions;
016 import org.jikesrvm.classloader.NormalMethod;
017 import org.jikesrvm.compilers.opt.driver.InstrumentationPlan;
018
019 /**
020 * An instance of this class is created for each method that is
021 * instrumented by the adaptive system. It serves as a place to put
022 * information that is needed by the instrumentation phases. Is is
023 * different from an InstrumentationPlan because it contains
024 * information that the non-adaptive opt-compiler can't see.
025 */
026 public class AOSInstrumentationPlan extends InstrumentationPlan {
027 /**
028 * Construct empty plan, must setup manually
029 **/
030 public AOSInstrumentationPlan(NormalMethod method) {
031 }
032
033 /**
034 * Construct based on options
035 **/
036 public AOSInstrumentationPlan(AOSOptions options, NormalMethod method) {
037 // If we want to collect method invocation counts.
038 if (options.INSERT_METHOD_COUNTERS_OPT) {
039 }
040 }
041
042 /**
043 * Initialize instrumentation by the opt compiler immediately before
044 * compilation begins.
045 **/
046 public void initInstrumentation(NormalMethod method) {
047 }
048
049 /**
050 * Called after compilation is complete. If instrumentation has
051 * occurred, perform some cleanup/finalization
052 **/
053
054 public void finalizeInstrumentation(NormalMethod method) {
055 }
056 }
057