From 4ec1db3eea9cb820af6b38084a1843d2492b8a2c Mon Sep 17 00:00:00 2001 From: Minero Aoki Date: Sat, 27 Jun 2009 08:26:27 +0000 Subject: [PATCH] fix preproc tags git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4302 1b9489fe-b721-0410-924e-b54b9192deb8 --- .../cflat/sysdep/x86/CodeGenerator.java | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/net/loveruby/cflat/sysdep/x86/CodeGenerator.java b/net/loveruby/cflat/sysdep/x86/CodeGenerator.java index 156ca27..a1d046e 100644 --- a/net/loveruby/cflat/sysdep/x86/CodeGenerator.java +++ b/net/loveruby/cflat/sysdep/x86/CodeGenerator.java @@ -413,7 +413,7 @@ public class CodeGenerator implements net.loveruby.cflat.sysdep.CodeGenerator, // #@@range/cfb_offset{ AssemblyCode body = optimize(compileStmts(func)); - frame.saveRegs = usedCalleeSavedRegisters(body); + frame.saveRegs = usedCalleeSaveRegisters(body); frame.tempSize = body.virtualStack.maxSize(); fixLocalVariableOffsets(func.lvarScope(), frame.lvarOffset()); @@ -494,10 +494,10 @@ public class CodeGenerator implements net.loveruby.cflat.sysdep.CodeGenerator, // #@@} // does NOT include BP - // #@@range/usedCalleeSavedRegisters{ - private List usedCalleeSavedRegisters(AssemblyCode body) { + // #@@range/usedCalleeSaveRegisters{ + private List usedCalleeSaveRegisters(AssemblyCode body) { List result = new ArrayList(); - for (Register reg : calleeSavedRegisters()) { + for (Register reg : calleeSaveRegisters()) { if (body.doesUses(reg)) { result.add(reg); } @@ -507,22 +507,22 @@ public class CodeGenerator implements net.loveruby.cflat.sysdep.CodeGenerator, } // #@@} - static final RegisterClass[] CALLEE_SAVED_REGISTERS = { + static final RegisterClass[] CALLEE_SAVE_REGISTERS = { RegisterClass.BX, RegisterClass.BP, RegisterClass.SI, RegisterClass.DI }; - private List calleeSavedRegistersCache = null; + private List calleeSaveRegistersCache = null; - private List calleeSavedRegisters() { - if (calleeSavedRegistersCache == null) { + private List calleeSaveRegisters() { + if (calleeSaveRegistersCache == null) { List regs = new ArrayList(); - for (RegisterClass c : CALLEE_SAVED_REGISTERS) { + for (RegisterClass c : CALLEE_SAVE_REGISTERS) { regs.add(new Register(c, naturalType)); } - calleeSavedRegistersCache = regs; + calleeSaveRegistersCache = regs; } - return calleeSavedRegistersCache; + return calleeSaveRegistersCache; } // #@@range/generateFunctionBody{ @@ -830,6 +830,7 @@ public class CodeGenerator implements net.loveruby.cflat.sysdep.CodeGenerator, case MUL: as.imul(right, left); break; + // #@@range/compileBinaryOp_sdiv{ case S_DIV: case S_MOD: as.cltd(); @@ -837,6 +838,7 @@ public class CodeGenerator implements net.loveruby.cflat.sysdep.CodeGenerator, if (op == Op.S_MOD) { as.mov(dx(), left); } + // #@@} break; case U_DIV: case U_MOD: @@ -904,9 +906,11 @@ public class CodeGenerator implements net.loveruby.cflat.sysdep.CodeGenerator, as.not(ax(src)); break; case NOT: + // #@@range/Uni_not{ as.test(ax(src), ax(src)); as.sete(al()); as.movzx(al(), ax(dest)); + // #@@} break; case S_CAST: as.movsx(ax(src), ax(dest));