Mercurial > hg > openjdk > hsx20
changeset 2047:2e85cdf72570
Merge
author | trims |
---|---|
date | Tue, 01 Feb 2011 19:25:37 -0800 |
parents | 9a5762f44859 (current diff) a2320a6088f0 (diff) |
children | ec9e977dd8e4 |
files | .hgtags |
diffstat | 2 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Tue Feb 01 18:57:53 2011 -0800 +++ b/.hgtags Tue Feb 01 19:25:37 2011 -0800 @@ -143,4 +143,5 @@ e24ab3fa6aafad3efabbe7dba9918c5f461a20b1 jdk7-b125 4c851c931d001a882cab809aaf3a55371b919244 jdk7-b126 e24ab3fa6aafad3efabbe7dba9918c5f461a20b1 hs20-b06 +d535bf4c12355a2897e918da9f8910c0aceec4fb hs20-b07 102466e70debc4b907afbd7624e34ddb1aafee9f jdk7-b127
--- a/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Tue Feb 01 18:57:53 2011 -0800 +++ b/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Tue Feb 01 19:25:37 2011 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2011, 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 @@ -733,8 +733,8 @@ // generate compare-and-swap; produces zero condition if swap occurs int value_offset = sun_misc_AtomicLongCSImpl::value_offset(); - LIR_Opr addr = obj.result(); - __ add(addr, LIR_OprFact::intConst(value_offset), addr); + LIR_Opr addr = new_pointer_register(); + __ leal(LIR_OprFact::address(new LIR_Address(obj.result(), value_offset, T_LONG)), addr); LIR_Opr t1 = LIR_OprFact::illegalOpr; // no temp needed LIR_Opr t2 = LIR_OprFact::illegalOpr; // no temp needed __ cas_long(addr, cmp_value.result(), new_value.result(), t1, t2);