From: <jik...@li...> - 2012-01-13 03:14:15
|
details: http://jikesrvm.hg.sourceforge.net/hgweb/jikesrvm/jikesrvm/rev/e3d4ececdab5 changeset: 10418:e3d4ececdab5 user: Daniel Frampton <Dan...@an...> date: Fri Jan 13 14:04:44 2012 +1100 description: It is not an error to cast a long to an address in 32bit x86, even if it is probably a bad idea. This avoids a BURS error that would otherwise occur in this case. diffstat: rvm/src/org/jikesrvm/compilers/opt/Simplifier.java | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diffs (21 lines): diff -r f5aec76372af -r e3d4ececdab5 rvm/src/org/jikesrvm/compilers/opt/Simplifier.java --- a/rvm/src/org/jikesrvm/compilers/opt/Simplifier.java Wed Jan 04 17:08:23 2012 +1100 +++ b/rvm/src/org/jikesrvm/compilers/opt/Simplifier.java Fri Jan 13 14:04:44 2012 +1100 @@ -2962,7 +2962,7 @@ } private static DefUseEffect long2Addr(Instruction s, OptOptions opts) { - if (VM.BuildFor64Addr && opts.SIMPLIFY_REF_OPS) { + if (opts.SIMPLIFY_REF_OPS) { Operand op = Unary.getVal(s); if (op.isLongConstant()) { // CONSTANT: FOLD @@ -3601,7 +3601,7 @@ if (op instanceof IntConstantOperand) { return Address.fromIntSignExtend(op.asIntConstant().value); } - if (VM.BuildFor64Addr && op instanceof LongConstantOperand) { + if (op instanceof LongConstantOperand) { return Address.fromLong(op.asLongConstant().value); } if (op instanceof ObjectConstantOperand) { |