Mercurial > hg > graal-compiler
diff graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/target/amd64/AMD64MoveOpcode.java @ 4181:319860ae697a
Simplify FrameMap: make offsets of spill slots and outgoing parameters independent so that they can be allocated at the same time, eliminating the separate phases. This makes the separate StackBlock unnecesary. Change CiStackSlot to use byte offsets instead of spill slot index. This makes CiTarget.spillSlotSize unnecessary.
author | Christian Wimmer <Christian.Wimmer@Oracle.com> |
---|---|
date | Mon, 02 Jan 2012 14:16:08 -0800 |
parents | bc8527f3071c |
children | 9e0c1b4cfef5 |
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/target/amd64/AMD64MoveOpcode.java Mon Jan 02 22:18:16 2012 +0100 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/target/amd64/AMD64MoveOpcode.java Mon Jan 02 14:16:08 2012 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,7 +28,6 @@ import com.oracle.max.asm.target.amd64.*; import com.oracle.max.graal.compiler.asm.*; import com.oracle.max.graal.compiler.lir.*; -import com.oracle.max.graal.compiler.lir.FrameMap.*; import com.oracle.max.graal.compiler.util.*; import com.sun.cri.ci.*; @@ -113,11 +112,11 @@ public enum LeaStackBlockOpcode implements LIROpcode { LEA_STACK_BLOCK; - public LIRInstruction create(CiVariable result, final StackBlock stackBlock) { + public LIRInstruction create(CiVariable result, final CiStackSlot stackBlock) { return new AMD64LIRInstruction(this, result, null, LIRInstruction.NO_OPERANDS, LIRInstruction.NO_OPERANDS, LIRInstruction.NO_OPERANDS) { @Override public void emitCode(TargetMethodAssembler tasm, AMD64MacroAssembler masm) { - masm.leaq(tasm.asRegister(result()), tasm.compilation.frameMap().toStackAddress(stackBlock)); + masm.leaq(tasm.asRegister(result()), tasm.asAddress(stackBlock)); } }; }