Mercurial > hg > release > icedtea7-forest-2.5 > corba
changeset 371:6dd348fb7091 jdk7u4-b02
Merge
author | lana |
---|---|
date | Tue, 22 Nov 2011 15:07:45 -0800 |
parents | f2519be412cd (current diff) 665237a860dd (diff) |
children | bab19e44a16b 32a8fc6ada54 d51864ff83aa |
files | |
diffstat | 4 files changed, 28 insertions(+), 30 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream.java Wed Nov 16 16:09:45 2011 -0800 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream.java Tue Nov 22 15:07:45 2011 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -423,6 +423,13 @@ impl.setByteBufferWithInfo(bbwi); } + /** + * return true if our ByteBuffer is sharing/equal to bb + */ + protected final boolean isSharing(ByteBuffer bb) { + return (getByteBuffer() == bb); + } + public final int getBufferLength() { return impl.getBufferLength(); }
--- a/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java Wed Nov 16 16:09:45 2011 -0800 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java Tue Nov 22 15:07:45 2011 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 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 @@ -2412,7 +2412,6 @@ if (bbwi != null && getByteBuffer() != null) { - int bbHash = System.identityHashCode(bbwi.byteBuffer); MessageMediator messageMediator = parent.getMessageMediator(); if (messageMediator != null) { @@ -2420,19 +2419,12 @@ (CDROutputObject)messageMediator.getOutputObject(); if (outputObj != null) { - ByteBuffer outputBb = outputObj.getByteBuffer(); - - int oBbHash = 0; - if (outputBb != null) + if (outputObj.isSharing(getByteBuffer())) { - oBbHash = System.identityHashCode(outputBb); - if (bbHash == oBbHash) // shared? - { - // Set OutputStream's ByteBuffer and bbwi to null - // so its ByteBuffer cannot be released to the pool - outputObj.setByteBuffer(null); - outputObj.setByteBufferWithInfo(null); - } + // Set OutputStream's ByteBuffer and bbwi to null + // so its ByteBuffer cannot be released to the pool + outputObj.setByteBuffer(null); + outputObj.setByteBufferWithInfo(null); } } }
--- a/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream.java Wed Nov 16 16:09:45 2011 -0800 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream.java Tue Nov 22 15:07:45 2011 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -357,6 +357,13 @@ impl.setByteBuffer(byteBuffer); } + /** + * return true if our ByteBuffer is sharing/equal to bb + */ + protected final boolean isSharing(ByteBuffer bb) { + return (getByteBuffer() == bb); + } + public final boolean isLittleEndian() { return impl.isLittleEndian(); }
--- a/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java Wed Nov 16 16:09:45 2011 -0800 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java Tue Nov 22 15:07:45 2011 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 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 @@ -1902,7 +1902,6 @@ if (getByteBufferWithInfo() != null && getByteBuffer() != null) { - int bbHash = System.identityHashCode(bbwi.byteBuffer); MessageMediator messageMediator = parent.getMessageMediator(); if (messageMediator != null) { @@ -1910,19 +1909,12 @@ (CDRInputObject)messageMediator.getInputObject(); if (inputObj != null) { - ByteBuffer inputBb = inputObj.getByteBuffer(); - - int iBbHash = 0; - if (inputBb != null) + if (inputObj.isSharing(getByteBuffer())) { - iBbHash = System.identityHashCode(inputBb); - if (bbHash == iBbHash) // shared? - { - // Set InputStream's ByteBuffer and bbwi to null - // so its ByteBuffer cannot be released to the pool - inputObj.setByteBuffer(null); - inputObj.setByteBufferWithInfo(null); - } + // Set InputStream's ByteBuffer and bbwi to null + // so its ByteBuffer cannot be released to the pool + inputObj.setByteBuffer(null); + inputObj.setByteBufferWithInfo(null); } } }