X-Git-Url: http://git.megacz.com/?p=nestedvm.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fnestedvm%2FJavaSourceCompiler.java;h=d231f944fde85959a3e0466e6d338ec8dbf6c806;hp=499b2187b2b4f3ea776f64118a1959dd195460a3;hb=b11e7c6c29f2b5f7b0828bf93eb741c4a30ec411;hpb=ab9be117467f7459965c61e49749b333678b6e4c diff --git a/src/org/ibex/nestedvm/JavaSourceCompiler.java b/src/org/ibex/nestedvm/JavaSourceCompiler.java index 499b218..d231f94 100644 --- a/src/org/ibex/nestedvm/JavaSourceCompiler.java +++ b/src/org/ibex/nestedvm/JavaSourceCompiler.java @@ -1,3 +1,7 @@ +// Copyright 2000-2005 the Contributors, as shown in the revision logs. +// Licensed under the Apache License 2.0 ("the License"). +// You may not use this file except in compliance with the License. + package org.ibex.nestedvm; import java.util.*; @@ -33,6 +37,7 @@ public class JavaSourceCompiler extends Compiler { } protected void _go() throws Exn, IOException { + if(singleFloat) throw new Exn("JavaSourceCompiler doesn't support singleFloat"); String packageName; String className; if (fullClassName.indexOf('.') != -1) { @@ -285,7 +290,7 @@ public class JavaSourceCompiler extends Compiler { insn = nextInsn; nextInsn = (i == count-1) ? -1 : dis.readInt(); if(addr >= endOfMethod) { endMethod(); startMethod(addr); } - if(jumpableAddresses==null || addr == startOfMethod || jumpableAddresses.contains(new Integer(addr))) { + if(jumpableAddresses==null || addr == startOfMethod || jumpableAddresses.get(new Integer(addr)) != null) { p("case " + toHex(addr) + ":"); unreachable = false; } else if(unreachable) { @@ -422,6 +427,7 @@ public class JavaSourceCompiler extends Compiler { break; case 13: // BREAK p( "throw new ExecutionException(\"Break\");"); + unreachable = true; break; case 16: // MFHI p( "r"+rd+" = hi;"); @@ -919,4 +925,4 @@ public class JavaSourceCompiler extends Compiler { "f"+(r+1)+" = (int)(l >>> 32); f"+r+" = (int)l; }"; } } - \ No newline at end of file +