mirror of https://github.com/aamine/cbc
* net/loveruby/cflat/sysdep/x86/CodeGenerator.java: assign address for gvar.
* net/loveruby/cflat/entity/Entity.java: accept imm address. git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4298 1b9489fe-b721-0410-924e-b54b9192deb8
This commit is contained in:
parent
274b12a6cd
commit
eedb1294e3
|
@ -1,3 +1,10 @@
|
|||
Sun Jun 21 17:14:56 2009 Minero Aoki <aamine@loveruby.net>
|
||||
|
||||
* net/loveruby/cflat/sysdep/x86/CodeGenerator.java: assign address
|
||||
for gvar.
|
||||
|
||||
* net/loveruby/cflat/entity/Entity.java: accept imm address.
|
||||
|
||||
Sun Jun 21 17:14:19 2009 Minero Aoki <aamine@loveruby.net>
|
||||
|
||||
* net/loveruby/cflat/compiler/Options.java: rename option:
|
||||
|
|
|
@ -6,6 +6,7 @@ import net.loveruby.cflat.ast.ExprNode;
|
|||
import net.loveruby.cflat.asm.Symbol;
|
||||
import net.loveruby.cflat.asm.Operand;
|
||||
import net.loveruby.cflat.asm.MemoryReference;
|
||||
import net.loveruby.cflat.asm.ImmediateValue;
|
||||
|
||||
abstract public class Entity
|
||||
implements net.loveruby.cflat.ast.Dumpable {
|
||||
|
@ -14,7 +15,7 @@ abstract public class Entity
|
|||
protected TypeNode typeNode;
|
||||
protected long nRefered;
|
||||
protected MemoryReference memref;
|
||||
protected MemoryReference address;
|
||||
protected Operand address;
|
||||
|
||||
public Entity(boolean priv, TypeNode type, String name) {
|
||||
this.name = name;
|
||||
|
@ -83,6 +84,10 @@ abstract public class Entity
|
|||
this.address = mem;
|
||||
}
|
||||
|
||||
public void setAddress(ImmediateValue imm) {
|
||||
this.address = imm;
|
||||
}
|
||||
|
||||
public Operand address() {
|
||||
checkAddress();
|
||||
return address;
|
||||
|
|
|
@ -81,6 +81,7 @@ public class CodeGenerator implements net.loveruby.cflat.sysdep.CodeGenerator,
|
|||
}
|
||||
else {
|
||||
ent.setMemref(mem(sym));
|
||||
ent.setAddress(imm(sym));
|
||||
}
|
||||
}
|
||||
// #@@}
|
||||
|
|
Loading…
Reference in New Issue