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.compilers.opt.driver; 014 015 /** 016 * Class that holds miscellaneous constants used in the opt compiler 017 */ 018 public interface OptConstants { 019 // the following constants are dummy bytecode indices, 020 // used to mark IR instructions that do not correspond 021 // to any original bytecode 022 int UNKNOWN_BCI = -1; 023 int PROLOGUE_BCI = -2; 024 int EPILOGUE_BCI = -3; 025 int RECTIFY_BCI = -4; 026 int SYNTH_CATCH_BCI = -5; 027 int SYNCHRONIZED_MONITORENTER_BCI = -6; 028 int SYNCHRONIZED_MONITOREXIT_BCI = -7; 029 int METHOD_COUNTER_BCI = -8; 030 int SSA_SYNTH_BCI = -9; 031 int INSTRUMENTATION_BCI = -10; 032 int RUNTIME_SERVICES_BCI = -11; 033 int EXTANT_ANALYSIS_BCI = -12; 034 int PROLOGUE_BLOCK_BCI = -13; 035 int EPILOGUE_BLOCK_BCI = -14; 036 int OSR_PROLOGUE = -15; 037 int SYNTH_LOOP_VERSIONING_BCI = -16; 038 039 // The following are used as trinary return values in OptCompiler code 040 byte NO = 0; 041 byte YES = 1; 042 byte MAYBE = 2; 043 }