X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fnestedvm%2FCompiler.java;h=ebdf29d30489739597e97acd33f4bf0edb58b482;hb=960bb4430543bc48cdb46e5ad49afc24bfa04f3b;hp=c68e5cf0914409db491b4d138e34d4e6fe12f335;hpb=9a641039c47c2619982213501f49e1168fcdbda2;p=nestedvm.git diff --git a/src/org/ibex/nestedvm/Compiler.java b/src/org/ibex/nestedvm/Compiler.java index c68e5cf..ebdf29d 100644 --- a/src/org/ibex/nestedvm/Compiler.java +++ b/src/org/ibex/nestedvm/Compiler.java @@ -50,8 +50,6 @@ public abstract class Compiler implements Registers { protected boolean assumeTailCalls = true; - protected boolean optimizedMemcpy = true; - // True to insert some code in the output to help diagnore compiler problems protected boolean debugCompiler = false; @@ -79,20 +77,11 @@ public abstract class Compiler implements Registers { protected boolean onePage; protected void pageSizeInit() throws Exn { - try { - Runtime.checkPageSize(pageSize,totalPages); - } catch(IllegalArgumentException e) { - throw new Exn(e.getMessage()); - } + if((pageSize&(pageSize-1)) != 0) throw new Exn("pageSize not a multiple of two"); + if((totalPages&(totalPages-1)) != 0) throw new Exn("totalPages not a multiple of two"); while(pageSize>>>pageShift != 1) pageShift++; } - /** The address of the memcpy function in the binary (used for optimizedMemcpy) */ - protected int memcpy; - - /** The address of the memset function in the binary (used for optimizedMemcpy) */ - protected int memset; - /** A set of all addresses that can be jumped too (only available if pruneCases == true) */ protected Set jumpableAddresses; @@ -216,13 +205,6 @@ public abstract class Compiler implements Registers { if(symtab == null) throw new Exn("Binary has no symtab (did you strip it?)"); ELF.Symbol sym; - // Check for some functions we can override - sym = symtab.getGlobalSymbol("memcpy"); - memcpy = sym == null ? -1 : sym.addr; - - sym = symtab.getGlobalSymbol("memset"); - memset = sym == null ? -1 : sym.addr; - userInfo = symtab.getGlobalSymbol("user_info"); gp = symtab.getGlobalSymbol("_gp"); if(gp == null) throw new Exn("no _gp symbol (did you strip the binary?)");