mirror of https://github.com/aamine/cbc
* net/loveruby/cflat/sysdep/x86/CodeGenerator.java (StackFrameInfo): shorten code using CodeGenerator constant directly.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4281 1b9489fe-b721-0410-924e-b54b9192deb8
This commit is contained in:
parent
7d4223ba6a
commit
7c9845ecaa
|
@ -1,3 +1,9 @@
|
|||
Sun Jun 7 13:42:15 2009 Minero Aoki <aamine@loveruby.net>
|
||||
|
||||
* net/loveruby/cflat/sysdep/x86/CodeGenerator.java
|
||||
(StackFrameInfo): shorten code using CodeGenerator constant
|
||||
directly.
|
||||
|
||||
Sun Jun 7 04:16:39 2009 Minero Aoki <aamine@loveruby.net>
|
||||
|
||||
* net/loveruby/cflat/sysdep/x86/CodeGenerator.java: refactoring:
|
||||
|
|
|
@ -391,16 +391,11 @@ public class CodeGenerator implements net.loveruby.cflat.sysdep.CodeGenerator,
|
|||
|
||||
// #@@range/StackFrameInfo{
|
||||
class StackFrameInfo {
|
||||
final long stackWordSize;
|
||||
List<Register> saveRegs;
|
||||
long lvarSize;
|
||||
long tempSize;
|
||||
|
||||
StackFrameInfo(long stackWordSize) {
|
||||
this.stackWordSize = stackWordSize;
|
||||
}
|
||||
|
||||
long saveRegsSize() { return saveRegs.size() * stackWordSize; }
|
||||
long saveRegsSize() { return saveRegs.size() * STACK_WORD_SIZE; }
|
||||
long lvarOffset() { return saveRegsSize(); }
|
||||
long tempOffset() { return saveRegsSize() + lvarSize; }
|
||||
long frameSize() { return saveRegsSize() + lvarSize + tempSize; }
|
||||
|
@ -409,7 +404,7 @@ public class CodeGenerator implements net.loveruby.cflat.sysdep.CodeGenerator,
|
|||
|
||||
// #@@range/compileFunctionBody{
|
||||
private void compileFunctionBody(AssemblyFile file, DefinedFunction func) {
|
||||
StackFrameInfo frame = new StackFrameInfo(STACK_WORD_SIZE);
|
||||
StackFrameInfo frame = new StackFrameInfo();
|
||||
locateParameters(func.parameters());
|
||||
frame.lvarSize = locateLocalVariables(func.lvarScope());
|
||||
|
||||
|
|
Loading…
Reference in New Issue