* 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:
Minero Aoki 2009-06-07 04:42:21 +00:00
parent 7d4223ba6a
commit 7c9845ecaa
2 changed files with 8 additions and 7 deletions

View File

@ -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:

View File

@ -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());