projects
/
nestedvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
971b6ac
)
cut down the public interface of compiler
author
brian
<brian@brianweb.net>
Tue, 1 Jun 2004 01:33:57 +0000
(18:33 -0700)
committer
brian
<brian@brianweb.net>
Tue, 1 Jun 2004 01:33:57 +0000
(18:33 -0700)
darcs-hash:
20040601013357
-24bed-
48bbb4d055a9c6a0560c9de49e22a43900061044
.gz
src/org/ibex/nestedvm/Compiler.java
patch
|
blob
|
history
diff --git
a/src/org/ibex/nestedvm/Compiler.java
b/src/org/ibex/nestedvm/Compiler.java
index
b5835dd
..
0897789
100644
(file)
--- a/
src/org/ibex/nestedvm/Compiler.java
+++ b/
src/org/ibex/nestedvm/Compiler.java
@@
-11,34
+11,34
@@
import org.ibex.nestedvm.util.*;
public abstract class Compiler implements Registers {
/** The ELF binary being read */
public abstract class Compiler implements Registers {
/** The ELF binary being read */
- protected ELF elf;
+ ELF elf;
/** The name of the class beging generated */
/** The name of the class beging generated */
- protected final String fullClassName;
+ final String fullClassName;
/** The name of the binary this class is begin generated from */
/** The name of the binary this class is begin generated from */
- protected String source = "unknown.mips.binary";
+ String source = "unknown.mips.binary";
public void setSource(String source) { this.source = source; }
/** Thrown when the compilation fails for some reason */
public void setSource(String source) { this.source = source; }
/** Thrown when the compilation fails for some reason */
- protected static class Exn extends Exception { public Exn(String s) { super(s); } }
+ static class Exn extends Exception { public Exn(String s) { super(s); } }
// Set this to true to enable fast memory access
// When this is enabled a Java RuntimeException will be thrown when a page fault occures. When it is disabled
// a FaultException will be throw which is easier to catch and deal with, however. as the name implies, this is slower
// Set this to true to enable fast memory access
// When this is enabled a Java RuntimeException will be thrown when a page fault occures. When it is disabled
// a FaultException will be throw which is easier to catch and deal with, however. as the name implies, this is slower
- protected boolean fastMem = true;
+ boolean fastMem = true;
// This MUST be a power of two. If it is not horrible things will happen
// NOTE: This value can be much higher without breaking the classfile
// specs (around 1024) but Hotstop seems to do much better with smaller
// methods.
// This MUST be a power of two. If it is not horrible things will happen
// NOTE: This value can be much higher without breaking the classfile
// specs (around 1024) but Hotstop seems to do much better with smaller
// methods.
- protected int maxInsnPerMethod = 128;
+ int maxInsnPerMethod = 128;
// non-configurable
// non-configurable
- protected int maxBytesPerMethod;
- protected int methodMask;
- protected int methodShift;
- protected void maxInsnPerMethodInit() throws Exn {
+ int maxBytesPerMethod;
+ int methodMask;
+ int methodShift;
+ void maxInsnPerMethodInit() throws Exn {
if((maxInsnPerMethod&(maxInsnPerMethod-1)) != 0) throw new Exn("maxBytesPerMethod is not a power of two");
maxBytesPerMethod = maxInsnPerMethod*4;
methodMask = ~(maxBytesPerMethod-1);
if((maxInsnPerMethod&(maxInsnPerMethod-1)) != 0) throw new Exn("maxBytesPerMethod is not a power of two");
maxBytesPerMethod = maxInsnPerMethod*4;
methodMask = ~(maxBytesPerMethod-1);
@@
-46,44
+46,46
@@
public abstract class Compiler implements Registers {
}
// True to try to determine which case statement are needed and only include them
}
// True to try to determine which case statement are needed and only include them
- protected boolean pruneCases = true;
+ boolean pruneCases = true;
- protected boolean assumeTailCalls = true;
+ boolean assumeTailCalls = true;
// True to insert some code in the output to help diagnore compiler problems
// True to insert some code in the output to help diagnore compiler problems
- protected boolean debugCompiler = false;
+ boolean debugCompiler = false;
// True to print various statistics about the compilation
// True to print various statistics about the compilation
- protected boolean printStats = false;
+ boolean printStats = false;
// True to generate runtime statistics that slow execution down significantly
// True to generate runtime statistics that slow execution down significantly
- protected boolean runtimeStats = false;
+ boolean runtimeStats = false;
- protected boolean supportCall = true;
+ boolean supportCall = true;
- protected boolean nullPointerCheck = false;
+ boolean nullPointerCheck = false;
- protected String runtimeClass = "org.ibex.nestedvm.Runtime";
+ String runtimeClass = "org.ibex.nestedvm.Runtime";
- protected String hashClass = "java.util.Hashtable";
+ String hashClass = "java.util.Hashtable";
- protected boolean unixRuntime;
+ boolean unixRuntime;
- protected boolean lessConstants = false;
+ boolean lessConstants;
+
+ boolean singleFloat;
- protected int pageSize = 4096;
- protected int totalPages = 65536;
- protected int pageShift;
- protected boolean onePage;
+ int pageSize = 4096;
+ int totalPages = 65536;
+ int pageShift;
+ boolean onePage;
- protected void pageSizeInit() throws Exn {
+ void pageSizeInit() throws Exn {
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++;
}
/** A set of all addresses that can be jumped too (only available if pruneCases == true) */
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++;
}
/** A set of all addresses that can be jumped too (only available if pruneCases == true) */
- protected Hashtable jumpableAddresses;
+ Hashtable jumpableAddresses;
/** Some important symbols */
ELF.Symbol userInfo, gp;
/** Some important symbols */
ELF.Symbol userInfo, gp;
@@
-184,7
+186,7
@@
public abstract class Compiler implements Registers {
if(elf.ident.data != ELF.ELFIdent.ELFDATA2MSB) throw new IOException("Binary is not big endian");
}
if(elf.ident.data != ELF.ELFIdent.ELFDATA2MSB) throw new IOException("Binary is not big endian");
}
- protected abstract void _go() throws Exn, IOException;
+ abstract void _go() throws Exn, IOException;
private boolean used;
public void go() throws Exn, IOException {
private boolean used;
public void go() throws Exn, IOException {
@@
-363,8
+365,8
@@
public abstract class Compiler implements Registers {
}
// Helper functions for pretty output
}
// Helper functions for pretty output
- protected final static String toHex(int n) { return "0x" + Long.toString(n & 0xffffffffL, 16); }
- protected final static String toHex8(int n) {
+ final static String toHex(int n) { return "0x" + Long.toString(n & 0xffffffffL, 16); }
+ final static String toHex8(int n) {
String s = Long.toString(n & 0xffffffffL, 16);
StringBuffer sb = new StringBuffer("0x");
for(int i=8-s.length();i>0;i--) sb.append('0');
String s = Long.toString(n & 0xffffffffL, 16);
StringBuffer sb = new StringBuffer("0x");
for(int i=8-s.length();i>0;i--) sb.append('0');
@@
-372,7
+374,7
@@
public abstract class Compiler implements Registers {
return sb.toString();
}
return sb.toString();
}
- protected final static String toOctal3(int n) {
+ final static String toOctal3(int n) {
char[] buf = new char[3];
for(int i=2;i>=0;i--) {
buf[i] = (char) ('0' + (n & 7));
char[] buf = new char[3];
for(int i=2;i>=0;i--) {
buf[i] = (char) ('0' + (n & 7));
@@
-512,7
+514,7
@@
public abstract class Compiler implements Registers {
// This ugliness is to work around a gcj static linking bug (Bug 12908)
// The best solution is to force gnu.java.locale.Calendar to be linked in but this'll do
// This ugliness is to work around a gcj static linking bug (Bug 12908)
// The best solution is to force gnu.java.locale.Calendar to be linked in but this'll do
- protected static String dateTime() {
+ static String dateTime() {
try {
return new Date().toString();
} catch(RuntimeException e) {
try {
return new Date().toString();
} catch(RuntimeException e) {