internal static void InlineJsrs(ClassLoaderWrapper classLoader, MethodWrapper mw, ClassFile classFile, ClassFile.Method m)
		{
			JsrInliner inliner;
			do
			{
				ClassFile.Method.Instruction[] codeCopy = (ClassFile.Method.Instruction[])m.Instructions.Clone();
				InstructionFlags[] flags = new InstructionFlags[codeCopy.Length];
				JsrMethodAnalyzer ma = new JsrMethodAnalyzer(mw, classFile, m, classLoader, flags);
				inliner = new JsrInliner(codeCopy, flags, m, ma);
			} while (inliner.InlineJsrs());
		}
			internal SubroutineCall(JsrInliner inliner, int subroutineIndex, int returnIndex)
			{
				this.inliner = inliner;
				this.subroutineIndex = subroutineIndex;
				this.returnIndex = returnIndex;
				baseIndex = inliner.codeLength;
				branchMap = new int[inliner.m.Instructions.Length];
				for (int i = 0; i < branchMap.Length; i++)
				{
					branchMap[i] = i;
				}
			}