History log of /external/bouncycastle/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
aa24df5e4265daf2085990cb23bda1a2276548cf 02-Nov-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
036093e8793923cf6b6bd920d7a2254ab0afa8a1 01-Nov-2012 Brian Carlstrom <bdc@google.com> Fix registration of MD5withRSA Signatures

Bug: 7453821
Change-Id: Ibcd0f02376bd7a56761597e20096d75ced9c56a5
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/RSA.java
atches/bcprov.patch
9898a9361c1eb7d2f934b195183157c237ec9bd2 20-Sep-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
e6bf3e8dfa2804891a82075cb469b736321b4827 18-Sep-2012 Brian Carlstrom <bdc@google.com> Make existing bouncycastle bcprov build on host and add host-only bcpkix build

- Move existing provider source to bcprov
- Added bcpkix host build to support built/tooks/signapk

sha1sum of sources:
- 10bfea344842fe8e065c80e399c93f8651dc87d8 bcprov-jdk15on-147.tar.gz
- 913828c7ae36e030508e97e07b3c213fb1db1e9c bcpkix-jdk15on-147.tar.gz

Bug: 7056297
Change-Id: Id4f957f300a39aa34b4c3c679b2312631d3f1639
ndroid.mk
EADME.android
cpkix/src/main/java/org/bouncycastle/cert/AttributeCertificateHolder.java
cpkix/src/main/java/org/bouncycastle/cert/AttributeCertificateIssuer.java
cpkix/src/main/java/org/bouncycastle/cert/CertException.java
cpkix/src/main/java/org/bouncycastle/cert/CertIOException.java
cpkix/src/main/java/org/bouncycastle/cert/CertUtils.java
cpkix/src/main/java/org/bouncycastle/cert/X509AttributeCertificateHolder.java
cpkix/src/main/java/org/bouncycastle/cert/X509CRLEntryHolder.java
cpkix/src/main/java/org/bouncycastle/cert/X509CRLHolder.java
cpkix/src/main/java/org/bouncycastle/cert/X509CertificateHolder.java
cpkix/src/main/java/org/bouncycastle/cert/jcajce/JcaCertStore.java
cpkix/src/main/java/org/bouncycastle/cert/jcajce/JcaX509CertificateHolder.java
cpkix/src/main/java/org/bouncycastle/cert/selector/MSOutlookKeyIdCalculator.java
cpkix/src/main/java/org/bouncycastle/cert/selector/X509CertificateHolderSelector.java
cpkix/src/main/java/org/bouncycastle/cms/CMSAbsentContent.java
cpkix/src/main/java/org/bouncycastle/cms/CMSAttributeTableGenerationException.java
cpkix/src/main/java/org/bouncycastle/cms/CMSAttributeTableGenerator.java
cpkix/src/main/java/org/bouncycastle/cms/CMSException.java
cpkix/src/main/java/org/bouncycastle/cms/CMSProcessable.java
cpkix/src/main/java/org/bouncycastle/cms/CMSProcessableByteArray.java
cpkix/src/main/java/org/bouncycastle/cms/CMSReadable.java
cpkix/src/main/java/org/bouncycastle/cms/CMSRuntimeException.java
cpkix/src/main/java/org/bouncycastle/cms/CMSSignatureAlgorithmNameGenerator.java
cpkix/src/main/java/org/bouncycastle/cms/CMSSignatureEncryptionAlgorithmFinder.java
cpkix/src/main/java/org/bouncycastle/cms/CMSSignedData.java
cpkix/src/main/java/org/bouncycastle/cms/CMSSignedDataGenerator.java
cpkix/src/main/java/org/bouncycastle/cms/CMSSignedGenerator.java
cpkix/src/main/java/org/bouncycastle/cms/CMSSignedHelper.java
cpkix/src/main/java/org/bouncycastle/cms/CMSSignerDigestMismatchException.java
cpkix/src/main/java/org/bouncycastle/cms/CMSTypedData.java
cpkix/src/main/java/org/bouncycastle/cms/CMSUtils.java
cpkix/src/main/java/org/bouncycastle/cms/CMSVerifierCertificateNotValidException.java
cpkix/src/main/java/org/bouncycastle/cms/DefaultCMSSignatureAlgorithmNameGenerator.java
cpkix/src/main/java/org/bouncycastle/cms/DefaultCMSSignatureEncryptionAlgorithmFinder.java
cpkix/src/main/java/org/bouncycastle/cms/DefaultSignedAttributeTableGenerator.java
cpkix/src/main/java/org/bouncycastle/cms/NullOutputStream.java
cpkix/src/main/java/org/bouncycastle/cms/SignerId.java
cpkix/src/main/java/org/bouncycastle/cms/SignerInfoGenerator.java
cpkix/src/main/java/org/bouncycastle/cms/SignerInfoGeneratorBuilder.java
cpkix/src/main/java/org/bouncycastle/cms/SignerInformation.java
cpkix/src/main/java/org/bouncycastle/cms/SignerInformationStore.java
cpkix/src/main/java/org/bouncycastle/cms/SignerInformationVerifier.java
cpkix/src/main/java/org/bouncycastle/cms/SimpleAttributeTableGenerator.java
cpkix/src/main/java/org/bouncycastle/cms/jcajce/JcaSignerInfoGeneratorBuilder.java
cpkix/src/main/java/org/bouncycastle/cms/jcajce/JcaSignerInfoVerifierBuilder.java
cpkix/src/main/java/org/bouncycastle/cms/jcajce/JcaSimpleSignerInfoVerifierBuilder.java
cpkix/src/main/java/org/bouncycastle/operator/ContentSigner.java
cpkix/src/main/java/org/bouncycastle/operator/ContentVerifier.java
cpkix/src/main/java/org/bouncycastle/operator/ContentVerifierProvider.java
cpkix/src/main/java/org/bouncycastle/operator/DefaultDigestAlgorithmIdentifierFinder.java
cpkix/src/main/java/org/bouncycastle/operator/DefaultSignatureAlgorithmIdentifierFinder.java
cpkix/src/main/java/org/bouncycastle/operator/DigestAlgorithmIdentifierFinder.java
cpkix/src/main/java/org/bouncycastle/operator/DigestCalculator.java
cpkix/src/main/java/org/bouncycastle/operator/DigestCalculatorProvider.java
cpkix/src/main/java/org/bouncycastle/operator/OperatorCreationException.java
cpkix/src/main/java/org/bouncycastle/operator/OperatorException.java
cpkix/src/main/java/org/bouncycastle/operator/OperatorStreamException.java
cpkix/src/main/java/org/bouncycastle/operator/RawContentVerifier.java
cpkix/src/main/java/org/bouncycastle/operator/RuntimeOperatorException.java
cpkix/src/main/java/org/bouncycastle/operator/SignatureAlgorithmIdentifierFinder.java
cpkix/src/main/java/org/bouncycastle/operator/bc/BcDigestCalculatorProvider.java
cpkix/src/main/java/org/bouncycastle/operator/bc/BcUtil.java
cpkix/src/main/java/org/bouncycastle/operator/jcajce/JcaContentSignerBuilder.java
cpkix/src/main/java/org/bouncycastle/operator/jcajce/JcaContentVerifierProviderBuilder.java
cpkix/src/main/java/org/bouncycastle/operator/jcajce/JcaDigestCalculatorProviderBuilder.java
cpkix/src/main/java/org/bouncycastle/operator/jcajce/OperatorHelper.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1ApplicationSpecificParser.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Boolean.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Choice.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Encodable.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1EncodableVector.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Encoding.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Enumerated.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Exception.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1GeneralizedTime.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Generator.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1InputStream.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Integer.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Null.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Object.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1ObjectIdentifier.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1OctetString.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1OctetStringParser.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1OutputStream.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1ParsingException.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Primitive.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Sequence.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1SequenceParser.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1Set.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1SetParser.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1StreamParser.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1String.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1TaggedObject.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1TaggedObjectParser.java
cprov/src/main/java/org/bouncycastle/asn1/ASN1UTCTime.java
cprov/src/main/java/org/bouncycastle/asn1/BERApplicationSpecific.java
cprov/src/main/java/org/bouncycastle/asn1/BERApplicationSpecificParser.java
cprov/src/main/java/org/bouncycastle/asn1/BERConstructedOctetString.java
cprov/src/main/java/org/bouncycastle/asn1/BERFactory.java
cprov/src/main/java/org/bouncycastle/asn1/BERGenerator.java
cprov/src/main/java/org/bouncycastle/asn1/BEROctetString.java
cprov/src/main/java/org/bouncycastle/asn1/BEROctetStringGenerator.java
cprov/src/main/java/org/bouncycastle/asn1/BEROctetStringParser.java
cprov/src/main/java/org/bouncycastle/asn1/BEROutputStream.java
cprov/src/main/java/org/bouncycastle/asn1/BERSequence.java
cprov/src/main/java/org/bouncycastle/asn1/BERSequenceParser.java
cprov/src/main/java/org/bouncycastle/asn1/BERSet.java
cprov/src/main/java/org/bouncycastle/asn1/BERSetParser.java
cprov/src/main/java/org/bouncycastle/asn1/BERTaggedObject.java
cprov/src/main/java/org/bouncycastle/asn1/BERTaggedObjectParser.java
cprov/src/main/java/org/bouncycastle/asn1/BERTags.java
cprov/src/main/java/org/bouncycastle/asn1/ConstructedOctetStream.java
cprov/src/main/java/org/bouncycastle/asn1/DERApplicationSpecific.java
cprov/src/main/java/org/bouncycastle/asn1/DERBMPString.java
cprov/src/main/java/org/bouncycastle/asn1/DERBitString.java
cprov/src/main/java/org/bouncycastle/asn1/DERBoolean.java
cprov/src/main/java/org/bouncycastle/asn1/DEREncodableVector.java
cprov/src/main/java/org/bouncycastle/asn1/DEREnumerated.java
cprov/src/main/java/org/bouncycastle/asn1/DERExternal.java
cprov/src/main/java/org/bouncycastle/asn1/DERExternalParser.java
cprov/src/main/java/org/bouncycastle/asn1/DERFactory.java
cprov/src/main/java/org/bouncycastle/asn1/DERGeneralString.java
cprov/src/main/java/org/bouncycastle/asn1/DERGeneralizedTime.java
cprov/src/main/java/org/bouncycastle/asn1/DERIA5String.java
cprov/src/main/java/org/bouncycastle/asn1/DERInteger.java
cprov/src/main/java/org/bouncycastle/asn1/DERNull.java
cprov/src/main/java/org/bouncycastle/asn1/DERNumericString.java
cprov/src/main/java/org/bouncycastle/asn1/DERObjectIdentifier.java
cprov/src/main/java/org/bouncycastle/asn1/DEROctetString.java
cprov/src/main/java/org/bouncycastle/asn1/DEROctetStringParser.java
cprov/src/main/java/org/bouncycastle/asn1/DEROutputStream.java
cprov/src/main/java/org/bouncycastle/asn1/DERPrintableString.java
cprov/src/main/java/org/bouncycastle/asn1/DERSequence.java
cprov/src/main/java/org/bouncycastle/asn1/DERSequenceParser.java
cprov/src/main/java/org/bouncycastle/asn1/DERSet.java
cprov/src/main/java/org/bouncycastle/asn1/DERSetParser.java
cprov/src/main/java/org/bouncycastle/asn1/DERT61String.java
cprov/src/main/java/org/bouncycastle/asn1/DERTaggedObject.java
cprov/src/main/java/org/bouncycastle/asn1/DERTags.java
cprov/src/main/java/org/bouncycastle/asn1/DERUTCTime.java
cprov/src/main/java/org/bouncycastle/asn1/DERUTF8String.java
cprov/src/main/java/org/bouncycastle/asn1/DERUniversalString.java
cprov/src/main/java/org/bouncycastle/asn1/DERVisibleString.java
cprov/src/main/java/org/bouncycastle/asn1/DLOutputStream.java
cprov/src/main/java/org/bouncycastle/asn1/DLSequence.java
cprov/src/main/java/org/bouncycastle/asn1/DLSet.java
cprov/src/main/java/org/bouncycastle/asn1/DLTaggedObject.java
cprov/src/main/java/org/bouncycastle/asn1/DefiniteLengthInputStream.java
cprov/src/main/java/org/bouncycastle/asn1/InMemoryRepresentable.java
cprov/src/main/java/org/bouncycastle/asn1/IndefiniteLengthInputStream.java
cprov/src/main/java/org/bouncycastle/asn1/LazyConstructionEnumeration.java
cprov/src/main/java/org/bouncycastle/asn1/LazyEncodedSequence.java
cprov/src/main/java/org/bouncycastle/asn1/LimitedInputStream.java
cprov/src/main/java/org/bouncycastle/asn1/OIDTokenizer.java
cprov/src/main/java/org/bouncycastle/asn1/StreamUtil.java
cprov/src/main/java/org/bouncycastle/asn1/bc/BCObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/cms/Attribute.java
cprov/src/main/java/org/bouncycastle/asn1/cms/AttributeTable.java
cprov/src/main/java/org/bouncycastle/asn1/cms/Attributes.java
cprov/src/main/java/org/bouncycastle/asn1/cms/CMSAttributes.java
cprov/src/main/java/org/bouncycastle/asn1/cms/CMSObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/cms/ContentInfo.java
cprov/src/main/java/org/bouncycastle/asn1/cms/IssuerAndSerialNumber.java
cprov/src/main/java/org/bouncycastle/asn1/cms/SignedData.java
cprov/src/main/java/org/bouncycastle/asn1/cms/SignerIdentifier.java
cprov/src/main/java/org/bouncycastle/asn1/cms/SignerInfo.java
cprov/src/main/java/org/bouncycastle/asn1/cms/Time.java
cprov/src/main/java/org/bouncycastle/asn1/eac/EACObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/iana/IANAObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/isismtt/ISISMTTObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/kisa/KISAObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/misc/MiscObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/misc/NetscapeCertType.java
cprov/src/main/java/org/bouncycastle/asn1/misc/NetscapeRevocationURL.java
cprov/src/main/java/org/bouncycastle/asn1/misc/VerisignCzagExtension.java
cprov/src/main/java/org/bouncycastle/asn1/nist/NISTNamedCurves.java
cprov/src/main/java/org/bouncycastle/asn1/nist/NISTObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/ntt/NTTObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/oiw/OIWObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/AuthenticatedSafe.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/CRLBag.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/CertBag.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/CertificationRequest.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/CertificationRequestInfo.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/ContentInfo.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/DHParameter.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/EncryptedData.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/EncryptionScheme.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/IssuerAndSerialNumber.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/KeyDerivationFunc.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/MacData.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/PBEParameter.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/PBES2Algorithms.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/PBKDF2Params.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/PKCS12PBEParams.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/Pfx.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/PrivateKeyInfo.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/RSAPrivateKey.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/RSAPrivateKeyStructure.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/RSAPublicKey.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/SafeBag.java
cprov/src/main/java/org/bouncycastle/asn1/pkcs/SignedData.java
cprov/src/main/java/org/bouncycastle/asn1/sec/ECPrivateKey.java
cprov/src/main/java/org/bouncycastle/asn1/sec/ECPrivateKeyStructure.java
cprov/src/main/java/org/bouncycastle/asn1/sec/SECNamedCurves.java
cprov/src/main/java/org/bouncycastle/asn1/sec/SECObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/teletrust/TeleTrusTObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/util/ASN1Dump.java
cprov/src/main/java/org/bouncycastle/asn1/x500/AttributeTypeAndValue.java
cprov/src/main/java/org/bouncycastle/asn1/x500/DirectoryString.java
cprov/src/main/java/org/bouncycastle/asn1/x500/RDN.java
cprov/src/main/java/org/bouncycastle/asn1/x500/X500Name.java
cprov/src/main/java/org/bouncycastle/asn1/x500/X500NameBuilder.java
cprov/src/main/java/org/bouncycastle/asn1/x500/X500NameStyle.java
cprov/src/main/java/org/bouncycastle/asn1/x500/style/BCStrictStyle.java
cprov/src/main/java/org/bouncycastle/asn1/x500/style/BCStyle.java
cprov/src/main/java/org/bouncycastle/asn1/x500/style/IETFUtils.java
cprov/src/main/java/org/bouncycastle/asn1/x500/style/RFC4519Style.java
cprov/src/main/java/org/bouncycastle/asn1/x500/style/X500NameTokenizer.java
cprov/src/main/java/org/bouncycastle/asn1/x509/AlgorithmIdentifier.java
cprov/src/main/java/org/bouncycastle/asn1/x509/AttCertIssuer.java
cprov/src/main/java/org/bouncycastle/asn1/x509/AttCertValidityPeriod.java
cprov/src/main/java/org/bouncycastle/asn1/x509/Attribute.java
cprov/src/main/java/org/bouncycastle/asn1/x509/AttributeCertificate.java
cprov/src/main/java/org/bouncycastle/asn1/x509/AttributeCertificateInfo.java
cprov/src/main/java/org/bouncycastle/asn1/x509/AuthorityKeyIdentifier.java
cprov/src/main/java/org/bouncycastle/asn1/x509/BasicConstraints.java
cprov/src/main/java/org/bouncycastle/asn1/x509/CRLDistPoint.java
cprov/src/main/java/org/bouncycastle/asn1/x509/CRLNumber.java
cprov/src/main/java/org/bouncycastle/asn1/x509/CRLReason.java
cprov/src/main/java/org/bouncycastle/asn1/x509/Certificate.java
cprov/src/main/java/org/bouncycastle/asn1/x509/CertificateList.java
cprov/src/main/java/org/bouncycastle/asn1/x509/DSAParameter.java
cprov/src/main/java/org/bouncycastle/asn1/x509/DigestInfo.java
cprov/src/main/java/org/bouncycastle/asn1/x509/DistributionPoint.java
cprov/src/main/java/org/bouncycastle/asn1/x509/DistributionPointName.java
cprov/src/main/java/org/bouncycastle/asn1/x509/ExtendedKeyUsage.java
cprov/src/main/java/org/bouncycastle/asn1/x509/Extension.java
cprov/src/main/java/org/bouncycastle/asn1/x509/Extensions.java
cprov/src/main/java/org/bouncycastle/asn1/x509/ExtensionsGenerator.java
cprov/src/main/java/org/bouncycastle/asn1/x509/GeneralName.java
cprov/src/main/java/org/bouncycastle/asn1/x509/GeneralNames.java
cprov/src/main/java/org/bouncycastle/asn1/x509/GeneralSubtree.java
cprov/src/main/java/org/bouncycastle/asn1/x509/Holder.java
cprov/src/main/java/org/bouncycastle/asn1/x509/IssuerSerial.java
cprov/src/main/java/org/bouncycastle/asn1/x509/IssuingDistributionPoint.java
cprov/src/main/java/org/bouncycastle/asn1/x509/KeyPurposeId.java
cprov/src/main/java/org/bouncycastle/asn1/x509/KeyUsage.java
cprov/src/main/java/org/bouncycastle/asn1/x509/NameConstraints.java
cprov/src/main/java/org/bouncycastle/asn1/x509/ObjectDigestInfo.java
cprov/src/main/java/org/bouncycastle/asn1/x509/PolicyInformation.java
cprov/src/main/java/org/bouncycastle/asn1/x509/RSAPublicKeyStructure.java
cprov/src/main/java/org/bouncycastle/asn1/x509/ReasonFlags.java
cprov/src/main/java/org/bouncycastle/asn1/x509/SubjectKeyIdentifier.java
cprov/src/main/java/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo.java
cprov/src/main/java/org/bouncycastle/asn1/x509/TBSCertList.java
cprov/src/main/java/org/bouncycastle/asn1/x509/TBSCertificate.java
cprov/src/main/java/org/bouncycastle/asn1/x509/TBSCertificateStructure.java
cprov/src/main/java/org/bouncycastle/asn1/x509/Time.java
cprov/src/main/java/org/bouncycastle/asn1/x509/V1TBSCertificateGenerator.java
cprov/src/main/java/org/bouncycastle/asn1/x509/V2Form.java
cprov/src/main/java/org/bouncycastle/asn1/x509/V3TBSCertificateGenerator.java
cprov/src/main/java/org/bouncycastle/asn1/x509/X509CertificateStructure.java
cprov/src/main/java/org/bouncycastle/asn1/x509/X509DefaultEntryConverter.java
cprov/src/main/java/org/bouncycastle/asn1/x509/X509Extension.java
cprov/src/main/java/org/bouncycastle/asn1/x509/X509Extensions.java
cprov/src/main/java/org/bouncycastle/asn1/x509/X509ExtensionsGenerator.java
cprov/src/main/java/org/bouncycastle/asn1/x509/X509Name.java
cprov/src/main/java/org/bouncycastle/asn1/x509/X509NameEntryConverter.java
cprov/src/main/java/org/bouncycastle/asn1/x509/X509NameTokenizer.java
cprov/src/main/java/org/bouncycastle/asn1/x509/X509ObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/asn1/x9/DHDomainParameters.java
cprov/src/main/java/org/bouncycastle/asn1/x9/DHPublicKey.java
cprov/src/main/java/org/bouncycastle/asn1/x9/DHValidationParms.java
cprov/src/main/java/org/bouncycastle/asn1/x9/X962NamedCurves.java
cprov/src/main/java/org/bouncycastle/asn1/x9/X962Parameters.java
cprov/src/main/java/org/bouncycastle/asn1/x9/X9Curve.java
cprov/src/main/java/org/bouncycastle/asn1/x9/X9ECParameters.java
cprov/src/main/java/org/bouncycastle/asn1/x9/X9ECParametersHolder.java
cprov/src/main/java/org/bouncycastle/asn1/x9/X9ECPoint.java
cprov/src/main/java/org/bouncycastle/asn1/x9/X9FieldElement.java
cprov/src/main/java/org/bouncycastle/asn1/x9/X9FieldID.java
cprov/src/main/java/org/bouncycastle/asn1/x9/X9IntegerConverter.java
cprov/src/main/java/org/bouncycastle/asn1/x9/X9ObjectIdentifiers.java
cprov/src/main/java/org/bouncycastle/crypto/AsymmetricBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/AsymmetricCipherKeyPair.java
cprov/src/main/java/org/bouncycastle/crypto/AsymmetricCipherKeyPairGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/BasicAgreement.java
cprov/src/main/java/org/bouncycastle/crypto/BlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/BufferedBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/CipherKeyGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/CipherParameters.java
cprov/src/main/java/org/bouncycastle/crypto/CryptoException.java
cprov/src/main/java/org/bouncycastle/crypto/DSA.java
cprov/src/main/java/org/bouncycastle/crypto/DataLengthException.java
cprov/src/main/java/org/bouncycastle/crypto/DerivationFunction.java
cprov/src/main/java/org/bouncycastle/crypto/DerivationParameters.java
cprov/src/main/java/org/bouncycastle/crypto/Digest.java
cprov/src/main/java/org/bouncycastle/crypto/ExtendedDigest.java
cprov/src/main/java/org/bouncycastle/crypto/InvalidCipherTextException.java
cprov/src/main/java/org/bouncycastle/crypto/KeyGenerationParameters.java
cprov/src/main/java/org/bouncycastle/crypto/Mac.java
cprov/src/main/java/org/bouncycastle/crypto/PBEParametersGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/RuntimeCryptoException.java
cprov/src/main/java/org/bouncycastle/crypto/Signer.java
cprov/src/main/java/org/bouncycastle/crypto/SignerWithRecovery.java
cprov/src/main/java/org/bouncycastle/crypto/StreamBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/StreamCipher.java
cprov/src/main/java/org/bouncycastle/crypto/Wrapper.java
cprov/src/main/java/org/bouncycastle/crypto/agreement/DHBasicAgreement.java
cprov/src/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java
cprov/src/main/java/org/bouncycastle/crypto/digests/AndroidDigestFactory.java
cprov/src/main/java/org/bouncycastle/crypto/digests/AndroidDigestFactoryBouncyCastle.java
cprov/src/main/java/org/bouncycastle/crypto/digests/AndroidDigestFactoryInterface.java
cprov/src/main/java/org/bouncycastle/crypto/digests/AndroidDigestFactoryOpenSSL.java
cprov/src/main/java/org/bouncycastle/crypto/digests/GeneralDigest.java
cprov/src/main/java/org/bouncycastle/crypto/digests/LongDigest.java
cprov/src/main/java/org/bouncycastle/crypto/digests/MD5Digest.java
cprov/src/main/java/org/bouncycastle/crypto/digests/NullDigest.java
cprov/src/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java
cprov/src/main/java/org/bouncycastle/crypto/digests/SHA1Digest.java
cprov/src/main/java/org/bouncycastle/crypto/digests/SHA256Digest.java
cprov/src/main/java/org/bouncycastle/crypto/digests/SHA384Digest.java
cprov/src/main/java/org/bouncycastle/crypto/digests/SHA512Digest.java
cprov/src/main/java/org/bouncycastle/crypto/encodings/OAEPEncoding.java
cprov/src/main/java/org/bouncycastle/crypto/encodings/PKCS1Encoding.java
cprov/src/main/java/org/bouncycastle/crypto/engines/AESEngine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/AESFastEngine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/AESWrapEngine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/BlowfishEngine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/DESEngine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/DESedeEngine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/DESedeWrapEngine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/RC2Engine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/RC4Engine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/RFC3394WrapEngine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/RSABlindedEngine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/RSACoreEngine.java
cprov/src/main/java/org/bouncycastle/crypto/engines/TwofishEngine.java
cprov/src/main/java/org/bouncycastle/crypto/generators/DESKeyGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/DESedeKeyGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/DHBasicKeyPairGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/DHKeyGeneratorHelper.java
cprov/src/main/java/org/bouncycastle/crypto/generators/DHParametersGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/DHParametersHelper.java
cprov/src/main/java/org/bouncycastle/crypto/generators/DSAKeyPairGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/DSAParametersGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/ECKeyPairGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/OpenSSLPBEParametersGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/PKCS5S1ParametersGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/generators/RSAKeyPairGenerator.java
cprov/src/main/java/org/bouncycastle/crypto/io/CipherInputStream.java
cprov/src/main/java/org/bouncycastle/crypto/io/CipherOutputStream.java
cprov/src/main/java/org/bouncycastle/crypto/io/DigestInputStream.java
cprov/src/main/java/org/bouncycastle/crypto/io/DigestOutputStream.java
cprov/src/main/java/org/bouncycastle/crypto/io/MacInputStream.java
cprov/src/main/java/org/bouncycastle/crypto/io/MacOutputStream.java
cprov/src/main/java/org/bouncycastle/crypto/macs/CBCBlockCipherMac.java
cprov/src/main/java/org/bouncycastle/crypto/macs/HMac.java
cprov/src/main/java/org/bouncycastle/crypto/modes/AEADBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/modes/CBCBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/modes/CCMBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/modes/CFBBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/modes/CTSBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/modes/GCMBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/modes/OFBBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/modes/SICBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/modes/gcm/GCMMultiplier.java
cprov/src/main/java/org/bouncycastle/crypto/modes/gcm/GCMUtil.java
cprov/src/main/java/org/bouncycastle/crypto/modes/gcm/Tables8kGCMMultiplier.java
cprov/src/main/java/org/bouncycastle/crypto/paddings/BlockCipherPadding.java
cprov/src/main/java/org/bouncycastle/crypto/paddings/ISO10126d2Padding.java
cprov/src/main/java/org/bouncycastle/crypto/paddings/ISO7816d4Padding.java
cprov/src/main/java/org/bouncycastle/crypto/paddings/PKCS7Padding.java
cprov/src/main/java/org/bouncycastle/crypto/paddings/PaddedBufferedBlockCipher.java
cprov/src/main/java/org/bouncycastle/crypto/paddings/TBCPadding.java
cprov/src/main/java/org/bouncycastle/crypto/paddings/X923Padding.java
cprov/src/main/java/org/bouncycastle/crypto/paddings/ZeroBytePadding.java
cprov/src/main/java/org/bouncycastle/crypto/params/AEADParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/AsymmetricKeyParameter.java
cprov/src/main/java/org/bouncycastle/crypto/params/DESParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DESedeParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DHKeyGenerationParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DHKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DHParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DHPrivateKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DHPublicKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DHValidationParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DSAKeyGenerationParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DSAKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DSAParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DSAPrivateKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DSAPublicKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/DSAValidationParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/ECDomainParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/ECKeyGenerationParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/ECKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/ECPrivateKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/ECPublicKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/KeyParameter.java
cprov/src/main/java/org/bouncycastle/crypto/params/ParametersWithIV.java
cprov/src/main/java/org/bouncycastle/crypto/params/ParametersWithRandom.java
cprov/src/main/java/org/bouncycastle/crypto/params/RC2Parameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/RSAKeyGenerationParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/RSAKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/params/RSAPrivateCrtKeyParameters.java
cprov/src/main/java/org/bouncycastle/crypto/signers/DSASigner.java
cprov/src/main/java/org/bouncycastle/crypto/signers/ECDSASigner.java
cprov/src/main/java/org/bouncycastle/crypto/signers/RSADigestSigner.java
cprov/src/main/java/org/bouncycastle/crypto/util/Pack.java
cprov/src/main/java/org/bouncycastle/crypto/util/PrivateKeyFactory.java
cprov/src/main/java/org/bouncycastle/crypto/util/PublicKeyFactory.java
cprov/src/main/java/org/bouncycastle/jcajce/DefaultJcaJceHelper.java
cprov/src/main/java/org/bouncycastle/jcajce/JcaJceHelper.java
cprov/src/main/java/org/bouncycastle/jcajce/NamedJcaJceHelper.java
cprov/src/main/java/org/bouncycastle/jcajce/ProviderJcaJceHelper.java
cprov/src/main/java/org/bouncycastle/jcajce/io/MacOutputStream.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/DH.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/DSA.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/EC.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/RSA.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/X509.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/AlgorithmParameterGeneratorSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/AlgorithmParametersSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/BCDHPrivateKey.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/BCDHPublicKey.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/DHUtil.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyAgreementSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyFactorySpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyPairGeneratorSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParameterGeneratorSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParametersSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPrivateKey.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSAUtil.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyPairGeneratorSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/BCECPrivateKey.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/BCECPublicKey.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/EC5Util.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/ECUtil.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyFactorySpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyPairGeneratorSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/SignatureSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/AlgorithmParametersSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateCrtKey.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateKey.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPublicKey.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/DigestSignatureSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyFactorySpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyPairGeneratorSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/RSAUtil.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/BaseCipherSpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/BaseKeyFactorySpi.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/DSABase.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/DSAEncoder.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/ExtendedInvalidKeySpecException.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/KeyUtil.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/PKCS12BagAttributeCarrierImpl.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/CertificateFactory.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/KeyFactory.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/PEMUtil.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/PKIXCertPath.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/config/ConfigurableProvider.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/config/ProviderConfiguration.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/config/ProviderConfigurationPermission.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/digest/BCMessageDigest.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/digest/DigestAlgorithmProvider.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/digest/MD5.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/digest/SHA1.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/digest/SHA256.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/digest/SHA384.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/digest/SHA512.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/AES.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/ARC4.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/Blowfish.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/DES.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/DESede.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseAlgorithmParameterGenerator.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseAlgorithmParameters.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseKeyGenerator.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseMac.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseSecretKeyFactory.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseStreamCipher.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseWrapCipher.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/IvAlgorithmParameters.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/PBE.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/PBESecretKeyFactory.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/util/AlgorithmProvider.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/util/AsymmetricKeyInfoConverter.java
cprov/src/main/java/org/bouncycastle/jcajce/provider/util/DigestFactory.java
cprov/src/main/java/org/bouncycastle/jce/ECNamedCurveTable.java
cprov/src/main/java/org/bouncycastle/jce/PKCS10CertificationRequest.java
cprov/src/main/java/org/bouncycastle/jce/PrincipalUtil.java
cprov/src/main/java/org/bouncycastle/jce/X509Principal.java
cprov/src/main/java/org/bouncycastle/jce/exception/ExtCertPathBuilderException.java
cprov/src/main/java/org/bouncycastle/jce/exception/ExtCertPathValidatorException.java
cprov/src/main/java/org/bouncycastle/jce/exception/ExtException.java
cprov/src/main/java/org/bouncycastle/jce/interfaces/BCKeyStore.java
cprov/src/main/java/org/bouncycastle/jce/interfaces/ECKey.java
cprov/src/main/java/org/bouncycastle/jce/interfaces/ECPointEncoder.java
cprov/src/main/java/org/bouncycastle/jce/interfaces/ECPrivateKey.java
cprov/src/main/java/org/bouncycastle/jce/interfaces/ECPublicKey.java
cprov/src/main/java/org/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier.java
cprov/src/main/java/org/bouncycastle/jce/netscape/NetscapeCertRequest.java
cprov/src/main/java/org/bouncycastle/jce/provider/AnnotatedException.java
cprov/src/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
cprov/src/main/java/org/bouncycastle/jce/provider/BouncyCastleProviderConfiguration.java
cprov/src/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
cprov/src/main/java/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
cprov/src/main/java/org/bouncycastle/jce/provider/CertStatus.java
cprov/src/main/java/org/bouncycastle/jce/provider/CertStoreCollectionSpi.java
cprov/src/main/java/org/bouncycastle/jce/provider/DHUtil.java
cprov/src/main/java/org/bouncycastle/jce/provider/ExtCRLException.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCEDHPrivateKey.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCEDHPublicKey.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCEECPrivateKey.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCEECPublicKey.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCEMac.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCERSAPrivateCrtKey.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCERSAPrivateKey.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCERSAPublicKey.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
cprov/src/main/java/org/bouncycastle/jce/provider/JCEStreamCipher.java
cprov/src/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java
cprov/src/main/java/org/bouncycastle/jce/provider/JDKDSAPrivateKey.java
cprov/src/main/java/org/bouncycastle/jce/provider/JDKDSAPublicKey.java
cprov/src/main/java/org/bouncycastle/jce/provider/JDKKeyStore.java
cprov/src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java
cprov/src/main/java/org/bouncycastle/jce/provider/JDKPKCS12StoreParameter.java
cprov/src/main/java/org/bouncycastle/jce/provider/PEMUtil.java
cprov/src/main/java/org/bouncycastle/jce/provider/PKIXCRLUtil.java
cprov/src/main/java/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java
cprov/src/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
cprov/src/main/java/org/bouncycastle/jce/provider/PKIXNameConstraintValidator.java
cprov/src/main/java/org/bouncycastle/jce/provider/PKIXNameConstraintValidatorException.java
cprov/src/main/java/org/bouncycastle/jce/provider/PKIXPolicyNode.java
cprov/src/main/java/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java
cprov/src/main/java/org/bouncycastle/jce/provider/ReasonsMask.java
cprov/src/main/java/org/bouncycastle/jce/provider/X509CRLEntryObject.java
cprov/src/main/java/org/bouncycastle/jce/provider/X509CRLObject.java
cprov/src/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java
cprov/src/main/java/org/bouncycastle/jce/provider/X509SignatureUtil.java
cprov/src/main/java/org/bouncycastle/jce/spec/ECKeySpec.java
cprov/src/main/java/org/bouncycastle/jce/spec/ECNamedCurveGenParameterSpec.java
cprov/src/main/java/org/bouncycastle/jce/spec/ECNamedCurveParameterSpec.java
cprov/src/main/java/org/bouncycastle/jce/spec/ECNamedCurveSpec.java
cprov/src/main/java/org/bouncycastle/jce/spec/ECParameterSpec.java
cprov/src/main/java/org/bouncycastle/jce/spec/ECPrivateKeySpec.java
cprov/src/main/java/org/bouncycastle/jce/spec/ECPublicKeySpec.java
cprov/src/main/java/org/bouncycastle/jce/spec/RepeatedSecretKeySpec.java
cprov/src/main/java/org/bouncycastle/math/ec/ECAlgorithms.java
cprov/src/main/java/org/bouncycastle/math/ec/ECConstants.java
cprov/src/main/java/org/bouncycastle/math/ec/ECCurve.java
cprov/src/main/java/org/bouncycastle/math/ec/ECFieldElement.java
cprov/src/main/java/org/bouncycastle/math/ec/ECMultiplier.java
cprov/src/main/java/org/bouncycastle/math/ec/ECPoint.java
cprov/src/main/java/org/bouncycastle/math/ec/FpNafMultiplier.java
cprov/src/main/java/org/bouncycastle/math/ec/IntArray.java
cprov/src/main/java/org/bouncycastle/math/ec/PreCompInfo.java
cprov/src/main/java/org/bouncycastle/math/ec/SimpleBigDecimal.java
cprov/src/main/java/org/bouncycastle/math/ec/Tnaf.java
cprov/src/main/java/org/bouncycastle/math/ec/WNafMultiplier.java
cprov/src/main/java/org/bouncycastle/math/ec/WNafPreCompInfo.java
cprov/src/main/java/org/bouncycastle/math/ec/WTauNafMultiplier.java
cprov/src/main/java/org/bouncycastle/math/ec/WTauNafPreCompInfo.java
cprov/src/main/java/org/bouncycastle/math/ec/ZTauElement.java
cprov/src/main/java/org/bouncycastle/util/Arrays.java
cprov/src/main/java/org/bouncycastle/util/BigIntegers.java
cprov/src/main/java/org/bouncycastle/util/CollectionStore.java
cprov/src/main/java/org/bouncycastle/util/IPAddress.java
cprov/src/main/java/org/bouncycastle/util/Selector.java
cprov/src/main/java/org/bouncycastle/util/Store.java
cprov/src/main/java/org/bouncycastle/util/StoreException.java
cprov/src/main/java/org/bouncycastle/util/Strings.java
cprov/src/main/java/org/bouncycastle/util/encoders/Base64.java
cprov/src/main/java/org/bouncycastle/util/encoders/Base64Encoder.java
cprov/src/main/java/org/bouncycastle/util/encoders/Encoder.java
cprov/src/main/java/org/bouncycastle/util/encoders/Hex.java
cprov/src/main/java/org/bouncycastle/util/encoders/HexEncoder.java
cprov/src/main/java/org/bouncycastle/util/io/StreamOverflowException.java
cprov/src/main/java/org/bouncycastle/util/io/Streams.java
cprov/src/main/java/org/bouncycastle/util/io/TeeInputStream.java
cprov/src/main/java/org/bouncycastle/util/io/TeeOutputStream.java
cprov/src/main/java/org/bouncycastle/util/io/pem/PemGenerationException.java
cprov/src/main/java/org/bouncycastle/util/io/pem/PemHeader.java
cprov/src/main/java/org/bouncycastle/util/io/pem/PemObject.java
cprov/src/main/java/org/bouncycastle/util/io/pem/PemObjectGenerator.java
cprov/src/main/java/org/bouncycastle/util/io/pem/PemObjectParser.java
cprov/src/main/java/org/bouncycastle/util/io/pem/PemReader.java
cprov/src/main/java/org/bouncycastle/util/io/pem/PemWriter.java
cprov/src/main/java/org/bouncycastle/x509/AttributeCertificateHolder.java
cprov/src/main/java/org/bouncycastle/x509/AttributeCertificateIssuer.java
cprov/src/main/java/org/bouncycastle/x509/CertPathReviewerMessages.properties
cprov/src/main/java/org/bouncycastle/x509/ExtCertificateEncodingException.java
cprov/src/main/java/org/bouncycastle/x509/ExtendedPKIXBuilderParameters.java
cprov/src/main/java/org/bouncycastle/x509/ExtendedPKIXParameters.java
cprov/src/main/java/org/bouncycastle/x509/NoSuchStoreException.java
cprov/src/main/java/org/bouncycastle/x509/PKIXAttrCertChecker.java
cprov/src/main/java/org/bouncycastle/x509/X509Attribute.java
cprov/src/main/java/org/bouncycastle/x509/X509AttributeCertificate.java
cprov/src/main/java/org/bouncycastle/x509/X509CRLStoreSelector.java
cprov/src/main/java/org/bouncycastle/x509/X509CertStoreSelector.java
cprov/src/main/java/org/bouncycastle/x509/X509CollectionStoreParameters.java
cprov/src/main/java/org/bouncycastle/x509/X509Store.java
cprov/src/main/java/org/bouncycastle/x509/X509StoreParameters.java
cprov/src/main/java/org/bouncycastle/x509/X509StoreSpi.java
cprov/src/main/java/org/bouncycastle/x509/X509Util.java
cprov/src/main/java/org/bouncycastle/x509/X509V1CertificateGenerator.java
cprov/src/main/java/org/bouncycastle/x509/X509V2AttributeCertificate.java
cprov/src/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java
cprov/src/main/java/org/bouncycastle/x509/extension/AuthorityKeyIdentifierStructure.java
cprov/src/main/java/org/bouncycastle/x509/extension/SubjectKeyIdentifierStructure.java
cprov/src/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java
ouncycastle.config
mport_bouncycastle.sh
atches/README
atches/android.patch
atches/bcpkix.patch
atches/bcprov.patch
rc/main/java/org/bouncycastle/asn1/ASN1ApplicationSpecificParser.java
rc/main/java/org/bouncycastle/asn1/ASN1Boolean.java
rc/main/java/org/bouncycastle/asn1/ASN1Choice.java
rc/main/java/org/bouncycastle/asn1/ASN1Encodable.java
rc/main/java/org/bouncycastle/asn1/ASN1EncodableVector.java
rc/main/java/org/bouncycastle/asn1/ASN1Encoding.java
rc/main/java/org/bouncycastle/asn1/ASN1Enumerated.java
rc/main/java/org/bouncycastle/asn1/ASN1Exception.java
rc/main/java/org/bouncycastle/asn1/ASN1GeneralizedTime.java
rc/main/java/org/bouncycastle/asn1/ASN1InputStream.java
rc/main/java/org/bouncycastle/asn1/ASN1Integer.java
rc/main/java/org/bouncycastle/asn1/ASN1Null.java
rc/main/java/org/bouncycastle/asn1/ASN1Object.java
rc/main/java/org/bouncycastle/asn1/ASN1ObjectIdentifier.java
rc/main/java/org/bouncycastle/asn1/ASN1OctetString.java
rc/main/java/org/bouncycastle/asn1/ASN1OctetStringParser.java
rc/main/java/org/bouncycastle/asn1/ASN1OutputStream.java
rc/main/java/org/bouncycastle/asn1/ASN1ParsingException.java
rc/main/java/org/bouncycastle/asn1/ASN1Primitive.java
rc/main/java/org/bouncycastle/asn1/ASN1Sequence.java
rc/main/java/org/bouncycastle/asn1/ASN1SequenceParser.java
rc/main/java/org/bouncycastle/asn1/ASN1Set.java
rc/main/java/org/bouncycastle/asn1/ASN1SetParser.java
rc/main/java/org/bouncycastle/asn1/ASN1StreamParser.java
rc/main/java/org/bouncycastle/asn1/ASN1String.java
rc/main/java/org/bouncycastle/asn1/ASN1TaggedObject.java
rc/main/java/org/bouncycastle/asn1/ASN1TaggedObjectParser.java
rc/main/java/org/bouncycastle/asn1/ASN1UTCTime.java
rc/main/java/org/bouncycastle/asn1/BERApplicationSpecific.java
rc/main/java/org/bouncycastle/asn1/BERApplicationSpecificParser.java
rc/main/java/org/bouncycastle/asn1/BERConstructedOctetString.java
rc/main/java/org/bouncycastle/asn1/BERFactory.java
rc/main/java/org/bouncycastle/asn1/BEROctetString.java
rc/main/java/org/bouncycastle/asn1/BEROctetStringParser.java
rc/main/java/org/bouncycastle/asn1/BEROutputStream.java
rc/main/java/org/bouncycastle/asn1/BERSequence.java
rc/main/java/org/bouncycastle/asn1/BERSequenceParser.java
rc/main/java/org/bouncycastle/asn1/BERSet.java
rc/main/java/org/bouncycastle/asn1/BERSetParser.java
rc/main/java/org/bouncycastle/asn1/BERTaggedObject.java
rc/main/java/org/bouncycastle/asn1/BERTaggedObjectParser.java
rc/main/java/org/bouncycastle/asn1/BERTags.java
rc/main/java/org/bouncycastle/asn1/ConstructedOctetStream.java
rc/main/java/org/bouncycastle/asn1/DERApplicationSpecific.java
rc/main/java/org/bouncycastle/asn1/DERBMPString.java
rc/main/java/org/bouncycastle/asn1/DERBitString.java
rc/main/java/org/bouncycastle/asn1/DERBoolean.java
rc/main/java/org/bouncycastle/asn1/DEREncodableVector.java
rc/main/java/org/bouncycastle/asn1/DEREnumerated.java
rc/main/java/org/bouncycastle/asn1/DERExternal.java
rc/main/java/org/bouncycastle/asn1/DERExternalParser.java
rc/main/java/org/bouncycastle/asn1/DERFactory.java
rc/main/java/org/bouncycastle/asn1/DERGeneralString.java
rc/main/java/org/bouncycastle/asn1/DERGeneralizedTime.java
rc/main/java/org/bouncycastle/asn1/DERIA5String.java
rc/main/java/org/bouncycastle/asn1/DERInteger.java
rc/main/java/org/bouncycastle/asn1/DERNull.java
rc/main/java/org/bouncycastle/asn1/DERNumericString.java
rc/main/java/org/bouncycastle/asn1/DERObjectIdentifier.java
rc/main/java/org/bouncycastle/asn1/DEROctetString.java
rc/main/java/org/bouncycastle/asn1/DEROctetStringParser.java
rc/main/java/org/bouncycastle/asn1/DEROutputStream.java
rc/main/java/org/bouncycastle/asn1/DERPrintableString.java
rc/main/java/org/bouncycastle/asn1/DERSequence.java
rc/main/java/org/bouncycastle/asn1/DERSequenceParser.java
rc/main/java/org/bouncycastle/asn1/DERSet.java
rc/main/java/org/bouncycastle/asn1/DERSetParser.java
rc/main/java/org/bouncycastle/asn1/DERT61String.java
rc/main/java/org/bouncycastle/asn1/DERTaggedObject.java
rc/main/java/org/bouncycastle/asn1/DERTags.java
rc/main/java/org/bouncycastle/asn1/DERUTCTime.java
rc/main/java/org/bouncycastle/asn1/DERUTF8String.java
rc/main/java/org/bouncycastle/asn1/DERUniversalString.java
rc/main/java/org/bouncycastle/asn1/DERVisibleString.java
rc/main/java/org/bouncycastle/asn1/DLOutputStream.java
rc/main/java/org/bouncycastle/asn1/DLSequence.java
rc/main/java/org/bouncycastle/asn1/DLSet.java
rc/main/java/org/bouncycastle/asn1/DLTaggedObject.java
rc/main/java/org/bouncycastle/asn1/DefiniteLengthInputStream.java
rc/main/java/org/bouncycastle/asn1/InMemoryRepresentable.java
rc/main/java/org/bouncycastle/asn1/IndefiniteLengthInputStream.java
rc/main/java/org/bouncycastle/asn1/LazyConstructionEnumeration.java
rc/main/java/org/bouncycastle/asn1/LazyEncodedSequence.java
rc/main/java/org/bouncycastle/asn1/LimitedInputStream.java
rc/main/java/org/bouncycastle/asn1/OIDTokenizer.java
rc/main/java/org/bouncycastle/asn1/StreamUtil.java
rc/main/java/org/bouncycastle/asn1/bc/BCObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/cms/ContentInfo.java
rc/main/java/org/bouncycastle/asn1/cryptopro/CryptoProObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/iana/IANAObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/isismtt/ISISMTTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/misc/MiscObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/misc/NetscapeCertType.java
rc/main/java/org/bouncycastle/asn1/misc/NetscapeRevocationURL.java
rc/main/java/org/bouncycastle/asn1/misc/VerisignCzagExtension.java
rc/main/java/org/bouncycastle/asn1/nist/NISTNamedCurves.java
rc/main/java/org/bouncycastle/asn1/nist/NISTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/oiw/OIWObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/pkcs/AuthenticatedSafe.java
rc/main/java/org/bouncycastle/asn1/pkcs/CRLBag.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertBag.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertificationRequest.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertificationRequestInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/ContentInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/DHParameter.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptedData.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptionScheme.java
rc/main/java/org/bouncycastle/asn1/pkcs/IssuerAndSerialNumber.java
rc/main/java/org/bouncycastle/asn1/pkcs/KeyDerivationFunc.java
rc/main/java/org/bouncycastle/asn1/pkcs/MacData.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBEParameter.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Algorithms.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBKDF2Params.java
rc/main/java/org/bouncycastle/asn1/pkcs/PKCS12PBEParams.java
rc/main/java/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/pkcs/Pfx.java
rc/main/java/org/bouncycastle/asn1/pkcs/PrivateKeyInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAPrivateKey.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAPrivateKeyStructure.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAPublicKey.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java
rc/main/java/org/bouncycastle/asn1/pkcs/SafeBag.java
rc/main/java/org/bouncycastle/asn1/pkcs/SignedData.java
rc/main/java/org/bouncycastle/asn1/sec/ECPrivateKey.java
rc/main/java/org/bouncycastle/asn1/sec/ECPrivateKeyStructure.java
rc/main/java/org/bouncycastle/asn1/sec/SECNamedCurves.java
rc/main/java/org/bouncycastle/asn1/sec/SECObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/teletrust/TeleTrusTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/util/ASN1Dump.java
rc/main/java/org/bouncycastle/asn1/x500/AttributeTypeAndValue.java
rc/main/java/org/bouncycastle/asn1/x500/DirectoryString.java
rc/main/java/org/bouncycastle/asn1/x500/RDN.java
rc/main/java/org/bouncycastle/asn1/x500/X500Name.java
rc/main/java/org/bouncycastle/asn1/x500/X500NameBuilder.java
rc/main/java/org/bouncycastle/asn1/x500/X500NameStyle.java
rc/main/java/org/bouncycastle/asn1/x500/style/BCStrictStyle.java
rc/main/java/org/bouncycastle/asn1/x500/style/BCStyle.java
rc/main/java/org/bouncycastle/asn1/x500/style/IETFUtils.java
rc/main/java/org/bouncycastle/asn1/x500/style/RFC4519Style.java
rc/main/java/org/bouncycastle/asn1/x500/style/X500NameTokenizer.java
rc/main/java/org/bouncycastle/asn1/x509/AlgorithmIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/AttCertIssuer.java
rc/main/java/org/bouncycastle/asn1/x509/AttCertValidityPeriod.java
rc/main/java/org/bouncycastle/asn1/x509/Attribute.java
rc/main/java/org/bouncycastle/asn1/x509/AttributeCertificate.java
rc/main/java/org/bouncycastle/asn1/x509/AttributeCertificateInfo.java
rc/main/java/org/bouncycastle/asn1/x509/AuthorityKeyIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/BasicConstraints.java
rc/main/java/org/bouncycastle/asn1/x509/CRLDistPoint.java
rc/main/java/org/bouncycastle/asn1/x509/CRLNumber.java
rc/main/java/org/bouncycastle/asn1/x509/CRLReason.java
rc/main/java/org/bouncycastle/asn1/x509/Certificate.java
rc/main/java/org/bouncycastle/asn1/x509/CertificateList.java
rc/main/java/org/bouncycastle/asn1/x509/DSAParameter.java
rc/main/java/org/bouncycastle/asn1/x509/DigestInfo.java
rc/main/java/org/bouncycastle/asn1/x509/DistributionPoint.java
rc/main/java/org/bouncycastle/asn1/x509/DistributionPointName.java
rc/main/java/org/bouncycastle/asn1/x509/ExtendedKeyUsage.java
rc/main/java/org/bouncycastle/asn1/x509/Extension.java
rc/main/java/org/bouncycastle/asn1/x509/Extensions.java
rc/main/java/org/bouncycastle/asn1/x509/ExtensionsGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralName.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralNames.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralSubtree.java
rc/main/java/org/bouncycastle/asn1/x509/Holder.java
rc/main/java/org/bouncycastle/asn1/x509/IssuerSerial.java
rc/main/java/org/bouncycastle/asn1/x509/IssuingDistributionPoint.java
rc/main/java/org/bouncycastle/asn1/x509/KeyPurposeId.java
rc/main/java/org/bouncycastle/asn1/x509/KeyUsage.java
rc/main/java/org/bouncycastle/asn1/x509/NameConstraints.java
rc/main/java/org/bouncycastle/asn1/x509/ObjectDigestInfo.java
rc/main/java/org/bouncycastle/asn1/x509/PolicyInformation.java
rc/main/java/org/bouncycastle/asn1/x509/RSAPublicKeyStructure.java
rc/main/java/org/bouncycastle/asn1/x509/ReasonFlags.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectKeyIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertList.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertificate.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertificateStructure.java
rc/main/java/org/bouncycastle/asn1/x509/Time.java
rc/main/java/org/bouncycastle/asn1/x509/V1TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/V2Form.java
rc/main/java/org/bouncycastle/asn1/x509/V3TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/X509CertificateStructure.java
rc/main/java/org/bouncycastle/asn1/x509/X509DefaultEntryConverter.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extension.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extensions.java
rc/main/java/org/bouncycastle/asn1/x509/X509ExtensionsGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/X509Name.java
rc/main/java/org/bouncycastle/asn1/x509/X509NameEntryConverter.java
rc/main/java/org/bouncycastle/asn1/x509/X509NameTokenizer.java
rc/main/java/org/bouncycastle/asn1/x509/X509ObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x9/DHDomainParameters.java
rc/main/java/org/bouncycastle/asn1/x9/DHPublicKey.java
rc/main/java/org/bouncycastle/asn1/x9/DHValidationParms.java
rc/main/java/org/bouncycastle/asn1/x9/X962NamedCurves.java
rc/main/java/org/bouncycastle/asn1/x9/X962Parameters.java
rc/main/java/org/bouncycastle/asn1/x9/X9Curve.java
rc/main/java/org/bouncycastle/asn1/x9/X9ECParameters.java
rc/main/java/org/bouncycastle/asn1/x9/X9ECParametersHolder.java
rc/main/java/org/bouncycastle/asn1/x9/X9ECPoint.java
rc/main/java/org/bouncycastle/asn1/x9/X9FieldElement.java
rc/main/java/org/bouncycastle/asn1/x9/X9FieldID.java
rc/main/java/org/bouncycastle/asn1/x9/X9IntegerConverter.java
rc/main/java/org/bouncycastle/asn1/x9/X9ObjectIdentifiers.java
rc/main/java/org/bouncycastle/crypto/AsymmetricBlockCipher.java
rc/main/java/org/bouncycastle/crypto/AsymmetricCipherKeyPair.java
rc/main/java/org/bouncycastle/crypto/AsymmetricCipherKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/BasicAgreement.java
rc/main/java/org/bouncycastle/crypto/BlockCipher.java
rc/main/java/org/bouncycastle/crypto/BufferedBlockCipher.java
rc/main/java/org/bouncycastle/crypto/CipherKeyGenerator.java
rc/main/java/org/bouncycastle/crypto/CipherParameters.java
rc/main/java/org/bouncycastle/crypto/CryptoException.java
rc/main/java/org/bouncycastle/crypto/DSA.java
rc/main/java/org/bouncycastle/crypto/DataLengthException.java
rc/main/java/org/bouncycastle/crypto/DerivationFunction.java
rc/main/java/org/bouncycastle/crypto/DerivationParameters.java
rc/main/java/org/bouncycastle/crypto/Digest.java
rc/main/java/org/bouncycastle/crypto/ExtendedDigest.java
rc/main/java/org/bouncycastle/crypto/InvalidCipherTextException.java
rc/main/java/org/bouncycastle/crypto/KeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/Mac.java
rc/main/java/org/bouncycastle/crypto/PBEParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/RuntimeCryptoException.java
rc/main/java/org/bouncycastle/crypto/Signer.java
rc/main/java/org/bouncycastle/crypto/SignerWithRecovery.java
rc/main/java/org/bouncycastle/crypto/StreamBlockCipher.java
rc/main/java/org/bouncycastle/crypto/StreamCipher.java
rc/main/java/org/bouncycastle/crypto/Wrapper.java
rc/main/java/org/bouncycastle/crypto/agreement/DHBasicAgreement.java
rc/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java
rc/main/java/org/bouncycastle/crypto/digests/GeneralDigest.java
rc/main/java/org/bouncycastle/crypto/digests/LongDigest.java
rc/main/java/org/bouncycastle/crypto/digests/MD5Digest.java
rc/main/java/org/bouncycastle/crypto/digests/NullDigest.java
rc/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA1Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA256Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA384Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA512Digest.java
rc/main/java/org/bouncycastle/crypto/encodings/OAEPEncoding.java
rc/main/java/org/bouncycastle/crypto/encodings/PKCS1Encoding.java
rc/main/java/org/bouncycastle/crypto/engines/AESEngine.java
rc/main/java/org/bouncycastle/crypto/engines/AESFastEngine.java
rc/main/java/org/bouncycastle/crypto/engines/AESWrapEngine.java
rc/main/java/org/bouncycastle/crypto/engines/BlowfishEngine.java
rc/main/java/org/bouncycastle/crypto/engines/DESEngine.java
rc/main/java/org/bouncycastle/crypto/engines/DESedeEngine.java
rc/main/java/org/bouncycastle/crypto/engines/DESedeWrapEngine.java
rc/main/java/org/bouncycastle/crypto/engines/RC2Engine.java
rc/main/java/org/bouncycastle/crypto/engines/RC4Engine.java
rc/main/java/org/bouncycastle/crypto/engines/RFC3394WrapEngine.java
rc/main/java/org/bouncycastle/crypto/engines/RSABlindedEngine.java
rc/main/java/org/bouncycastle/crypto/engines/RSACoreEngine.java
rc/main/java/org/bouncycastle/crypto/engines/TwofishEngine.java
rc/main/java/org/bouncycastle/crypto/generators/DESKeyGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DESedeKeyGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DHBasicKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DHKeyGeneratorHelper.java
rc/main/java/org/bouncycastle/crypto/generators/DHParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DHParametersHelper.java
rc/main/java/org/bouncycastle/crypto/generators/DSAKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DSAParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/ECKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/OpenSSLPBEParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/PKCS5S1ParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/RSAKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/io/CipherInputStream.java
rc/main/java/org/bouncycastle/crypto/io/CipherOutputStream.java
rc/main/java/org/bouncycastle/crypto/io/DigestInputStream.java
rc/main/java/org/bouncycastle/crypto/io/DigestOutputStream.java
rc/main/java/org/bouncycastle/crypto/io/MacInputStream.java
rc/main/java/org/bouncycastle/crypto/io/MacOutputStream.java
rc/main/java/org/bouncycastle/crypto/macs/CBCBlockCipherMac.java
rc/main/java/org/bouncycastle/crypto/macs/HMac.java
rc/main/java/org/bouncycastle/crypto/modes/AEADBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CBCBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CCMBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CFBBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CTSBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/GCMBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/OFBBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/SICBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/gcm/GCMMultiplier.java
rc/main/java/org/bouncycastle/crypto/modes/gcm/GCMUtil.java
rc/main/java/org/bouncycastle/crypto/modes/gcm/Tables8kGCMMultiplier.java
rc/main/java/org/bouncycastle/crypto/paddings/BlockCipherPadding.java
rc/main/java/org/bouncycastle/crypto/paddings/ISO10126d2Padding.java
rc/main/java/org/bouncycastle/crypto/paddings/ISO7816d4Padding.java
rc/main/java/org/bouncycastle/crypto/paddings/PKCS7Padding.java
rc/main/java/org/bouncycastle/crypto/paddings/PaddedBufferedBlockCipher.java
rc/main/java/org/bouncycastle/crypto/paddings/TBCPadding.java
rc/main/java/org/bouncycastle/crypto/paddings/X923Padding.java
rc/main/java/org/bouncycastle/crypto/paddings/ZeroBytePadding.java
rc/main/java/org/bouncycastle/crypto/params/AEADParameters.java
rc/main/java/org/bouncycastle/crypto/params/AsymmetricKeyParameter.java
rc/main/java/org/bouncycastle/crypto/params/DESParameters.java
rc/main/java/org/bouncycastle/crypto/params/DESedeParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHKeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHPrivateKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHPublicKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHValidationParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAKeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAPrivateKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAPublicKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAValidationParameters.java
rc/main/java/org/bouncycastle/crypto/params/ECDomainParameters.java
rc/main/java/org/bouncycastle/crypto/params/ECKeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/params/ECKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/ECPrivateKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/ECPublicKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/KeyParameter.java
rc/main/java/org/bouncycastle/crypto/params/ParametersWithIV.java
rc/main/java/org/bouncycastle/crypto/params/ParametersWithRandom.java
rc/main/java/org/bouncycastle/crypto/params/RC2Parameters.java
rc/main/java/org/bouncycastle/crypto/params/RSAKeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/params/RSAKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/RSAPrivateCrtKeyParameters.java
rc/main/java/org/bouncycastle/crypto/signers/DSASigner.java
rc/main/java/org/bouncycastle/crypto/signers/ECDSASigner.java
rc/main/java/org/bouncycastle/crypto/signers/RSADigestSigner.java
rc/main/java/org/bouncycastle/crypto/util/Pack.java
rc/main/java/org/bouncycastle/crypto/util/PrivateKeyFactory.java
rc/main/java/org/bouncycastle/crypto/util/PublicKeyFactory.java
rc/main/java/org/bouncycastle/jcajce/DefaultJcaJceHelper.java
rc/main/java/org/bouncycastle/jcajce/JcaJceHelper.java
rc/main/java/org/bouncycastle/jcajce/NamedJcaJceHelper.java
rc/main/java/org/bouncycastle/jcajce/ProviderJcaJceHelper.java
rc/main/java/org/bouncycastle/jcajce/io/MacOutputStream.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/DH.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/DSA.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/EC.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/RSA.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/X509.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/AlgorithmParameterGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/AlgorithmParametersSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/BCDHPrivateKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/BCDHPublicKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/DHUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyAgreementSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyFactorySpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyPairGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParameterGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParametersSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPrivateKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSAUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyPairGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/BCECPrivateKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/BCECPublicKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/EC5Util.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/ECUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyFactorySpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyPairGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/SignatureSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/AlgorithmParametersSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateCrtKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPublicKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/DigestSignatureSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyFactorySpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyPairGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/RSAUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/BaseCipherSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/BaseKeyFactorySpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/DSABase.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/DSAEncoder.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/ExtendedInvalidKeySpecException.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/KeyUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/PKCS12BagAttributeCarrierImpl.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/CertificateFactory.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/KeyFactory.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/PEMUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/PKIXCertPath.java
rc/main/java/org/bouncycastle/jcajce/provider/config/ConfigurableProvider.java
rc/main/java/org/bouncycastle/jcajce/provider/config/ProviderConfiguration.java
rc/main/java/org/bouncycastle/jcajce/provider/config/ProviderConfigurationPermission.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/BCMessageDigest.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/DigestAlgorithmProvider.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/MD5.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/SHA1.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/SHA256.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/SHA384.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/SHA512.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/AES.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/ARC4.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/Blowfish.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/DES.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/DESede.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseAlgorithmParameterGenerator.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseAlgorithmParameters.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseKeyGenerator.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseMac.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseSecretKeyFactory.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseStreamCipher.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseWrapCipher.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/IvAlgorithmParameters.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/PBE.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/PBESecretKeyFactory.java
rc/main/java/org/bouncycastle/jcajce/provider/util/AlgorithmProvider.java
rc/main/java/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider.java
rc/main/java/org/bouncycastle/jcajce/provider/util/AsymmetricKeyInfoConverter.java
rc/main/java/org/bouncycastle/jcajce/provider/util/DigestFactory.java
rc/main/java/org/bouncycastle/jce/ECNamedCurveTable.java
rc/main/java/org/bouncycastle/jce/PKCS10CertificationRequest.java
rc/main/java/org/bouncycastle/jce/PrincipalUtil.java
rc/main/java/org/bouncycastle/jce/X509Principal.java
rc/main/java/org/bouncycastle/jce/exception/ExtCertPathBuilderException.java
rc/main/java/org/bouncycastle/jce/exception/ExtCertPathValidatorException.java
rc/main/java/org/bouncycastle/jce/exception/ExtException.java
rc/main/java/org/bouncycastle/jce/interfaces/BCKeyStore.java
rc/main/java/org/bouncycastle/jce/interfaces/ECKey.java
rc/main/java/org/bouncycastle/jce/interfaces/ECPointEncoder.java
rc/main/java/org/bouncycastle/jce/interfaces/ECPrivateKey.java
rc/main/java/org/bouncycastle/jce/interfaces/ECPublicKey.java
rc/main/java/org/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier.java
rc/main/java/org/bouncycastle/jce/netscape/NetscapeCertRequest.java
rc/main/java/org/bouncycastle/jce/provider/AnnotatedException.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProviderConfiguration.java
rc/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
rc/main/java/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
rc/main/java/org/bouncycastle/jce/provider/CertStatus.java
rc/main/java/org/bouncycastle/jce/provider/CertStoreCollectionSpi.java
rc/main/java/org/bouncycastle/jce/provider/DHUtil.java
rc/main/java/org/bouncycastle/jce/provider/ExtCRLException.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEECPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEECPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEMac.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPrivateCrtKey.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JCEStreamCipher.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSAPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSAPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKPKCS12StoreParameter.java
rc/main/java/org/bouncycastle/jce/provider/PEMUtil.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCRLUtil.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
rc/main/java/org/bouncycastle/jce/provider/PKIXNameConstraintValidator.java
rc/main/java/org/bouncycastle/jce/provider/PKIXNameConstraintValidatorException.java
rc/main/java/org/bouncycastle/jce/provider/PKIXPolicyNode.java
rc/main/java/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java
rc/main/java/org/bouncycastle/jce/provider/ReasonsMask.java
rc/main/java/org/bouncycastle/jce/provider/X509CRLEntryObject.java
rc/main/java/org/bouncycastle/jce/provider/X509CRLObject.java
rc/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java
rc/main/java/org/bouncycastle/jce/provider/X509SignatureUtil.java
rc/main/java/org/bouncycastle/jce/spec/ECKeySpec.java
rc/main/java/org/bouncycastle/jce/spec/ECNamedCurveGenParameterSpec.java
rc/main/java/org/bouncycastle/jce/spec/ECNamedCurveParameterSpec.java
rc/main/java/org/bouncycastle/jce/spec/ECNamedCurveSpec.java
rc/main/java/org/bouncycastle/jce/spec/ECParameterSpec.java
rc/main/java/org/bouncycastle/jce/spec/ECPrivateKeySpec.java
rc/main/java/org/bouncycastle/jce/spec/ECPublicKeySpec.java
rc/main/java/org/bouncycastle/jce/spec/RepeatedSecretKeySpec.java
rc/main/java/org/bouncycastle/math/ec/ECAlgorithms.java
rc/main/java/org/bouncycastle/math/ec/ECConstants.java
rc/main/java/org/bouncycastle/math/ec/ECCurve.java
rc/main/java/org/bouncycastle/math/ec/ECFieldElement.java
rc/main/java/org/bouncycastle/math/ec/ECMultiplier.java
rc/main/java/org/bouncycastle/math/ec/ECPoint.java
rc/main/java/org/bouncycastle/math/ec/FpNafMultiplier.java
rc/main/java/org/bouncycastle/math/ec/IntArray.java
rc/main/java/org/bouncycastle/math/ec/PreCompInfo.java
rc/main/java/org/bouncycastle/math/ec/SimpleBigDecimal.java
rc/main/java/org/bouncycastle/math/ec/Tnaf.java
rc/main/java/org/bouncycastle/math/ec/WNafMultiplier.java
rc/main/java/org/bouncycastle/math/ec/WNafPreCompInfo.java
rc/main/java/org/bouncycastle/math/ec/WTauNafMultiplier.java
rc/main/java/org/bouncycastle/math/ec/WTauNafPreCompInfo.java
rc/main/java/org/bouncycastle/math/ec/ZTauElement.java
rc/main/java/org/bouncycastle/util/Arrays.java
rc/main/java/org/bouncycastle/util/BigIntegers.java
rc/main/java/org/bouncycastle/util/IPAddress.java
rc/main/java/org/bouncycastle/util/Selector.java
rc/main/java/org/bouncycastle/util/Store.java
rc/main/java/org/bouncycastle/util/StoreException.java
rc/main/java/org/bouncycastle/util/Strings.java
rc/main/java/org/bouncycastle/util/encoders/Base64.java
rc/main/java/org/bouncycastle/util/encoders/Base64Encoder.java
rc/main/java/org/bouncycastle/util/encoders/Encoder.java
rc/main/java/org/bouncycastle/util/encoders/Hex.java
rc/main/java/org/bouncycastle/util/encoders/HexEncoder.java
rc/main/java/org/bouncycastle/util/io/StreamOverflowException.java
rc/main/java/org/bouncycastle/util/io/Streams.java
rc/main/java/org/bouncycastle/util/io/TeeOutputStream.java
rc/main/java/org/bouncycastle/util/io/pem/PemGenerationException.java
rc/main/java/org/bouncycastle/util/io/pem/PemHeader.java
rc/main/java/org/bouncycastle/util/io/pem/PemObject.java
rc/main/java/org/bouncycastle/util/io/pem/PemObjectGenerator.java
rc/main/java/org/bouncycastle/util/io/pem/PemObjectParser.java
rc/main/java/org/bouncycastle/util/io/pem/PemReader.java
rc/main/java/org/bouncycastle/util/io/pem/PemWriter.java
rc/main/java/org/bouncycastle/x509/AttributeCertificateHolder.java
rc/main/java/org/bouncycastle/x509/AttributeCertificateIssuer.java
rc/main/java/org/bouncycastle/x509/CertPathReviewerMessages.properties
rc/main/java/org/bouncycastle/x509/ExtCertificateEncodingException.java
rc/main/java/org/bouncycastle/x509/ExtendedPKIXBuilderParameters.java
rc/main/java/org/bouncycastle/x509/ExtendedPKIXParameters.java
rc/main/java/org/bouncycastle/x509/NoSuchStoreException.java
rc/main/java/org/bouncycastle/x509/PKIXAttrCertChecker.java
rc/main/java/org/bouncycastle/x509/X509Attribute.java
rc/main/java/org/bouncycastle/x509/X509AttributeCertificate.java
rc/main/java/org/bouncycastle/x509/X509CRLStoreSelector.java
rc/main/java/org/bouncycastle/x509/X509CertStoreSelector.java
rc/main/java/org/bouncycastle/x509/X509Store.java
rc/main/java/org/bouncycastle/x509/X509StoreParameters.java
rc/main/java/org/bouncycastle/x509/X509StoreSpi.java
rc/main/java/org/bouncycastle/x509/X509Util.java
rc/main/java/org/bouncycastle/x509/X509V1CertificateGenerator.java
rc/main/java/org/bouncycastle/x509/X509V2AttributeCertificate.java
rc/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java
rc/main/java/org/bouncycastle/x509/extension/AuthorityKeyIdentifierStructure.java
rc/main/java/org/bouncycastle/x509/extension/SubjectKeyIdentifierStructure.java
rc/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java
aecae576fec6cdc50b665ecab5b43006fe3384ee 14-Sep-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
517da5b1cf8927b100e5e1d9df870854b09aa2ce 14-Sep-2012 Brian Carlstrom <bdc@google.com> BaseKeyFactorySpi should throw InvalidKeySpecException, not RuntimeExceptions

Change-Id: I54d724c11840444c08c2e584700245e41d6ef948
EADME.android
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/BaseKeyFactorySpi.java
e8b303d7d71c3153ed3bd80d7f0b6d6186639a29 13-Sep-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
4c111300c39cb2e27f07fc2ae3b00e23ed4443b2 05-Sep-2012 Brian Carlstrom <bdc@google.com> bouncycastle 1.47 upgrade

Change-Id: I601cc0dd434897d48c79abb67e9f833159135cce
OTICE
EADME.android
ouncycastle.config
ouncycastle.version
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/asn1/ASN1ApplicationSpecificParser.java
rc/main/java/org/bouncycastle/asn1/ASN1Boolean.java
rc/main/java/org/bouncycastle/asn1/ASN1Encodable.java
rc/main/java/org/bouncycastle/asn1/ASN1EncodableVector.java
rc/main/java/org/bouncycastle/asn1/ASN1Encoding.java
rc/main/java/org/bouncycastle/asn1/ASN1InputStream.java
rc/main/java/org/bouncycastle/asn1/ASN1Null.java
rc/main/java/org/bouncycastle/asn1/ASN1Object.java
rc/main/java/org/bouncycastle/asn1/ASN1ObjectIdentifier.java
rc/main/java/org/bouncycastle/asn1/ASN1OctetString.java
rc/main/java/org/bouncycastle/asn1/ASN1OctetStringParser.java
rc/main/java/org/bouncycastle/asn1/ASN1OutputStream.java
rc/main/java/org/bouncycastle/asn1/ASN1ParsingException.java
rc/main/java/org/bouncycastle/asn1/ASN1Primitive.java
rc/main/java/org/bouncycastle/asn1/ASN1Sequence.java
rc/main/java/org/bouncycastle/asn1/ASN1SequenceParser.java
rc/main/java/org/bouncycastle/asn1/ASN1Set.java
rc/main/java/org/bouncycastle/asn1/ASN1SetParser.java
rc/main/java/org/bouncycastle/asn1/ASN1StreamParser.java
rc/main/java/org/bouncycastle/asn1/ASN1TaggedObject.java
rc/main/java/org/bouncycastle/asn1/ASN1TaggedObjectParser.java
rc/main/java/org/bouncycastle/asn1/BERApplicationSpecificParser.java
rc/main/java/org/bouncycastle/asn1/BERConstructedOctetString.java
rc/main/java/org/bouncycastle/asn1/BERFactory.java
rc/main/java/org/bouncycastle/asn1/BEROctetString.java
rc/main/java/org/bouncycastle/asn1/BEROctetStringParser.java
rc/main/java/org/bouncycastle/asn1/BEROutputStream.java
rc/main/java/org/bouncycastle/asn1/BERSequence.java
rc/main/java/org/bouncycastle/asn1/BERSequenceParser.java
rc/main/java/org/bouncycastle/asn1/BERSet.java
rc/main/java/org/bouncycastle/asn1/BERSetParser.java
rc/main/java/org/bouncycastle/asn1/BERTaggedObject.java
rc/main/java/org/bouncycastle/asn1/BERTaggedObjectParser.java
rc/main/java/org/bouncycastle/asn1/BERTags.java
rc/main/java/org/bouncycastle/asn1/ConstructedOctetStream.java
rc/main/java/org/bouncycastle/asn1/DERApplicationSpecific.java
rc/main/java/org/bouncycastle/asn1/DERBMPString.java
rc/main/java/org/bouncycastle/asn1/DERBitString.java
rc/main/java/org/bouncycastle/asn1/DERBoolean.java
rc/main/java/org/bouncycastle/asn1/DEREncodable.java
rc/main/java/org/bouncycastle/asn1/DEREncodableVector.java
rc/main/java/org/bouncycastle/asn1/DEREnumerated.java
rc/main/java/org/bouncycastle/asn1/DERExternal.java
rc/main/java/org/bouncycastle/asn1/DERExternalParser.java
rc/main/java/org/bouncycastle/asn1/DERFactory.java
rc/main/java/org/bouncycastle/asn1/DERGeneralString.java
rc/main/java/org/bouncycastle/asn1/DERGeneralizedTime.java
rc/main/java/org/bouncycastle/asn1/DERIA5String.java
rc/main/java/org/bouncycastle/asn1/DERInteger.java
rc/main/java/org/bouncycastle/asn1/DERNull.java
rc/main/java/org/bouncycastle/asn1/DERNumericString.java
rc/main/java/org/bouncycastle/asn1/DERObject.java
rc/main/java/org/bouncycastle/asn1/DERObjectIdentifier.java
rc/main/java/org/bouncycastle/asn1/DEROctetString.java
rc/main/java/org/bouncycastle/asn1/DEROctetStringParser.java
rc/main/java/org/bouncycastle/asn1/DEROutputStream.java
rc/main/java/org/bouncycastle/asn1/DERPrintableString.java
rc/main/java/org/bouncycastle/asn1/DERSequence.java
rc/main/java/org/bouncycastle/asn1/DERSequenceParser.java
rc/main/java/org/bouncycastle/asn1/DERSet.java
rc/main/java/org/bouncycastle/asn1/DERSetParser.java
rc/main/java/org/bouncycastle/asn1/DERString.java
rc/main/java/org/bouncycastle/asn1/DERT61String.java
rc/main/java/org/bouncycastle/asn1/DERTaggedObject.java
rc/main/java/org/bouncycastle/asn1/DERTags.java
rc/main/java/org/bouncycastle/asn1/DERUTCTime.java
rc/main/java/org/bouncycastle/asn1/DERUTF8String.java
rc/main/java/org/bouncycastle/asn1/DERUniversalString.java
rc/main/java/org/bouncycastle/asn1/DERUnknownTag.java
rc/main/java/org/bouncycastle/asn1/DERVisibleString.java
rc/main/java/org/bouncycastle/asn1/DLOutputStream.java
rc/main/java/org/bouncycastle/asn1/DLSequence.java
rc/main/java/org/bouncycastle/asn1/DLSet.java
rc/main/java/org/bouncycastle/asn1/DLTaggedObject.java
rc/main/java/org/bouncycastle/asn1/DefiniteLengthInputStream.java
rc/main/java/org/bouncycastle/asn1/InMemoryRepresentable.java
rc/main/java/org/bouncycastle/asn1/LazyConstructionEnumeration.java
rc/main/java/org/bouncycastle/asn1/LazyDERConstructionEnumeration.java
rc/main/java/org/bouncycastle/asn1/LazyDERSequence.java
rc/main/java/org/bouncycastle/asn1/LazyEncodedSequence.java
rc/main/java/org/bouncycastle/asn1/StreamUtil.java
rc/main/java/org/bouncycastle/asn1/bc/BCObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/cms/ContentInfo.java
rc/main/java/org/bouncycastle/asn1/cryptopro/CryptoProObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/misc/NetscapeCertType.java
rc/main/java/org/bouncycastle/asn1/misc/NetscapeRevocationURL.java
rc/main/java/org/bouncycastle/asn1/misc/VerisignCzagExtension.java
rc/main/java/org/bouncycastle/asn1/nist/NISTNamedCurves.java
rc/main/java/org/bouncycastle/asn1/pkcs/AuthenticatedSafe.java
rc/main/java/org/bouncycastle/asn1/pkcs/CRLBag.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertBag.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertificationRequest.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertificationRequestInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/ContentInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/DHParameter.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptedData.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptionScheme.java
rc/main/java/org/bouncycastle/asn1/pkcs/IssuerAndSerialNumber.java
rc/main/java/org/bouncycastle/asn1/pkcs/KeyDerivationFunc.java
rc/main/java/org/bouncycastle/asn1/pkcs/MacData.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBEParameter.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Algorithms.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBKDF2Params.java
rc/main/java/org/bouncycastle/asn1/pkcs/PKCS12PBEParams.java
rc/main/java/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/pkcs/Pfx.java
rc/main/java/org/bouncycastle/asn1/pkcs/PrivateKeyInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAPrivateKey.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAPrivateKeyStructure.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAPublicKey.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java
rc/main/java/org/bouncycastle/asn1/pkcs/SafeBag.java
rc/main/java/org/bouncycastle/asn1/pkcs/SignedData.java
rc/main/java/org/bouncycastle/asn1/sec/ECPrivateKey.java
rc/main/java/org/bouncycastle/asn1/sec/ECPrivateKeyStructure.java
rc/main/java/org/bouncycastle/asn1/sec/SECNamedCurves.java
rc/main/java/org/bouncycastle/asn1/util/ASN1Dump.java
rc/main/java/org/bouncycastle/asn1/x500/AttributeTypeAndValue.java
rc/main/java/org/bouncycastle/asn1/x500/DirectoryString.java
rc/main/java/org/bouncycastle/asn1/x500/RDN.java
rc/main/java/org/bouncycastle/asn1/x500/X500Name.java
rc/main/java/org/bouncycastle/asn1/x500/style/IETFUtils.java
rc/main/java/org/bouncycastle/asn1/x509/AlgorithmIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/AttCertIssuer.java
rc/main/java/org/bouncycastle/asn1/x509/AttCertValidityPeriod.java
rc/main/java/org/bouncycastle/asn1/x509/Attribute.java
rc/main/java/org/bouncycastle/asn1/x509/AttributeCertificate.java
rc/main/java/org/bouncycastle/asn1/x509/AttributeCertificateInfo.java
rc/main/java/org/bouncycastle/asn1/x509/AuthorityKeyIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/BasicConstraints.java
rc/main/java/org/bouncycastle/asn1/x509/CRLDistPoint.java
rc/main/java/org/bouncycastle/asn1/x509/CRLNumber.java
rc/main/java/org/bouncycastle/asn1/x509/CRLReason.java
rc/main/java/org/bouncycastle/asn1/x509/Certificate.java
rc/main/java/org/bouncycastle/asn1/x509/CertificateList.java
rc/main/java/org/bouncycastle/asn1/x509/DSAParameter.java
rc/main/java/org/bouncycastle/asn1/x509/DigestInfo.java
rc/main/java/org/bouncycastle/asn1/x509/DistributionPoint.java
rc/main/java/org/bouncycastle/asn1/x509/DistributionPointName.java
rc/main/java/org/bouncycastle/asn1/x509/ExtendedKeyUsage.java
rc/main/java/org/bouncycastle/asn1/x509/Extension.java
rc/main/java/org/bouncycastle/asn1/x509/Extensions.java
rc/main/java/org/bouncycastle/asn1/x509/ExtensionsGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralName.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralNames.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralSubtree.java
rc/main/java/org/bouncycastle/asn1/x509/Holder.java
rc/main/java/org/bouncycastle/asn1/x509/IssuerSerial.java
rc/main/java/org/bouncycastle/asn1/x509/IssuingDistributionPoint.java
rc/main/java/org/bouncycastle/asn1/x509/KeyPurposeId.java
rc/main/java/org/bouncycastle/asn1/x509/NameConstraints.java
rc/main/java/org/bouncycastle/asn1/x509/ObjectDigestInfo.java
rc/main/java/org/bouncycastle/asn1/x509/PolicyInformation.java
rc/main/java/org/bouncycastle/asn1/x509/RSAPublicKeyStructure.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectKeyIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertList.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertificate.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertificateStructure.java
rc/main/java/org/bouncycastle/asn1/x509/Time.java
rc/main/java/org/bouncycastle/asn1/x509/V1TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/V2Form.java
rc/main/java/org/bouncycastle/asn1/x509/V3TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/X509CertificateStructure.java
rc/main/java/org/bouncycastle/asn1/x509/X509DefaultEntryConverter.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extension.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extensions.java
rc/main/java/org/bouncycastle/asn1/x509/X509ExtensionsGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/X509Name.java
rc/main/java/org/bouncycastle/asn1/x509/X509NameEntryConverter.java
rc/main/java/org/bouncycastle/asn1/x509/X509NameTokenizer.java
rc/main/java/org/bouncycastle/asn1/x509/X509ObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x9/DHDomainParameters.java
rc/main/java/org/bouncycastle/asn1/x9/DHPublicKey.java
rc/main/java/org/bouncycastle/asn1/x9/DHValidationParms.java
rc/main/java/org/bouncycastle/asn1/x9/X962NamedCurves.java
rc/main/java/org/bouncycastle/asn1/x9/X962Parameters.java
rc/main/java/org/bouncycastle/asn1/x9/X9Curve.java
rc/main/java/org/bouncycastle/asn1/x9/X9ECParameters.java
rc/main/java/org/bouncycastle/asn1/x9/X9ECPoint.java
rc/main/java/org/bouncycastle/asn1/x9/X9FieldElement.java
rc/main/java/org/bouncycastle/asn1/x9/X9FieldID.java
rc/main/java/org/bouncycastle/asn1/x9/X9IntegerConverter.java
rc/main/java/org/bouncycastle/crypto/CryptoException.java
rc/main/java/org/bouncycastle/crypto/PBEParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/encodings/ISO9796d1Encoding.java
rc/main/java/org/bouncycastle/crypto/encodings/OAEPEncoding.java
rc/main/java/org/bouncycastle/crypto/encodings/PKCS1Encoding.java
rc/main/java/org/bouncycastle/crypto/engines/DESedeEngine.java
rc/main/java/org/bouncycastle/crypto/engines/DESedeWrapEngine.java
rc/main/java/org/bouncycastle/crypto/engines/RC2Engine.java
rc/main/java/org/bouncycastle/crypto/engines/TwofishEngine.java
rc/main/java/org/bouncycastle/crypto/generators/DSAParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/OpenSSLPBEParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/io/CipherInputStream.java
rc/main/java/org/bouncycastle/crypto/io/CipherOutputStream.java
rc/main/java/org/bouncycastle/crypto/io/DigestOutputStream.java
rc/main/java/org/bouncycastle/crypto/io/MacOutputStream.java
rc/main/java/org/bouncycastle/crypto/macs/HMac.java
rc/main/java/org/bouncycastle/crypto/modes/CBCBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CFBBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/GCMBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/GOFBBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/OFBBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/SICBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/gcm/GCMUtil.java
rc/main/java/org/bouncycastle/crypto/modes/gcm/Tables8kGCMMultiplier.java
rc/main/java/org/bouncycastle/crypto/params/DHParameters.java
rc/main/java/org/bouncycastle/crypto/signers/ECDSASigner.java
rc/main/java/org/bouncycastle/crypto/signers/RSADigestSigner.java
rc/main/java/org/bouncycastle/crypto/util/Pack.java
rc/main/java/org/bouncycastle/crypto/util/PrivateKeyFactory.java
rc/main/java/org/bouncycastle/crypto/util/PublicKeyFactory.java
rc/main/java/org/bouncycastle/jcajce/DefaultJcaJceHelper.java
rc/main/java/org/bouncycastle/jcajce/JcaJceHelper.java
rc/main/java/org/bouncycastle/jcajce/NamedJcaJceHelper.java
rc/main/java/org/bouncycastle/jcajce/ProviderJcaJceHelper.java
rc/main/java/org/bouncycastle/jcajce/io/MacOutputStream.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/DH.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/DSA.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/EC.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/RSA.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/X509.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/AlgorithmParameterGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/AlgorithmParametersSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/BCDHPrivateKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/BCDHPublicKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/DHUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyAgreementSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyFactorySpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyPairGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParameterGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParametersSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPrivateKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSAUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyPairGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/BCECPrivateKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/BCECPublicKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/EC5Util.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/ECUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyFactorySpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyPairGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/SignatureSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/AlgorithmParametersSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateCrtKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPublicKey.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/DigestSignatureSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyFactorySpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyPairGeneratorSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/RSAUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/BaseCipherSpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/BaseKeyFactorySpi.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/DSABase.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/DSAEncoder.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/ExtendedInvalidKeySpecException.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/KeyUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/util/PKCS12BagAttributeCarrierImpl.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/CertificateFactory.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/KeyFactory.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/PEMUtil.java
rc/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/PKIXCertPath.java
rc/main/java/org/bouncycastle/jcajce/provider/config/ConfigurableProvider.java
rc/main/java/org/bouncycastle/jcajce/provider/config/ProviderConfiguration.java
rc/main/java/org/bouncycastle/jcajce/provider/config/ProviderConfigurationPermission.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/BCMessageDigest.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/DigestAlgorithmProvider.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/MD5.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/SHA1.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/SHA256.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/SHA384.java
rc/main/java/org/bouncycastle/jcajce/provider/digest/SHA512.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/AES.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/ARC4.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/Blowfish.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/DES.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/DESede.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseAlgorithmParameterGenerator.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseAlgorithmParameters.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseKeyGenerator.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseMac.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseSecretKeyFactory.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseStreamCipher.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseWrapCipher.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/IvAlgorithmParameters.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/PBE.java
rc/main/java/org/bouncycastle/jcajce/provider/symmetric/util/PBESecretKeyFactory.java
rc/main/java/org/bouncycastle/jcajce/provider/util/AlgorithmProvider.java
rc/main/java/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider.java
rc/main/java/org/bouncycastle/jcajce/provider/util/AsymmetricKeyInfoConverter.java
rc/main/java/org/bouncycastle/jcajce/provider/util/DigestFactory.java
rc/main/java/org/bouncycastle/jce/ECNamedCurveTable.java
rc/main/java/org/bouncycastle/jce/PKCS10CertificationRequest.java
rc/main/java/org/bouncycastle/jce/PrincipalUtil.java
rc/main/java/org/bouncycastle/jce/ProviderConfigurationPermission.java
rc/main/java/org/bouncycastle/jce/X509Principal.java
rc/main/java/org/bouncycastle/jce/interfaces/ConfigurableProvider.java
rc/main/java/org/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier.java
rc/main/java/org/bouncycastle/jce/netscape/NetscapeCertRequest.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProviderConfiguration.java
rc/main/java/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
rc/main/java/org/bouncycastle/jce/provider/DSABase.java
rc/main/java/org/bouncycastle/jce/provider/DSAEncoder.java
rc/main/java/org/bouncycastle/jce/provider/DSAUtil.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHKeyAgreement.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEDigestUtil.java
rc/main/java/org/bouncycastle/jce/provider/JCEECPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEECPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEKeyGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JCEMac.java
rc/main/java/org/bouncycastle/jce/provider/JCEPBEKey.java
rc/main/java/org/bouncycastle/jce/provider/JCERSACipher.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPrivateCrtKey.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JCEStreamCipher.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSAPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSAPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSASigner.java
rc/main/java/org/bouncycastle/jce/provider/JDKDigestSignature.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyPairGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKMessageDigest.java
rc/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKX509CertificateFactory.java
rc/main/java/org/bouncycastle/jce/provider/PBE.java
rc/main/java/org/bouncycastle/jce/provider/PEMUtil.java
rc/main/java/org/bouncycastle/jce/provider/PKCS12BagAttributeCarrierImpl.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPath.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
rc/main/java/org/bouncycastle/jce/provider/PKIXNameConstraintValidator.java
rc/main/java/org/bouncycastle/jce/provider/ProviderUtil.java
rc/main/java/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java
rc/main/java/org/bouncycastle/jce/provider/RSAUtil.java
rc/main/java/org/bouncycastle/jce/provider/ReasonsMask.java
rc/main/java/org/bouncycastle/jce/provider/WrapCipherSpi.java
rc/main/java/org/bouncycastle/jce/provider/X509CRLEntryObject.java
rc/main/java/org/bouncycastle/jce/provider/X509CRLObject.java
rc/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java
rc/main/java/org/bouncycastle/jce/provider/X509SignatureUtil.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/EC.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/EC5Util.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/ECUtil.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/KeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/KeyPairGenerator.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/Signature.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/AES.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/ARC4.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/Blowfish.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/DESede.java
rc/main/java/org/bouncycastle/jce/spec/ECNamedCurveGenParameterSpec.java
rc/main/java/org/bouncycastle/jce/spec/RepeatedSecretKeySpec.java
rc/main/java/org/bouncycastle/openssl/EncryptionException.java
rc/main/java/org/bouncycastle/openssl/MiscPEMGenerator.java
rc/main/java/org/bouncycastle/openssl/PEMException.java
rc/main/java/org/bouncycastle/openssl/PEMReader.java
rc/main/java/org/bouncycastle/openssl/PEMUtilities.java
rc/main/java/org/bouncycastle/openssl/PEMWriter.java
rc/main/java/org/bouncycastle/openssl/PasswordException.java
rc/main/java/org/bouncycastle/openssl/PasswordFinder.java
rc/main/java/org/bouncycastle/util/Arrays.java
rc/main/java/org/bouncycastle/util/Strings.java
rc/main/java/org/bouncycastle/util/io/TeeOutputStream.java
rc/main/java/org/bouncycastle/util/io/pem/PemReader.java
rc/main/java/org/bouncycastle/x509/AttributeCertificateHolder.java
rc/main/java/org/bouncycastle/x509/AttributeCertificateIssuer.java
rc/main/java/org/bouncycastle/x509/X509Attribute.java
rc/main/java/org/bouncycastle/x509/X509Util.java
rc/main/java/org/bouncycastle/x509/X509V1CertificateGenerator.java
rc/main/java/org/bouncycastle/x509/X509V2AttributeCertificate.java
rc/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java
rc/main/java/org/bouncycastle/x509/extension/AuthorityKeyIdentifierStructure.java
rc/main/java/org/bouncycastle/x509/extension/SubjectKeyIdentifierStructure.java
rc/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java
91a66fb8253dfcc968ba73f5963d6f9818c02f95 28-Jul-2012 Brian Carlstrom <bdc@google.com> am d7499861: am f3f6a9ca: am 61679c98: Merge changes I5394d299,I461dd742

* commit 'd74998611292b4682daa644b5eefc3b61c0898a6':
Fix cert blacklisting by public key
Added patch to the README and android.patches.
3127dc0d9f0d87f31352148bf0cd89739f495b06 28-Jul-2012 Geremy Condra <gcondra@google.com> am e547871f: am 806ca813: Fix cert blacklisting by public key

* commit 'e547871f2328349231e2387591b75a04f2d9b984':
Fix cert blacklisting by public key
aedad397d52177d0741c87ae1a44b8f2fb59a8c0 28-Jul-2012 Geremy Condra <gcondra@google.com> am c535a448: am ffa48740: Added patch to the README and android.patches.

* commit 'c535a4485c256b51eaad4d860c6b0960d50fe021':
Added patch to the README and android.patches.
d74998611292b4682daa644b5eefc3b61c0898a6 28-Jul-2012 Brian Carlstrom <bdc@google.com> am f3f6a9ca: am 61679c98: Merge changes I5394d299,I461dd742

* commit 'f3f6a9ca17b59f4305bf5a99f49b8ece7bf343e6':
Fix cert blacklisting by public key
Added patch to the README and android.patches.
e547871f2328349231e2387591b75a04f2d9b984 28-Jul-2012 Geremy Condra <gcondra@google.com> am 806ca813: Fix cert blacklisting by public key

* commit '806ca813c0327a5d673914883853f55440b39cc7':
Fix cert blacklisting by public key
c535a4485c256b51eaad4d860c6b0960d50fe021 28-Jul-2012 Geremy Condra <gcondra@google.com> am ffa48740: Added patch to the README and android.patches.

* commit 'ffa48740407cf1c2dc0e114da954130247f4149d':
Added patch to the README and android.patches.
f3f6a9ca17b59f4305bf5a99f49b8ece7bf343e6 28-Jul-2012 Brian Carlstrom <bdc@google.com> am 61679c98: Merge changes I5394d299,I461dd742

* commit '61679c98235b7738240153f51c8e435dbf91c059':
Fix cert blacklisting by public key
Added patch to the README and android.patches.
61679c98235b7738240153f51c8e435dbf91c059 27-Jul-2012 Brian Carlstrom <bdc@google.com> Merge changes I5394d299,I461dd742

* changes:
Fix cert blacklisting by public key
Added patch to the README and android.patches.
aebf2c5828de1a07ff459013d01724497d4c9b04 27-Jul-2012 Geremy Condra <gcondra@google.com> Fix cert blacklisting by public key

Previously, public keys were compared to the blacklisted keys
by a HashSet.compare(), which compares by reference. This replaces
that with the correct Arrays.equals check.

(cherry picked from commit ea82c4ad99e7fa267c4bfa05f6f8312f85ceb8ce)
(cherry picked from commit 806ca813c0327a5d673914883853f55440b39cc7)

Bug: http://code.google.com/p/android/issues/detail?id=35547
Change-Id: I5394d2999dd29fabf76e5d4492b0c188b3cd6c51
rc/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
42c3cb881c9e83e770318f33faaf4b27d4c15d8d 27-Jul-2012 Geremy Condra <gcondra@google.com> Added patch to the README and android.patches.

(cherry picked from commit 089355c44e80af84267f0ab3e5369416bfd2d4cf)
(cherry picked from commit ffa48740407cf1c2dc0e114da954130247f4149d)

Bug: http://code.google.com/p/android/issues/detail?id=35547
Change-Id: I461dd74259e79c6215e9092f670334403d36c367
atches/README
atches/android.patch
806ca813c0327a5d673914883853f55440b39cc7 27-Jul-2012 Geremy Condra <gcondra@google.com> Fix cert blacklisting by public key

Previously, public keys were compared to the blacklisted keys
by a HashSet.compare(), which compares by reference. This replaces
that with the correct Arrays.equals check.

(cherry picked from commit ea82c4ad99e7fa267c4bfa05f6f8312f85ceb8ce)

Bug: http://code.google.com/p/android/issues/detail?id=35547
Change-Id: Ic6318c6e4afb030ac96eb0ba305cbe486e157198
rc/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
ffa48740407cf1c2dc0e114da954130247f4149d 27-Jul-2012 Geremy Condra <gcondra@google.com> Added patch to the README and android.patches.

(cherry picked from commit 089355c44e80af84267f0ab3e5369416bfd2d4cf)

Bug: http://code.google.com/p/android/issues/detail?id=35547
Change-Id: I58b9e8c258256194ab848c52a29fd270f8f9ad97
atches/README
atches/android.patch
089355c44e80af84267f0ab3e5369416bfd2d4cf 27-Jul-2012 Geremy Condra <gcondra@google.com> Added patch to the README and android.patches.

Change-Id: Ie568dcd539f7b9ec39c83fa44492055c4f2717bc
atches/README
atches/android.patch
ea82c4ad99e7fa267c4bfa05f6f8312f85ceb8ce 27-Jul-2012 Geremy Condra <gcondra@google.com> Fix cert blacklisting by public key

Previously, public keys were compared to the blacklisted keys
by a HashSet.compare(), which compares by reference. This replaces
that with the correct Arrays.equals check.

Change-Id: I62e04d33bffd6b702558f5d17501f7d5919b35f8
rc/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
fd3e3ef2ef320b187b5818309c60d6d0a13ab80a 15-May-2012 Elliott Hughes <enh@google.com> Remove obsolete ThirdPartyProject.prop file.

Change-Id: I677b97477413862efa059fd053f6aa2915bd3e70
hirdPartyProject.prop
89b880fc4071497a2d69a1b3280da3989c76c39a 04-May-2012 Geremy Condra <gcondra@google.com> Added CertBlacklister.

This allows us to augment the blacklists with data from other sources.

Change-Id: I05e4f1f65b12346847d7064d2be311c5dc6c0ec2
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
c3ca927de0c0655e1f8d618d13f1de19b2b7975e 11-Apr-2012 Brian Carlstrom <bdc@google.com> Restore AuthorityKeyIdentifierStructure and SubjectKeyIdentifierStructure for Polo

Bug: 6322311

Change-Id: I983874a2ca45ebf2f5742ac383df364d7da75da6
ouncycastle.config
rc/main/java/org/bouncycastle/x509/extension/AuthorityKeyIdentifierStructure.java
rc/main/java/org/bouncycastle/x509/extension/SubjectKeyIdentifierStructure.java
e8ed366ff44ad9448d697cfc54f162f7f1c07617 07-Nov-2011 Brian Carlstrom <bdc@google.com> Blacklist Digicert Malaysia intermediate CA

Based on Chrome CL:
http://src.chromium.org/viewvc/chrome?view=rev&revision=108479

Bug: 5566566

Change-Id: I1b8bd10221eda14fcf15fd2f1a5a23087dab0c50
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
120c7be3b96ad42d92b9db1a75e5e5845bf3a723 14-Sep-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with gingerbread-release gingerbread-mr4-release

Change-Id: I7652fcb5face6c9940511e8d3aa0e3fa86432442
1dcf32e403f3c7afe06d878e3a26e15d38d05a5b 14-Sep-2011 Ed Heyl <ed@google.com> keep history after reset to GRK39D
4797d4667b26ee7d77d3fb626c26b688830e17ee 13-Sep-2011 The Android Automerger <android-build@android.com> keep history after reconcile of gingerbread-release
8ca43a0008a10ddd3915bfdc12f63440dc2a6a22 12-Sep-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with gingerbread-release

Change-Id: Idd382400f3db9808e7d3d532e67f84be11c493ab
8dfe7824380448cca8a09596768cc14d4d7db02d 03-Sep-2011 Brian Carlstrom <bdc@google.com> Blacklist two additional DigiNotar intermediate CAs

Based on Chrome CL:
http://src.chromium.org/viewvc/chrome?view=rev&revision=99534

Bug: 5232736
Change-Id: Ib68d564aa2b12c8c8f18d769f563f3f6d0b3fda2
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
d1f1330bfb0502cd945938fabb2752e4351c6cb7 09-Sep-2011 android-merger <android-build@android.com> Add Chrome-style public key blacklist to CertPathValidator

Based on Chrome's CLs to blacklist the DigiNotar Root CA.
http://src.chromium.org/viewvc/chrome?view=rev&revision=98750

Also cherry-pick IndexedPKIXParameters performance fix from
60f1dce097d78928597a5d057577596162e825fd to ameliorate the cost of the
new SHA1 computations.

Bug: 5232736
Bug: http://code.google.com/p/android/issues/detail?id=18793
Change-Id: I3aae7472be4ee971d98ba8cd0ce9c673c82813b8

Conflicts:

patches/android.patch
src/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
4554be939650dfffb52eda333fac44800e74abac 09-Sep-2011 Jean-Baptiste Queru <jbq@google.com> Reconcile with gingerbread-release gingerbread-mr4-release honeycomb-LTE-release

Change-Id: I320527540fdce2e199519850517b765fee6724e5
f12be074dc46fb137d36aa26da7e5669e48f7f68 08-Sep-2011 Brian Carlstrom <bdc@google.com> am 11df7aef: am 8ecc24b7: (-s ours) resolved conflicts for merge of d3cb3af5 to gingerbread-plus-aosp

* commit '11df7aef41781705b6da618ed04d36091e50b1ba':
Blacklist two additional DigiNotar intermediate CAs
6b1eb9b22af554c7cf858b75ec25c9e26d25c6cd 08-Sep-2011 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of e903eaf4 to master

Change-Id: I5e37b50e0f6ed6cd61fa1310c15799442d702b61
3c52470aa7ddd4bffa1a9659f08f3ee422946b78 03-Sep-2011 Brian Carlstrom <bdc@google.com> Blacklist two additional DigiNotar intermediate CAs

Based on Chrome CL:
http://src.chromium.org/viewvc/chrome?view=rev&revision=99534

Bug: 5232736
Change-Id: Ib68d564aa2b12c8c8f18d769f563f3f6d0b3fda2
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
7a802e38a9a0b028d03def4cca3c3831b4276630 03-Sep-2011 Brian Carlstrom <bdc@google.com> Blacklist two additional DigiNotar intermediate CAs

Based on Chrome CL:
http://src.chromium.org/viewvc/chrome?view=rev&revision=99534

Bug: 5232736

(cherry picked from commit 90b14303be21b89007bd155efab7d880ee6814c9)

Change-Id: Ia18e0aa54378285327d33f3ce5ff4678712c80c3
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
11df7aef41781705b6da618ed04d36091e50b1ba 06-Sep-2011 Brian Carlstrom <bdc@google.com> am 8ecc24b7: (-s ours) resolved conflicts for merge of d3cb3af5 to gingerbread-plus-aosp

* commit '8ecc24b7732428f2424b954d95cd9377fbdf80e3':
Blacklist two additional DigiNotar intermediate CAs
8ecc24b7732428f2424b954d95cd9377fbdf80e3 06-Sep-2011 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of d3cb3af5 to gingerbread-plus-aosp

Change-Id: I8cfc745b1028209c6d4888156420682d042aacd8
e903eaf4186665cdf1d25f992d3201ae158a4448 03-Sep-2011 Brian Carlstrom <bdc@google.com> am 4023e4c4: Blacklist two additional DigiNotar intermediate CAs

* commit '4023e4c4a1bca1fa4df1e9dc3cbc19ee2a723485':
Blacklist two additional DigiNotar intermediate CAs
4023e4c4a1bca1fa4df1e9dc3cbc19ee2a723485 03-Sep-2011 Brian Carlstrom <bdc@google.com> Blacklist two additional DigiNotar intermediate CAs

Based on Chrome CL:
http://src.chromium.org/viewvc/chrome?view=rev&revision=99534

Bug: 5232736

(cherry picked from commit 90b14303be21b89007bd155efab7d880ee6814c9)

Change-Id: Ia18e0aa54378285327d33f3ce5ff4678712c80c3
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
d3cb3af5d0fdf6c1dc7c3c2c248261ff46c61219 03-Sep-2011 Brian Carlstrom <bdc@google.com> Blacklist two additional DigiNotar intermediate CAs

Based on Chrome CL:
http://src.chromium.org/viewvc/chrome?view=rev&revision=99534

Bug: 5232736
Change-Id: Ib68d564aa2b12c8c8f18d769f563f3f6d0b3fda2
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
4c4ac540f92bbbf9524ab433e0234e8205a9952d 31-Aug-2011 Brian Carlstrom <bdc@google.com> Add Chrome-style public key blacklist to CertPathValidator

Based on Chrome's CLs to blacklist the DigiNotar Root CA.
http://src.chromium.org/viewvc/chrome?view=rev&revision=98750

Also cherry-pick IndexedPKIXParameters performance fix from
60f1dce097d78928597a5d057577596162e825fd to ameliorate the cost of the
new SHA1 computations.

Bug: 5232736
Bug: http://code.google.com/p/android/issues/detail?id=18793
Change-Id: I3aae7472be4ee971d98ba8cd0ce9c673c82813b8
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
daefcd57fe39cb92d004ad09ff01934d26f7f4e7 31-Aug-2011 Brian Carlstrom <bdc@google.com> Add Chrome-style public key blacklist to CertPathValidator

Based on Chrome's CLs to blacklist the DigiNotar Root CA.
http://src.chromium.org/viewvc/chrome?view=rev&revision=98750

Bug: 5232736

(cherry picked from commit b44f0edcf5164b260a2c11207928984f2d84c079)

Change-Id: I15454c9ed676b59d8d001b0a18d68fb69e41d828
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
314237e25970f9dc2457996c1c5f5151636d9680 02-Sep-2011 Brian Carlstrom <bdc@google.com> am aa628f4f: am 1e307dfd: (-s ours) resolved conflicts for merge of c5f0a0c5 to gingerbread-plus-aosp

* commit 'aa628f4f6a528019a22d69e33a024fb2a24819ff':
Add Chrome-style public key blacklist to CertPathValidator
6fe522ad2daa8168fe9345f32f7bfc677fa86fd2 01-Sep-2011 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of fd163e51 to master

Change-Id: I14f5d5b1f75c876dec7c74d8682a738e62d4352b
aa628f4f6a528019a22d69e33a024fb2a24819ff 01-Sep-2011 Brian Carlstrom <bdc@google.com> am 1e307dfd: (-s ours) resolved conflicts for merge of c5f0a0c5 to gingerbread-plus-aosp

* commit '1e307dfd0eeca73d4cde1f55e91ee216f4a07eee':
Add Chrome-style public key blacklist to CertPathValidator
fd163e512fb25a4f75534ec765f7d066e5f8553b 01-Sep-2011 Brian Carlstrom <bdc@google.com> am 541e3098: Add Chrome-style public key blacklist to CertPathValidator

* commit '541e309823a8c4f7746c05cc670e192166217a3a':
Add Chrome-style public key blacklist to CertPathValidator
541e309823a8c4f7746c05cc670e192166217a3a 31-Aug-2011 Brian Carlstrom <bdc@google.com> Add Chrome-style public key blacklist to CertPathValidator

Based on Chrome's CLs to blacklist the DigiNotar Root CA.
http://src.chromium.org/viewvc/chrome?view=rev&revision=98750

Bug: 5232736

(cherry picked from commit b44f0edcf5164b260a2c11207928984f2d84c079)

Change-Id: I15454c9ed676b59d8d001b0a18d68fb69e41d828
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
1e307dfd0eeca73d4cde1f55e91ee216f4a07eee 01-Sep-2011 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of c5f0a0c5 to gingerbread-plus-aosp

Change-Id: I6264d2fd3d119d0b7dde4ddc961bc128040e206f
436e8f565144b364a83a182d2c1baae00781afa2 31-Aug-2011 Brian Carlstrom <bdc@google.com> Add Chrome-style public key blacklist to CertPathValidator

Based on Chrome's CLs to blacklist the DigiNotar Root CA.
http://src.chromium.org/viewvc/chrome?view=rev&revision=98750

Also cherry-pick IndexedPKIXParameters performance fix from
60f1dce097d78928597a5d057577596162e825fd to ameliorate the cost of the
new SHA1 computations.

Bug: 5232736
Bug: http://code.google.com/p/android/issues/detail?id=18793
Change-Id: I3aae7472be4ee971d98ba8cd0ce9c673c82813b8
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
c5f0a0c57ebba2eef2468cf6a94c1c050e1f1d36 31-Aug-2011 Brian Carlstrom <bdc@google.com> Add Chrome-style public key blacklist to CertPathValidator

Based on Chrome's CLs to blacklist the DigiNotar Root CA.
http://src.chromium.org/viewvc/chrome?view=rev&revision=98750

Also cherry-pick IndexedPKIXParameters performance fix from
60f1dce097d78928597a5d057577596162e825fd to ameliorate the cost of the
new SHA1 computations.

Bug: 5232736
Bug: http://code.google.com/p/android/issues/detail?id=18793
Change-Id: I3aae7472be4ee971d98ba8cd0ce9c673c82813b8
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
f9310af47159b2796c6bb75b5766bc263036b088 29-Jul-2011 Wei Zhong <wzhong@google.com> Convert LICENSE.html to NOTICE in plain text.

Bug: 5091335

Change-Id: I9aae71538961ad5f3a3a340b876ed97914bca529
Signed-off-by: Wei Zhong <wzhong@google.com>
OTICE
mport_bouncycastle.sh
1f0fd42634c77632c74012b4dfe3d91aea42e3fb 17-Jul-2011 Brian Carlstrom <bdc@google.com> Signature verification problem

Bug: http://code.google.com/p/android/issues/detail?id=18566
Bug: 5038554
Change-Id: I2dcfe518d4b72fa79bc493c61cf8f83f3ab3100c
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/JDKDigestSignature.java
ea26f188e84c7677b943d83cec49372793e81445 07-Jun-2011 Brian Carlstrom <bdc@google.com> Restore bouncycastle PEMReader to match PEMWriter

Change-Id: I1ebd086895e8da2af2e0d21dd6529650d81adb12
ouncycastle.config
atches/android.patch
rc/main/java/org/bouncycastle/asn1/pkcs/PBEParameter.java
rc/main/java/org/bouncycastle/jce/ECNamedCurveTable.java
rc/main/java/org/bouncycastle/openssl/PEMException.java
rc/main/java/org/bouncycastle/openssl/PEMReader.java
rc/main/java/org/bouncycastle/openssl/PasswordException.java
rc/main/java/org/bouncycastle/openssl/PasswordFinder.java
db9f6e2562dff550a3c62aeb7c96e72fc40d1a06 22-May-2011 Brian Carlstrom <bdc@google.com> Now that we aren't using BC's CertFactory for in memory CAs, revert alloc patches

Change-Id: I4b504b16c5c4f5ce0b066d7698fd2013994e4d7d
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/asn1/ASN1Collection.java
rc/main/java/org/bouncycastle/asn1/ASN1Sequence.java
rc/main/java/org/bouncycastle/asn1/ASN1Set.java
rc/main/java/org/bouncycastle/asn1/OrderedTable.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extensions.java
rc/main/java/org/bouncycastle/asn1/x509/X509Name.java
rc/main/java/org/bouncycastle/asn1/x509/X509NameElementList.java
rc/main/java/org/bouncycastle/jce/provider/PKCS12BagAttributeCarrierImpl.java
c4fa740cf84a54fceb87964ca8ea666fd41b5b8f 20-May-2011 Brian Carlstrom <bdc@google.com> Remove IndexedPKIXParameters

Change-Id: If906010b9c5b9f5da803885b316fa7b9e4a7db0f
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
f29b14e550bd5d2a37b360813573c2332f670112 05-May-2011 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
3abca75458de192040629cb09ee4eefa71789b17 15-Apr-2011 Brian Carlstrom <bdc@google.com> Be more consistent in the use of ARC4

Change-Id: I8d001b1e91bca8b50db95395138991959c97ac0f
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/symmetric/ARC4.java
6e736056d64d0e33b26cf9f7c4e351b496241fde 26-Feb-2011 Brian Carlstrom <bdc@google.com> bouncycastle 1.46 upgrade

Change-Id: I01be307de0a79b3058215d76e67f39f77243a619
OTICE
EADME.android
hirdPartyProject.prop
ouncycastle.config
ouncycastle.version
atches/android.patch
rc/main/java/org/bouncycastle/asn1/ASN1ApplicationSpecificParser.java
rc/main/java/org/bouncycastle/asn1/ASN1EncodableVector.java
rc/main/java/org/bouncycastle/asn1/ASN1Enumerated.java
rc/main/java/org/bouncycastle/asn1/ASN1Exception.java
rc/main/java/org/bouncycastle/asn1/ASN1GeneralizedTime.java
rc/main/java/org/bouncycastle/asn1/ASN1InputStream.java
rc/main/java/org/bouncycastle/asn1/ASN1Integer.java
rc/main/java/org/bouncycastle/asn1/ASN1Object.java
rc/main/java/org/bouncycastle/asn1/ASN1ObjectIdentifier.java
rc/main/java/org/bouncycastle/asn1/ASN1ObjectParser.java
rc/main/java/org/bouncycastle/asn1/ASN1OctetString.java
rc/main/java/org/bouncycastle/asn1/ASN1OctetStringParser.java
rc/main/java/org/bouncycastle/asn1/ASN1Sequence.java
rc/main/java/org/bouncycastle/asn1/ASN1SequenceParser.java
rc/main/java/org/bouncycastle/asn1/ASN1Set.java
rc/main/java/org/bouncycastle/asn1/ASN1SetParser.java
rc/main/java/org/bouncycastle/asn1/ASN1StreamParser.java
rc/main/java/org/bouncycastle/asn1/ASN1String.java
rc/main/java/org/bouncycastle/asn1/ASN1TaggedObject.java
rc/main/java/org/bouncycastle/asn1/ASN1TaggedObjectParser.java
rc/main/java/org/bouncycastle/asn1/ASN1UTCTime.java
rc/main/java/org/bouncycastle/asn1/BERApplicationSpecificParser.java
rc/main/java/org/bouncycastle/asn1/BERConstructedOctetString.java
rc/main/java/org/bouncycastle/asn1/BERConstructedSequence.java
rc/main/java/org/bouncycastle/asn1/BERInputStream.java
rc/main/java/org/bouncycastle/asn1/BEROctetStringParser.java
rc/main/java/org/bouncycastle/asn1/BERSequence.java
rc/main/java/org/bouncycastle/asn1/BERSequenceParser.java
rc/main/java/org/bouncycastle/asn1/BERSet.java
rc/main/java/org/bouncycastle/asn1/BERSetParser.java
rc/main/java/org/bouncycastle/asn1/BERTaggedObjectParser.java
rc/main/java/org/bouncycastle/asn1/DERBMPString.java
rc/main/java/org/bouncycastle/asn1/DERBitString.java
rc/main/java/org/bouncycastle/asn1/DERBoolean.java
rc/main/java/org/bouncycastle/asn1/DERConstructedSequence.java
rc/main/java/org/bouncycastle/asn1/DERConstructedSet.java
rc/main/java/org/bouncycastle/asn1/DEREnumerated.java
rc/main/java/org/bouncycastle/asn1/DERExternal.java
rc/main/java/org/bouncycastle/asn1/DERExternalParser.java
rc/main/java/org/bouncycastle/asn1/DERGeneralString.java
rc/main/java/org/bouncycastle/asn1/DERGeneralizedTime.java
rc/main/java/org/bouncycastle/asn1/DERIA5String.java
rc/main/java/org/bouncycastle/asn1/DERInputStream.java
rc/main/java/org/bouncycastle/asn1/DERInteger.java
rc/main/java/org/bouncycastle/asn1/DERNumericString.java
rc/main/java/org/bouncycastle/asn1/DERObjectIdentifier.java
rc/main/java/org/bouncycastle/asn1/DEROctetStringParser.java
rc/main/java/org/bouncycastle/asn1/DERPrintableString.java
rc/main/java/org/bouncycastle/asn1/DERSequence.java
rc/main/java/org/bouncycastle/asn1/DERSequenceParser.java
rc/main/java/org/bouncycastle/asn1/DERSet.java
rc/main/java/org/bouncycastle/asn1/DERSetParser.java
rc/main/java/org/bouncycastle/asn1/DERString.java
rc/main/java/org/bouncycastle/asn1/DERT61String.java
rc/main/java/org/bouncycastle/asn1/DERUTCTime.java
rc/main/java/org/bouncycastle/asn1/DERUTF8String.java
rc/main/java/org/bouncycastle/asn1/DERUniversalString.java
rc/main/java/org/bouncycastle/asn1/DefiniteLengthInputStream.java
rc/main/java/org/bouncycastle/asn1/InMemoryRepresentable.java
rc/main/java/org/bouncycastle/asn1/IndefiniteLengthInputStream.java
rc/main/java/org/bouncycastle/asn1/LazyDERSequence.java
rc/main/java/org/bouncycastle/asn1/LimitedInputStream.java
rc/main/java/org/bouncycastle/asn1/cms/CMSObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/cms/ContentInfo.java
rc/main/java/org/bouncycastle/asn1/iana/IANAObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/isismtt/ISISMTTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/misc/MiscObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/nist/NISTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/oiw/OIWObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertificationRequest.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertificationRequestInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptedData.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptionScheme.java
rc/main/java/org/bouncycastle/asn1/pkcs/KeyDerivationFunc.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java
rc/main/java/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/pkcs/PrivateKeyInfo.java
rc/main/java/org/bouncycastle/asn1/sec/SECObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/teletrust/TeleTrusTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/util/ASN1Dump.java
rc/main/java/org/bouncycastle/asn1/x500/AttributeTypeAndValue.java
rc/main/java/org/bouncycastle/asn1/x500/DirectoryString.java
rc/main/java/org/bouncycastle/asn1/x500/RDN.java
rc/main/java/org/bouncycastle/asn1/x500/X500Name.java
rc/main/java/org/bouncycastle/asn1/x500/X500NameBuilder.java
rc/main/java/org/bouncycastle/asn1/x500/X500NameStyle.java
rc/main/java/org/bouncycastle/asn1/x500/style/BCStrictStyle.java
rc/main/java/org/bouncycastle/asn1/x500/style/BCStyle.java
rc/main/java/org/bouncycastle/asn1/x500/style/IETFUtils.java
rc/main/java/org/bouncycastle/asn1/x500/style/RFC4519Style.java
rc/main/java/org/bouncycastle/asn1/x500/style/X500NameTokenizer.java
rc/main/java/org/bouncycastle/asn1/x509/AlgorithmIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/Attribute.java
rc/main/java/org/bouncycastle/asn1/x509/AttributeCertificate.java
rc/main/java/org/bouncycastle/asn1/x509/CertificateList.java
rc/main/java/org/bouncycastle/asn1/x509/DistributionPointName.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralName.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralSubtree.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertList.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertificateStructure.java
rc/main/java/org/bouncycastle/asn1/x509/Time.java
rc/main/java/org/bouncycastle/asn1/x509/V1TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/V3TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/X509CertificateStructure.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extension.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extensions.java
rc/main/java/org/bouncycastle/asn1/x509/X509Name.java
rc/main/java/org/bouncycastle/asn1/x509/X509ObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x9/DHDomainParameters.java
rc/main/java/org/bouncycastle/asn1/x9/DHPublicKey.java
rc/main/java/org/bouncycastle/asn1/x9/DHValidationParms.java
rc/main/java/org/bouncycastle/asn1/x9/X9ObjectIdentifiers.java
rc/main/java/org/bouncycastle/crypto/BufferedBlockCipher.java
rc/main/java/org/bouncycastle/crypto/SignerWithRecovery.java
rc/main/java/org/bouncycastle/crypto/digests/NullDigest.java
rc/main/java/org/bouncycastle/crypto/encodings/ISO9796d1Encoding.java
rc/main/java/org/bouncycastle/crypto/generators/DHParametersHelper.java
rc/main/java/org/bouncycastle/crypto/generators/DSAParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/macs/CMac.java
rc/main/java/org/bouncycastle/crypto/modes/EAXBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/gcm/GCMUtil.java
rc/main/java/org/bouncycastle/crypto/signers/ECDSASigner.java
rc/main/java/org/bouncycastle/crypto/util/Pack.java
rc/main/java/org/bouncycastle/crypto/util/PrivateKeyFactory.java
rc/main/java/org/bouncycastle/crypto/util/PublicKeyFactory.java
rc/main/java/org/bouncycastle/jce/PKCS10CertificationRequest.java
rc/main/java/org/bouncycastle/jce/X509Principal.java
rc/main/java/org/bouncycastle/jce/netscape/NetscapeCertRequest.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHKeyAgreement.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEECPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEECPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEKeyGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JCEMac.java
rc/main/java/org/bouncycastle/jce/provider/JCERSACipher.java
rc/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JCEStreamCipher.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSASigner.java
rc/main/java/org/bouncycastle/jce/provider/JDKDigestSignature.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKPKCS12StoreParameter.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCRLUtil.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPath.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java
rc/main/java/org/bouncycastle/jce/provider/ProviderUtil.java
rc/main/java/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java
rc/main/java/org/bouncycastle/jce/provider/WrapCipherSpi.java
rc/main/java/org/bouncycastle/jce/provider/X509CRLEntryObject.java
rc/main/java/org/bouncycastle/jce/provider/X509CRLObject.java
rc/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/EC.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ECMappings.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/KeyPairGenerator.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/Signature.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/AES.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/AESMappings.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/ARC4.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/Blowfish.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/DESede.java
rc/main/java/org/bouncycastle/jce/provider/util/NullDigest.java
rc/main/java/org/bouncycastle/math/ec/ECAlgorithms.java
rc/main/java/org/bouncycastle/math/ec/ECCurve.java
rc/main/java/org/bouncycastle/math/ec/ECPoint.java
rc/main/java/org/bouncycastle/math/ec/WNafMultiplier.java
rc/main/java/org/bouncycastle/math/ec/WNafPreCompInfo.java
rc/main/java/org/bouncycastle/math/ec/WTauNafMultiplier.java
rc/main/java/org/bouncycastle/math/ec/WTauNafPreCompInfo.java
rc/main/java/org/bouncycastle/openssl/MiscPEMGenerator.java
rc/main/java/org/bouncycastle/openssl/PEMUtilities.java
rc/main/java/org/bouncycastle/openssl/PEMWriter.java
rc/main/java/org/bouncycastle/util/Arrays.java
rc/main/java/org/bouncycastle/util/Strings.java
rc/main/java/org/bouncycastle/util/io/pem/PemGenerationException.java
rc/main/java/org/bouncycastle/util/io/pem/PemHeader.java
rc/main/java/org/bouncycastle/util/io/pem/PemObject.java
rc/main/java/org/bouncycastle/util/io/pem/PemObjectGenerator.java
rc/main/java/org/bouncycastle/util/io/pem/PemObjectParser.java
rc/main/java/org/bouncycastle/util/io/pem/PemReader.java
rc/main/java/org/bouncycastle/util/io/pem/PemWriter.java
rc/main/java/org/bouncycastle/x509/AttributeCertificateHolder.java
rc/main/java/org/bouncycastle/x509/AttributeCertificateIssuer.java
rc/main/java/org/bouncycastle/x509/X509Util.java
rc/main/java/org/bouncycastle/x509/X509V1CertificateGenerator.java
rc/main/java/org/bouncycastle/x509/X509V2AttributeCertificate.java
rc/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java
rc/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java
a597b75c84517dad0acb373ed342e89d3127755d 02-Apr-2011 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
e79b0b3de8339dfacc18d3dc9fad69882b6c6eb2 31-Mar-2011 Brian Carlstrom <bdc@google.com> am 016d9bc9: (-s ours) am a93e2215: (-s ours) am 1015c955: (-s ours) am 3ab12958: (-s ours) Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE

* commit '016d9bc9d0d314043a6beac30ab3bb033370e415':
016d9bc9d0d314043a6beac30ab3bb033370e415 31-Mar-2011 Brian Carlstrom <bdc@google.com> am a93e2215: (-s ours) am 1015c955: (-s ours) am 3ab12958: (-s ours) Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE

* commit 'a93e22158162cd589dc8eea88343ec9e05927c8c':
a93e22158162cd589dc8eea88343ec9e05927c8c 30-Mar-2011 Brian Carlstrom <bdc@google.com> am 1015c955: (-s ours) am 3ab12958: (-s ours) Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE

* commit '1015c955c9c04a0282830e36d029dd46a1452c09':
d390bda9a8f2e9473a82f8b66221bf78281e0cf0 29-Mar-2011 Brian Carlstrom <bdc@google.com> am 309cbd02: (-s ours) am 32985ed6: (-s ours) am 3ab12958: (-s ours) Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE

* commit '309cbd0230e84abb4146d1fe0d5891e393fc801f':
Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE
309cbd0230e84abb4146d1fe0d5891e393fc801f 29-Mar-2011 Brian Carlstrom <bdc@google.com> am 32985ed6: (-s ours) am 3ab12958: (-s ours) Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE

* commit '32985ed623ba6e3d5913d1ce7c24acab706beddd':
Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE
32985ed623ba6e3d5913d1ce7c24acab706beddd 29-Mar-2011 Brian Carlstrom <bdc@google.com> am 3ab12958: (-s ours) Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE

* commit '3ab12958718f17e48e2816a84d403f6305cc2800':
Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE
1015c955c9c04a0282830e36d029dd46a1452c09 28-Mar-2011 Brian Carlstrom <bdc@google.com> am 3ab12958: (-s ours) Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE

* commit '3ab12958718f17e48e2816a84d403f6305cc2800':
Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE
092d153de4792ecfbdb28c6b4910a9e46ee848be 24-Mar-2011 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 34c261b1 to dalvik-dev

Change-Id: I23286ba69075c22028b229f611364e293db22860
3ab12958718f17e48e2816a84d403f6305cc2800 24-Mar-2011 Brian Carlstrom <bdc@google.com> Add Chrome-style certificate blacklist to CertPathValidator DO NOT MERGE

Based on Chrome's CLs to blacklist the malformed certificates from
Comodo's recent fraud incident.
http://src.chromium.org/viewvc/chrome?view=rev&revision=78478
http://src.chromium.org/viewvc/chrome?view=rev&revision=78748
http://src.chromium.org/viewvc/chrome?view=rev&revision=78869

Bug: 4165439
git cherry-pick -e 34c261b1a00029744cfb7de1a69dca4b3ffb51a1

Change-Id: Ib756d920b30c7b203dd1607bcad46b0eaced1551
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
34c261b1a00029744cfb7de1a69dca4b3ffb51a1 24-Mar-2011 Brian Carlstrom <bdc@google.com> Add Chrome-style certificate blacklist to CertPathValidator

Based on Chrome's CLs to blacklist the malformed certificates from
Comodo's recent fraud incident.
http://src.chromium.org/viewvc/chrome?view=rev&revision=78478
http://src.chromium.org/viewvc/chrome?view=rev&revision=78748
http://src.chromium.org/viewvc/chrome?view=rev&revision=78869

Bug: 4165439
Change-Id: I51c79f1cb425b887d4fd11c5a33e230fee795668
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
253ce5e6c172a18248469ffc62748a31c64e825c 24-Feb-2011 Jesse Wilson <jessewilson@google.com> Log entry/exit into a troublesome slow method.

Change-Id: I6bde4b8b8c819f94052cf9bb948424747c3fd175
http://b/3474446
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/crypto/generators/DHParametersHelper.java
4aaaa5682baf20a2528003916078b9c875117728 02-Feb-2011 Brian Carlstrom <bdc@google.com> Tracking changes to NativeCrypto API

Bug: 3392028
Change-Id: If0965c2015cf9aac98087029b550929521d25a68
atches/android.patch
rc/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java
434fc78f07ab056c9206e34abc6d5d4f832adfec 25-Jan-2011 Brian Carlstrom <bdc@google.com> jarjar org.bouncycastle to com.android.org.bouncycastle

Repackaging org.bouncycastle.* into the private namespace
com.android.org.bouncycastle.* to avoid collisions with applications
bundling their own version of BouncyCastle.

Bug: 3086427
Change-Id: If3b02f9e9a3e2c9bf220a420de17d61932feb165
ndroid.mk
arjar-rules.txt
75a8d848585487963c9cf5d5a65a947eceb37d77 24-Jan-2011 Brian Carlstrom <bdc@google.com> Add DSA support to JDKKeyManager.engineGetKeySpec

Bug: 3286592
Change-Id: Ic1f47baf791ea8c46b192731ec1b159a07ab5ff8
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/JDKKeyFactory.java
8212855a312dc8ebe081a3e08b1d2d8f8757af02 08-Nov-2010 Brian Carlstrom <bdc@google.com> Restoring bouncycastle Elliptic Curve Key support

Specific algorithms now available:
- KeyAgreement.ECDH
- KeyFactory.EC
- KeyPairGenerator.EC
- Signature.NONEWITHECDSA
- Signature.ECDSA
- Signature.SHA256WITHECDSA
- Signature.SHA384WITHECDSA
- Signature.SHA512WITHECDSA

Bug: 3058375
Change-Id: I611b23b2f72bb5d9898d4c695f1677c7914353c6
ouncycastle.config
atches/android.patch
rc/main/java/org/bouncycastle/asn1/nist/NISTNamedCurves.java
rc/main/java/org/bouncycastle/asn1/sec/ECPrivateKeyStructure.java
rc/main/java/org/bouncycastle/asn1/sec/SECNamedCurves.java
rc/main/java/org/bouncycastle/asn1/sec/SECObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x9/X962NamedCurves.java
rc/main/java/org/bouncycastle/asn1/x9/X962Parameters.java
rc/main/java/org/bouncycastle/asn1/x9/X9Curve.java
rc/main/java/org/bouncycastle/asn1/x9/X9ECParameters.java
rc/main/java/org/bouncycastle/asn1/x9/X9ECParametersHolder.java
rc/main/java/org/bouncycastle/asn1/x9/X9ECPoint.java
rc/main/java/org/bouncycastle/asn1/x9/X9FieldElement.java
rc/main/java/org/bouncycastle/asn1/x9/X9FieldID.java
rc/main/java/org/bouncycastle/asn1/x9/X9IntegerConverter.java
rc/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java
rc/main/java/org/bouncycastle/crypto/generators/ECKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/params/ECDomainParameters.java
rc/main/java/org/bouncycastle/crypto/params/ECKeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/params/ECKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/ECPrivateKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/ECPublicKeyParameters.java
rc/main/java/org/bouncycastle/crypto/signers/ECDSASigner.java
rc/main/java/org/bouncycastle/crypto/util/PrivateKeyFactory.java
rc/main/java/org/bouncycastle/crypto/util/PublicKeyFactory.java
rc/main/java/org/bouncycastle/jce/interfaces/ECKey.java
rc/main/java/org/bouncycastle/jce/interfaces/ECPointEncoder.java
rc/main/java/org/bouncycastle/jce/interfaces/ECPrivateKey.java
rc/main/java/org/bouncycastle/jce/interfaces/ECPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/DSABase.java
rc/main/java/org/bouncycastle/jce/provider/DSAEncoder.java
rc/main/java/org/bouncycastle/jce/provider/JCEECPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEECPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/ProviderUtil.java
rc/main/java/org/bouncycastle/jce/provider/WrapCipherSpi.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ECMappings.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/EC5Util.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/ECUtil.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/KeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/KeyPairGenerator.java
rc/main/java/org/bouncycastle/jce/provider/asymmetric/ec/Signature.java
rc/main/java/org/bouncycastle/jce/spec/ECKeySpec.java
rc/main/java/org/bouncycastle/jce/spec/ECNamedCurveParameterSpec.java
rc/main/java/org/bouncycastle/jce/spec/ECNamedCurveSpec.java
rc/main/java/org/bouncycastle/jce/spec/ECParameterSpec.java
rc/main/java/org/bouncycastle/jce/spec/ECPrivateKeySpec.java
rc/main/java/org/bouncycastle/jce/spec/ECPublicKeySpec.java
rc/main/java/org/bouncycastle/math/ec/ECAlgorithms.java
rc/main/java/org/bouncycastle/math/ec/ECConstants.java
rc/main/java/org/bouncycastle/math/ec/ECCurve.java
rc/main/java/org/bouncycastle/math/ec/ECFieldElement.java
rc/main/java/org/bouncycastle/math/ec/ECMultiplier.java
rc/main/java/org/bouncycastle/math/ec/ECPoint.java
rc/main/java/org/bouncycastle/math/ec/FpNafMultiplier.java
rc/main/java/org/bouncycastle/math/ec/IntArray.java
rc/main/java/org/bouncycastle/math/ec/PreCompInfo.java
rc/main/java/org/bouncycastle/math/ec/SimpleBigDecimal.java
rc/main/java/org/bouncycastle/math/ec/Tnaf.java
rc/main/java/org/bouncycastle/math/ec/ZTauElement.java
4fd8dc053196f660b5bd66c8a6d5dbf5d6428b67 09-Nov-2010 Brian Carlstrom <bdc@google.com> Fix KeyGenerator.init(int, null) by defaulting to new SecureRandom

Change-Id: Ia64036af26da631cacf8938a9b1cb0e859cc816e
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/JCEKeyGenerator.java
60f1dce097d78928597a5d057577596162e825fd 02-Nov-2010 Brian Carlstrom <bdc@google.com> CertPathValidator changes tracking libcore TrustManager improvements

Revert checks for TrustAnchors in the cert chain, which is not part of
PKIX behavior. This is now done as part of cleaning in the cert chain
in libcore's TrustManagerImpl.

patches/README
src/main/java/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
src/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
src/main/java/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java

Preserve IndexedPKIXParameters in local to keep our O(1) indexed
lookup of TrustAnchors by X500Principal, instead of falling back to
O(n) lookup in the common case.

src/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java

Updated patch

patches/android.patch

Bug: 2530852
Change-Id: Iecb671797496c3bc6a4e1a22c848b28af4bc756e
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
rc/main/java/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java
cc041ec354960aa3dfcb84950505968be3871b68 14-Oct-2010 Brian Carlstrom <bdc@google.com> am cd508cf8: Restoring two more bouncycastle classes for compatibility

Merge commit 'cd508cf8c2f1b68e13a8fa977fb7296f4bd78fb5'

* commit 'cd508cf8c2f1b68e13a8fa977fb7296f4bd78fb5':
Restoring two more bouncycastle classes for compatibility
5a4cf7aa085950335802cf12e3da5f4a4be7621e 13-Oct-2010 Brian Carlstrom <bdc@google.com> am 121a1852: Restore X509V1CertificateGenerator for application compatibility

Merge commit '121a1852494f154e2a8c29a75c1429b7c3636b49'

* commit '121a1852494f154e2a8c29a75c1429b7c3636b49':
Restore X509V1CertificateGenerator for application compatibility
cd508cf8c2f1b68e13a8fa977fb7296f4bd78fb5 12-Oct-2010 Brian Carlstrom <bdc@google.com> Restoring two more bouncycastle classes for compatibility

Bug: 3086427
Change-Id: I7500d43f11630fdf52b70001f110400bcee6c2e1
ouncycastle.config
rc/main/java/org/bouncycastle/asn1/x509/ExtendedKeyUsage.java
rc/main/java/org/bouncycastle/asn1/x509/KeyPurposeId.java
121a1852494f154e2a8c29a75c1429b7c3636b49 11-Oct-2010 Brian Carlstrom <bdc@google.com> Restore X509V1CertificateGenerator for application compatibility

Bug: 3086427
Change-Id: Ib93464a2184532dde935a1ce9ad8dda0df2324c1
ouncycastle.config
rc/main/java/org/bouncycastle/asn1/x509/V1TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/x509/X509V1CertificateGenerator.java
83ebf91dca9720cd1575bbb8f19fe976ab99f77c 06-Oct-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 5faee297 to master

Change-Id: Ie91354430d7a81a1fe800e968bbcc959d43231a1
5faee297baafbc31667954a404d0451916ef5c59 04-Oct-2010 Brian Carlstrom <bdc@google.com> Adding SecretKeyFactory.PBKDF2WithHmacSHA1 support wrapper

Bug: 3059950
Change-Id: I9de5e0ebed773818aeeb6831d48db308b09a4246
ouncycastle.config
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Algorithms.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBKDF2Params.java
rc/main/java/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java
f2f9cd54598d633a9895f741629bd26c2a5ecc05 24-Sep-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
1ccabac0c90424cb8a7cc9de7490242a8c00b115 22-Sep-2010 Brian Carlstrom <bdc@google.com> am 02c8f348: Fix OpenSSLDigest.reset broken by uninitialized openssl field

Merge commit '02c8f348933077d53ccd82e4923adab2fbb23a5d' into dalvik-dev

* commit '02c8f348933077d53ccd82e4923adab2fbb23a5d':
Fix OpenSSLDigest.reset broken by uninitialized openssl field
02c8f348933077d53ccd82e4923adab2fbb23a5d 22-Sep-2010 Brian Carlstrom <bdc@google.com> Fix OpenSSLDigest.reset broken by uninitialized openssl field

Bug: 3024499
Change-Id: I70c54fa912251e17c5f48b258b006006e9085e7a
rc/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java
aacb8328c934db45609bf1ebd98c479915657457 21-Sep-2010 Brian Carlstrom <bdc@google.com> am b9a95895: Move ThirdPartyProject.prop for bouncycastle from libcore

Merge commit 'b9a95895304a2d1ffad46094cd525e3e38408083' into dalvik-dev

* commit 'b9a95895304a2d1ffad46094cd525e3e38408083':
Move ThirdPartyProject.prop for bouncycastle from libcore
b9a95895304a2d1ffad46094cd525e3e38408083 21-Sep-2010 Brian Carlstrom <bdc@google.com> Move ThirdPartyProject.prop for bouncycastle from libcore

Change-Id: I4da383997a65f03ac8bf8befb41a65da97082fa7
hirdPartyProject.prop
4cd570eb462e4b52437678d211eca4d7c583dc68 17-Sep-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of a87bb975 to dalvik-dev

Change-Id: Idba21162841f987a1c970624d4f7988b978e3635
71d880facc717b736ea42fd0f9d70376ad1b84b5 17-Sep-2010 Jesse Wilson <jessewilson@google.com> am fa0f9bd8: Add optional tags to bouncycastle modules.

Merge commit 'fa0f9bd8b89584a58337208fe2a0c3ce890e76a1' into dalvik-dev

* commit 'fa0f9bd8b89584a58337208fe2a0c3ce890e76a1':
Add optional tags to bouncycastle modules.
3988dbd41790f434989bc37b62da1e3e8bbb7cac 17-Sep-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 396d87da to dalvik-dev

Change-Id: Ibab59182761145b1e3b8b1f44302fe8fc631e4df
a87bb975f580350ece37a0a749e5417caaf94180 17-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "bouncycastle OpenSSLDigest tracking changes to OpenSSLMessageDigestJDK" into gingerbread
f0b8bf99b5089746133f049dc14e934432a9ff0d 17-Sep-2010 Brian Carlstrom <bdc@google.com> bouncycastle OpenSSLDigest tracking changes to OpenSSLMessageDigestJDK

Bug: 2997009
Change-Id: I816e1817ed105cd421b295ff581c1ff5f1e34aa7
atches/android.patch
rc/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java
fa0f9bd8b89584a58337208fe2a0c3ce890e76a1 17-Sep-2010 Jesse Wilson <jessewilson@google.com> Add optional tags to bouncycastle modules.

Change-Id: Ic7ae563593d827da6c2f92effe92a5ee4787b93a
ndroid.mk
396d87da06d3c81973b4c3f2283843893004c104 16-Sep-2010 Brian Carlstrom <bdc@google.com> OpenSSLDigest tracking move to NativeCrypto.EVP_MD_CTX_*

Change-Id: Ic182ea993a0d01a7ee8f4067e284decca11c2c2b
atches/android.patch
rc/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java
9038012d37e9571304d44ea5f3bd94fa96d9214c 15-Sep-2010 Brian Carlstrom <bdc@google.com> Merge commit '0ccea25f543c1cae4ebf0962c1714f317979c1a7' into mm
d6eb9a93e70e546e7fa5e087a59c4cd0fd9a2341 15-Sep-2010 Jesse Wilson <jessewilson@google.com> am 8436e161: Make bouncycastle available to the host build.

Merge commit '8436e1610cc0f5d2821b0235523be105f4f5e7e3' into dalvik-dev

* commit '8436e1610cc0f5d2821b0235523be105f4f5e7e3':
Make bouncycastle available to the host build.
0ccea25f543c1cae4ebf0962c1714f317979c1a7 14-Sep-2010 Jean-Baptiste Queru <jbq@google.com> make new module optional

Change-Id: Ibfc53be9b453db9dbde222e1aa1a431af06f95f0
ndroid.mk
8436e1610cc0f5d2821b0235523be105f4f5e7e3 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Make bouncycastle available to the host build.

Change-Id: Iaeac6c7642b0ab5cb337bd1a65fbfdc8a3cb564f
ndroid.mk
b3a9a89b23849a25f69192e943c8ffa2cee7adf0 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Make BouncyCastleProvider.PROVIDER_NAME final.

See http://b/issue?id=2099637

Change-Id: I503e34e565a401f0f8b263ef1971ab847d015926
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
1db2c7981937d5dbd739d1b6dd0199b6f0dd1ed6 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix a copy and paste error in EncryptedPrivateKeyInfo.

See bug 2100030.

Change-Id: I617d289a11b88d4e7251ef98d9ec28ae07243c38
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java
0d31ca0f54efe12f12049174bfa9403961654a92 20-Aug-2010 Brian Carlstrom <bdc@google.com> Remove RC5 references from bouncycastle

The RI doesn't include RC5 and we didn't either in the provider
definition, but I noticed we still had a few implementation support
classes so remove these unneeded files.

Also cleaned up a few RC2 mentions that are unneeded.
RC2 implementation does remain for PKCS12 support.

Change-Id: I4ef304e11a0cba677b3977c54a2afb2330ca5565
ouncycastle.config
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/crypto/engines/RC532Engine.java
rc/main/java/org/bouncycastle/crypto/engines/RC564Engine.java
rc/main/java/org/bouncycastle/crypto/params/RC5Parameters.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEStreamCipher.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java
rc/main/java/org/bouncycastle/jce/provider/WrapCipherSpi.java
8d1441ebd2600054d2e60c750ab3c33e67f63b0f 24-Aug-2010 Brian Carlstrom <bdc@google.com> Update bouncycastle patch to include last commit

Change-Id: Ibc774325d2675689873ea81e3468b3bc83753f68
atches/android.patch
e0e967cc691aa03a9776e5c4af763cd882845fc3 24-Aug-2010 Brian Carlstrom <bdc@google.com> Restore PBE Ciphers and SecreyKeyFactories if underlying algorithm is supported for better PKCS12 support

This restores the Password Based Encryption (PBE) algorithms when we
were including the underlying algorithms used (3DES, AES, DES, MD5,
RC2, SHA1, SHA256)

Specficially we leave out PBE definitions that include algorithms such
as MD2, RIPEMD, Tiger that are not in our BouncyCastle jar.

Bug: 2942581
Change-Id: I0a4ecc5b90b08b593b92a0a8adfea8f582f77da6
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JCEStreamCipher.java
7493aa25d0d0a0b8396ebfc6e1395ffdfb6045d5 19-Aug-2010 Brian Carlstrom <bdc@google.com> Restoring blowfish to bouncycastle

Adding blowfish algoritms for RI parity.
Also added KeyGenerator.ARCFOUR alias for RI compatability.

Change-Id: I1ddf86bdc82a1056f3f671743709e9186e95f7c3
ouncycastle.config
atches/android.patch
rc/main/java/org/bouncycastle/crypto/engines/BlowfishEngine.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEKeyGenerator.java
5586714267860821fc571dcca614f0d2f3abb4b8 14-Aug-2010 Jean-Baptiste Queru <jbq@google.com> Add CleanSpec.mk

Change-Id: I8d7567e86796b664467fad3daa6584a0fd164cbb
leanSpec.mk
ee2f1d02b1874ed3ec7f8575130b3232a0fb7a45 05-Aug-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-gingerbread
435cdfc63c15d6e6b024ba06b2933e4ca301d844 29-Jul-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
fc00ebadd174663f844f8fca72849c58b17438cf 22-Jul-2010 Brian Carlstrom <bdc@google.com> Merge "Restore BouncyCastle's RC4 implementation" into dalvik-dev
b2ced2fd0b35a1e3056d7c2d06cf8e0393318e60 22-Jul-2010 Mikael Ohlson <mikael.ohlson@stericsson.com> am 44a3e153: am 15206212: am 5737dfa4: New implementation for java.lang.Runtime\'s availableProcessors().

Merge commit '44a3e153654e35bd09832f3114c9020dfbacc5c7' into dalvik-dev

* commit '44a3e153654e35bd09832f3114c9020dfbacc5c7':
New implementation for java.lang.Runtime's availableProcessors().
44a3e153654e35bd09832f3114c9020dfbacc5c7 22-Jul-2010 Mikael Ohlson <mikael.ohlson@stericsson.com> am 15206212: am 5737dfa4: New implementation for java.lang.Runtime\'s availableProcessors().

Merge commit '1520621208811760a31a6914a9e0119a73109a89'

* commit '1520621208811760a31a6914a9e0119a73109a89':
New implementation for java.lang.Runtime's availableProcessors().
1520621208811760a31a6914a9e0119a73109a89 22-Jul-2010 Mikael Ohlson <mikael.ohlson@stericsson.com> am 5737dfa4: New implementation for java.lang.Runtime\'s availableProcessors().

Merge commit '5737dfa4ad2f84f969a3e962279897b243a96b33' into gingerbread-plus-aosp

* commit '5737dfa4ad2f84f969a3e962279897b243a96b33':
New implementation for java.lang.Runtime's availableProcessors().
f7433bf801526ab2a93e1cadb7a25ded87f43ed4 21-Jul-2010 Brian Carlstrom <bdc@google.com> Restore BouncyCastle's RC4 implementation

Change-Id: I99c9d547039679b093bf6da15c6dcdede42d2570
ouncycastle.config
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/crypto/StreamBlockCipher.java
rc/main/java/org/bouncycastle/crypto/StreamCipher.java
rc/main/java/org/bouncycastle/crypto/engines/RC4Engine.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/JCEKeyGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JCEStreamCipher.java
8e551503a8d09fb57fd4efe9a2aa0392e7ba56e9 13-Jul-2010 Brian Carlstrom <bdc@google.com> Fix PKCS12 and BKS KeyStore as well as SSL renegotiation

Summary:
- Added KeyStoreTest and fixed PKCS and BKS keystores to be fully functional
- KeyStore and KeyStoreImpl improvements in libcore and bouncycastle for more RI-like behavior
- SSL Renegotiation fix for new implementation

Details:

external/bouncycastle

TwoFish added back for BKS KeyStore. Like RC2, it not supported as
a general cipher, but instead used internally for KeyStore
implementation.

src/main/java/org/bouncycastle/crypto/engines/TwofishEngine.java
bouncycastle.config

Added back PBEWITHSHAANDTWOFISH, PBEWITHSHAANDTWOFISH-CBC,
PBEWITHSHA1ANDRC2-CBC, PBEWITHHMACSHA, PBEWITHHMACSHA1 to support
PKCS12 and BKS KeyStore implementations (as determined by new
KeyStoreTest)

src/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
src/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
src/main/java/org/bouncycastle/jce/provider/JCEMac.java
src/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java

Don't throw an error when deleting a non-existing KeyStore entry. The
RI documentation (and behavior) says it throws an error when it fails
to remove an entry, not when the entry does not exist.

src/main/java/org/bouncycastle/jce/provider/JDKKeyStore.java
src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java

Try to make BC's PKCS KeyStore have a more RI-like getCreationDate behavior

src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java

Make BC's PKCS KeyStore failfast on setting non-supported key,
instead of failing later on get.

src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java

Make BC's PKCS KeyStore handle setting a PrivateKey with an emtpy chain.

src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java

Add more general avoidance of NullPointerExceptions on null aliases

src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java

Added notes about changes improvements

patches/README

Regenerated patch with above changes

patches/android.patch

libcore

KeyStore improvements based on KeyStoreTest

- Fix UnrecoverableKeyException to be a subclass of
UnrecoverableEntryException, which was keeping the new
KeyStoreTest from compiling.

luni/src/main/java/java/security/UnrecoverableKeyException.java

- Fix to not convert UnrecoverableKeyException to KeyStoreException,
which was only being done because of the UnrecoverableKeyException
superclass bug.

luni/src/main/java/java/security/KeyStoreSpi.java

- Harmony KeyStore was being overly aggresive about throwing on null
alias arguments in cases where the RI was happy to pass them to the
KeyStoreSpi.

luni/src/main/java/java/security/KeyStore.java

- New test after PKCS12 regresion. It enumerates and excercises
all methods on all available KeyStore
implementations. Unfortunately, the main varieties of KeyStores
made this a lot more complicated than I was originally
expecting. It does clarifiy the differences between the RI and
BC KeyStore implementations, especially for PKCS12, where in
some ways the RI is more feature complete (setting key via
byte[]), but in other ways BC goes beyond some RI limitations
(allowing storage of certificates).

luni/src/test/java/java/security/KeyStoreTest.java

TestKeyStore improvements while writing KeyStoreTest
- Renamed "keyStorePassword" working usages to clarify if it really
means the "storePassword" on the whole KeyStore, or if it is a
"keyPassword" on individual keys.
- Moved TestKeyStore from javax.net.ssl to java.security

luni/src/test/java/javax/net/ssl/SSLContextTest.java
luni/src/test/java/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java
support/src/test/java/java/security/StandardNames.java
support/src/test/java/java/security/TestKeyStore.java
support/src/test/java/javax/net/ssl/TestKeyStore.java
support/src/test/java/javax/net/ssl/TestSSLContext.java

Fixing up SSL renegotiation support. Now that we are not trying to
prevent renegotiation, make sure it is working correctly.

- Remove SSL_VERIFY_CLIENT_ONCE to take the default behavior of
re-requesting client certificate on renegotiation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

- Updated comments to reflect renegotiation. Bug fix to not clear
out callback reference on handshake complete, since we need it for
renegotiation.

luni/src/main/native/NativeCrypto.cpp

Updated for PKCS12 KeyStore support

support/src/test/java/java/security/StandardNames.java

Added javadoc when writint KeyStoreTest

luni/src/test/java/java/security/ProviderTest.java

frameworks/base

Tracking changes to UnrecoverableKeyException superclass

api/8.xml
api/current.xml

Change-Id: Idd09289b7ec510a2d981769e7bf077b101c26f88
ouncycastle.config
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/crypto/engines/TwofishEngine.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEMac.java
rc/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java
b04bbc72336971137c5f3daceb4846605214d22b 01-Jul-2010 Brian Carlstrom <bdc@google.com> Trim BouncyCastle *-OpenSSL algorithms

These were not previously removed because they were believed to be part
of Android OpenSSL native implementation.

Change-Id: I00c4c70bd1950125c25c3d33747a8e1e3cdc85d4
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
1184e04c2b63885b5fcb822631350590f887df0e 30-Jun-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into mm
10261d9785b26fbcfe273b7b8119907fda09a999 23-Jun-2010 Brian Carlstrom <bdc@google.com> Remove libcore's dependency on bouncycastle

external/bouncycastle
- Change to be the primary build for bouncycastle sources (as opposed to part of libcore)
- Moved OpenSSLMessageDigest from libcore to OpenSSLDigest
It uses NativeCrypto API from core, but implements a bouncycastle specific interface
- restored registration of bouncycastle MessageDigests for SHA-1, SHA-256, MD5
OpenSSLProvider versions take precedence, but explicit provider of "BC" allows choice
- enabled native versions of SHA-384 and SHA-512
- pruned MD4 implementation

frameworks/base
- frameworks and CoreTests modules now depend on bouncycastle
- update preloades classes for NativeBN package change
- moved CryptoTest to libcore

libcore
- core now builds without bouncycastle sources
- core-tests, core-tests-support, core-tests-supportlib now depend on bouncycastle
- removed libcore/openssl directory, moving NativeBN to java/math
- minor cleanup of Provider, Security, Services style while working on ProviderTest
- added new OpenSSLProvider registered as first provider to have
priority over the others to ensure our native implementations are used
- moved BouncyCastle to have priority as a provider over Harmony
- JarVerifier and JarUtils now implicitly use OpenSSLMessageDigest
- Cleanedup OpenSSLSignature, implementation needs to be finished to move to OpenSSLProvider
- To avoid using PEMWriter from BouncyCastle, NativeCrypto now takes binary encoded certs and keys
This is more efficient as well avoiding the base64 decode/encode of the binary data
- removed SHA-224 to match the RI

packages/apps/CertInstaller
- CertificateInstaller module now depends on bouncycastle
this is the only app to depend on bouncycastle

system/core
- updated BOOTCLASSPATH

Change-Id: I42ac63a1669b03d0243f9714c89312227e48241d
ndroid.mk
ouncycastle.config
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/crypto/digests/MD4Digest.java
rc/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JDKDigestSignature.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKMessageDigest.java
d6008c36c9a54cd5886de68f00839959af11a344 22-Jun-2010 Brian Carlstrom <bdc@google.com> restore missing sha1withDSA and remove broken aliases

Change-Id: I83cdd570ba55fe5e652da0ecb9290740cd632c2f
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSASigner.java
6cd08328d5f95b3541d2435a7167b81b5ec4579f 22-Jun-2010 Brian Carlstrom <bdc@google.com> Move IndexedPKIXParameters from external/bouncycastle to libcore to avoid cyclic build dependency

Change-Id: I89f0c6e1248bc8abd95e522ac28b0c8a1a8ff21d
atches/android.patch
rc/main/java/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
rc/main/java/org/bouncycastle/jce/provider/IndexedPKIXParameters.java
7a6b43b187fb942402daa61e0b92496746f5bc1c 21-Jun-2010 Brian Carlstrom <bdc@google.com> Aligning bouncycastle with RI supported algorithms

Change-Id: I81156564372ac60d009e62fa9f8ef0ff2239dda5
ouncycastle.config
atches/README
atches/android.patch
rc/main/java/org/bouncycastle/crypto/digests/SHA224Digest.java
rc/main/java/org/bouncycastle/crypto/engines/IESEngine.java
rc/main/java/org/bouncycastle/crypto/generators/BaseKDFBytesGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/KDF2BytesGenerator.java
rc/main/java/org/bouncycastle/crypto/macs/CFBBlockCipherMac.java
rc/main/java/org/bouncycastle/crypto/macs/ISO9797Alg3Mac.java
rc/main/java/org/bouncycastle/crypto/macs/OldHMac.java
rc/main/java/org/bouncycastle/crypto/params/IESParameters.java
rc/main/java/org/bouncycastle/crypto/params/IESWithCipherParameters.java
rc/main/java/org/bouncycastle/crypto/params/ISO18033KDFParameters.java
rc/main/java/org/bouncycastle/crypto/params/KDFParameters.java
rc/main/java/org/bouncycastle/crypto/params/RSABlindingParameters.java
rc/main/java/org/bouncycastle/crypto/signers/ISO9796d2Signer.java
rc/main/java/org/bouncycastle/crypto/signers/PSSSigner.java
rc/main/java/org/bouncycastle/jce/interfaces/IESKey.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/BrokenJCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/BrokenKDF2BytesGenerator.java
rc/main/java/org/bouncycastle/jce/provider/BrokenPBE.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEDigestUtil.java
rc/main/java/org/bouncycastle/jce/provider/JCEIESCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEKeyGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JCEMac.java
rc/main/java/org/bouncycastle/jce/provider/JCERSACipher.java
rc/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSASigner.java
rc/main/java/org/bouncycastle/jce/provider/JDKDigestSignature.java
rc/main/java/org/bouncycastle/jce/provider/JDKISOSignature.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JDKMessageDigest.java
rc/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKPSSSigner.java
rc/main/java/org/bouncycastle/jce/provider/X509SignatureUtil.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/AES.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/AESMappings.java
rc/main/java/org/bouncycastle/jce/spec/IESParameterSpec.java
c37f4a04ef89e73a39a59f3c5a179af8c8ab5974 21-Jun-2010 Brian Carlstrom <bdc@google.com> Upgrade bouncycastle from 1.34 to 1.45

This maintains the same set of provided algorithms as tested with
libcore's javax.security.PreparerTest. A further checkin will try to
bring the supported list in line with the RI.

Details:

Upgraded to JDK 1.6 version of 1.45 release
bouncycastle.version

First pass of triming unneeded files
bouncycastle.config

Compile with UTF-8 to avoid warnings
Android.mk

The updated patch
patches/android.patch

The rest of the files are generated from the release tar ball and the patch
./import_bouncycastle.sh import .../bcprov-jdk16-145.tar.gz
src/main/java/...

Change-Id: I1df5ad8a7161ec578415ae23f01c3b550e381927
ndroid.mk
OTICE
ouncycastle.config
ouncycastle.version
atches/android.patch
rc/main/java/org/bouncycastle/asn1/ASN1ApplicationSpecificParser.java
rc/main/java/org/bouncycastle/asn1/ASN1Collection.java
rc/main/java/org/bouncycastle/asn1/ASN1Encodable.java
rc/main/java/org/bouncycastle/asn1/ASN1EncodableVector.java
rc/main/java/org/bouncycastle/asn1/ASN1InputStream.java
rc/main/java/org/bouncycastle/asn1/ASN1Null.java
rc/main/java/org/bouncycastle/asn1/ASN1Object.java
rc/main/java/org/bouncycastle/asn1/ASN1ObjectParser.java
rc/main/java/org/bouncycastle/asn1/ASN1OctetString.java
rc/main/java/org/bouncycastle/asn1/ASN1OctetStringParser.java
rc/main/java/org/bouncycastle/asn1/ASN1ParsingException.java
rc/main/java/org/bouncycastle/asn1/ASN1Sequence.java
rc/main/java/org/bouncycastle/asn1/ASN1SequenceParser.java
rc/main/java/org/bouncycastle/asn1/ASN1Set.java
rc/main/java/org/bouncycastle/asn1/ASN1SetParser.java
rc/main/java/org/bouncycastle/asn1/ASN1StreamParser.java
rc/main/java/org/bouncycastle/asn1/ASN1TaggedObject.java
rc/main/java/org/bouncycastle/asn1/ASN1TaggedObjectParser.java
rc/main/java/org/bouncycastle/asn1/BERApplicationSpecific.java
rc/main/java/org/bouncycastle/asn1/BERApplicationSpecificParser.java
rc/main/java/org/bouncycastle/asn1/BERConstructedOctetString.java
rc/main/java/org/bouncycastle/asn1/BERFactory.java
rc/main/java/org/bouncycastle/asn1/BERInputStream.java
rc/main/java/org/bouncycastle/asn1/BERNull.java
rc/main/java/org/bouncycastle/asn1/BEROctetStringParser.java
rc/main/java/org/bouncycastle/asn1/BERSequenceParser.java
rc/main/java/org/bouncycastle/asn1/BERSetParser.java
rc/main/java/org/bouncycastle/asn1/BERTaggedObject.java
rc/main/java/org/bouncycastle/asn1/BERTaggedObjectParser.java
rc/main/java/org/bouncycastle/asn1/ConstructedOctetStream.java
rc/main/java/org/bouncycastle/asn1/DERApplicationSpecific.java
rc/main/java/org/bouncycastle/asn1/DERBMPString.java
rc/main/java/org/bouncycastle/asn1/DERBitString.java
rc/main/java/org/bouncycastle/asn1/DERBoolean.java
rc/main/java/org/bouncycastle/asn1/DEREncodableVector.java
rc/main/java/org/bouncycastle/asn1/DEREnumerated.java
rc/main/java/org/bouncycastle/asn1/DERExternal.java
rc/main/java/org/bouncycastle/asn1/DERExternalParser.java
rc/main/java/org/bouncycastle/asn1/DERFactory.java
rc/main/java/org/bouncycastle/asn1/DERGeneralString.java
rc/main/java/org/bouncycastle/asn1/DERGeneralizedTime.java
rc/main/java/org/bouncycastle/asn1/DERIA5String.java
rc/main/java/org/bouncycastle/asn1/DERInputStream.java
rc/main/java/org/bouncycastle/asn1/DERInteger.java
rc/main/java/org/bouncycastle/asn1/DERNull.java
rc/main/java/org/bouncycastle/asn1/DERNumericString.java
rc/main/java/org/bouncycastle/asn1/DERObjectIdentifier.java
rc/main/java/org/bouncycastle/asn1/DEROctetString.java
rc/main/java/org/bouncycastle/asn1/DEROctetStringParser.java
rc/main/java/org/bouncycastle/asn1/DEROutputStream.java
rc/main/java/org/bouncycastle/asn1/DERPrintableString.java
rc/main/java/org/bouncycastle/asn1/DERSequence.java
rc/main/java/org/bouncycastle/asn1/DERSequenceParser.java
rc/main/java/org/bouncycastle/asn1/DERSet.java
rc/main/java/org/bouncycastle/asn1/DERSetParser.java
rc/main/java/org/bouncycastle/asn1/DERT61String.java
rc/main/java/org/bouncycastle/asn1/DERTaggedObject.java
rc/main/java/org/bouncycastle/asn1/DERUTCTime.java
rc/main/java/org/bouncycastle/asn1/DERUTF8String.java
rc/main/java/org/bouncycastle/asn1/DERUniversalString.java
rc/main/java/org/bouncycastle/asn1/DERUnknownTag.java
rc/main/java/org/bouncycastle/asn1/DERVisibleString.java
rc/main/java/org/bouncycastle/asn1/DefiniteLengthInputStream.java
rc/main/java/org/bouncycastle/asn1/IndefiniteLengthInputStream.java
rc/main/java/org/bouncycastle/asn1/LazyDERConstructionEnumeration.java
rc/main/java/org/bouncycastle/asn1/LazyDERSequence.java
rc/main/java/org/bouncycastle/asn1/LimitedInputStream.java
rc/main/java/org/bouncycastle/asn1/OrderedTable.java
rc/main/java/org/bouncycastle/asn1/bc/BCObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/cmp/PKIFailureInfo.java
rc/main/java/org/bouncycastle/asn1/cmp/PKIFreeText.java
rc/main/java/org/bouncycastle/asn1/cmp/PKIStatus.java
rc/main/java/org/bouncycastle/asn1/cmp/PKIStatusInfo.java
rc/main/java/org/bouncycastle/asn1/cms/Attribute.java
rc/main/java/org/bouncycastle/asn1/cms/AttributeTable.java
rc/main/java/org/bouncycastle/asn1/cms/CMSAttributes.java
rc/main/java/org/bouncycastle/asn1/cms/CMSObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/cms/CompressedData.java
rc/main/java/org/bouncycastle/asn1/cms/ContentInfo.java
rc/main/java/org/bouncycastle/asn1/cms/EncryptedContentInfo.java
rc/main/java/org/bouncycastle/asn1/cms/EnvelopedData.java
rc/main/java/org/bouncycastle/asn1/cms/IssuerAndSerialNumber.java
rc/main/java/org/bouncycastle/asn1/cms/KEKIdentifier.java
rc/main/java/org/bouncycastle/asn1/cms/KEKRecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/KeyAgreeRecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/KeyTransRecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/OriginatorIdentifierOrKey.java
rc/main/java/org/bouncycastle/asn1/cms/OriginatorInfo.java
rc/main/java/org/bouncycastle/asn1/cms/OriginatorPublicKey.java
rc/main/java/org/bouncycastle/asn1/cms/OtherKeyAttribute.java
rc/main/java/org/bouncycastle/asn1/cms/OtherRecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/PasswordRecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/RecipientIdentifier.java
rc/main/java/org/bouncycastle/asn1/cms/RecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/RecipientKeyIdentifier.java
rc/main/java/org/bouncycastle/asn1/cms/SignedData.java
rc/main/java/org/bouncycastle/asn1/cms/SignerIdentifier.java
rc/main/java/org/bouncycastle/asn1/cms/SignerInfo.java
rc/main/java/org/bouncycastle/asn1/cms/Time.java
rc/main/java/org/bouncycastle/asn1/esf/CommitmentTypeIdentifier.java
rc/main/java/org/bouncycastle/asn1/esf/CommitmentTypeIndication.java
rc/main/java/org/bouncycastle/asn1/esf/CommitmentTypeQualifier.java
rc/main/java/org/bouncycastle/asn1/esf/ESFAttributes.java
rc/main/java/org/bouncycastle/asn1/esf/SignerLocation.java
rc/main/java/org/bouncycastle/asn1/ess/ContentIdentifier.java
rc/main/java/org/bouncycastle/asn1/ess/ESSCertID.java
rc/main/java/org/bouncycastle/asn1/ess/OtherCertID.java
rc/main/java/org/bouncycastle/asn1/ess/OtherSigningCertificate.java
rc/main/java/org/bouncycastle/asn1/ess/SigningCertificate.java
rc/main/java/org/bouncycastle/asn1/gnu/GNUObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/icao/DataGroupHash.java
rc/main/java/org/bouncycastle/asn1/icao/ICAOObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/icao/LDSSecurityObject.java
rc/main/java/org/bouncycastle/asn1/isismtt/ISISMTTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/misc/IDEACBCPar.java
rc/main/java/org/bouncycastle/asn1/misc/MiscObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/mozilla/PublicKeyAndChallenge.java
rc/main/java/org/bouncycastle/asn1/nist/NISTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/ocsp/BasicOCSPResponse.java
rc/main/java/org/bouncycastle/asn1/ocsp/CertID.java
rc/main/java/org/bouncycastle/asn1/ocsp/CertStatus.java
rc/main/java/org/bouncycastle/asn1/ocsp/CrlID.java
rc/main/java/org/bouncycastle/asn1/ocsp/OCSPObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/ocsp/OCSPRequest.java
rc/main/java/org/bouncycastle/asn1/ocsp/OCSPResponse.java
rc/main/java/org/bouncycastle/asn1/ocsp/OCSPResponseStatus.java
rc/main/java/org/bouncycastle/asn1/ocsp/Request.java
rc/main/java/org/bouncycastle/asn1/ocsp/ResponderID.java
rc/main/java/org/bouncycastle/asn1/ocsp/ResponseBytes.java
rc/main/java/org/bouncycastle/asn1/ocsp/ResponseData.java
rc/main/java/org/bouncycastle/asn1/ocsp/RevokedInfo.java
rc/main/java/org/bouncycastle/asn1/ocsp/ServiceLocator.java
rc/main/java/org/bouncycastle/asn1/ocsp/Signature.java
rc/main/java/org/bouncycastle/asn1/ocsp/SingleResponse.java
rc/main/java/org/bouncycastle/asn1/ocsp/TBSRequest.java
rc/main/java/org/bouncycastle/asn1/oiw/OIWObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/pkcs/Attribute.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertificationRequest.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertificationRequestInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/ContentInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptedData.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/IssuerAndSerialNumber.java
rc/main/java/org/bouncycastle/asn1/pkcs/MacData.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Algorithms.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBKDF2Params.java
rc/main/java/org/bouncycastle/asn1/pkcs/PKCS12PBEParams.java
rc/main/java/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/pkcs/PrivateKeyInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/RC2CBCParameter.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAPrivateKeyStructure.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java
rc/main/java/org/bouncycastle/asn1/pkcs/SignerInfo.java
rc/main/java/org/bouncycastle/asn1/teletrust/TeleTrusTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/tsp/Accuracy.java
rc/main/java/org/bouncycastle/asn1/tsp/MessageImprint.java
rc/main/java/org/bouncycastle/asn1/tsp/TSTInfo.java
rc/main/java/org/bouncycastle/asn1/tsp/TimeStampReq.java
rc/main/java/org/bouncycastle/asn1/tsp/TimeStampResp.java
rc/main/java/org/bouncycastle/asn1/util/ASN1Dump.java
rc/main/java/org/bouncycastle/asn1/util/DERDump.java
rc/main/java/org/bouncycastle/asn1/util/Dump.java
rc/main/java/org/bouncycastle/asn1/x509/AccessDescription.java
rc/main/java/org/bouncycastle/asn1/x509/AlgorithmIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/AttCertIssuer.java
rc/main/java/org/bouncycastle/asn1/x509/AttCertValidityPeriod.java
rc/main/java/org/bouncycastle/asn1/x509/Attribute.java
rc/main/java/org/bouncycastle/asn1/x509/AttributeCertificate.java
rc/main/java/org/bouncycastle/asn1/x509/AttributeCertificateInfo.java
rc/main/java/org/bouncycastle/asn1/x509/AuthorityInformationAccess.java
rc/main/java/org/bouncycastle/asn1/x509/AuthorityKeyIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/BasicConstraints.java
rc/main/java/org/bouncycastle/asn1/x509/CRLDistPoint.java
rc/main/java/org/bouncycastle/asn1/x509/CRLNumber.java
rc/main/java/org/bouncycastle/asn1/x509/CRLReason.java
rc/main/java/org/bouncycastle/asn1/x509/CertPolicyId.java
rc/main/java/org/bouncycastle/asn1/x509/CertificateList.java
rc/main/java/org/bouncycastle/asn1/x509/CertificatePolicies.java
rc/main/java/org/bouncycastle/asn1/x509/DigestInfo.java
rc/main/java/org/bouncycastle/asn1/x509/DisplayText.java
rc/main/java/org/bouncycastle/asn1/x509/DistributionPoint.java
rc/main/java/org/bouncycastle/asn1/x509/DistributionPointName.java
rc/main/java/org/bouncycastle/asn1/x509/ExtendedKeyUsage.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralName.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralNames.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralSubtree.java
rc/main/java/org/bouncycastle/asn1/x509/Holder.java
rc/main/java/org/bouncycastle/asn1/x509/IetfAttrSyntax.java
rc/main/java/org/bouncycastle/asn1/x509/IssuingDistributionPoint.java
rc/main/java/org/bouncycastle/asn1/x509/KeyPurposeId.java
rc/main/java/org/bouncycastle/asn1/x509/KeyUsage.java
rc/main/java/org/bouncycastle/asn1/x509/NoticeReference.java
rc/main/java/org/bouncycastle/asn1/x509/ObjectDigestInfo.java
rc/main/java/org/bouncycastle/asn1/x509/PolicyMappings.java
rc/main/java/org/bouncycastle/asn1/x509/PolicyQualifierId.java
rc/main/java/org/bouncycastle/asn1/x509/PolicyQualifierInfo.java
rc/main/java/org/bouncycastle/asn1/x509/RoleSyntax.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectDirectoryAttributes.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectKeyIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertList.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertificateStructure.java
rc/main/java/org/bouncycastle/asn1/x509/Time.java
rc/main/java/org/bouncycastle/asn1/x509/UserNotice.java
rc/main/java/org/bouncycastle/asn1/x509/V1TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/V2AttributeCertificateInfoGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/V2Form.java
rc/main/java/org/bouncycastle/asn1/x509/V2TBSCertListGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/V3TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/X509Attributes.java
rc/main/java/org/bouncycastle/asn1/x509/X509CertificateStructure.java
rc/main/java/org/bouncycastle/asn1/x509/X509DefaultEntryConverter.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extension.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extensions.java
rc/main/java/org/bouncycastle/asn1/x509/X509ExtensionsGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/X509Name.java
rc/main/java/org/bouncycastle/asn1/x509/X509NameEntryConverter.java
rc/main/java/org/bouncycastle/asn1/x509/X509NameTokenizer.java
rc/main/java/org/bouncycastle/asn1/x509/X509ObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/BiometricData.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/ETSIQCObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/Iso4217CurrencyCode.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/MonetaryValue.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/QCStatement.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/RFC3739QCObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/SemanticsInformation.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/TypeOfBiometricData.java
rc/main/java/org/bouncycastle/asn1/x509/sigi/SigIObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x9/X9ObjectIdentifiers.java
rc/main/java/org/bouncycastle/crypto/BufferedAsymmetricBlockCipher.java
rc/main/java/org/bouncycastle/crypto/BufferedBlockCipher.java
rc/main/java/org/bouncycastle/crypto/Mac.java
rc/main/java/org/bouncycastle/crypto/PBEParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/StreamBlockCipher.java
rc/main/java/org/bouncycastle/crypto/StreamCipher.java
rc/main/java/org/bouncycastle/crypto/agreement/DHAgreement.java
rc/main/java/org/bouncycastle/crypto/agreement/DHBasicAgreement.java
rc/main/java/org/bouncycastle/crypto/digests/LongDigest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA1Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA224Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA256Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA384Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA512Digest.java
rc/main/java/org/bouncycastle/crypto/digests/ShortenedDigest.java
rc/main/java/org/bouncycastle/crypto/encodings/ISO9796d1Encoding.java
rc/main/java/org/bouncycastle/crypto/encodings/OAEPEncoding.java
rc/main/java/org/bouncycastle/crypto/encodings/PKCS1Encoding.java
rc/main/java/org/bouncycastle/crypto/engines/AESEngine.java
rc/main/java/org/bouncycastle/crypto/engines/AESFastEngine.java
rc/main/java/org/bouncycastle/crypto/engines/AESLightEngine.java
rc/main/java/org/bouncycastle/crypto/engines/AESWrapEngine.java
rc/main/java/org/bouncycastle/crypto/engines/DESEngine.java
rc/main/java/org/bouncycastle/crypto/engines/DESedeEngine.java
rc/main/java/org/bouncycastle/crypto/engines/DESedeWrapEngine.java
rc/main/java/org/bouncycastle/crypto/engines/IESEngine.java
rc/main/java/org/bouncycastle/crypto/engines/NullEngine.java
rc/main/java/org/bouncycastle/crypto/engines/RC532Engine.java
rc/main/java/org/bouncycastle/crypto/engines/RC564Engine.java
rc/main/java/org/bouncycastle/crypto/engines/RFC3394WrapEngine.java
rc/main/java/org/bouncycastle/crypto/engines/RSABlindedEngine.java
rc/main/java/org/bouncycastle/crypto/engines/RSACoreEngine.java
rc/main/java/org/bouncycastle/crypto/engines/RSAEngine.java
rc/main/java/org/bouncycastle/crypto/generators/DESKeyGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DESedeKeyGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DHBasicKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DHKeyGeneratorHelper.java
rc/main/java/org/bouncycastle/crypto/generators/DHKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DHParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DHParametersHelper.java
rc/main/java/org/bouncycastle/crypto/generators/DSAKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DSAParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/KDF1BytesGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/MGF1BytesGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/RSAKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/macs/BlockCipherMac.java
rc/main/java/org/bouncycastle/crypto/macs/CBCBlockCipherMac.java
rc/main/java/org/bouncycastle/crypto/macs/CFBBlockCipherMac.java
rc/main/java/org/bouncycastle/crypto/macs/CMac.java
rc/main/java/org/bouncycastle/crypto/macs/ISO9797Alg3Mac.java
rc/main/java/org/bouncycastle/crypto/modes/AEADBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CBCBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CCMBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CFBBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/EAXBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/GCMBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/GOFBBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/PaddedBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/SICBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/gcm/GCMMultiplier.java
rc/main/java/org/bouncycastle/crypto/modes/gcm/GCMUtil.java
rc/main/java/org/bouncycastle/crypto/modes/gcm/Tables8kGCMMultiplier.java
rc/main/java/org/bouncycastle/crypto/paddings/PKCS7Padding.java
rc/main/java/org/bouncycastle/crypto/params/AEADParameters.java
rc/main/java/org/bouncycastle/crypto/params/CCMParameters.java
rc/main/java/org/bouncycastle/crypto/params/DESedeParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHKeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHPrivateKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHPublicKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHValidationParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAValidationParameters.java
rc/main/java/org/bouncycastle/crypto/params/MGFParameters.java
rc/main/java/org/bouncycastle/crypto/params/ParametersWithRandom.java
rc/main/java/org/bouncycastle/crypto/params/ParametersWithSBox.java
rc/main/java/org/bouncycastle/crypto/params/ParametersWithSalt.java
rc/main/java/org/bouncycastle/crypto/params/RSABlindingParameters.java
rc/main/java/org/bouncycastle/crypto/signers/DSASigner.java
rc/main/java/org/bouncycastle/crypto/signers/ISO9796d2PSSSigner.java
rc/main/java/org/bouncycastle/crypto/signers/PSSSigner.java
rc/main/java/org/bouncycastle/crypto/signers/RSADigestSigner.java
rc/main/java/org/bouncycastle/crypto/util/Pack.java
rc/main/java/org/bouncycastle/crypto/util/PrivateKeyFactory.java
rc/main/java/org/bouncycastle/crypto/util/PublicKeyFactory.java
rc/main/java/org/bouncycastle/i18n/ErrorBundle.java
rc/main/java/org/bouncycastle/i18n/LocalizedException.java
rc/main/java/org/bouncycastle/i18n/LocalizedMessage.java
rc/main/java/org/bouncycastle/i18n/MessageBundle.java
rc/main/java/org/bouncycastle/i18n/MissingEntryException.java
rc/main/java/org/bouncycastle/i18n/TextBundle.java
rc/main/java/org/bouncycastle/i18n/filter/Filter.java
rc/main/java/org/bouncycastle/i18n/filter/HTMLFilter.java
rc/main/java/org/bouncycastle/i18n/filter/SQLFilter.java
rc/main/java/org/bouncycastle/i18n/filter/UntrustedInput.java
rc/main/java/org/bouncycastle/jce/PKCS10CertificationRequest.java
rc/main/java/org/bouncycastle/jce/PKCS7SignedData.java
rc/main/java/org/bouncycastle/jce/PrincipalUtil.java
rc/main/java/org/bouncycastle/jce/ProviderConfigurationPermission.java
rc/main/java/org/bouncycastle/jce/X509KeyUsage.java
rc/main/java/org/bouncycastle/jce/X509Principal.java
rc/main/java/org/bouncycastle/jce/X509V1CertificateGenerator.java
rc/main/java/org/bouncycastle/jce/X509V2CRLGenerator.java
rc/main/java/org/bouncycastle/jce/X509V3CertificateGenerator.java
rc/main/java/org/bouncycastle/jce/exception/ExtCertPathBuilderException.java
rc/main/java/org/bouncycastle/jce/exception/ExtCertPathValidatorException.java
rc/main/java/org/bouncycastle/jce/exception/ExtException.java
rc/main/java/org/bouncycastle/jce/interfaces/ConfigurableProvider.java
rc/main/java/org/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier.java
rc/main/java/org/bouncycastle/jce/netscape/NetscapeCertRequest.java
rc/main/java/org/bouncycastle/jce/provider/AnnotatedException.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
rc/main/java/org/bouncycastle/jce/provider/CertStatus.java
rc/main/java/org/bouncycastle/jce/provider/CertStoreCollectionSpi.java
rc/main/java/org/bouncycastle/jce/provider/ExtCRLException.java
rc/main/java/org/bouncycastle/jce/provider/IndexedPKIXParameters.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHKeyAgreement.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEIESCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEKeyGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JCEMac.java
rc/main/java/org/bouncycastle/jce/provider/JCERSACipher.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPrivateCrtKey.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JCEStreamCipher.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSAPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSAPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSASigner.java
rc/main/java/org/bouncycastle/jce/provider/JDKDigestSignature.java
rc/main/java/org/bouncycastle/jce/provider/JDKECDSAAlgParameters.java
rc/main/java/org/bouncycastle/jce/provider/JDKISOSignature.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyPairGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKPSSSigner.java
rc/main/java/org/bouncycastle/jce/provider/JDKX509CertificateFactory.java
rc/main/java/org/bouncycastle/jce/provider/PBE.java
rc/main/java/org/bouncycastle/jce/provider/PEMUtil.java
rc/main/java/org/bouncycastle/jce/provider/PKCS12BagAttributeCarrierImpl.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPath.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
rc/main/java/org/bouncycastle/jce/provider/PKIXNameConstraintValidator.java
rc/main/java/org/bouncycastle/jce/provider/PKIXNameConstraintValidatorException.java
rc/main/java/org/bouncycastle/jce/provider/ProviderUtil.java
rc/main/java/org/bouncycastle/jce/provider/RFC3280CertPathUtilities.java
rc/main/java/org/bouncycastle/jce/provider/ReasonsMask.java
rc/main/java/org/bouncycastle/jce/provider/WrapCipherSpi.java
rc/main/java/org/bouncycastle/jce/provider/X509CRLEntryObject.java
rc/main/java/org/bouncycastle/jce/provider/X509CRLObject.java
rc/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java
rc/main/java/org/bouncycastle/jce/provider/X509SignatureUtil.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/AES.java
rc/main/java/org/bouncycastle/jce/provider/symmetric/AESMappings.java
rc/main/java/org/bouncycastle/jce/provider/util/NullDigest.java
rc/main/java/org/bouncycastle/jce/spec/IEKeySpec.java
rc/main/java/org/bouncycastle/openssl/EncryptionException.java
rc/main/java/org/bouncycastle/openssl/PEMUtilities.java
rc/main/java/org/bouncycastle/openssl/PEMWriter.java
rc/main/java/org/bouncycastle/util/Arrays.java
rc/main/java/org/bouncycastle/util/BigIntegers.java
rc/main/java/org/bouncycastle/util/IPAddress.java
rc/main/java/org/bouncycastle/util/Selector.java
rc/main/java/org/bouncycastle/util/Store.java
rc/main/java/org/bouncycastle/util/StoreException.java
rc/main/java/org/bouncycastle/util/Strings.java
rc/main/java/org/bouncycastle/util/encoders/Base64.java
rc/main/java/org/bouncycastle/util/encoders/BufferedDecoder.java
rc/main/java/org/bouncycastle/util/encoders/BufferedEncoder.java
rc/main/java/org/bouncycastle/util/encoders/HexTranslator.java
rc/main/java/org/bouncycastle/util/encoders/Translator.java
rc/main/java/org/bouncycastle/util/encoders/UrlBase64.java
rc/main/java/org/bouncycastle/util/encoders/UrlBase64Encoder.java
rc/main/java/org/bouncycastle/util/io/StreamOverflowException.java
rc/main/java/org/bouncycastle/util/io/Streams.java
rc/main/java/org/bouncycastle/x509/AttributeCertificateHolder.java
rc/main/java/org/bouncycastle/x509/AttributeCertificateIssuer.java
rc/main/java/org/bouncycastle/x509/CertPathReviewerException.java
rc/main/java/org/bouncycastle/x509/CertPathReviewerMessages.properties
rc/main/java/org/bouncycastle/x509/ExtCertificateEncodingException.java
rc/main/java/org/bouncycastle/x509/ExtendedPKIXBuilderParameters.java
rc/main/java/org/bouncycastle/x509/ExtendedPKIXParameters.java
rc/main/java/org/bouncycastle/x509/NoSuchStoreException.java
rc/main/java/org/bouncycastle/x509/PKIXAttrCertChecker.java
rc/main/java/org/bouncycastle/x509/PKIXCertPathReviewer.java
rc/main/java/org/bouncycastle/x509/X509AttributeCertificate.java
rc/main/java/org/bouncycastle/x509/X509CRLStoreSelector.java
rc/main/java/org/bouncycastle/x509/X509CertStoreSelector.java
rc/main/java/org/bouncycastle/x509/X509Store.java
rc/main/java/org/bouncycastle/x509/X509StoreParameters.java
rc/main/java/org/bouncycastle/x509/X509StoreSpi.java
rc/main/java/org/bouncycastle/x509/X509Util.java
rc/main/java/org/bouncycastle/x509/X509V1CertificateGenerator.java
rc/main/java/org/bouncycastle/x509/X509V2AttributeCertificate.java
rc/main/java/org/bouncycastle/x509/X509V2AttributeCertificateGenerator.java
rc/main/java/org/bouncycastle/x509/X509V2CRLGenerator.java
rc/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java
rc/main/java/org/bouncycastle/x509/extension/AuthorityKeyIdentifierStructure.java
rc/main/java/org/bouncycastle/x509/extension/SubjectKeyIdentifierStructure.java
rc/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java
72e1f60fea22382bfa33d51799cce7e28d079afd 18-Jun-2010 Brian Carlstrom <bdc@google.com> Enable UTF-8 in libcore bouncycastle source

Bouncy Castle has UTF-8 javadoc upstream and we don't want to change
that but we don't want the warnings either.

Change-Id: I439a5a0b75507d5969fa7ab5dc9719ba53b25c9b
ndroid.mk
e143538c27e395546132cbbad0093efd319b190c 18-Jun-2010 Brian Carlstrom <bdc@google.com> Add phony target to run proguard on bouncycastle to find dead code

Change-Id: Ie1e8c973d302b112709de8ec4b3d3e42da48b461
ndroid.mk
8113f6dc3780916a5f7f2a681b1829e591bd1bcb 18-Jun-2010 Brian Carlstrom <bdc@google.com> Move external/bouncycastle to be based of patches from upstream

No code change here intentionally.

Running

./import_bouncycastle.sh import .../bcprov-jdk15-134.tar.gz

gives us exactly what we had before.

This is based on how we mange external/openssl

Change-Id: I8485780557f5cc0aa857450d4c27b98c26535710
ODULE_LICENSE_BSD_LIKE
OTICE
EADME.android
ouncycastle.config
ouncycastle.version
mport_bouncycastle.sh
atches/README
atches/android.patch
dd10cd685355e6f61df26c59a24783c6765fbc9a 17-Jun-2010 Elliott Hughes <enh@google.com> Merge "Remove dynamic calls to FindClass." into dalvik-dev
5015f99cf9a0c686689c1c76e8240c984f12f8ae 17-Jun-2010 Elliott Hughes <enh@google.com> Remove dynamic calls to FindClass.

Initially, I was just fixing a threading bug in NativeDecimalFormat.cpp where
we were bypassing GCC's built-in static initializer thread safety. This led me
to the question of how expensive FindClass is, which led me to creating a new
canonical cache of jclasses.

Here's the motivating benchmark, showing the cost of calling an empty regular
(non-native) method, an empty native method, a native method that calls
FindClass, a native method that calls FindClass and GetFieldID, and a native
method that calls FindClass and GetMethodID:

benchmark ns logarithmic runtime
NoArgsRegular 74 ||||||||||||||
NoArgsNative 428 XX|||||||||||||||||||
FindClass 3064 XXXXXXXXXXXXXXXX|||||||||||
FindClassGetField 3654 XXXXXXXXXXXXXXXXXXX|||||||||
FindClassGetMethod 5634 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Change-Id: I41ab2b347895f043a7e21d8fa19e4541e198c3fc
5e3f5c330a497dd3c2ccb302c3c75be4faf39bad 17-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing dead classes from AllTests." into dalvik-dev
c5de69e575118fff55feb67c2c1f669abf84a594 17-Jun-2010 Jesse Wilson <jessewilson@google.com> Removing dead classes from AllTests.

Change-Id: I676da29cbf9cbf3ac528a950d679c51fdd74975d
38837666888f3099f1d5bb697be1e096d100b71b 17-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing SerializationStressTests that are duplicated from Harmony." into dalvik-dev
dd18d5e6fe2e7c7edae1c3d4c2578a3c7e4ebe90 17-Jun-2010 Jesse Wilson <jessewilson@google.com> Removing SerializationStressTests that are duplicated from Harmony.

These tests are out of date and Harmony has a more correct copy.

Change-Id: I573310e126991ce264811a96d0aa6468f7979bbf
bcc0e3b7c95dca1538bd405a598bfaafdbd9fb31 16-Jun-2010 Elliott Hughes <enh@google.com> Merge "Apply harmony patch for https://issues.apache.org/jira/browse/HARMONY-6271." into dalvik-dev
5958facd8fd19b77b305fa7bbbbda9d854ba0eb1 16-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 32a84bfe: am 65bfb219: am 7983be97: Sprinkle BlockGuard checks on DNS lookups.

Merge commit '32a84bfee7611f4553de46465a7fc00ecff99b81' into dalvik-dev

* commit '32a84bfee7611f4553de46465a7fc00ecff99b81':
Sprinkle BlockGuard checks on DNS lookups.
1037c5cbe13a6efca4417979e1d649efa094f837 16-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 65bfb219: am 7983be97: Sprinkle BlockGuard checks on DNS lookups.

Merge commit '65bfb2194248a27d8bf35b39c9d0e234fd329d7d'

* commit '65bfb2194248a27d8bf35b39c9d0e234fd329d7d':
Sprinkle BlockGuard checks on DNS lookups.
e158cd0fccadafc22af9d97846d3c725ca163828 16-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 7983be97: Sprinkle BlockGuard checks on DNS lookups.

Merge commit '7983be972905950b4a4e7d66df908f083c81ee29' into gingerbread-plus-aosp

* commit '7983be972905950b4a4e7d66df908f083c81ee29':
Sprinkle BlockGuard checks on DNS lookups.
17b4d84af14565564803b09be23b09e062876b28 16-Jun-2010 Elliott Hughes <enh@google.com> Apply harmony patch for https://issues.apache.org/jira/browse/HARMONY-6271.

Bug: https://issues.apache.org/jira/browse/HARMONY-6271
Change-Id: I6d6be2fa89ebbe4b759420edf17418af9cea9d4d
4bf800a5ffc6c4b9fb705cc3f4d0980b3991f6e2 16-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Sprinkle BlockGuard checks on DNS lookups.

Change-Id: Ib1ac2ce633fc1277ab8b6f11da37a739d0995cfe
24407caa475cf0cbb09c4ebdbd626985ed0b8db8 16-Jun-2010 Brian Carlstrom <bdc@google.com> Change openssl related tests to be runable with vogar as opposed to run-core-tests

external/openssl/README.android documents tests for checking for
regressions on openssl upgrades and changes. That documentation is
being updated from using run-core-tests to vogar. This CL fixes the
tests to work with vogar, specifcally:
- remove AllTests
- Fix HttpsURLConnectionTest to not modify default HostnameVerifier
- Removed SideEffects annotation from HostnameVerifierTest now that HttpsURLConnectionTest is fixed

Change-Id: Ie5908dfe8c61a1b806ffaf344b851ff25495ebcb
295d57ec52f3000b092133a29736f920a1e21e2a 16-Jun-2010 Brian Carlstrom <bdc@google.com> Merge "Update run-core-tests classpath" into dalvik-dev
724eb0c8d55cd7a276252a53dca3bc0a1e045405 16-Jun-2010 Elliott Hughes <enh@google.com> Use Integer.valueOf rather than "new Integer" (et cetera) from JNI.

Also factor it out rather than keep duplicating it.

Change-Id: I6349668f4676f1e0a7dd6fdc101dd1784c5465fb
4c29e0d7e9d2057b06f1d693aca3b103e0f0eac4 16-Jun-2010 Elliott Hughes <enh@google.com> Use ServiceLoader in Charset.

Also more internal tidying to remove unnecessary levels of indirection, and
reduce the amount of time we spend under a lock in forName and friends.

Bug: 2567593
Change-Id: I1a309d8b685fe1b78eec6b94114061407dd382ae
8626adb37f896209afbb46afbcbc77faa33856c0 15-Jun-2010 Elliott Hughes <enh@google.com> Remove a duplicate expectation.

(Maybe vogar should make this a loud warning rather than a failure?)

Change-Id: I9f178348c0ecbb432b26e3c98a5fb7b388a95ebc
348c975ccb36e8619940fe7d711212df18dcd7db 15-Jun-2010 Brian Carlstrom <bdc@google.com> Update run-core-tests classpath

Change-Id: Ie5a988f01eacec67717cf1d529f7d0cd538e874c
4ad6279b38e0a469441892e3a932e2df4ef1a0cb 15-Jun-2010 Elliott Hughes <enh@google.com> More test expectation fixes.

Add three more broken tests, and fix expectations that used '.' instead of '#'.
It would be nice if vogar would warn about non-pattern test names that aren't
actually found in the test suite.

Change-Id: I07d460744a8d9e40364b6d36b25da8e3d569fdb5
14cd9ed1a90d0404c0f55587779021ce1a009490 15-Jun-2010 Elliott Hughes <enh@google.com> Merge "Various broken tests." into dalvik-dev
5737dfa4ad2f84f969a3e962279897b243a96b33 23-Mar-2010 Mikael Ohlson <mikael.ohlson@stericsson.com> New implementation for java.lang.Runtime's availableProcessors().

This patch adds a native implementation for availableProcessors(),
replacing the hardcoded "always return 1" implementation.

It uses sysconf(_SC_NPROCESSORS_ONLN) to get the number of online
processors.

Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
d9dbe5fc77e314b0d0e165ed8237e3ab988024ee 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am a34eaa0b: Fix merge from Gingerbread which broke the build.

Merge commit 'a34eaa0bf798bd8816c4a4d946e4e4878cc46abd' into dalvik-dev

* commit 'a34eaa0bf798bd8816c4a4d946e4e4878cc46abd':
Fix merge from Gingerbread which broke the build.
08b36a55933847fd29aa7532c4617ab52f2d1273 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Fix merge from Gingerbread which broke the build.

The INetworkSystem interface has changed in master.

Change-Id: I7ab850821ba5c9e98124216dd66265570afa5196
155a8b553671527b7e11a8fca9097e3e4669f6a2 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am d3ff6bb5: am 2eed1da5: am b5e5b53f: Merge "Add WrappedNetworkSystem to Blockguard for StrictMode work." into gingerbread

Merge commit 'd3ff6bb57d2e86bfac9bb3c958d98bb0d371714c' into dalvik-dev

* commit 'd3ff6bb57d2e86bfac9bb3c958d98bb0d371714c':
Add WrappedNetworkSystem to Blockguard for StrictMode work.
62fd9255d62a3d859b90c40acf7910e8f97c6acc 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 2eed1da5: am b5e5b53f: Merge "Add WrappedNetworkSystem to Blockguard for StrictMode work." into gingerbread

Merge commit '2eed1da5004c1f014c39f191a863c638a931cb66'

* commit '2eed1da5004c1f014c39f191a863c638a931cb66':
Add WrappedNetworkSystem to Blockguard for StrictMode work.
c3d43ed816cc239f77c0ae81ec6878ca98749ff5 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am b5e5b53f: Merge "Add WrappedNetworkSystem to Blockguard for StrictMode work." into gingerbread

Merge commit 'b5e5b53fd0ab8f2cefdf8ec40e36d8e763fb7694' into gingerbread-plus-aosp

* commit 'b5e5b53fd0ab8f2cefdf8ec40e36d8e763fb7694':
Add WrappedNetworkSystem to Blockguard for StrictMode work.
f8c77c28f535435c85d71593bdc64867bc976de9 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Add WrappedNetworkSystem to Blockguard for StrictMode work." into gingerbread
ab97d5f88a4d0d69e7191de6f0fee23617cc0623 15-Jun-2010 Elliott Hughes <enh@google.com> Various broken tests.

I'll commit a vogar bug fix to the public repository too.

Change-Id: I3c18a1b8f74303aab65f67940ff41539f9620df1
45e0d36039654951656e7d53454e5bcf3fb23779 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Add WrappedNetworkSystem to Blockguard for StrictMode work.

Change-Id: Idde4b6f878fad5e8bd90fa929cb434c9a130fbcb
078038764658b02ed9d17c6b4936fc9f4ca221d3 15-Jun-2010 Elliott Hughes <enh@google.com> Merge "More charset-related cleanup/optimization." into dalvik-dev
3b0aeda62044e9ef9d15f59c6015f075ff875d00 15-Jun-2010 Elliott Hughes <enh@google.com> More charset-related cleanup/optimization.

This patch adds a Charsets class that lets us avoid a hash lookup and an extra
level of method call indirection when calling String.getBytes or "new String"
for a well-known guaranteed charset. It also fixes callers to take advantage.

This also adds a special case to "new String" for the UTF-8 charset to avoid
needless duplication if we guessed the correct buffer size (which we will for
input that happens to be US-ASCII too).

The ModifiedUtf8 class gives a more meaningful name for Utils.convertUTF8WithBuf.

This also removes a dead link and un-tinyurl'ed another.

Change-Id: I02712f53dee16feb3b1db2c14536dc055126cd04
082d4087356d22209dfcccd63e4a10fdcb944d0a 14-Jun-2010 Elliott Hughes <enh@google.com> am 3c998caa: resolved conflicts for merge of 637d3aef to master

Merge commit '3c998caacc0ded3b97e0c53b039a30cde2b27389' into dalvik-dev

* commit '3c998caacc0ded3b97e0c53b039a30cde2b27389':
Make System.setSecurityManager throw in the actual gingerbread.
6af334c00dd265e6b358092f0299cdbc3f11751f 14-Jun-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of 637d3aef to master

Change-Id: I025453c1064214ce2707239437b8c752b920e776
8c9ee4e81331e7f347a5f62117c56480faf70737 14-Jun-2010 Elliott Hughes <enh@google.com> am bea3f6b6: Make System.setSecurityManager throw in the actual gingerbread.

Merge commit 'bea3f6b6201e37f1acd31eb2a8f9aeebf40b3302' into gingerbread-plus-aosp

* commit 'bea3f6b6201e37f1acd31eb2a8f9aeebf40b3302':
Make System.setSecurityManager throw in the actual gingerbread.
796d1a6b2f75bf9af3fd7b39429521f3dfb7014b 14-Jun-2010 Elliott Hughes <enh@google.com> Make System.setSecurityManager throw in the actual gingerbread.

We thought we'd done this in gingerbread, but what gingerbread is changed
under out feet. There's no expectations files in the new gingerbread, so
I'll make the corresponding change in master. (Master currently expects
UnsupportedOperationException, despite the fact that master has already
been changed to throw SecurityException.)

Bug: 2585285
Change-Id: I8044b1f36b51307a24b012a6de8da848a9fabfae
c1e335fba37a99f356c026bea2f25b24ce8edc11 14-Jun-2010 Elliott Hughes <enh@google.com> am 44e44644: Fix our expectations to match the acutal exception System.setSecurityManager throws.

Merge commit '44e44644c7fc3b2ad8d3a04a32501b94214f8ab2' into dalvik-dev

* commit '44e44644c7fc3b2ad8d3a04a32501b94214f8ab2':
Fix our expectations to match the acutal exception System.setSecurityManager throws.
cbf89f09721f6a8e0344c413db0a2bcf5a985865 14-Jun-2010 Elliott Hughes <enh@google.com> Fix our expectations to match the acutal exception System.setSecurityManager throws.

Change-Id: I5e9dfc8c9bbeee44ca8805bd7089d5b190b3d533
6b643f1d1fafe27452f7a38d357f5684b53ea47a 14-Jun-2010 Elliott Hughes <enh@google.com> Merge "Fix serialization of DateFormatSymbols after https://android-git.corp.google.com/g/54091." into dalvik-dev
ce0c33e5315c831dca84f26df131b102de91c471 13-Jun-2010 Guang Zhu <guangzhu@google.com> am 83244e5b: update emma build path due to libcore location change

Merge commit '83244e5bec9d489a097251c3df8cd22b36f4f648' into dalvik-dev

* commit '83244e5bec9d489a097251c3df8cd22b36f4f648':
update emma build path due to libcore location change
ae98136b46a87d0edc2a500c902c66b2cad9e639 13-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding testcases for HttpsURLConnection and through a proxy." into dalvik-dev
bda2c49f32426a6e2d0458d56b14a7ee7cbf4e1a 12-Jun-2010 Guang Zhu <guangzhu@google.com> update emma build path due to libcore location change

Change-Id: Ib9484dd4caca75ae662be9baa887adb387f583fc
bd6fc5fb5035487d1e0d57a9ec53cd9d3be35b50 12-Jun-2010 Elliott Hughes <enh@google.com> Fix serialization of DateFormatSymbols after https://android-git.corp.google.com/g/54091.

I added non-RI fields, but didn't make them transient. This patch fixes that (so we write
RI-compatible serialized forms), and copes with reading in RI-compatible forms (that don't
have the stand-alone names) by falling back to the regular names.

Bug: http://b/2633414
Change-Id: I03f6fae78f09fc9cb9235d16cb982944069ef292
dfc933e3bf25cc1ec225ab40a009f5edad9bfbd9 12-Jun-2010 Jesse Wilson <jessewilson@google.com> Adding testcases for HttpsURLConnection and through a proxy.

One failure is here: http://b/issue?id=2761326

Change-Id: If1918a2e59bd4335e38ce3ec4214dfccd24ee798
5447a1c462d6de32d85f89ef303398218e25acab 12-Jun-2010 Elliott Hughes <enh@google.com> Improve MessageDigest documentation.

As explained in the bug, I don't think we can/should fix this potential
native crash, but we can and should improve the documentation to explain
how you're _supposed_ to use MessageDigest.

Bug: http://code.google.com/p/android/issues/detail?id=8709
Change-Id: I1cbab5995e5673d5386e21270ac52b6f90b9f421
3b86e600061e7b69d4448b7c905b2eedf9afa8c1 12-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Test for DOM node iteration thru siblings." into dalvik-dev
f968832da09d86965834e750ccdb8556cd7e1b8d 11-Jun-2010 Jesse Wilson <jessewilson@google.com> Test for DOM node iteration thru siblings.

This passes.
http://code.google.com/p/android/issues/detail?id=8944

Change-Id: Ia7f0c8f750bef71d7f2bf9e277eda82b8c1a7b38
b7650959a07a9f907bff0da2cd3a8b47b30545c1 11-Jun-2010 Elliott Hughes <enh@google.com> Make BigInteger thread-safe.

We were sharing an openssl BN_CTX between threads, which is unsafe. Stop
doing that, creating BN_CTXes on demand (which seems to be what openssl
does internally). For 1024-bit integers, this makes division faster,
multiplication slower, and makes no convincing difference to gcd. I
instrumented a build to report any time one of the methods that needs
a BN_CTX gets called, and couldn't find anywhere they're used during
boot or https browser usage. (These things do use BigInteger; they just
don't use the methods this change affects.)

Bug: 2652542
Change-Id: I98c94b41df95566cb4c8598f299911e641f72f63
236b9a2d0e3935b7879c43281340c72463668ad0 11-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing some miscellaneous jtreg failures in pipes." into dalvik-dev
12d0ec3d2ea5294af466f7644773a1ee396930f8 11-Jun-2010 Elliott Hughes <enh@google.com> Merge "Support stand-alone month and weekday names in SimpleDateFormat." into dalvik-dev
7bb5138743a8cf33a0f904b62853e1efbc36a1d1 11-Jun-2010 Elliott Hughes <enh@google.com> Support stand-alone month and weekday names in SimpleDateFormat.

Also rewrite the SimpleDateFormat documentation.

Bug: 2633414
Change-Id: I8fcc3b1f73dd6f264dd292852a8ab0c5a2742f5b
233b92ea9679d85d75b2938eb0f3d2b938bbced2 11-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing some miscellaneous jtreg failures in pipes.

Change-Id: I52c69b027a1e7636ec0ee8d83b3c8d938bec71f2
http://b/issue?id=2224976
804d1964e5cbfa6ab642ebe8d3b393da7ea8caf7 11-Jun-2010 Elliott Hughes <enh@google.com> www.ietf.org is the canonical home for RFCs.

Change-Id: Ib83ff61230649757917346645f6cf47d9df3f348
901ec97abc19a7bfc1ef7f140c3283cd1a5a0b2e 11-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding HTTPS and proxy support to our mock webserver." into dalvik-dev
6bd4d0ccccca4a2f6b38a9b3e720a902f45fcd5f 09-Jun-2010 Jesse Wilson <jessewilson@google.com> Adding HTTPS and proxy support to our mock webserver.

Also exposing core-tests-support for use by tests in frameworks/base.
I'm not particularly happy about this, but it seems to be the best
way to share test support code between the two build targets.

Change-Id: I5e8dcac90fc5d9be791e46c2606498978212108e
deeee539ffa5f8997909a1a42a9e5082da7d7bc6 10-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 590b9943: am 22437bcb: am 9aa3d668: Add BlockGuard PolicyViolation accessors.

Merge commit '590b99434696edf3f14843c85406eaf197dbc044' into dalvik-dev

* commit '590b99434696edf3f14843c85406eaf197dbc044':
Add BlockGuard PolicyViolation accessors.
bc9e5070d6ca918c8ea3bc293eb4316c52b40c3e 10-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 22437bcb: am 9aa3d668: Add BlockGuard PolicyViolation accessors.
6012b9321fa00e7b31d876b766320e832559e0b0 10-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 9aa3d668: Add BlockGuard PolicyViolation accessors.
dfe3e30f104bb900373260ff97ce35833eb043cf 10-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Add BlockGuard PolicyViolation accessors.

Change-Id: Ifc313c130024a5dac4498b0a4c92a5a16fb75b7f
55f906fe8bad09baa686eb7cb2821501b831585d 09-Jun-2010 Elliott Hughes <enh@google.com> Optimize String.getBytes for ISO-8859-1, US-ASCII, and UTF-8.

This is 10x faster for UTF-8 and 20x for US-ASCII/ISO-8859-1.

Change-Id: Ie34c8d0522175c9e0a0433fe42bc1c2b1d328b49
2781afd1796549b60cbf1735878f1684a09e3e7c 09-Jun-2010 Elliott Hughes <enh@google.com> Merge "Remove a duplicate of Charset.defaultCharset (from a deprecated method)." into dalvik-dev
ab9515085f45250281158ef8d6afe50122d33b5f 09-Jun-2010 Elliott Hughes <enh@google.com> Remove a duplicate of Charset.defaultCharset (from a deprecated method).

Change-Id: Ia7be1cfb2f7c3e891cd421fea4f814e62a1bc283
420ab1f00bb996fe80cb9d1f879a2f06aa0b13ad 08-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 08b02183: am 1173ba30: am 025fc4d9: BlockGuard Exception class should have been static.

Merge commit '08b0218345e35e979cc6dd27e6862a3f7c5f035e' into dalvik-dev

* commit '08b0218345e35e979cc6dd27e6862a3f7c5f035e':
BlockGuard Exception class should have been static.
0d7f756d8bb8aebc82e0477b6d85189911eebacb 08-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 1173ba30: am 025fc4d9: BlockGuard Exception class should have been static.
0a9800ad5e43ea74d2b5a48a900c24ba78e221a2 08-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 025fc4d9: BlockGuard Exception class should have been static.
6de5c942865ad256551cf4c4157c2f51f61d09f7 08-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> BlockGuard Exception class should have been static.

Change-Id: Ib8e3fee69684d4418f551d0a0f68916dcf2d949b
1996bb46e6759759fdac68fedcd62ab320e0f9a1 08-Jun-2010 Elliott Hughes <enh@google.com> Make Charset.defaultCharset cheap.

This is a slight behavioral change, but this is how the RI works: changing
"file.encoding" after startup has no effect there either.

Change-Id: I0fd44edd3aedcfd7f72cda572bb2ff3c44ad3ab9
a3936a07ce92abad43513e68f691097f024239ce 08-Jun-2010 Elliott Hughes <enh@google.com> Improve Charset.forName/"new String" performance.

Lookup String's default charset once at class initialization. Stop
creating a new empty char[] every time we create an empty string. Fix
the documentation not to lie about using ISO-8859-1 in all kinds of
places we don't (and where the RI doesn't specify that we should).
Fix the performance of the String(byte[]...String) and String(byte[]...Charset)
constructors to be equivalent rather than wildly different (and not in the way
anyone would reasonably expect). Canonicalize the requested charset's name
so that we can uniformly optimize all aliases of those charsets we
special-case, rather than just those few aliases we used to hard-code.

Tidy up the String.getBytes methods in preparation for optimization (in a later
patch).

Fix the performance of Charset.forName to be amortized constant time regardless
of what name is used, in recognition of the fact that Unicode TR#22 section 1.4
means that there are a potentially infinite number of valid pseudo-aliases for
any charset (at least two of which are relatively common in libcore itself, so
I'd imagine plenty are used in the wild too). Some slight synchronized-related
tidying, and more reuse of public API (because one day I'd like to improve the
locking situation deeper down in this code).

In HistoricalNameUtil.java, remove ugliness.

In File.java, use "new String" rather than junk from Util.

In RandomAccessFile.java, reuse convertUTF8WithBuf instead of the otherwise
unused convertFromUTF8 convenience method.

In Util.java, remove now-dead code and comment some code that looks like it
should be killed but is actually unique and necessary. (I'll probably move
this into an intention-revealing class in my next patch. "Util", FFS! "UTF8",
FFS!)

Also add a couple of tests to StringTest.java to show that my improved String
documentation is true, and that some bogus code that I removed was indeed
bogus.

Change-Id: I746f990172c51c30aa5f5037346644552a224841
7e2cf428bf096cedea01798b54f12e3c30a41bdd 07-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing a bug wherin exceptions weren't being reported for generic methods." into dalvik-dev
d5e79cd2e342da778df968d9aeb509bd373198e3 07-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing a bug wherin exceptions weren't being reported for generic methods.

Change-Id: Ic695ce127c8b4d59508f888028102fb8410e1600
http://b/issue?id=2742467
335e12123448a813b7f8c63b87fdc83cc17ef574 07-Jun-2010 Elliott Hughes <enh@google.com> am c7787cfa: Merge "ICU4.4.1 upgrade 1. Replaced the temp Android patch for BigDecimal support with ICU APIs. 2. Changed ICU.cpp for resource re-structure in ICU4.4 release. 3. Fixed the test data for NumberFormat test caused by the locale data changes."

Merge commit 'c7787cfacfb9800f57c4506db1ba773460335af2' into dalvik-dev

* commit 'c7787cfacfb9800f57c4506db1ba773460335af2':
ICU4.4.1 upgrade
9e9836f56d1337dde1470ae95ed5eb640d655c03 07-Jun-2010 Elliott Hughes <enh@google.com> Merge "Test all the UTF-16/UTF-32 charsets." into dalvik-dev
16b3f6890a690c2221b8d399ea1885189e8107f1 05-Jun-2010 Elliott Hughes <enh@google.com> Test all the UTF-16/UTF-32 charsets.

Bug: 2742564
Change-Id: I98b67c414f8f340056d5db74c7e463236a4918ff
3d4e0952811a20b6c6d0c3bcf77f470cf45200ab 07-Jun-2010 Elliott Hughes <enh@google.com> Merge "ICU4.4.1 upgrade 1. Replaced the temp Android patch for BigDecimal support with ICU APIs. 2. Changed ICU.cpp for resource re-structure in ICU4.4 release. 3. Fixed the test data for NumberFormat test caused by the locale data changes."
bcebf62b1688e4c84aa338361793ff5413817e8d 07-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding a few missing type parameters to reflect classes" into dalvik-dev
5d9af83e6f91fe75ab33af524cb97f300980d0e4 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Filling in missing Java 6 APIs for AccessController.

This keeps with our current policy: gracefully handle security manager
doPrivileged calls, but don't permit user-defined security managers.

Change-Id: Ie77274e1c82c2baddad74fe467d3a7b80d9dc379
b441f7cbbe74fedb168e4e44dcfebabe1812b905 07-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Tests for Method.getGenericExceptionTypes() failures." into dalvik-dev
ec119956f95b37ca55f047aae708920bb178059a 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Adding a few missing type parameters to reflect classes

Change-Id: Idae3034c37f3eaff6921d5cf01541abee85762f2
5e2ee28e37896891d052fceeaeddb8b7c0b8f0bf 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Tests for Method.getGenericExceptionTypes() failures.

See http://b/2742467

Change-Id: I7188c053284017f8ce9e3d789f03badcec80d39e
94daa79d391e07e5f289e8f5449f507a3f56348f 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing the last API deltas between Dalvik and Java 6." into dalvik-dev
2e4c1745018804a08eae474d2bb8211b85979d53 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Scrubbing broken tests and removing unnecessary organization AllTests.java files." into dalvik-dev
bf83ff31f1a7dcb62e971b4ad206c22de3fed1ad 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove reflection in DatabaseMetaDataTest and replace with simply checking the static fields manually." into dalvik-dev
e1224f7b477c36b31be1065f732c7fb78830a5a7 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "fix testSetQueryTimeout test by fixing SQLite JDBC driver in a few ways to conform to the spec." into dalvik-dev
387fcbdd3a8367c7162cf024dbe08bb47873e2b7 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing the last API deltas between Dalvik and Java 6.

This addresses some problems with generic type signatures (missing <?>)
and new factory methods for XML factory classes.

Change-Id: I9cd886e38b8bc9d495ae4e5ed70f71f27ac3f0cc
cff2959761ff663d2ad32694b206a71f1d3cf3e9 05-Jun-2010 Jeremy Sharpe <jsharpe@google.com> Remove reflection in DatabaseMetaDataTest and replace with simply checking the static fields
manually.

Change-Id: I0e15e3d5b6c496849bb8b9f4efb95d032cf814f3
99bb8656e116d285cd9599fa1ed89b85eb2df959 04-Jun-2010 Jeremy Sharpe <jsharpe@google.com> fix testSetQueryTimeout test by fixing SQLite JDBC driver in a few ways to conform to the spec.

There's some other goofy stuff there, like unlimited timeouts, for instance, don't seem to be
implemented at all.

Also enhance the test to more completely cover the different failure cases.

Change-Id: I4f4f1074c6673011039f3d0f8a07d8c753c825d7
50f324d17aec68225ea6eaa11a336dea76a6c077 03-Jun-2010 claireho <chinglanho@gmail.com> ICU4.4.1 upgrade
1. Replaced the temp Android patch for BigDecimal support
with ICU APIs.
2. Changed ICU.cpp for resource re-structure in ICU4.4 release.
3. Fixed the test data for NumberFormat test caused by the locale
data changes.

Change-Id: I307e798f1a135a5024a693d23363733d020ed22f
06e19396183df2427f408bdf24bed30ed36d7c3e 04-Jun-2010 Jesse Wilson <jessewilson@google.com> Scrubbing broken tests and removing unnecessary organization AllTests.java files.

I've deleted as many tests as possible that duplicated coverage in Harmony.
We're now running their tests directly against our codebase and having two
copies of every test is quite painful; particularly when the tests need
maintenance.

The AllTests files aren't necessary, our test harness can automatically find
tests and run them without external organization. This strategy is also more
reliable, since often the AllTests files are out of sync.

Change-Id: I3ee052f8839e9b146ba47f945812f5937d878110
b940c64b78d3034deb35abb41220087a1c82ba8e 04-Jun-2010 Elliott Hughes <enh@google.com> Bullet-proof the lseek/read in Inflater.setFileInput.

Also document why that non-API method exists, and that we don't have
benchmarks to support the claimed optimization.

Also be more consistent about setting LOG_TAG, and fix a few old-school
copyright headers.

Change-Id: If9fdc4583eaf91275ed44e2dc56174819d1913d0
56d1377012b8e596781e7f67b8ea40177cd3fad7 04-Jun-2010 Elliott Hughes <enh@google.com> Simplify our use of ucnv_close.

ucnv_close -- like most modern "free" APIs -- ignores NULL. It also calls each
callback giving it a convenient opportunity to clean up, which lets us get rid
of some particularly nasty code that was trying to do the cleanup forcibly from
outside.

Change-Id: I77ccf37235a222f38d897516d1226a026d8cc50b
22218058ec3c25b10b88f83ebfa2ec714c9b5bce 03-Jun-2010 Elliott Hughes <enh@google.com> Merge remote branch 'goog/master' into mm2

Change-Id: I3a9d2142423dd38260ce3b0d97ca7ad750cca5c3
f81a37f3c5a4d057569989283d8060a4c431c930 03-Jun-2010 Elliott Hughes <enh@google.com> Fix javadoc error found by sdk build.

Can we build this target on our dalvik-dev continuous build too, so we catch
errors like this on our own branch before breaking master? What is the target?

Change-Id: I677220b3a95c2b053572a7d6dc916e1ecfcb61c4
6156b8a184cecfc64840ac210da76daab6e8e30f 03-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of e916ffd2 from kraken to master

Change-Id: Ie072d918eb0607d8d713ea885cbf0d353f809332
9cde5f47cd515542df5e25da9a70a482c0b435ee 03-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding tests to exercise the "buffer error" problem in bug 2734751." into dalvik-dev
b2cefe6e565f5f110e008abc108a8616d9cc1d6d 03-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 8396b3fb: Introducing the beginning of "BlockGuard".
29fd88fccca5899e13d18af68987b1461831b1e2 03-Jun-2010 Jesse Wilson <jessewilson@google.com> Adding tests to exercise the "buffer error" problem in bug 2734751.

Change-Id: I55cf7ebf0976a95f4653a416a389d1d801ed5a00
http://b/issue?id=2734751
fd330db23d21584b5f365cb9f7d78558a18595b3 02-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Introducing the beginning of "BlockGuard".

From the JavaDoc (even though this is a @hide class):

Mechanism to let threads set restrictions on what code is allowed
to do in their thread.

This is meant for applications to prevent certain blocking
operations from running on their main event loop (or "UI")
threads.

Note that this is all best-effort to catch most accidental
mistakes and isn't intended to be a perfect mechanism, nor provide
any sort of security.

This is just the start. Future CLs will wire this up in the framework
(giving developers some way to enable it, either via a tiny framework
API, or via their AndroidManifest.xml), add network and Binder
support, etc.

Change-Id: I212e1c8b9fa2bb9e495103e0c2fe6a998dc1f8d0
221b2d42d52618fd2cf2cf9d14793f3a2ae5952b 03-Jun-2010 Elliott Hughes <enh@google.com> Merge remote branch 'goog/dalvik-dev' into mm

Change-Id: I6905802cfe7cda73bb6f52fe0cc79767b4645e82
9d06622aa33b3270cf129960ac86643b6523add8 03-Jun-2010 Elliott Hughes <enh@google.com> Merge "Fix EUC-JP (and friends) to be better than before." into dalvik-dev
c948b9f39903d8d1ac05444a6905aceb29c629ab 03-Jun-2010 Elliott Hughes <enh@google.com> Fix EUC-JP (and friends) to be better than before.

In froyo, EUC-JP, SCSU, and Shift_JIS all worked because we mangled their
replacement byte sequences to 0x3f, which didn't make a lot of sense but
which silenced the RI's mandated checks on valid replacement byte sequences.

This patch subverts the checking for ICU-supported charsets, and lets us
use the best byte sequences for the job.

Also new tests, and rewritten documentation for CharsetEncoder.

Bug: 2732849
Change-Id: Ia104a0bd2adc9c99bfeb550abfd7d5336c412c86
69b3fd0f41363868f38bad515dbba9c99b6d856e 03-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing a bug in inflate where refilling a file doesn't update the zip stream.

See bug http://b/issue?id=2734751

Change-Id: Iff5f7e564518805151a60f56d6f19a584c9e0b44
077bc60ddb9c3886c788c7b445d62e3286f1d2ae 29-May-2010 Jeremy Sharpe <jsharpe@google.com> Update sqlite java 6 driver to coincide with changes made upstream.

Some of these changes are kind of arbitrary, but where it didn't matter I went with the upstream
version to make future merges easier.

Changes NOT made upstream are still marked with android-changed, but I updated the rest of them.

Tried to fix whitespace as much as possible. Tell me if I missed any.

Change-Id: I3396bd26d2cc00306b3867cea49d100430691bd1
5cf62cec53b54e1a076562d1d2515ad89353ed7a 02-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing file leaks in SelectorImpl." into dalvik-dev
866809e4efcea05ff6ada6b45b031ba97f309db5 02-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing file leaks in SelectorImpl.

There were two core problems:
source.close() and sink.close() weren't being called by SelectorImpl
ServerSocketChannelImpl was opening a stream socket into a file descriptor,
only to have its PlainServerSocketImpl clobber that file descriptor later
when create() was called.

Alongside fixing these problems I've done some style cleanup. None
of which should impact behavior.

Change-Id: I39eead3fbdc0290e83784e8b50861aeef7020513
7c58120c06c9c6274a64983b9be9302e75921f60 02-Jun-2010 Elliott Hughes <enh@google.com> Merge "Add UTF-32BE/UTF-32LE/UTF-32 decode/encode tests." into dalvik-dev
6fe893026bf76d4387d021bcd8afccdb8889a91e 02-Jun-2010 Ben Murdoch <benm@google.com> Fix NPE in HttpURLConnectionImpl.

I observed this NPE in master (does not repro in Froyo) in the Browser when trying to save an image
as home screen wallpaper. The code path in the Browser uses java.net.URL.openStream() which goes into
HttpURLConnectionImpl and crashes when trying to use the default cookie handler. The other reference
to the cookie handler in this file does a null check before using it, so it seems reasonable to add one
here too.

Change-Id: I587b7fca6551ccf7be9dcbdf3978ee9e0fc22b0a
5af3e0c54ab5e942db4995ffb1380b0f4cb359e8 02-Jun-2010 Elliott Hughes <enh@google.com> Tidy up some junk in CharsetEncoderICU.

I claimed to have removed this earlier, but didn't "git add" the file.

Change-Id: I0298b7f356278a031a40390309822981f6cedfbb
5dbd900a004fb75a11e012997e89402866557a58 02-Jun-2010 Elliott Hughes <enh@google.com> Fix sim-eng build with missing #include.

Change-Id: I77d9841f7112235096c54ac70479ad09f2b0559d
5820731d72ed315b348e19195ea8e59134774473 02-Jun-2010 Elliott Hughes <enh@google.com> Add UTF-32BE/UTF-32LE/UTF-32 decode/encode tests.

Change-Id: I80d45ac0e98b17eea7d27caabccb50859289a50e
c9b556fbc0c724f05b099794d89316213cfd27db 02-Jun-2010 Elliott Hughes <enh@google.com> Refactor some of the OSNetworkSystem stuff to more appropriate homes.

Also rewrite PlainDatagramSocketImpl.peek in terms of existing primitives
rather than requiring its own. I still don't see how it can get called, but
at least now it doesn't require its own native code.

Bug: 2686833

Change-Id: I0453add66dab4c7095ee2a3f51a49efbd1205598
9c2d85f6c0e8970a71b50ac324c596d23aaaadbc 02-Jun-2010 Elliott Hughes <enh@google.com> Merge "Rewrite Charset.contains to push the UConverter allocation/deallocation down to C++." into dalvik-dev
96ad477122a3419b1382c9f3d6379d58b31d5fb1 01-Jun-2010 Elliott Hughes <enh@google.com> Rewrite Charset.contains to push the UConverter allocation/deallocation down to C++.

This also fixes the resource management so we can't leak decoders/encoders if
a constructor throws. (I thought I had a bug for fixing all classes with
finalizers in this way, but I can't find it.)

Bug: 2726958
Change-Id: I169242786cbbe8665aad151ca8f3946bc8c61603
71170669e2b3c8397067326b428a0c6ebb356c20 02-Jun-2010 Jesse Wilson <jessewilson@google.com> resolved conflicts for merge of ce588a3a to master

Change-Id: I711a9afb47d478d75fc26247271eb09bb9aa7b3b
6d37cb3b4efbfbd8b9a3948a764e42b1e04c7ea6 01-Jun-2010 Elliott Hughes <enh@google.com> Fix a mistake in the new Charset documentation: UTF-16 swallows BOMs.

Introduced in https://android-git.corp.google.com/g/52835.

Change-Id: I4c8ede55cbec84e25bc8cd522af1f56c79f4369a
3e75112b4af0d7f99a96f6ce5e2763032a4a4755 01-Jun-2010 Elliott Hughes <enh@google.com> Merge "Add tests to confirm that Charset behaves as the RI documentation claims." into dalvik-dev
0240596a1ff44afe00aedd13e90fcbeb24cf74ee 01-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing HttpURLConnection to work without a CookieHandler." into dalvik-dev
2a5f4bf20e001ef58b4fb27386ef4350b18897dd 28-May-2010 Elliott Hughes <enh@google.com> Add tests to confirm that Charset behaves as the RI documentation claims.

Also improve our Charset documentation.

Note that we fail these new tests, but ICU 4.4 has what we need to fix
this.

Bug: 2702411
Change-Id: I6195dd807e33acdee96138a1d16dde95a786a322
dbf3d2fd78eb45edcf236f70296625e3618d7fd7 29-May-2010 Elliott Hughes <enh@google.com> Merge "Remove the last exception message catalog." into dalvik-dev
9d6578098b28e9c4471989f51af13d0101460c75 29-May-2010 Elliott Hughes <enh@google.com> Remove the last exception message catalog.

Bug: 1251121
Change-Id: I45931b9ff908531bda06d6569a4e9618986f821b
574e40f8f4954ab0910135103b7331c6bb19bc23 29-May-2010 Brian Carlstrom <bdc@google.com> Rename core-tests-luni to core-tests-luni for cts dependency

Change-Id: I6a739028c4c7bcda12b905116166e119720e69c2
99588edf160562914f497b9f7cf7a2d9be8f5bcd 29-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Further small fixes to increase API compatibility with RI v6." into dalvik-dev
f54c7da571aa9cc0b3b6cf87079b164da1277def 29-May-2010 Jesse Wilson <jessewilson@google.com> Fixing HttpURLConnection to work without a CookieHandler.

This was a huge regression that thankfully many of our tests pointed out.

Change-Id: I12db314cfe732402889d9cf7f1864789f3711686
38d24ca505cd59ac11c16a890fabd18587980f19 28-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Tag large tests so that they run to completion in our build." into dalvik-dev
e4497dd1416c1408c0fbec2fc4f47b12ca03cdde 28-May-2010 Jake Hamby <jhamby@google.com> am 1bd949eb: Delete duplicate test files for JDK 1.6 compatibility.
c42ff6e3af83cbb85d993d6a770f5a70491348c6 28-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix sql unit tests recently added to todo.txt." into dalvik-dev
e99c1296174c783ead0183de34703f8cfe9f9ba6 28-May-2010 Jesse Wilson <jessewilson@google.com> Tag large tests so that they run to completion in our build.

Change-Id: Ic8fc1364c7b596ce1872fab2df14f31e45554bb3
868ecea5d0afc7566221c2b4beab3b7a57a9994b 28-May-2010 Jesse Wilson <jessewilson@google.com> Further small fixes to increase API compatibility with RI v6.

Highlights:
code was moved from SSLContextImpl to its superclass.
took X500Principal code from Harmony

Tested with Harmony's tests.api.javax.security.auth.x500.X500PrincipalTest.

Change-Id: I89b46d4b47e692a5461916cca972e05de95f3280
129030da1f6489ff3c760f75c2fc9d2936427ccd 28-May-2010 Jeremy Sharpe <jsharpe@google.com> Fix sql unit tests recently added to todo.txt.

Also change name of todo.txt to icebox.txt.

Change-Id: Ied9bce333fef83b0228d955f58abd4dbead4a315
65826ebb98425eb64c4920eca1de62864bbf869c 28-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Filling in APIs from RI 6 that we missed." into dalvik-dev
ceb5ff1cd646f4ad53878e93fe2da6f6efa18d84 28-May-2010 Jesse Wilson <jessewilson@google.com> Filling in APIs from RI 6 that we missed.

Change-Id: I7f98bbbb3c68efee61b88acc3bc25f2c9990b519
23a733afaf8d62e9a98626327bdc0b2947182d1e 28-May-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master

Conflicts:
JavaLibrary.mk
luni/src/main/java/java/lang/System.java
luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnectionImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
luni/src/test/java/java/net/URLConnectionTest.java
support/src/test/java/tests/TestSuiteFactory.java
x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I1038f749c8c9bd640aae7ca96627810936454883
c260ead4d09607681bf2c058b4e8d7ddcec52cbf 28-May-2010 Elliott Hughes <enh@google.com> Merge "Javadoc improvements." into dalvik-dev
5272f8903b993ad75359298eff30c4d93bb6d070 27-May-2010 Elliott Hughes <enh@google.com> Javadoc improvements.

Bug: 2718660
Change-Id: Ifae8541d269ac0fa5581802a8d78453af19a0e10
923e2e4b653500d4b56f5f7c9aa92d3e840edefb 28-May-2010 Jake Hamby <jhamby@google.com> Delete duplicate test files for JDK 1.6 compatibility.

JDK 1.6's jar utility fails with a "duplicate entry" error due to
identical test files in multiple locations. This change fixes the
build on JDK 1.6 by deleting the extra copies of the test files.

Change-Id: Iad27b9a345e7b455c1576989e948088fe00e1116
8407519d869780f8601a05f8a4debdad8f0fd581 28-May-2010 Jesse Wilson <jessewilson@google.com> Fixing Class.getMethod() to support synthetic methods from covariant return types.

Change-Id: I569d5d68888975f2828c8ab56b015fd323ad9114
d3c35d288452adffc2c0fef2d583479f3f1d779c 28-May-2010 Jesse Wilson <jessewilson@google.com> Adding a failing test that demonstrates some reflection problems.

Change-Id: Ieb5ec91a75ef42f8eceb065fc969cf0c426e6a98
1c4f3fe3cccf05f6de328f3566f53b3ca3efc879 27-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing many test failures with the new cookie implementation." into dalvik-dev
eaf7ecec066c7709acd2e0186d18518a8c11b6f0 27-May-2010 Jesse Wilson <jessewilson@google.com> Fixing many test failures with the new cookie implementation.

Highlights:
- don't send cookies with nonmatching ports or secure attributes
- default the port when "port" with no value is received
- make CookieStore threadsafe
- make CookieStore retain only host in URIs
- fix concurrent mod bug when removing expired cookies
- support null URIs in the CookieStore (unfortuantely)
- parse more date formats; even ridiculous date formats
- match ".google.com" to "google".
- support single quotes in attribute values
- exploit @hide to add a new API, URI.getEffectivePort()

Alongside this change I've fixed several test problems in dalvik-prebuild's
copy of both the Harmony tests and the jtreg tests. Most of the fixes involve
commenting out bogus assertions.

Change-Id: I71f09110b48d8ca4f3538fd21c8dde7ffdd35a6a
7e064d77416cb106f7ce7d512882cf675ceefa57 27-May-2010 Brian Carlstrom <bdc@google.com> Remove duplicate test from knownfailures

Change-Id: I09b93b1ae055a44d736d0fd143684a587f2269cb
3486ad0b317386af70d8b62474577436c3e6a7e0 27-May-2010 Elliott Hughes <enh@google.com> Make NativeBN's filename match the class name.

Change-Id: I28dae1dfc62bd1cf134aad46e6c051eafb005723
2aff0a99d920a6cf0b324ef7b826e70812ea9ce8 27-May-2010 Elliott Hughes <enh@google.com> Merge "Enhance ScopedUtfChars to include the null check most callers were missing." into dalvik-dev
ef9990e0fb2ede35a35580dd9f6c10b461250215 27-May-2010 Elliott Hughes <enh@google.com> Enhance ScopedUtfChars to include the null check most callers were missing.

Also switch most non-users over to ScopedUtfChars.

Also ensure all users check that ScopedUtfChars was successful in getting the
chars.

Also rewrite ObjectInputStream and ObjectOutputStream without duplication.

Change-Id: I929d00fe3ff50b303cba4a2cf2269355e9fef5f9
f7199f3289d52daeae7772841083a6bc22541023 27-May-2010 Brian Carlstrom <bdc@google.com> whitespace fix

Change-Id: I7edef11a0f8b03a5fa85b3c0e15d3ac84caa35c5
a2133755f1b165ce3d7d03e6e6a64d0cbdf705c1 27-May-2010 Brian Carlstrom <bdc@google.com> Add missing package on ambiguous class name and cast on ambiguous type

Change-Id: I470c929f67ecaffa91d5a67c87f1ed5358cfd84c
cf5e1eb029deb918fcda1e49bfde8fc84e678534 21-May-2010 Brian Carlstrom <bdc@google.com> RI 6 support for javax.net.ssl

Summary:
- RI 6 support for javax.net.ssl
- SSLEngine fixes based on new SSLEngineTest
- fix Cipher.checkMode bug recently introduced in dalvik-dev

Details:

Fix Cipher.checkMode that was preventing most javax.net.ssl tests from working

luni/src/main/java/javax/crypto/Cipher.java

RI 6 has introduced the concept of a "Default" SSLContext. This is
accessed via SSLContext.getDefault() and also
SSLContext.getInstance("Default"). Harmony had its own
DefaultSSLContext but it was not created via an SSLContextSpi. It also
was a single shared instance whereas the new RI6 Default SSLContext
shares internal SSLSessionContext instances between different Default
SSLContexts.

Refactored the old code into an SSLContextImpl subclass that
allows it to be created via SSLContext.getInstance. SSLContextImpl
ensures that we only ever create one set of SSLSessionContext
instances for the Default context.

luni/src/main/java/javax/net/ssl/DefaultSSLContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/DefaultSSLContextImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java

Added SSLContext.getDefault and SSLContext.setDefault

luni/src/main/java/javax/net/ssl/SSLContext.java

Replace dependencies of old DefaultSSLContext with use of SSLContext.getDefault

luni/src/main/java/javax/net/ssl/SSLServerSocketFactory.java
luni/src/main/java/javax/net/ssl/SSLSocketFactory.java

Register "SSLContext.Default" as DefaultSSLContextImpl class for SSLContext.getInstance()

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java

Added constant for new "Default" standard name and added it to
SSL_CONTEXT_PROTOCOLS. New tests based on SSL_CONTEXT_PROTOCOLS
made it clear that neither Android or RI support SSLv2 so removed
it from SSL_CONTEXT_PROTOCOLS and SSL_SOCKET_PROTOCOLS. Added
constant for TLS as well which was previously scattered all over
tests. Remove SSLv2Hello from SSL_SOCKET_PROTOCOLS for Android
since with OpenSSL disablign SSLv2 means you can not use
SSLv2Hello either.

support/src/test/java/javax/net/ssl/StandardNames.java

Added tests for SSLContext.getDefault and
SSLContext.setDefault. Changed existing tests to work on all
protocols including new "Default".

luni/src/test/java/javax/net/ssl/SSLContextTest.java

RI 6 has introduced the notion of SSLParameters which encapsulate SSL
the handshake parameters of desired cipher suites, protocols, and
client authentication requirements.

The main new class SSLParameters is basically just a bag of fields
with accessors and a couple simple constructors. The only things
of note are that it clones all String arrays on input and output
and the setters for the two boolean fields ensure that only one is
true at a time.

luni/src/main/java/javax/net/ssl/SSLParameters.java

Added SSLContext.getDefaultSSLParameters and
SSLContext.getSupportedSSLParameters which simply delegate to the
SSLContextSpi.

luni/src/main/java/javax/net/ssl/SSLContext.java

Added abstract SSLContextSpi.engineGetDefaultSSLParameters and
SSLContext.engineGetSupportedSSLParameters.

luni/src/main/java/javax/net/ssl/SSLContextSpi.java

Added engineGetDefaultSSLParameters and
engineGetSupportedSSLParameters implementation. The RI documents
in SSLContextSpi that these are implemented by default by creating
a socket via the SSLContext's SocketFactory and asking for the
enabled/supported cipher suites and protocols respectively, so
that is what is done. The doc mentions throwing
UnsupportedOperationException if there is a problem, so we do that
as well.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java

Added {SSLEngine,SSLSocket}.{getSSLParameters,setSSLParameters}
which are analogous.

luni/src/main/java/javax/net/ssl/SSLEngine.java
luni/src/main/java/javax/net/ssl/SSLSocket.java

Added SSLParametersTest

luni/src/test/java/javax/net/ssl/SSLParametersTest.java
luni/src/test/java/javax/net/ssl/AllTests.java

Added SSLContext.get{Default,Supported}SSLParameters tests

luni/src/test/java/javax/net/ssl/SSLContextTest.java

Added SSLSocket.{getSSLParameters,setSSLParameters} tests and added
some extra asserts to test_SSLSocketPair_create based on experience
with test_SSLEnginePair_create.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Dummy implementation of new SSLContextSpi for test classes.

support/src/test/java/org/apache/harmony/security/tests/support/MySSLContextSpi.java
support/src/test/java/org/apache/harmony/xnet/tests/support/MySSLContextSpi.java

Other minor RI 6 API changes:

RI 6 removed Serializable from HandshakeCompletedEvent and SSLSessionBindingEvent

luni/src/main/java/javax/net/ssl/HandshakeCompletedEvent.java
luni/src/main/java/javax/net/ssl/SSLSessionBindingEvent.java

RI 6 added generic types to the KeyStoreBuilderParameters List
constructor and accessor as well as to
SSLSessionContext.getIds. Fixed tests to compile with generic types.

luni/src/main/java/javax/net/ssl/KeyStoreBuilderParameters.java
luni/src/main/java/javax/net/ssl/SSLSessionContext.java
luni/src/test/java/tests/api/javax/net/ssl/KeyStoreBuilderParametersTest.java

SSLEngine improvements. Since I was changing SSLEngine, I wrote an
SSLEngineTest based on my SSLSocketTest to do some simply sanity
checking. It expose a number of issues. I've fixed the small ones,
marked the rest as known failures.

Renamed some TLS_ cipher suites to SSL_ to match JSSE standard
names. These were all old suites no longer supported by RI or
OpenSSL which is why they were missed in an earlier cleanup of this
type in this class. Also fixed SSLEngine supported cipher suites
list not to include SSL_NULL_WITH_NULL_NULL which is not a valid
suite to negotiate.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

SSLEngine instances can have null host values, which caused a
NullPointerException in the ClientSessionContext implementation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java

SSLEngine tests were failing because SSLParameters was throwing
NullPointerException instead of IllegalArgument exception on null
element values. Fixed null pointer message style while I was here.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

Fixed SSLEngine instances to default to server mode like RI

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java

Fixed KEY_TYPES based on SSLEngine implementation. Removed dead
code NativeCrypto.getEnabledProtocols which was recently made
obsolete. Cleaned up null exception messages to follow our convention.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java

Added SSLEngineTest which parallels SSLSocketTest in its
coverage. Similarly added TestSSLEnginePair which loosely parallels
TestSSLSocketPair.

luni/src/test/java/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/javax/net/ssl/AllTests.java
support/src/test/java/javax/net/ssl/TestSSLEnginePair.java

SSLEngineTest betters exposed the differences between SSLSocket and
SSLEngine supported cipher suites. StandardNames now has an
CIPHER_SUITES_SSLENGINE definition which denotes what is missing
and what is extra and why in the SSLEngine implementation.

support/src/test/java/javax/net/ssl/StandardNames.java

Created StandardNames.assert{Valid,Supported}{CipherSuites,Protocols}
to factor out some code test code that is also used by new tests.

support/src/test/java/javax/net/ssl/StandardNames.java
luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Remove SSLSocketTest known failure and add new SSLEngineTest known failures

expectations/knownfailures.txt

SSL_OP_NO_TICKET change was recently merged from master which required some fixes.

For the moment, sslServerSocketSupportsSessionTickets always returns false.

support/src/test/java/javax/net/ssl/TestSSLContext.java

Fixed flakey test_SSLSocket_HandshakeCompletedListener which had a
race because the client thread look in the server session context
for an session by id potentially before the server thread had a
chance to store its session. Made noticable because of
SSL_OP_NO_TICKET recently merged from master (before this code
path was host only, not device)

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Fix checkjni issue where we need to check for pending exception in
OpenSSL callback. Possibly introduced by recent merge of
SSL_OP_NO_TICKET from master.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Expectation updates

Remove SSLSocketTest known failure and add new SSLEngineTest known failures

expectations/knownfailures.txt

Tag test_SSLSocket_getSupportedCipherSuites_connect as large

expectations/taggedtests.txt

Misc changes:

opening brace on wrong line

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Long line cleanup while debugging

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/HandshakeProtocol.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketFactoryImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketFactoryImpl.java
support/src/test/java/javax/net/ssl/TestKeyStore.java

Removed bogus import

luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java

Comment clarify while debugging

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Ctor -> Constructor in comment

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLEngineImpl.java

Fixed naming of SocketTest_Test_create to TestSocketPair_Create to match renamed classes

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Change-Id: I99505e97d6047eeabe4a0b93202075a0b2d486ec
6497db48c5c2ce170bb8481b50a69ed3ec61ea34 25-May-2010 Elliott Hughes <enh@google.com> Remove @hide from Java 6 API.

I've left the two new spi packages @hidden, because I think we shouldn't
support them without convincing demand from developers (and I don't
believe there could be such a thing --- they just don't make sense, and
if we add anything, it should be the ability to provide extra ICU data).

Also fix a handful of javadoc syntax errors in Arrays.java and TreeMap.java.

Bug: 2497395
Change-Id: I4176b72daff0face4ed6c7ee1d1f4267d52006b4
b56a6051074bc927e0fd4ddbb9626de39d4b74b9 14-May-2010 Jeremy Sharpe <jsharpe@google.com> Implement Java 6 SQL API. Javadoc is still messy and some unit tests
need to be updated to reflect newly implemented parts of the API.

Change-Id: Icee718ef997d29aa08fc78b101f87532dc89167f
a81571f9c2175117c85b79589af14547b50dc8e3 26-May-2010 Jesse Wilson <jessewilson@google.com> Setting expectations for some failing regex tests.

Change-Id: I1ea9fb9641cbf7ceb471643dc1591460673f0252
58890523bdc243455ae897808213bd9407596f1b 21-May-2010 Jeremy Sharpe <jsharpe@google.com> Fix NullPointerException from TreeMap immutable entry methods by checking the return values for null before wrapping them with new SimpleImmutableEntrys.

Change-Id: Ib8a78dd13b8b2895acd5f0016bc353f763ea50be
70e7e94a0a5a0a45fb5a3f52005944031732578a 25-May-2010 Elliott Hughes <enh@google.com> Merge "Remove the luni localized exception messages." into dalvik-dev
97eda41672f1fd6436f23be4d8f217a3417f16f6 25-May-2010 Elliott Hughes <enh@google.com> Remove the luni localized exception messages.

Also fix a bug I introduced in KXmlSerializer: s.isEmpty() is not
equivalent to "".equals(s) if s is allowed to be null.

Bug: 1251121
Change-Id: I41a0a98ffb49f214041c9110f824d327af5c34e8
98d2517f217d2b81d225668a935c470ad9bcbc10 25-May-2010 Jesse Wilson <jessewilson@google.com> Working through jtreg failures in java.util.

TreeMap.clone() failed on an empty treemap.
Some EnumSet tests needed to be suppressed or given an extended timeout.

Change-Id: I98240910f5fdbe3226ef1071f99a8cac37e2c7ef
7d09a22b6e7c6424c6107e872dd741690c20c461 25-May-2010 Jesse Wilson <jessewilson@google.com> Reduce the visibility of HttpCookie.isFullyQualifiedDomainName().

This is a genuine bug caught by apicheck. Yay apicheck.

Change-Id: I8f9cb60d42d7cba1b65b3173660ef51cd8427622
af4f8030ef88ad29ea1b1aca2f53bb0ab0880caa 25-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Redo HttpCookie.parse()." into dalvik-dev
520cc4c19ed5a085b66134be98dd8f5045e7fa4a 21-May-2010 Jesse Wilson <jessewilson@google.com> Redo HttpCookie.parse().

The previous code failed on quoted strings like ;Port="80,8080".
It also had weird behavior, like not supporting Expires headers
when the requesting locale wasn't English.

Tested with Harmony's tests and our CookieTest.

Change-Id: I271817b6febd30248f55f834cdcc2e3d5dfcd4c2
aa2c1488f665b9efac8b3d4aab7047d656abae53 24-May-2010 Elliott Hughes <enh@google.com> Merge "Remove more localized exception messages." into dalvik-dev
50df30f65f98387299cffe469d8617feb582b0c1 24-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing binary search for large arrays of reference types." into dalvik-dev
cdbe2d3bd7ca76d8960984a3c8d0bda59e765efb 24-May-2010 Jesse Wilson <jessewilson@google.com> Fixing binary search for large arrays of reference types.

Change-Id: Ibf2b49fd2cf1538a1a369fa36f2a1c8275e33677
346ea683aa6fe253cdee2842f125f3b6fec4df8b 23-May-2010 Jesse Wilson <jessewilson@google.com> Massively removing compilation failures from expected results.

This will prevent our continuous build from failing when a jtreg
test points out a difference between our API and the RI. We have
more appropriate tools for this so the change is okay.

Change-Id: I541fef2698164cd6725aa455c3ea3aeb72c369da
7866314eaf1b112046729b93aef0f2e9687e19c1 22-May-2010 Elliott Hughes <enh@google.com> Remove more localized exception messages.

I also accidentally mixed two unrelated changes in here: replacing "".equals
and equals("") with String.isEmpty, and removing some dead code in
org.apache.harmony.luni.util.Util.

Change-Id: I0aaad43290b083085b3095b624caf096de487223
cd9f6a0d9493fb99ce4e395f71ab8165a4add166 22-May-2010 Brian Carlstrom <bdc@google.com> Merge "Manual recreation of dalvik change 720d1e962e248a30f81c1493081ff4c01e35c839 in libcore" into dalvik-dev
498c9c2d5f98f78df7f585b78f3bda74d7ef5a41 22-May-2010 Brian Carlstrom <bdc@google.com> Manual recreation of dalvik change 720d1e962e248a30f81c1493081ff4c01e35c839 in libcore

Disable SSL Session Ticket extension for OpenSSLSocket

Due to compatability issues with some sites, disable this SSL extension which wasn't present in Eclair. See also:

b/2682876 Some ssl sites cause "A secure connection could not be established" error

Change-Id: Ife94f65a063011f09553877a9fb71f42ecc76f5e
8f8558ee6fa0996d93a39303b13a34c37491c0c9 22-May-2010 Elliott Hughes <enh@google.com> Remove more localized exception messages.

Change-Id: I88eba4180e66d328c23a266f133b96d53cf62d40
badcaa146196acc75f5353b045a42e168edc7fae 22-May-2010 Elliott Hughes <enh@google.com> Fix build.

Change-Id: I61d838fdb9147b1e488cf6c9ea0aa1e1e87f935e
c1bf98c3186a6a002381bcdeed3140b1ac41adb6 21-May-2010 Elliott Hughes <enh@google.com> More messages.properties removal.

Change-Id: Ie90ca910b1d9f23565f8929c63186879932a4dc3
663b2d2e210960ded4068394061b339155b6b501 21-May-2010 Elliott Hughes <enh@google.com> Finish removing Get/Release Critical, tidying up "NativeConverter.cpp".

Use our new abstractions to finally let the code show through the cruft.

Bug: 2663177
Change-Id: I872e8fea11ae77d5059181374cb2ff7e7d73573e
f437f9361c89739d9a5974dc323717ecaa37020a 21-May-2010 Elliott Hughes <enh@google.com> Merge "Add write-back ScopedPrimitiveArrays (and use them)." into dalvik-dev
6e133ae2bae3a64094bdfdad41d6129b20864466 21-May-2010 Elliott Hughes <enh@google.com> Add write-back ScopedPrimitiveArrays (and use them).

I've left the remaining Get/Release Critical calls in "NativeConverter.cpp"
for the next patch, even though getting into position to fix them is part of
the point of this patch.

Change-Id: I99e15a3cf3919008343ae4dc856c86ced233e07a
556e76f0b75499171ce5233488feb099c754198b 21-May-2010 Jesse Wilson <jessewilson@google.com> Adding more expectations for test failures found running in sim mode.

The recently added expectations matching based on result rather than
test name leaves some opportunities to reduce duplication in the
expecations file. I haven't done that here.

Change-Id: I860c28c1fdaf8f97339100769e3aa3d9aa718179
cfc93294f65c2ff44adb0129f424e2cd8ead61a1 21-May-2010 Elliott Hughes <enh@google.com> Merge "Fix more Charset/CharsetDecoder/CharsetEncoder bugs." into dalvik-dev
b8ac2d0a1b47665dcc4a7e65509e70e44adf5f63 21-May-2010 Elliott Hughes <enh@google.com> Fix more Charset/CharsetDecoder/CharsetEncoder bugs.

Another round of Get/Release Critical removal led me to some code that couldn't
possibly be right, and wasn't. This patch fixes a large number of our
Charset-related bugs, including ones that previous hacks were added to paper
over. With this patch, we have three failures, all "new", but all there since
the start, and relating to the fact that our UTF-16 and UTF-32 encoders don't
write big-endian output on little-endian devices (for which I've raised
http://b/2702411).

Bug: 2663177
Change-Id: I70dfa55f88a3f635528be3ad27b2a5fc1bfb70fc
2e2c21558e44a6b2e0786b27f6c0495a8a76dbb7 20-May-2010 Jeremy Sharpe <jsharpe@google.com> Adding a bunch of @KnownFailures to a new expectations file, expectations/knownfailures.txt.

Change-Id: I8182d90730473a2d29d264f46fda573c9337a366
1e826c6f5c8b21daef5f99ac0581d968deb2bc05 20-May-2010 Brian Carlstrom <bdc@google.com> Enable Diffie-Hellman cipher suites

Enable Diffie-Hellman cipher suites in NativeCrypto (and in
StandardNames to match for testing). This means we now have the same
default cipher suite list as RI 5.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
support/src/test/java/javax/net/ssl/StandardNames.java

Enabling DH made it obvious that the RI check for enable cipher suites
on SSLServerSocket.accept was not as stringent as first
thought. Apparently they don't care if all enabled cipher suites have
certificates/keys, just that at least one of them will work, even if
its anonymous. Factored out the logic to check this into
checkEnabledCipherSuites for clarity along with the supporting
checkForPrivateKey. Also only check if the socket is in server mode,
since its fine to have nothing configured for server acting as a
client for handshake purposes.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java

The real work to enable Diffie-Hellman was to use
SSL_CTX_set_tmp_dh_callback to set a callback to get DH
parameters. There are two ways to create the parameters. The first is
to use DH_generate_parameters_ex which is very slow (minutes) as is
recommended as install time option. The second is to use
DSA_generate_parameters_ex followed by DSA_dup_DH, which is faster for
a single call, but must be done every time, so slower overall. We
currently take the second approach to just have DH working.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Changed ephemeral RSA keys to be stored per SSL in AppData, not in a static global.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Fix LS_ to TLS_ typo in commented out constant. Removed easy to miss wrapping in array definition.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

Renamed CipherSuites defaultPretendant to defaultCipherSuites which
led to renaming the CipherSuites constants to follow the coding style.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/DigitalSignature.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerKeyExchange.java

Change-Id: Ia38de48cabb699b24fe6e341ba79f34e3da8b543
4735cd6df5fd62add3595f2d575908ede7bd7b32 20-May-2010 Brian Carlstrom <bdc@google.com> Merge "Add RSA ephemeral callback for SSL_RSA_EXPORT_WITH_RC4_40_MD5 support (and move to UniquePtr)" into dalvik-dev
e6863b4736145829969cc9c969c89c684722e15d 20-May-2010 Brian Carlstrom <bdc@google.com> Add RSA ephemeral callback for SSL_RSA_EXPORT_WITH_RC4_40_MD5 support (and move to UniquePtr)

Summary:

Used SSL_CTX_set_tmp_rsa_callback to provide a callback for supplying
ephemeral RSA key for export cipher SSL_RSA_EXPORT_WITH_RC4_40_MD5
(aka EXP-RC4-MD5)

As part of this added rsaGenerateKey and while doing that started
adding UniquePtr deleters for BN and RSA and then just decided to do
the rest of the file.

Details:

Added tmp_rsa_callback to provide emphemeral RSA keys

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Removed last KnownFailure in my JSSE tests.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Switching to UniquePtr to manage SSL types.
Found a couple places not error checking along the way.
Removed LOGE from throw* methods since jniThrowException does that.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I27413c0073cd2cc405c83d35a0772c7901ce25c6
7654ec51c74e56fb7e7dd6f3508919875b871315 19-May-2010 Elliott Hughes <enh@google.com> Fix CharsetEncoder.replaceWith, and simplify our implementation.

All I wanted to do was remove some more Get/Release Critical calls,
but I stumbled across some code that couldn't possibly be right.

Bug: 2663177
Change-Id: I82e240fe27ff9fcfe7f036c2d7708a9e55afa3ee
3c0b21006c63bd00ddb2a061fc7966e0d5829bf9 19-May-2010 Mike Lockwood <lockwood@android.com> Fix problem with const result from strrchr()

Needed for simulator build on newer Ubuntu distributions.

Change-Id: I9130bc91c4fdda58933ff57fabeaadc04a6dc67d
Signed-off-by: Mike Lockwood <lockwood@android.com>
f34440a17e6eeede74132f40c63c68a6e9927fdf 19-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix the HTTP client to read from the cookie store on HTTP requests." into dalvik-dev
68238837fe9a1b054b91c67e3779d28e8db0cb90 19-May-2010 Jesse Wilson <jessewilson@google.com> Fix the HTTP client to read from the cookie store on HTTP requests.

The forthcoming follow up is to write to the cookie store on HTTP responses.

Change-Id: I346136d4a4409a003c391c8dfbcf755af19b708d
d3623fa7e112106ace40381978ea36f225ac5b92 19-May-2010 Brian Carlstrom <bdc@google.com> Rename expected exception to "expected" for test clarity

Change-Id: Iee93ceed527ce7f5430cb2ef19bed846e847fb83
12ef9e5db1bef49599cbd5fb6a9fca213babfcf5 19-May-2010 Brian Carlstrom <bdc@google.com> SSLSocket.startHandshake should throw SSLProtocolException on handshake protocol error

Added throwSSLProtocolExceptionStr and used it in the SSL_ERROR_SSL case.
Also replaced 0 with SSL_ERROR_NONE in throwSSLExceptionWithSslErrors calls for clarity.
Improved throwSSLExceptionWithSslErrors to show ERR_get_error information in SSL_ERROR_NONE case.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Removed penultimate KnownFailure. Updated comment to use more official Kerberos reference URL.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Change-Id: I2fb847ba92a3464029d1103fadf05ec16126bda9
1711ca0ac530b93166d136c89c0c3189caa76cfe 19-May-2010 Guang Zhu <guangzhu@google.com> am 581c814c: (-s ours) am 6ba9c651: manually squashing commits from master (DO NOT MERGE)
92f46c52fbf1ee5b467621d1da0ce174ff63d539 19-May-2010 Guang Zhu <guangzhu@google.com> am 6ba9c651: manually squashing commits from master (DO NOT MERGE)
1fa52c83f674a228ef6012a21ca251b8c9d0789f 19-May-2010 Elliott Hughes <enh@google.com> Merge "Fix BidiWrapper to not ask for arrays it's used read-only to be written back to the Java heap." into dalvik-dev
60b5831b10d313c2391a8303ad2fd6821fce9938 19-May-2010 Brian Carlstrom <bdc@google.com> Merge "SSLServerSocket accept should make sure enabled cipher suites have supporting private keys" into dalvik-dev
9351a9420a4f354d4353567537f639b899d03f8e 19-May-2010 Brian Carlstrom <bdc@google.com> SSLServerSocket accept should make sure enabled cipher suites have supporting private keys

Make CipherSuite static fields final (noticed because I tried to use some in a switch statement).
Also renamed "cuites*" to "suites*" and fixed UNKNOUN to UNKNOWN

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

SSLServerSocket now matches the RI behavior of throwing an
SSLException for missing keys for non-anonymous cipher suites.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java

Fixed one KnownFailure

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Change-Id: I1ccbf93cfc5aa5951b1f33881446d93c380b6e68
27f4ae1c238b6e11c5600e47ac99e383ef2442c4 19-May-2010 Elliott Hughes <enh@google.com> Fix BidiWrapper to not ask for arrays it's used read-only to be written back to the Java heap.

Bug: 2663177
Change-Id: Id77df49a1839ce1daa25ba9998be25342c4c8b06
b38ca6fdfcd27903c24560fe62f9113c3d5ea824 19-May-2010 Elliott Hughes <enh@google.com> Remove more uses of Get/Release Critical.

Bug: 2663177
Change-Id: I87325ca8bb064b6be6c3cc3c885a8b18cceaa36c
7f060cc69cb56105dd9db46db1d20c7de4f701e3 18-May-2010 Elliott Hughes <enh@google.com> Merge "Add error checking in setZoneStrings and improve the documentation." into dalvik-dev
a937d375c5b7afdbaeb6d8682c89790b211563bf 18-May-2010 Elliott Hughes <enh@google.com> Add error checking in setZoneStrings and improve the documentation.

Also some internal tidying, and a few more test expectations.

Change-Id: Ic183baecab7d12151fcdb3b73842c345075b173c
18ab2f8395b6db6b9a97195c9a448d91d80eb33a 18-May-2010 Brian Carlstrom <bdc@google.com> SSLSocketFactory.connect(Socket...) should allow port of -1

SSLSession.getPeerPort is supposed to return -1 when the port is
undefined so now we initialize it to that value.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Avoid creating InetAddress to store the OpenSSLSessionImplWrapper host
and port arguments since it was causing an exception on an port value
of -1 and was just used to go back to the original host and port when
creating the SSLSession, which is allowed to return a port value of -1.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Remove last of KnownFailures for SSLSocketFactory

luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java

Update classpath for newly seperated out junit jars

run-core-tests

Change-Id: I646a8f23c3d6ae01f1dd38e40bc9c32d436e6254
ad36a16c12218706c94290973623fc5f09f677d4 14-May-2010 Guang Zhu <guangzhu@google.com> manually squashing commits from master (DO NOT MERGE)

Change-Id: I4d4287a7d91ba39e97fd907eae9fd0c93e026d02
I8e65d375: no emma instrumentation on core-test
I09725483: include emma into core library on conditional flag
a1cede3b995aa1383361a5d73677892f9b6147df 18-May-2010 Brian Carlstrom <bdc@google.com> Merge "Client certificates should only be set on request from server" into dalvik-dev
ea91c613897a3f4849e9303f9726cfb28d25360e 18-May-2010 Brian Carlstrom <bdc@google.com> Client certificates should only be set on request from server

Client certificates should only be set into the SSL* when requested by
the server so that after the handshake is completed the client can
inspect its SSLSession to see what certificate if any was
requested. Previously the value was always non-null even if the server
didn't request the certificate.

- Created RAND_seed and RAND_load_file out of the NativeCrypto.SSL_new
- NativeCrypto.SSL_new now simply performs SSL_new and does not
deal with certificates, private keys, or random seeds.
- Removed helper version of NativeCrypto.SSL_new
Moved code to OpenSSLSocketImpl.setCertificate
- Created SSL_use_certificate, SSL_use_PrivateKey, SSL_check_private_key from SSL_new.
These are used not just on server handshake but also via clientCertificateRequested callback.
- Merged CertificateChainVerifier and HandshakeCompletedCallback into new SSLHandshakeCallbacks
while adding new clientCertificateRequested callback from OpenSSL C code to Java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

In addition to supporting NativeCrypto.java changes, also changed
to_SSL_CTX and to_SSL_SESSION to allow null checking and throwing
NullPointerException. Changed these and to_SSL to log exception on
JNITrace, taking these logs out of individual functions. There
were a lot of null checks missing previously, mostly in
to_SSL_SESSION cases.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

All KnownFailures now fixed.

luni/src/test/java/javax/net/ssl/SSLSessionTest.java

Three more KnownFailures now fixed.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Change-Id: Iddcd5512e8395d947d3b894f03e3a059e63afe8a
8ed237e55d988db27a5b4f2354b339c76a522085 18-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Moving junit out of core.jar and into core-junit.jar." into dalvik-dev
5737a70ab4dadaff3cd0c6992ef5f9f4a32e93a6 18-May-2010 Elliott Hughes <enh@google.com> Make ScopedLocalRef more convenient, and use it more widely.

Even though every reference type is a jobject, it's useful to be able to use
more specific types.

Change-Id: Id8056d0e18380675c90f08c4173a8b34b4d5d983
fb997e37774c1ef8b6b78a9d30e58cfbacd3469f 18-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Testing that URLConnection uses CookieManager for send and receive." into dalvik-dev
5524cd2b6e5b9288fa3879ab2d1c8e13e12a2916 18-May-2010 Jesse Wilson <jessewilson@google.com> Testing that URLConnection uses CookieManager for send and receive.

These all fail on Dalvik because we haven't wired these together.
On the RI, everything passes except for the two tests that check
parsing for multiple cookies in a single HTTP header.

Change-Id: Idb10c5b51b7ae5ca400dc564f2926f0d5792093d
2f98a06125a6d251bdac62d8936643f6c2ba26ce 18-May-2010 Elliott Hughes <enh@google.com> Fix the exception thrown by Matcher.region.

Caught by a harmony test; the RI documentation agrees.

Change-Id: Ia7239033a35f6b952163d753ed36c5c8122dc171
e97c68e9c6d2c3af93d2db61772ef6adec7411fe 18-May-2010 Elliott Hughes <enh@google.com> Merge "Expand upon the old ScopedByteArray, and start removing some of the Get/ReleaseCritical calls." into dalvik-dev
47eda72fe615e875092ef12f801169f9e3e96c8f 18-May-2010 Elliott Hughes <enh@google.com> Expand upon the old ScopedByteArray, and start removing some of the Get/ReleaseCritical calls.

This adds Scoped*Array classes for all primitive types, and switches all
read-only users of arrays over. At the same time, all read-only users of
Get/ReleaseCritical get switched to non-critical access.

Bug: 2663177
Change-Id: I5542cea3e24faa987ced463fcb695b9598da94af
c2b1573cd947cde6be4d54deb1172d77a05112e0 18-May-2010 Brian Carlstrom <bdc@google.com> Change Harmony CipherSuite to use JSSE names

Change text names of Harmony CipherSuite's (used by SSLEngine and some
places with OpenSSL code) to match JSSE names.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

Added StandardName constant for SSL_NULL_WITH_NULL_NULL

support/src/test/java/javax/net/ssl/StandardNames.java

Marked test as working with above fix, changed to use newly defined constant.

luni/src/test/java/javax/net/ssl/SSLSessionTest.java

Change-Id: Id48d2adcbbff71306296f1fdf8ff970c618fdcc6
00c567c8177f6a571ee7e12443c84b3d37673e8c 18-May-2010 Brian Carlstrom <bdc@google.com> Supported cipher suites improvements

Added new test_SSLSocket_getSupportedCipherSuites_connect to make sure
all cipher suites we claim work actually do. It clearly exposed that
although a large number of cipher suites are supported by libssl.so,
they are not properly wired up into the OpenSSL JSSE
implementation. In particular Elliptic Curve has been disabled in our
version Bouncy Castle does not work. In addition Diffie-Hellman does
not work because we need to further integration work with OpenSSL via
SSL_set_tmp_dh_callback or SSL_set_tmp_dh. Finally,
SSL_RSA_EXPORT_WITH_RC4_40_MD5 doesn't work but that is being left as
KnownFailure for more immediate cleanup based on ServerHandshakeImpl's
handling of KeyExchange_RSA_EXPORT as part of having OpenSSL call us
back for certificates dynamically.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Refactored TestSSLContext.createKeyStore to create TestKeyStore which
now factors out TestSSLContext.createKeys from the old createKeyStore
method, which allows createKeys to be called multiple times for
different key algorithms (for example DSA in addition to RSA). Also
added a reusable singleton instance to cut down on test execution
time.

support/src/test/java/javax/net/ssl/TestKeyStore.java

Removed publicAlias/privateAlias from TestSSLContext since we now
include both RSA and DSA key pairs in they KeyStore by default. Added
TestSSLContext.assertCertificateInKeyStore methods to help tests the
previously used the alias fields fields. TestSSLContext.create API
changed as well since the alias names are no longer
required. TestSSLContext.createClient now needs to iterate over all
server certificates when setting up its TrustManager instead of just
grabbing one by alias name.

support/src/test/java/javax/net/ssl/TestSSLContext.java
luni/src/test/java/javax/net/ssl/SSLContextTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

TestSSLSocketPair.connect now allows optional inclusion of server
cipher suite list.

support/src/test/java/javax/net/ssl/TestSSLSocketPair.java
luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java

Turning off Elliptic Curve and Diffie-Hellman which are not currently
working. Updating test expectations to match.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
support/src/test/java/javax/net/ssl/StandardNames.java

Turn on registration of ECDSA and DSA since this part is currently
functional (and excercised by TestKeyStore.create())

luni/src/main/java/org/bouncycastle/x509/X509Util.java

Improve logging by including SSL pointer in error messages, which
makes it easier to relate these errors to JNI_TRACE messages.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I014d001a6a21a46c360678a346d3a3c8232f4d53
rc/main/java/org/bouncycastle/x509/X509Util.java
2e3216952d045879c9b695963373b4fdef75c18b 14-May-2010 Jesse Wilson <jessewilson@google.com> Moving junit out of core.jar and into core-junit.jar.

Adapted from master:
https://android-git.corp.google.com/g/50612

Change-Id: I24cde108f1dd70532ff217545445cdc0b2650a48
406b4df29065822360ade6fcc0f2e31f61796e11 15-May-2010 Brian Carlstrom <bdc@google.com> Merge "Remove ScopedGlobalRef (and other cleanups)" into dalvik-dev
e5474421d53bc20560670afef118c12c84e26f4f 15-May-2010 Brian Carlstrom <bdc@google.com> Remove ScopedGlobalRef (and other cleanups)

ScopedGlobalRef caused more trouble that it was worth. Rather than
trying to fix it to require updating of the JNIEnv, remove it to
remove the temptation for others to use it.

Also update SSL_set_ciphers_lists to use ScopedLocalRef and add HTML
anchors to Standard names javadoc JSEE references.

Change-Id: Ic3ed1bae3f29ee971d4461de31395b78c4949090
e8eec0ceffe9d7b9d4ae79872e78c28917c12264 15-May-2010 Elliott Hughes <enh@google.com> More cleanup of "hycomp.h".

This makes sure we ask the system whether it's big- or little-endian, and
doesn't make assumptions about the sizes of built-in types.

This fixes a regression I introduced last week with the previous cleanup,
affecting the double/string conversions. We still fail some of those tests,
but now we're back to only failing the ones we've always failed...

Change-Id: I343c363b01fc34b32a4d5afbc153bfe4c0161137
00a0dedfaa917c7a86553b0ee5724b7d1edde00d 15-May-2010 Elliott Hughes <enh@google.com> Add an expectation for another bogus exception priority test.

Change-Id: Ib71559b5fec38a82543c59536325e9c27e8ff6f7
6e5c987b7c2ab5f779246bb75ed414b781fc821e 15-May-2010 Elliott Hughes <enh@google.com> Remove dead code.

Change-Id: Ib9732c712a50a3bc9ed186464586a0f407e27287
7cdba21bfb1643fedd599d492b67efa36025d07f 15-May-2010 Elliott Hughes <enh@google.com> Merge "Fix getInetAddress/getPort/getLocalAddress/getLocalPort." into dalvik-dev
87b351b7131dce96eeca03bf5504666647dc29e6 14-May-2010 Elliott Hughes <enh@google.com> Fix getInetAddress/getPort/getLocalAddress/getLocalPort.

Responsibility is split between Socket, SocketImpl, PlainSocketImpl,
SocketChannel, SocketChannelImpl, and SocketChannelImpl.SocketAdapter, and
we need to keep them synchronized. Our hands are somewhat tied by the fact
that the RI exposed way too much. I think, now I understand the relationships
a bit better, that we can probably rewrite this cluster of classes to be
simpler, but I don't want to bite off more than I can chew right now, and
this does fix the known problems.

This patch also makes us more compatible with the RI by making getLocalAddress
after the socket has been closed return the address we used.

By strange coincidence, harmony addressed this at the same time I was looking
at it (see http://svn.apache.org/viewvc?rev=944119&view=rev) but I feel they're
going in the wrong direction and making the relationships even more complicated.
I have run their new tests in addition to my own, though.

Bug: 1952042
Bug: http://code.google.com/p/android/issues/detail?id=1933
Bug: http://code.google.com/p/android/issues/detail?id=3123
Change-Id: Icb7793fb5d868e0d1f1b8b3d5da88c32fb973744
90b3d632a3dca5381e6704af2af92884b79f5260 14-May-2010 Brian Carlstrom <bdc@google.com> Use JSSE cipher suite names and restore JSSE SSLSessionContext semantics

Summary:
- Switch to using JSSE cipher suite names
- SSLSessionContext implementation cleanup
- Updated tests

Details:

Switch to using JSSE cipher suite names
- We maintain backward compatability for enabling cipher suites using
OpenSSL names for old code that did so without checking for the
presence of the names in the supported list.
- We now have a well defined list of the supported cipher suites which
are sorted in priority order as specified in JSSE documentation so
that callers doing:
s.setEnabledCipherSuites(s.getSupportedCipherSuites())
will get something reasonable.
- We now have a default cipher suite list that is chose to match RI
behavior and priority, not based on OpenSSLs default and priorities.

Details:
- Added NativeCrypto OPENSSL_TO_STANDARD and STANDARD_TO_OPENSSL
mapping between naming conventions. STANDARD_TO_OPENSSL is a
LinkedHashMap so enumerating it gives the proper order for
SUPPORTED_CIPHER_SUITES.
- SSL_get_ciphers and SSL_set_cipher_list are removed, we now use
our own SSL_set_cipher_lists (defined seperately in
external/openssl/patches/jsse.patch) to set the set and order of
cipher suites. SSL_CTX_get_ciphers is also removed because we no
longer rely on the OpenSSL for the default cipher suites
behavior.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Add cipherSuite and protocol field caches for native values,
mapping the cipherSuite to a JSSE name from the OpenSSL name
returned by SSL_SESSION_cipher.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Fixed a long standing bug where we reused sessions found in the
client host/port cache even if the old protocol and cipher suite
where no longer compatible with what was specified by
setEnabledCipherSuites and setProtocols. Also fixed a recently
introduced bug where lastAccessedTime was being set on a cached
session even if it was not reused, found by fixed the above.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Move most of SSLSessionContext implementation from subclasses to
AbstractSessionContext. This was primarily to align the
implementations of how different sessions id for the same host and
port were handled for RI compatability. client subclasses now focuses
on handling its host/port based cache and both deal with their own
persistent cache details.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Tests

Added some variants of assertSSLSessionContextSize to simplify tests code.
Broke test_SSLSessionContext_setSessionCacheSize_oneConnect out of
test_SSLSessionContext_setSessionCacheSize_dynamic. Renamed
test_SSLSessionContext_setSessionCacheSize_basic to
test_SSLSessionContext_setSessionCacheSize_noConnect to match name
of _oneConnect. _dynamic was cleaned up a bit as getting it working
was the only goal of this change list. Fixed to filter
SSL_RSA_EXPORT_ ciphers since our test certificate key length is
too long for those. Lower test requirement to 3 unique cipher suites.

luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java

Added checks that cipher suites and protocols have standard names.

luni/src/test/java/javax/net/ssl/SSLSessionTest.java

Removing known failures related to cipher suite naming. Fixed bug
of using assertNotNull instead of assertTrue. Added extra
size/length check which would have found the
assertNotNull/assertTrue issue.

luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Fixing test the explicitly worked around broken cipher suite naming.

luni/src/test/java/tests/api/javax/net/ssl/SSLSessionTest.java

Updated standard cipher suites to RI 6 list, which also now
specifies ordering, which we now align with.

support/src/test/java/javax/net/ssl/StandardNames.java

Unrelated

Remove more now obsolete jars from the test classpath

run-core-tests

Change-Id: I45c274a9327c9a1aeeccb39ecaf5a3fbe2903c8f
807d13d66c525772320bfa57706844238213dea7 11-May-2010 Jeremy Sharpe <jsharpe@google.com> Fix bug in TreeMap. All methods that returns Entrys must return immutable Entrys, except entrySet(), which returns a set of mutable Entrys. Currently, the Entrys from entrySet() are immutable. Adds some new unit tests to verify this behavior.

Change-Id: I1149185412cd60d8e9c888179c43f5bef5057a69
d2a4f34b03f74ee1fc94008282f95678da224241 14-May-2010 Brian Carlstrom <bdc@google.com> am 80d9f5fb: am 35fefe12: am 7aab1c32: Manual merge of dalvik change (720d1e96) from froyo to libcore froyo-plus-aosp
8aa8dba6436656da865782a69e4d19ded3c330f1 14-May-2010 Brian Carlstrom <bdc@google.com> am 35fefe12: am 7aab1c32: Manual merge of dalvik change (720d1e96) from froyo to libcore froyo-plus-aosp
43ee66fddd40de83b174dfadeb8b1d1d8dd51d38 14-May-2010 Brian Carlstrom <bdc@google.com> am 7aab1c32: Manual merge of dalvik change (720d1e96) from froyo to libcore froyo-plus-aosp

Merge commit '7aab1c32a8c021257cf8b856a6d8cd4fb826a1fc' into kraken

* commit '7aab1c32a8c021257cf8b856a6d8cd4fb826a1fc':
Manual merge of dalvik change (720d1e96) from froyo to libcore froyo-plus-aosp
4b92af903e7439b11d6a4d52da292923a39e4abf 14-May-2010 Brian Carlstrom <bdc@google.com> Manual merge of dalvik change (720d1e96) from froyo to libcore froyo-plus-aosp

Change-Id: I45be5875806e9d9e85d9039f0d769f671d5c8b3a
e91f590d8b768d1ee044803bc7db862082dada31 14-May-2010 Nick Kralevich <nnk@google.com> am 691747c4: am 8e808260: Get rid of warnings when compiled with -Wformat-security
dd3a3c1264999036da7d757190e3a3c934ba6836 14-May-2010 Nick Kralevich <nnk@google.com> am 8e808260: Get rid of warnings when compiled with -Wformat-security
dd589ed98bfd57d92dcf8eb6035409a3c7259ad3 14-May-2010 Nick Kralevich <nnk@google.com> Get rid of warnings when compiled with -Wformat-security

Change-Id: Ia6dd7f8a08914b6995c7f3fb190e69ab02beb882
a1f997596de2306cbfec77a92118233340216565 13-May-2010 Elliott Hughes <enh@google.com> Remove all trailing whitespace from the dalvik team-maintained parts of libcore.

Gentlemen, you may now set your editors to "strip trailing whitespace"...

Change-Id: I85b2f6c80e5fbef1af6cab11789790b078c11b1b
b8d62b2e10b7d668be98d3ff2f154b2ca28d1c77 13-May-2010 Elliott Hughes <enh@google.com> Convert tabs to spaces.

Change-Id: I16cfbd2faac6b565b78b5dd97e2345323a36f652
d71c0019f7a596a69afebae9ce17712552c06db0 13-May-2010 Elliott Hughes <enh@google.com> Remove //$NON-NLS-\d$ cruft.

Mostly done by perl(1), with manual cleanup of the few misspelled instances.
This makes our trailing whitespace slightly worse, but I'll fix all that with
a follow-on change.

Change-Id: I0b4ca98819be6f9519c4ba980d759bd1ee1a0303
fc092f8a4f6f68bd7cfb132ac1624d9a1d42d607 13-May-2010 Elliott Hughes <enh@google.com> Fix *Channel to check that they're not trying to write into a read-only ByteBuffer.

Previously only DatagramChannel made the effort. Note that I also found another
customer for calculateTotalRemaining, and that the near-duplicate I'm removing
used an incorrect bound in its for loop.

Change-Id: Ia618ce271657a7fe7b3a0050dc089350d61e3398
87d9f8a42af6501f01e40a98a3f00fdf41733fde 13-May-2010 Jesse Wilson <jessewilson@google.com> DO NOT MERGE: Split test targets into different .jars for master.

This cherry picks the critical parts of enh's original change:
7ee3a061452c5a7e5c8e661219a1f08a14171858

This is a stopgap fix; eventually when dalvik-dev's changes
are committed to master this should be obsolete.

Change-Id: Ieb04253fb7387ffa37452992c8a5af739fbbc45f
18e7dfff9a64921840bb0ee276c447612af0088a 13-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Moving junit out of core.jar and into core-junit.jar."
8160d2d386940ccd0ad77949796e853cbaded897 13-May-2010 Elliott Hughes <enh@google.com> Slightly reduce duplication in FileChannelImpl/SocketChannelImpl.

Based on a harmony change.

Change-Id: I92a043d2a246aac74829cb38efeadf4886bf2ec3
25310b932f8e99cc3bffeb0b13aae010562f731a 13-May-2010 Elliott Hughes <enh@google.com> Minor file system changes.

Use fstat(2) instead of three seek(2)s to get the length of a file.

Java's readv should return -1 at EOF rather than 0.

The size() == 0 check in FileChannelImpl was (apparently) bogus.

(These changes are basically the same as harmony changes, and fix existing
harmony tests, so no new tests.)

Change-Id: I302611f777e91571b95654e03d0a3a41e1f97968
a282e49cb394c7c3382cc21292e6f9a0ed62741a 12-May-2010 Elliott Hughes <enh@google.com> Merge "Apply http://svn.apache.org/viewvc?rev=936696&view=rev." into dalvik-dev
c8432fa5836cf906dfce824d7ed63cee59237ca8 12-May-2010 Elliott Hughes <enh@google.com> Apply http://svn.apache.org/viewvc?rev=936696&view=rev.

Change-Id: I24080d57d69d7763f67def2ec5c06583beda6c59
29dec4db5637dc3b7e9a31b4867c86b1fbb6a74b 12-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding checks to make sure the HTTP method is consistent with its body." into dalvik-dev
aecd707cd5f890e875593d4df926c2d663605763 12-May-2010 Elliott Hughes <enh@google.com> Reduced the amount of memory used by the TimeZone display names.

Bug: 2672057
Change-Id: I2f31ff3b5fbbf5cf8e16c89ef78a5246c6c3733a
e6f2195be26f2075955bea0e6295193a6bdf8dd6 12-May-2010 Elliott Hughes <enh@google.com> Merge "Documentation improvements." into dalvik-dev
91ba316449f6f97ba5cf27a73996c625869ac3d2 12-May-2010 Brian Carlstrom <bdc@google.com> Merge "SSLSession and SSLSessionContext timeout improvements" into dalvik-dev
3deb9b7712f26f2a674b2f0ef0bf1e6130d76f28 11-May-2010 Elliott Hughes <enh@google.com> Documentation improvements.

Remove a bunch of content-free "package.html" files, and rewrite the Pattern
documentation.

Change-Id: Ieb4eee940dbbeab21828b8d7b2f172732f9dd6de
c23af74ef1daec99231df4b2c6b8bc8148390f28 11-May-2010 Brian Carlstrom <bdc@google.com> SSLSession and SSLSessionContext timeout improvements

Fix getIds Enumeration to filter invalid sessions.
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java

Implement SSLSessionContext.setSessionTimeout to remove newly
invalid sessions as specified by the RI documentation. getSession
interfaces now filters invalid sessions from results.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Added OpenSSLSocketImpl.creationTime instance field cache to avoid
repeated native calls since this is now used for all isValid tests.
Fixed broken isValid implementation:
- compared seconds to milliseconds
- direction of comparison backwards
- used last accessed time instead creation time as clarified in RI 7 documentation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Unrelated

Replace java.io.* java.util.* imports with properly expanded versions:

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java

Change-Id: Ib02218df414f014f1d260f7acc067e5647fb700b
ca940be5dccc713524480b0a337eae1eee67acd6 11-May-2010 Jesse Wilson <jessewilson@google.com> Civil disobedience. Use the SecurityManager to justify not supporting setSecurityManager().

With this approach, the system boots with a special security manager that
permits everything except setting another security manager. This prevents
applications from installing a more strict security manager, which allows
us to avoid doing security checks throughout libcore.
http://b/issue?id=2585285

Change-Id: I7f38ac6bf5e2637e07790d34c6ccbbaf9874f4b0
80c345de8ad981ef6d802e833e3c4dd532f75508 11-May-2010 Jeremy Sharpe <jsharpe@google.com> Fix a bug in PriorityQueue where compareTo() is used instead of equals() in the remove() method.

According to the documentation for PriorityQueue, equals() must be used.

Fixed one unit test (which needed the incorrect behaviour in order to pass). Verified that the old test fails against Sun's libraries, and the new one passes (and fails against ours until the change is applied).

Change-Id: I93e7d3435d5cdc4432969585064df704f92d6ae5
1b454c9c79865d554209dae35fc611e7b04a3653 11-May-2010 Brian Carlstrom <bdc@google.com> SSLSessionContexts should throw NullPointerException on getSession(null)

Add an explicit null check to ensure failure on a null argument to getSession to match the RI

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Remove KnownFailures resolved by above fix as well as clarifiying SSL
session cache expections on Android vs the RI. The KnownFailures were
also hiding some latent issues to do SSL session tickets, so fixed
those up as well.

luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java

Added constants for expected SSL session cache behavior for RI vs Android

support/src/test/java/javax/net/ssl/TestSSLContext.java

Change-Id: Ic6285192cf76c0a5c3fa45a24eaa504ed0babff5
cff72610f451c0aea59c42615974464b06d94e3e 10-May-2010 Brian Carlstrom <bdc@google.com> SSLContext.getClientSessionContext and getServerSessionContext should work before SSLContext.init

Moved initialization of SSLContextImpl clientSessionContext and
serverSessionContext from engineInit time (in SSLParameters
constructor) to constructor time, making them final. This is to
fix javax.net.ssl.SSLContextTest which was failing because it
tried to access this before init was called, which worked fine on
the RI. The SSLParameters now simply takes the preallocated
session contexts as arguments. SSLParameters.getDefault() now
needs to create its own session contexts when an SSLContext is not
used, which is how Harmony does it.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

Removed KnownFailure from SSLContextTest as its 100% working.

luni/src/test/java/javax/net/ssl/SSLContextTest.java

Changed persistentCache fields of ClientSessionContext and
ServerSessionContext from final to private and added a public
setter. This replaces passing the persistentCache implementation
in via the constructor. For momentarily backward compatibility
with frameworks/base, the now deprecated 5 argument engineInit
method now uses these setters for backward compatability. The
SSLParameters previously took these persistent caches as arguments
in order to pass them to the session context contructors, but as
SSLParameters no longer creates these, they are no longer relevant.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

While moving the call of the AbstractSessionContext constructor
from SSLParameters to SSLContextImpl after removing the persistent
cache arguments, I realized there was no longer any reason to take
any arguments. I pushed the initization of sslCtxNativePointer to
the point of declaration.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Change-Id: Ied2903a2f369bf4e521e702bf58f32f21cb97d17
8d48586d657e34cc77d52f0a6309c47f83e19101 10-May-2010 Jesse Wilson <jessewilson@google.com> Adding checks to make sure the HTTP method is consistent with its body.

From the post-review comments here:
https://android-git.corp.google.com/g/51054

Change-Id: I67be25a6648a2df02a888a0ae8559c05614de20c
d9c2b83c31d9521e5c55492305562338aa29d7a3 10-May-2010 Jesse Wilson <jessewilson@google.com> Merge "New MockWebServer for HTTP testing." into dalvik-dev
b1a711f28c545eac7a9531a710f14dec439e9ea4 08-May-2010 Jesse Wilson <jessewilson@google.com> New MockWebServer for HTTP testing.

Unlike the Support_TestWebServer, this server is dumb but scriptable.
It's intended to make it easier to test uncommon HTTP behavior, such
as an intermediate HTTP proxy.

Change-Id: Iac07e0b4788eeaa172d5c55d8ed9e034d98aa8e6
7b17c2c4acbdeb9934e3f2ecd1aa7309a7b2a93e 08-May-2010 Brian Carlstrom <bdc@google.com> Add missing include needed for simulator build

Change-Id: Ie457e719020d31a52ae3557db645a85b2f3b2f08
565feeb98719fa9d6f8c55ef8c660def88b74b6c 08-May-2010 Brian Carlstrom <bdc@google.com> Merge "Moving most libcore .c files to .cpp" into dalvik-dev
c24fcea559c2a04596e7656566241b32d6899ca2 08-May-2010 Brian Carlstrom <bdc@google.com> Moving most libcore .c files to .cpp

This change moves most of the libcore .c files to .cpp enough for them
to compile. This was largely motivated by the desire to avoid using
things like __attribute__ ((unused)) in .c files to supress warnings
in a recent change.

Change-Id: Ib967d9e16764ff805764e81362f945332080a06c
d110854dce58a81d9597580b324b253c0e13d447 08-May-2010 Elliott Hughes <enh@google.com> Trivia.

Remove unused parameters from NetworkInterface's native methods.

Remove commented-out static initializers.

Fix FileChannel.force so that force(true) doesn't do _less_ than force(false).
Note that force(true) still doesn't do _more_ than force(false) because bionic
doesn't implement fdatasync(2). I've raised a bug against bionic about that.

Change-Id: Ia5e827638606a7919e3bcf324810747ee6bcbb9a
82565e37fe28453d9885a43a526db6290df4c48f 08-May-2010 Elliott Hughes <enh@google.com> Fix sim build, remove static initalizers from Deflater/Inflater.

Change-Id: I56a453a1382559cdcf9f22c6a185db7178fbe098
0af1391394a7c0bd701ad4789c84d5c59e26c030 07-May-2010 Brian Carlstrom <bdc@google.com> Enable -Wall -Wextra for libcore and cleanup all but one warning

Change-Id: Ied76662c470ba878cec61189acf29f5cbbd4ccd4
e5925d2c1c7954ecfa74c7b0adac7196a963d902 07-May-2010 Elliott Hughes <enh@google.com> Merge "Clean up the zlib-related native code." into dalvik-dev
565e3a450d009dcaf584bd45383b0a848273b845 07-May-2010 Elliott Hughes <enh@google.com> Clean up the zlib-related native code.

All the dude wanted was to get rid of Get/Release*Critical... First, though I
needed to switch the C files over to C++, and getting them to compile with a
stricter compiler made me realize how much of this stuff is unnecessary junk.
Eventually, I managed to get rid of all the "hy" and "sieb" crap, and you can
actually see what's going on now.

As usual, this reduces duplication and fixes leaks. I've also fixed a bug where
we'd never update inCap, meaning that we'd always allocate a new buffer and
never reuse the existing one even if it was large enough.

Bug: 2663177
Change-Id: I71fcbf9ff958ebf71ef3063d50ea34c28c30dd26
c2ed2f1ca161d05ba6cc810d6f8bfadbf4759743 07-May-2010 Kenny Root <kroot@google.com> Move ScopedJavaUnicodeString to include/

Change-Id: I51a2cdd80e910996f3143a7b699c3d4b408d105a
7f74745515d4c88391709fd23b19e7d8176bc9d6 07-May-2010 Brian Carlstrom <bdc@google.com> am 2becef4f: am 62b71fdc: am 14e73c0d: manual "merge" of dalvik change 264952af into libcore
cd0b522aabf266fa1f3e206e97301ce1d33facc4 07-May-2010 Brian Carlstrom <bdc@google.com> am 62b71fdc: am 14e73c0d: manual "merge" of dalvik change 264952af into libcore
0e339c0c45abc6ab4603f253038d6aba73360669 07-May-2010 Brian Carlstrom <bdc@google.com> am 14e73c0d: manual "merge" of dalvik change 264952af into libcore

Merge commit '14e73c0d77a7ba94f439bec4cdaf360cc6e725bb' into kraken

* commit '14e73c0d77a7ba94f439bec4cdaf360cc6e725bb':
manual "merge" of dalvik change 264952af into libcore
df2344404960a5aed1a4d92e4c5c6a11e63b600c 07-May-2010 Brian Carlstrom <bdc@google.com> manual "merge" of dalvik change 264952af into libcore

Change-Id: I7925a11870231b85abbd8f754f5edd34835605a9
f5fd16fa0bb6320f2af48d69151985122c8cb716 07-May-2010 Brian Carlstrom <bdc@google.com> Merge "Moving OpenSSLSocketImpl native code to NativeCrypto (and other clearnup)" into dalvik-dev
bd085adde7d29d8525d53de2f1c078e4290b07f0 06-May-2010 Brian Carlstrom <bdc@google.com> Moving OpenSSLSocketImpl native code to NativeCrypto (and other clearnup)

Summary:
- Finished consolidating OpenSSL native code into NativeCrypto
- fixing local vs global ref bug with AppData
Added new ScopedGlobalRef as part of this fix
- fixed many historical memory leaks identified during code review
- fixed lack of error checking on allcoation with OpenSSL *_new routines
- Added to_SSL_CTX and to_SSL_SESSION to match to_SSL (renamed from getSslPointer)
- Replaced most uses of GetByteArrayElements with ScopedByteArray
(including cases where we we using ReleaseByteArrayElements(..,...,0) instead of JNI_ABORT)
- Replaced uses of GetStringUTFChars with ScopedUtfChars

Details:

Finished consolidating OpenSSL native code into NativeCrypto

OpenSSLSocketImpl NativeCrypto
---------------------------------------
nativeread SSL_read_byte
nativeread SSL_read
nativewrite SSL_write_byte
nativewrite SSL_write
nativeinterrupt SSL_interrupt
nativeclose SSL_shutdown
nativeverifysignature verifysignature

Also removed dead code that was wrapping SSL_get1_session

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Fixed NativeCrypto_SSL_write and NativeCrypto_d2i_SSL_SESSION to use
JNI_ABORT on release to avoid copy back of unchanged data (via ScopedByteArray).

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

While running the usual tests:
adb shell run-core-tests tests.xnet.AllTests javax.net.ssl.AllTests
there was an abort from the JNI checking because in the recent
handshaking change, local refs were kept in AppData and then reused in
later calls. Added new ScopedGlobalRef to handle the book keeping of this.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
include/ScopedGlobalRef.h

Fixed various leaks on old error paths spotted by reviewer.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Tracking move of verifySignature, a non-SSL bit of code that was lurking in OpenSSLSocketImpl

luni/src/main/java/org/apache/harmony/security/provider/cert/X509CertImpl.java

Change-Id: If1e409782bc99dc684039cfe3f53f8244e29346e
93de3f8039feb053d2fe8d4aae7d6763964b74c7 06-May-2010 Elliott Hughes <enh@google.com> Merge "Fix SimpleDateFormat's unsafe Date handling." into dalvik-dev
dcac932e09fcfab44d755a94ae38a29e0206fecd 06-May-2010 Elliott Hughes <enh@google.com> Fix SimpleDateFormat's unsafe Date handling.

Bug: 2483056
Change-Id: Ib9581ba035c3185b534fa2885c2239c56b8117e0
95a44938f64a576a83f61a42c6fa99c79a7bd807 06-May-2010 Jesse Wilson <jessewilson@google.com> Setting expectations and fixing failures from scrubbing Harmony tests.

The tests found a few small problems (yay) but required many suppressions.
Later we might want to convert the suppressions into fixes for the
corresponding tests.

Change-Id: I29f2f9cef7e2c878aba8303b44c9b990de0777dd
a05a6056a90a67a0ad5d4aacea1aa98b75b91e14 06-May-2010 Elliott Hughes <enh@google.com> Improve File.renameTo documentation.

Bug: http://code.google.com/p/android/issues/detail?id=8172
Change-Id: I497f23ee9e320c43e525040a9da3f470c33894fb
34d6f4ea1d6b27571058ba2f08f670dd0c755391 06-May-2010 Elliott Hughes <enh@google.com> Trivia.

Fix my test to do what I intended (and what the comment claims), and privatize
Platform's privates.

Change-Id: Icedc8aed50d6ec69c69e4b00786e40b7c4071b91
8fbe0c34e56d9fbaf0decdf2ee280a258fd86c37 06-May-2010 Elliott Hughes <enh@google.com> Merge "Remove the "Answers" javadoc barbarism." into dalvik-dev
ddd3a4e611d054d8e42a6729fdd14621bca54df3 06-May-2010 Jesse Wilson <jessewilson@google.com> Merge "A test for unexpected finalization on objects that failed creation." into dalvik-dev
c10b7403326f05e1a6e2700952d3eff070fa7614 06-May-2010 Jesse Wilson <jessewilson@google.com> A test for unexpected finalization on objects that failed creation.

Change-Id: Idec898d766cabb947ec905ecf0a97040c776d149
http://b/issue?id=2645458
85abb7af18e6b0de746017aeecf158ae865a8366 06-May-2010 Elliott Hughes <enh@google.com> Remove the "Answers" javadoc barbarism.

I didn't realize how little of it was left, or I'd have done this earlier.

Change-Id: Ic4c23c3779bbee0ed4a8117584c5332e04536b5d
b97eaf6d13167c597a42e7241f146972d9c0dd15 06-May-2010 Elliott Hughes <enh@google.com> Merge "Fix HttpURLConnection to not cache failures." into dalvik-dev
b4c9eba4ede7a0c89b6c4821df642875e2eb0dfd 05-May-2010 Elliott Hughes <enh@google.com> Fix HttpURLConnection to not cache failures.

Found while investigating http://code.google.com/p/android/issues/detail?id=7787,
which turned out to be caused by unclear documentation. I've improved the
documentation somewhat, and stopped offering failed responses to the cache.

Bug: http://code.google.com/p/android/issues/detail?id=7787
Change-Id: Iec69769344af92345392c7ced817b0c823963524
db974c16656174c8f3954d40f4b3560f9c4abba8 05-May-2010 Brian Carlstrom <bdc@google.com> Moving OpenSSLSessionImpl native code to NativeCrypto

OpenSSLSessionImpl NativeCrypto
-------------------------------------------------------
getId SSL_SESSION_session_id
getPeerCertificatesImpl SSL_SESSION_get_peer_cert_chain
getCreationTime SSL_SESSION_get_time
getProtocol SSL_SESSION_get_version
getCipherSuite SSL_SESSION_cipher
freeImpl SSL_SESSION_free
getEncoded i2d_SSL_SESSION
initializeNativeImpl d2i_SSL_SESSION

Change-Id: I4538df52280266711986a577b14868af3ea0ed62
0a9b32d1e4f26ff1db859c4044073d54220e6531 05-May-2010 Dianne Hackborn <hackbod@google.com> am 5c27511b: am 873ccdf8: Make API to look up library by path public.
b6de0be5e2f307e758ab8f14b853720329913d78 05-May-2010 Elliott Hughes <enh@google.com> Merge "Remove use of non-errno error codes in OSNetworkSystem." into dalvik-dev
de1d6f111615c675f0b9318c2b2e8ac5256ed98f 05-May-2010 Brian Carlstrom <bdc@google.com> Remove unnecessary NativeCrypto "OpenSSL error" warning

The following errors were noticed running tests.AllTests:

D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib
D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib
D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib
D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib
D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib

D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib
D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib

I tracked these down to the following tests respectively:

org.apache.harmony.archive.tests.java.util.jar.JarFileTest.test_JarFile_Modified_SF_EntryAttributes
org.apache.harmony.archive.tests.java.util.jar.JarFileTest.test_JarFile_Modified_SF_EntryAttributes
org.apache.harmony.archive.tests.java.util.jar.JarFileTest.test_JarFile_Modified_SF_EntryAttributes
org.apache.harmony.archive.tests.java.util.jar.JarFileTest.test_JarFile_Modified_SF_EntryAttributes
org.apache.harmony.archive.tests.java.util.jar.JarFileTest.test_JarFile_Modified_SF_EntryAttributes

org.apache.harmony.archive.tests.java.util.jar.JarInputStreamTest.test_JarInputStream_Modified_SF_EntryAttributes_getNextEntry
org.apache.harmony.archive.tests.java.util.jar.JarInputStreamTest.test_JarInputStream_Modified_SF_EntryAttributes_read

However, these errors are just because of expected SecurityException
because jar files are being modified and the signatures are no longer
valid.

Commented out the warning, leaving it for future debugging if
needed. In addition passed context in for use in message for
disambiguating source of error.

libcore/luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I3e41994a30c19a859a1eaed4ef80eb25b9670f52
37b19b7a6cf1f325e3e0c3aebe1244551b6bab22 05-May-2010 Dianne Hackborn <hackbod@google.com> am 873ccdf8: Make API to look up library by path public.
7f035c2078d6cec441d44a86be44a6b0a558ef16 05-May-2010 Elliott Hughes <enh@google.com> Remove use of non-errno error codes in OSNetworkSystem.

This code's confusing enough without being so idiosyncratic. I've also changed
the native method so it returns a boolean rather leaking errno values in Java.

Where the original code used ENOTCONN, I've reverted to the native API's
EINPROGRESS for clarity. I've also used TEMP_FAILURE_RETRY to avoid manually
messing about with EINTR.

While I was here, I fixed a TODO about not needlessly passing a
sockaddr_storage by value, and removed a dead part of the old getsockopt code
I'd forgotten to remove.

Change-Id: I3c62fb80e33747619961ff39a0867422769126c4
1229e6d2e88eaccbf1530dadf7101fb8f2c9728d 05-May-2010 Brian Carlstrom <bdc@google.com> Addressing post-submit comments regarding OpenSSL handhake changes

Following up on feedback from earlier change https://android-git.corp.google.com/g/50435

Added new test_SSLSocket_startHandshake_noClientCertificate to
make sure handshaking works when no client certificates are
present after issues raised by hwu during code review.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Improve TestSSLContext.create* options
- added javadoc comments to help distinguish different versions
- fixed bug of not passing in keyStorePassword in create()
- added new createClient(server) method to create a TestSSLContext
that trusts the provided server TestSSLContext's certificate for
use by test_SSLSocket_startHandshake_noClientCertificate
- made createKeyStore optionally create a more minimal keystore if
aliases are not present
support/src/test/java/javax/net/ssl/TestSSLContext.java

Fixed argument names in SSL_*_mode methods names as pointed out by hwu

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java

Added comment to explain purpose of OpenSSLSessionImpl.resetId.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Two changes to OpenSocketImpl
- Added logging on runtime exception catch around
HandshakeCompletedListener execution to closely mirror RI
behavior.
- Cleaned up peerCertificate check to not just be on the client path.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Addressed enh's comments about using clearEnv and when to delete AppData

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I34f54e3e41a5d53d81fdc22aa34ca4de4ee9826f
4880963634d55637734dc1f492112328a096aa73 05-May-2010 Jesse Wilson <jessewilson@google.com> Moving junit out of core.jar and into core-junit.jar.

Previously it wasn't possible to start a dalvikvm without
a copy of JUnit on the boot class path.

Change-Id: I52f924207efe0a115e69616111807c6738d1a17f
https://android-git.corp.google.com/g/#change,50609
https://android-git.corp.google.com/g/#change,50610
https://android-git.corp.google.com/g/#change,50611
9b51165a37755dae3385c177be5d921cc00911fe 03-May-2010 Peter Hallam <peterhal@google.com> Merge awt-kernel, icu, luni-kernel, prefs, security-kernel, x-net into luni
Merge xml except xmlpull and kxml into luni
10956864c069636efbfa630e10dabdad972ba7e5 05-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Improving the doc for java.util.Timer" into dalvik-dev
c0665efba8c883eb759ffcf2bfd55621f3ebfc98 05-May-2010 Jesse Wilson <jessewilson@google.com> Improving the doc for java.util.Timer

Change-Id: Ie6fd0f7509a2dbf84255aebb02b8216c98201dc4
55bf8071fe5107cfbe90fd0aa81407daf4486b19 05-May-2010 Dianne Hackborn <hackbod@google.com> Make API to look up library by path public.

Change-Id: Iebe6cb5e9b464330a240d77f5162479513ebadb0
957f101df45768a2f2be19727fc460bf2d0da3ac 04-May-2010 Brian Carlstrom <bdc@google.com> Merge "Remove workarounds from JSSE tests now that SSLServerSocket.accept no longer tries to handshake" into dalvik-dev
0589ccf482e0460bb6e208a60da33ce9c77fe5ba 04-May-2010 Brian Carlstrom <bdc@google.com> Remove workarounds from JSSE tests now that SSLServerSocket.accept no longer tries to handshake

Change-Id: I1188c34901b4c2c42d6b88e798e2eda24b0bfc4c
425cd8ee069a4ab499016cec3f0d7a80b3c80830 04-May-2010 Elliott Hughes <enh@google.com> Merge "Fix IPv6 multicast TTLs." into dalvik-dev
597ff9c38e28b1304261c2421aedaf6be06b8b15 04-May-2010 Elliott Hughes <enh@google.com> Fix IPv6 multicast TTLs.

There's a Linux kernel bug we need to work-around for now. This patch adds that
workaround and tidies up the getSocketOption implementation.

This also fixes a bug I introduced in the last patch where setSocketOption
would reject InetAddress parameters.

Change-Id: Ie309b693520fed8306d346d5b4492c42e8967721
9410b5140e568e7c7bf15e6878804dcae273f1bc 04-May-2010 Brian Carlstrom <bdc@google.com> Merge "OpenSSLSocket handshake overhaul" into dalvik-dev
e669707f478009d5017762d22be1a269239da259 02-May-2010 Brian Carlstrom <bdc@google.com> OpenSSLSocket handshake overhaul

Summary:
- SSLSocket.startHandshake now generalized to handle both client and
server handshaking as well as client/server role reversal
- handshake_cutthrough.patch is properly integrated with support
delayed handshake completion now integrated with delayed updates to
session cache and callbacks to HandshakeCompletedListeners
- Many fixes to SSLSession, which is the end product of the handshake
- Generally more RI and SSLEngine compliant behavior.
- More native code deletion through unification of client/server
handshake, unification of client/server certificate chain
verification, etc. More native code moved from various OpenSSL
classes to cleaner NativeCrypto interfaces that more directly mirror
the OpenSSL interfaces.

Details:

Delay SSL_new call until handshake time when we know for sure whether
the OpenSSLSocket will be used in client or server mode and we can
allocate the SSL_new from the apppriate client or server SSL_CTX used
for session caching.

Now that no SSL is allocated for an OpenSSLServerSocketImpl,
store enabledProtocols and enabledCipherSuites in instance String
arrays. Use new NativeCrypto.checkEnabled* methdods for argument
validation. OpenSSLServerSocketImpl passes these enabled arrays to
a new OpenSSLSocket constructor during accept(). Removed finalizer
from OpenSSLServerSocketImpl since it no longer has any native
storage and socket is already closed by PlainSocketImpl finalizer.

X-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

OpenSSLSocket major overhaul to properly implement handshaking
including switching client and server roles and session ID caching
with handshake_cutthrough.patch.
- now implements NativeCrypto.HandshakeCompletedListeners for
properly timed callback when handshake_cutthrough.patch delays
handshake completion until first SSLSocket.getInputStream()
read.
- similar enabledProtocols/enabledCipherSuites changes as
OpenSSLServerSocketImpl since we need to store the state
somewhere other than an openssl SSL struct until we are sure if
we are doing a client or server handshake.
- added handshake completed field so that startHandshake can tell
if handshake was completed during SSL_do_handshake or will be
completed later by a call to HandshakeCompletedCallback.handshakeCompleted.
- removed nativegetsession as the equivalent value is now returned by SSL_do_handshake
- removed nativecipherauthenticationmethod as the value is now passed to verifyCertificateChain
- startHandshake is now a wrapper that forces a fully synchronous handshake
- startHandshake(boolean) is the the most changed method in this
changelist, combinding both the old startHandshake logic, but
also the OpenSSLSocketImpl.accept code as well. Notable
differences from the old code:
* now responsible for SSL_new
* single code path for client/server handshaking dealing with SSLSession caching
* now handles server certificate requests previously in
OpenSSLServerSocketImpl, since a client can request to act
like a server and therefore need to be able to make suck
demands on its peer.
* supports turning off handshake_cutthrough at a callers request
via explicit call to startHandshake()
* certificate verification happens during an upcall from openssl
during SSL_do_handshake to verifyCertificateChain for both
client and server cases. previously there was not quite right
upcall support on the server side and post-handshake checking
on the client, which did not allow for a proper alert to be
sent to the peer informing them of the issue, which the RI and
SSLEngine code do.
* Similarly, setEnableSessionCreation(false) did not send an
alert to the peer as the RI and SSLEngine code in the client
case. In the server case, nothing was previously done.
* The use of local certificates was not determined from
introspecting the SSL struct post-handshake. This is now
partially implemented and will be completed in a later change.
- SSLSocket.{shutdownInput,shutdownOutput} are now restored to the
proper behavior of throwing UnsupportedOperationException.
- Gutted OpenSSLSocketImpl finalizer. The comment explains in
detail the trouble of having the finalizer do anything more than
touch its the instances own state due to unpredictable order of
finalization and the future possability of parallel
finalization.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

SSLSession fixes
- Made OpenSSLSessionImpl.sessionContext non-final so it could be
nulled by SSLSession.invalidate to match RI behavior.
- As noted in AbstractSessionContext discussion, removed
OpenSSLSessionImpl constructor that took SSLParameters, instead
we take the possibly null localCertificates
directly. OpenSSLSessionImpl.getLocalCertificates now simply
returns the localCertificates member variable instead of
incorrectly trying to query the KeyManager for certificates that
may not have been used.
- OpenSSLSessionImpl now caches its native ID to avoid numerious
native calls but also now provides as resetId which will update
the cache when a delayed handshake happens due to the
handshake_cutthrough.patch
- Fixed bug in getPeerPrincipal that it wasn't calling
getPeerCertificates to initialize peerCertificates field.
- freeImpl is now 'public static' in preparation for move to NativeCrypto.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

The old SSLSessionImpl class that is still used for representing
the invalid session now returns
isValid => false
and
getProtocol => "NONE"
to match the RI.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java

NativeCrypto improvements
- Adding NativeCrypto.SSL_{get,set,clear}_mode similar to
NativeCrypto.SSL_{get,set,clear}_options along with
SSL_MODE_HANDSHAKE_CUTTHROUGH constant which is used to
explicitly disable/enable the Android handshake_cutthrough.patch
behavior.
- Added missing NativeCrypto.SSL_clear_options and used to properly
implement NativeCrypto.setEnabledProtocols.
- Added NativeCrypto.checkEnabledProtocols and
NativeCrypto.checkEnabledCipherSuites helpers to implement
exception compatability with the RI. While some of this code is
refactored from existing NativeCrypto code, it is now also used
by OpenSSLServerSocketImpl and OpenSSLSocketImpl which maintain
their own String[]s of what is enabled until startHandshake time. (see below)
- Changed NativeCrypto.findSuite to use foreach style loop for clarity.
- Moved OpenSSLServerSocketImpl nativesetclientauth and
SSL_VERIFY_* constants to NativeCrypto.SSL_set_verify
- Added NativeCrypto.SSL_set_session based on part of old OpenSSLSocketImpl.nativeconnect
- Added NativeCrypto.SSL_set_session_creation_enabled to properly implement
SSLSocket.setEnableSessionCreation(false) which uses new
external/openssl/patches/jsse.patch functionality.
- New NativeCrypto.SSL_do_handshake consolidates
OpenSSLSocketImpl.{nativeconnect, nativeaccept} while properly
implementing SSLSocket.setUseClientMode(false) for clients and
SSLSocket.setUseClientMode(true) for servers.
- New NativeCrypto.SSL_get_certificate is determine if local
certificate requested by peer. While functional, currently
NativeCrypto.SSL_new always sets a value via SSL_use_certificate
instead of relying on a callback set via SSL_CTX_set_client_cert_cb.
- Changed NativeCrypto.CertificateChainVerifier.verifyCertificateChain
to throw a checked CertificateException to match TrustManager.{checkServerTrusted,
checkClientTrusted}. It also takes an authMethod so avoid the need to call
the old OpenSSLSocketImpl.nativecipherauthenticationmethod.
- Added NativeCrypto.HandshakeCompletedCallback which has its
handshakeCompleted method called from OpenSSL when the now
delayed handshake_cutthrough.patch handshake is completed so
SSLSession caching can be delayed until a session ID is available
and to provide a better time for HandshakeCompletedListeners to
be notified.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Some other changes specific to the naitve side of the code
- Added JNITRACE calls (enabled at compile time with JNI_TRACE)
for future debugging.
- throw SSLException subclass of IOException instead IOException
itself for better RI compatability
x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp
- changed from old struct app_data to new class AppData at enh's request

Remove dubious usage of SSLParameters within AbstractSessionContext
to pass through to OpenSSLSessionImpl constructor for use in
calling getLocalCertificates for sessions created from a byte array
with AbstractSessionContext.toSession. Our
AbstractSessionContext.toBytes doesn't currently include the local
certificates in its output, so it cannot be expected to have in toSession.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

Test maintenance

openssl 1.0.0 adds support for RFC 4507 session tickets which
remove the need for server side session state. These tests needed
to be updated for this new behavior. If IS_RI is true, they still
follow the old behavior.

luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Update KnownFailures and add specific comments at point of failure
about what remains to be fixed.

luni/src/test/java/javax/net/ssl/SSLSessionTest.java

Added tests to cover the use of standard cipher suite
names. Historically Android has used OpenSSL string constants for
cipher suite names, but JSSE actually specifies supported and
expected names.

luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Create new support/src/test/java/javax/net/ssl with old Helper
support code pulled from javax.net.ssl tests:
SSLContextTest.Helper -> TestSSLContext
SSLSocketTest.Helper -> TestSSLSocketPair
SSLSessionTest.Helper -> TestSSLSessions
Also added new StandardNames here, which contains a collection of
expected constants for test validation.

luni/src/test/java/javax/net/ssl/SSLContextTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
support/src/test/java/javax/net/ssl/TestSSLContext.java
support/src/test/java/javax/net/ssl/TestSSLSocketPair.java
support/src/test/java/javax/net/ssl/TestSSLSessions.java
support/src/test/java/javax/net/ssl/StandardNames.java

Removed some now fixed KnownFailures and unneeded !IS_RI
code. Marked some [Un]KnownFailures where exceptions are thrown
and visible in the output but aren't correctly causing the test to
fail. Fixed assertNonNull to assertTrue in
test_SSLSocketTest_Test_create. Added
stress_test_SSLSocketTest_Test_create to track down test
flakiness, leading to rewrite of SSLSocket finalization.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Reenable javax.net.ssl.AllTests now that it is does not hang

luni/src/test/java/tests/AllTests.java

Improve error messages while debugging overflow problem.
Added new assert when debugging new RFC 4507 behavior.
Removed KnownFailure annotation for now working test case.
x-net/src/test/java/tests/api/javax/net/ssl/SSLSessionTest.java

Client code changes

Now that startHandshake implies synchronous vs Android's default async handshake, remove unneeded explict calls to SSLSocket.startHandshake

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java

Removed IBM 1.4.x codepath that involved startHandshake

x-net/src/main/java/javax/net/ssl/DefaultHostnameVerifier.java

Unrelated

Remove unneed SSLSocket.setUseClientMode while removing unneeded SSLSocket.startHandshake

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java

Removed warnings due to now missing modules in classpath

run-core-tests

Change-Id: I6e149ae259b3feccdfb0673209c85cfeb60befc8
ea9268165c1ac9a5f9faedefc098d5729b9930b3 04-May-2010 Elliott Hughes <enh@google.com> Remove an unused field and tidy up a test.

Change-Id: I23fdfe9b0470f8e1f1744660457542a999a13054
3cc6a64aa5385df9033810aadbd7e1792fa0e03b 03-May-2010 Elliott Hughes <enh@google.com> Fix MulticastSocket.setTTL.

Fixes two jtreg failures. I assumed the problem was with the native code, so I
simplified that until I'd convinced myself it was now correct. Then I found a
sign-extension bug in the Java side.

Change-Id: I398cecbe8e9245cb45c27f35eff3a0cd2995394e
7be9955fe6740c515cc48cb062f94407078041f6 03-May-2010 repo sync <enh@google.com> am 605c303c: am 32e2163c: am 385ee637: resolved conflicts for merge of f3565212 to froyo-plus-aosp
509babba02e97c8e2f4fc36abf659893ee65e3b0 03-May-2010 Jean-Baptiste Queru <jbq@google.com> am aff8b608: am d6f5d85c: am a70e2647: Adapt to new location of libcore
1d7eb8b222af7c94f39e7087f7c2685ec07cd268 03-May-2010 repo sync <enh@google.com> am 32e2163c: am 385ee637: resolved conflicts for merge of f3565212 to froyo-plus-aosp
b6d88c671f518768d6a5a755603e8f24afd99237 03-May-2010 Jean-Baptiste Queru <jbq@google.com> am d6f5d85c: am a70e2647: Adapt to new location of libcore
855f340297aaf7bd9afcd1a57bc83c0aa79591c4 03-May-2010 repo sync <enh@google.com> am 385ee637: resolved conflicts for merge of f3565212 to froyo-plus-aosp

Merge commit '385ee6370db97d951fdd9708ab85ba345bf68981' into kraken

* commit '385ee6370db97d951fdd9708ab85ba345bf68981':
resolved conflicts for merge of f3565212 to froyo-plus-aosp
98ecfa538fbaef0c27eda19ec8bdccccef6bd141 03-May-2010 Jean-Baptiste Queru <jbq@google.com> am a70e2647: Adapt to new location of libcore

Merge commit 'a70e264763b073e1f30867f96fce936d25cf1de0' into kraken

* commit 'a70e264763b073e1f30867f96fce936d25cf1de0':
Adapt to new location of libcore
25f205f6c28e04f259cf764fd628e351d2430393 01-May-2010 repo sync <enh@google.com> resolved conflicts for merge of f3565212 to froyo-plus-aosp

Change-Id: I2c1dacb28eefd2c57f798dabc9fdc23b3b9ff0dc
ac88fc158b18ad62c06e584f62388fb467aaf841 01-May-2010 Jean-Baptiste Queru <jbq@google.com> am de4018f4: am a33a62a5: Adapt to new location of libcore
9289a7865759c83916897878d19d849f0bff401c 01-May-2010 Jean-Baptiste Queru <jbq@google.com> am cccb7888: Adapt to new location of libcore
8886dd04a40b4a9a66109054399f41fd2eb400b9 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> Adapt to new location of libcore

Change-Id: Icb940f5f6d5985b913567519d1870ab1de573322
83056d0cb128f4de048ac899e14c6b974e2745f9 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> am a33a62a5: Adapt to new location of libcore
8cda74d6a6bf11f113c4704afe44b2f8e1e544d5 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> Adapt to new location of libcore

Change-Id: I74a3bf67ecab010607f7ce1c71659c4370a9d291
a25ae1c5c8e7e789e6517b24bb7abce3d5674651 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> Adapt to new location of libcore

Change-Id: Ia2481cb4f3462ab72a1ac6cb891ddab593b93a9d
c06afbdc8070df1d1f2e150097ad01b8d3984dc3 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> Adapt to new location of libcore

Change-Id: Icfecb1c02b22ced425f030a4b1b86664e2d83fa3
b34b359c702366d189fd05b633b6684a06a3e662 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> Adapt to new location of libcore

Change-Id: I0dcadda241e7fd2a7429f9dd43d1ff5e945e5467
7d7d29f536e54551342363610615da4962acfb30 30-Apr-2010 Ben Cheng <bccheng@android.com> Use unsigned comparison for stack pointers.

Bug: 2613607
Change-Id: I6a8abd69fbf9cb9f8ec9d9febf1ea42fd631fe9c
4a24a71244837447c381ad01bfb4821cbb159369 30-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding public API for cookies." into dalvik-dev
fd8e43898dc30136083d6847501c6b4365ad1604 29-Apr-2010 Andy McFadden <fadden@android.com> Rework common_periodicChecks.

The function was rewritten to optimize the common path. The control flow
now matches the C version, which tests for debugger/profiler even if the
previous test for suspension came up true.

This also adds a minor optimization on the test for debugger attachment,
allowing us to skip a load from memory if the process is simply not
debuggable. (The optimization isn't yet enabled because a similar change
must be made to the x86 asm code.)

The VM apparently hadn't been built without debugging/profiling support
for a while, so this fixes those places (necessary to be able to test
all forms of the new code).

Bug 2634642.

Change-Id: I096b58c961bb73ee0d128ba776d68dbf29bba924
d3d5be47f85d40a639856519892deb3a17f065e9 29-Apr-2010 Jesse Wilson <jessewilson@google.com> Adding public API for cookies.

We still need to wire this into the HTTP connection classes.
http://b/issue?id=1608781
25d32510a4c8ff57bf161b6e02722b7a1ae580a8 29-Apr-2010 Andy McFadden <fadden@android.com> Merge "Dalvik Zip rewrite." into dalvik-dev
ffe3d9f08a281219d8bfd3150177209667fd8b34 24-Apr-2010 Andy McFadden <fadden@android.com> Dalvik Zip rewrite.

Change the way zip archives are handled. This is necessary to deal with
very large (~1GB) APK files, for which our current approach of mapping
the entire file falls over.

We now do the classic scavenger hunt for the End Of Central Directory magic
on a buffer of data read from the file, instead of a memory-mapped section.
We use what we find to create a map that covers the Central Directory only.
For most uses in the VM this is all we really need, since we just want
to check file attributes vs. the optimized DEX to see if we're out of date.

If the caller is interested in unpacking the file contents, we have to
do an additional file read to discover the size of the Local File Header
section so we can skip past it. We also now do a file-to-file extraction
using read() calls instead of a buffer-to-file extraction on mmap()ed data.
No difference in performance (as measured by first-boot dexopt).

Since this is more of a rewrite than an update, I also took the opportunity
to change buffer size variables from "long" to "size_t", and normalized
return values to int (some were using bool, which is common in the VM but
was mixed in the zip code). Failure messages are now all LOGW with the
word "Zip" up front (didn't want to change log tag away from "dalvikvm").

Also, removed a not-quite-right check in the "map part of a file" code,
and clarified that the file offset is absolute.

For bug 2620103.

Change-Id: I745fb15abb541376f467969ffe422222676f1e5f
2ec5ed81fa75ef23f0b4e7d845f574d762b613b4 29-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing a few TreeMap bugs found by the latest Harmony tests." into dalvik-dev
511eeff2d9b756515524cc02015dca9982930597 29-Apr-2010 Andy McFadden <fadden@android.com> Merge "Use unsigned compare for stack overflow." into dalvik-dev
bf731e76b4d45928df3c5293112be3e476a77340 29-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing a few TreeMap bugs found by the latest Harmony tests.
2daa39a8f3b8449cc13d84e2cb40e729ae017e41 29-Apr-2010 Elliott Hughes <enh@google.com> Optimize rem-int/lit too.

Bryan hitting the bug in my div-int/lit optimization (that caused it to
try to rewrite rem-int/lit too) shows that I was wrong in assuming % wasn't
worth doing because it wouldn't be hot enough.

Before:

benchmark ns logarithmic runtime
RemainderIntByConstant2 44 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
RemainderIntByConstant2048 34 XXXXXXXXXXXXXXXXXXXXXX|||||
RemainderIntByConstant8 44 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
RemainderIntByVariable2 40 XXXXXXXXXXXXXXXXXXXXXXXXXXX||

After:

benchmark ns logarithmic runtime
RemainderIntByConstant2 13 XXXXXXXXX|||||||||||
RemainderIntByConstant2048 16 XXXXXXXXXXXX||||||||||
RemainderIntByConstant8 16 XXXXXXXXXXXX||||||||||
RemainderIntByVariable2 40 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Bug: 2614702
Change-Id: I719fc8765feececd5b73c3cb2e44dd3cf20c45ce
b45050891d13a7014486fbba285ba542f393a7b4 29-Apr-2010 Andy McFadden <fadden@android.com> Use unsigned compare for stack overflow.

When checking for stack overflow we're using a comparison that is treating
the pointers as signed values. If we manage to get a stack straddling
0x80000000, this will not work correctly.

Bug 2613607.

Change-Id: I5d178db86e93a3bb1e6a417e88d7cb1770d285bb
2ed662e1e03eabc3edb633d151812e9cae4efd01 28-Apr-2010 Elliott Hughes <enh@google.com> Don't accidentally convert % into /...

Fix a JIT bug I introduced the other day by not paying attention to the exact
dalvik opcode being optimized.

Change-Id: Ic0518645a5436e2903c2a34ef46d0205f23d571b
468151e831aec6d763788e377b6f7b57967777d5 28-Apr-2010 Elliott Hughes <enh@google.com> Merge "Add a regression test for http://code.google.com/p/android/issues/detail?id=7935." into dalvik-dev
3b8fb6882e0f648774f937ac336dd78741b15625 28-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Filling out implementations of java.util." into dalvik-dev
7948ed8859e207504ef0fca2eeb68e79fbecaf34 28-Apr-2010 Jesse Wilson <jessewilson@google.com> Filling out implementations of java.util.

The new code comes straight from Harmony. None of the below classes
were divergent from Harmony so the change was quite straightforward.

The changes have been tested against Harmony's test suite and jtreg.
I haven't added any new tests to our suite, but I don't need to.
fbf8c5609f88e35dd5ae24c25fcb1a537f4595a2 28-Apr-2010 Elliott Hughes <enh@google.com> Add a regression test for http://code.google.com/p/android/issues/detail?id=7935.

Bug: http://code.google.com/p/android/issues/detail?id=7935
Change-Id: I5d1b46687f0f257e24870fe34f05b6e7dceed346
bbf4ea2b259f6de5d14a122a4543cd99d7e0ce82 28-Apr-2010 Elliott Hughes <enh@google.com> Add a regression test for another DST-less locale.

Bug: http://code.google.com/p/android/issues/detail?id=8016
Change-Id: I260760ebc37251ccff766b78d22853d961a2694f
208f7171d3b971ed705a5c521459ac0a8107c086 28-Apr-2010 Elliott Hughes <enh@google.com> Merge "Remove almost all of the temporary allocations." into dalvik-dev
b26f84bc020aad155ab5dd868c91fbd34b5d58b9 28-Apr-2010 Guang Zhu <guangzhu@google.com> am cfb71ee5: (-s ours) no emma instrumentation on core-test

Merge commit 'cfb71ee5d72b7514d05b782c780d20cc5e6f73cb' into dalvik-dev

* commit 'cfb71ee5d72b7514d05b782c780d20cc5e6f73cb':
no emma instrumentation on core-test
7f77dca673618d9901ce105826077e48bc69b01c 28-Apr-2010 Elliott Hughes <enh@google.com> Remove almost all of the temporary allocations.

The main source of garbage when running the tests is now
OutputStream.write(int)'s creation of temporary single-byte byte arrays, but
no performance-conscious caller should be using that. In sensible cases, we
now produce very little garbage.

Change-Id: I13b5c8aef9a48c6aca33b039af2b13d5613a5f05
03bf0dfc60c4292c87632d8845d495aa81b0d18b 28-Apr-2010 Guang Zhu <guangzhu@google.com> no emma instrumentation on core-test

* applying emma instrumentation causes OOM in dx
* test packages don't need emma instrumentation anyway, it's the
package under test that needs to be processed by emma

Change-Id: I8e65d3750aae716c52fb98d0b8cd41a748344516
788935a6388b1c10c41f655ad0c46df7239f8869 28-Apr-2010 Elliott Hughes <enh@google.com> Merge "Fix HttpURLConnection.setFixedLengthStreamingMode." into dalvik-dev
b527b3acbeec81b7c0208eeb128e16e2a5d0a807 28-Apr-2010 Elliott Hughes <enh@google.com> Fix HttpURLConnection.setFixedLengthStreamingMode.

Add better testing of chunked and fixed-length modes, and fix fixed-length mode
so it doesn't try to buffer all the output (which is the last thing you want
because the only point of that mode is to explicitly disable as much buffering
as possible).

Bug: http://code.google.com/p/android/issues/detail?id=3164
Change-Id: Ie0adc374b9c8093ab55211222cec0eeab0e27e96
b61a96e7ef1a78acf013bbf08fe537e5b5f129ca 26-Apr-2010 Peter Hallam <peterhal@google.com> merge more modules into luni
rc/main/java/org/bouncycastle/asn1/ASN1Choice.java
rc/main/java/org/bouncycastle/asn1/ASN1Collection.java
rc/main/java/org/bouncycastle/asn1/ASN1Encodable.java
rc/main/java/org/bouncycastle/asn1/ASN1EncodableVector.java
rc/main/java/org/bouncycastle/asn1/ASN1InputStream.java
rc/main/java/org/bouncycastle/asn1/ASN1Null.java
rc/main/java/org/bouncycastle/asn1/ASN1OctetString.java
rc/main/java/org/bouncycastle/asn1/ASN1OutputStream.java
rc/main/java/org/bouncycastle/asn1/ASN1Sequence.java
rc/main/java/org/bouncycastle/asn1/ASN1Set.java
rc/main/java/org/bouncycastle/asn1/ASN1TaggedObject.java
rc/main/java/org/bouncycastle/asn1/BERConstructedOctetString.java
rc/main/java/org/bouncycastle/asn1/BERConstructedSequence.java
rc/main/java/org/bouncycastle/asn1/BERInputStream.java
rc/main/java/org/bouncycastle/asn1/BERNull.java
rc/main/java/org/bouncycastle/asn1/BEROutputStream.java
rc/main/java/org/bouncycastle/asn1/BERSequence.java
rc/main/java/org/bouncycastle/asn1/BERSet.java
rc/main/java/org/bouncycastle/asn1/BERTaggedObject.java
rc/main/java/org/bouncycastle/asn1/DERApplicationSpecific.java
rc/main/java/org/bouncycastle/asn1/DERBMPString.java
rc/main/java/org/bouncycastle/asn1/DERBitString.java
rc/main/java/org/bouncycastle/asn1/DERBoolean.java
rc/main/java/org/bouncycastle/asn1/DERConstructedSequence.java
rc/main/java/org/bouncycastle/asn1/DERConstructedSet.java
rc/main/java/org/bouncycastle/asn1/DEREncodable.java
rc/main/java/org/bouncycastle/asn1/DEREncodableVector.java
rc/main/java/org/bouncycastle/asn1/DEREnumerated.java
rc/main/java/org/bouncycastle/asn1/DERGeneralString.java
rc/main/java/org/bouncycastle/asn1/DERGeneralizedTime.java
rc/main/java/org/bouncycastle/asn1/DERIA5String.java
rc/main/java/org/bouncycastle/asn1/DERInputStream.java
rc/main/java/org/bouncycastle/asn1/DERInteger.java
rc/main/java/org/bouncycastle/asn1/DERNull.java
rc/main/java/org/bouncycastle/asn1/DERNumericString.java
rc/main/java/org/bouncycastle/asn1/DERObject.java
rc/main/java/org/bouncycastle/asn1/DERObjectIdentifier.java
rc/main/java/org/bouncycastle/asn1/DEROctetString.java
rc/main/java/org/bouncycastle/asn1/DEROutputStream.java
rc/main/java/org/bouncycastle/asn1/DERPrintableString.java
rc/main/java/org/bouncycastle/asn1/DERSequence.java
rc/main/java/org/bouncycastle/asn1/DERSet.java
rc/main/java/org/bouncycastle/asn1/DERString.java
rc/main/java/org/bouncycastle/asn1/DERT61String.java
rc/main/java/org/bouncycastle/asn1/DERTaggedObject.java
rc/main/java/org/bouncycastle/asn1/DERTags.java
rc/main/java/org/bouncycastle/asn1/DERUTCTime.java
rc/main/java/org/bouncycastle/asn1/DERUTF8String.java
rc/main/java/org/bouncycastle/asn1/DERUniversalString.java
rc/main/java/org/bouncycastle/asn1/DERUnknownTag.java
rc/main/java/org/bouncycastle/asn1/DERVisibleString.java
rc/main/java/org/bouncycastle/asn1/OIDTokenizer.java
rc/main/java/org/bouncycastle/asn1/OrderedTable.java
rc/main/java/org/bouncycastle/asn1/cmp/PKIFailureInfo.java
rc/main/java/org/bouncycastle/asn1/cmp/PKIFreeText.java
rc/main/java/org/bouncycastle/asn1/cmp/PKIStatus.java
rc/main/java/org/bouncycastle/asn1/cmp/PKIStatusInfo.java
rc/main/java/org/bouncycastle/asn1/cms/Attribute.java
rc/main/java/org/bouncycastle/asn1/cms/AttributeTable.java
rc/main/java/org/bouncycastle/asn1/cms/CMSAttributes.java
rc/main/java/org/bouncycastle/asn1/cms/CMSObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/cms/CompressedData.java
rc/main/java/org/bouncycastle/asn1/cms/ContentInfo.java
rc/main/java/org/bouncycastle/asn1/cms/EncryptedContentInfo.java
rc/main/java/org/bouncycastle/asn1/cms/EnvelopedData.java
rc/main/java/org/bouncycastle/asn1/cms/IssuerAndSerialNumber.java
rc/main/java/org/bouncycastle/asn1/cms/KEKIdentifier.java
rc/main/java/org/bouncycastle/asn1/cms/KEKRecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/KeyAgreeRecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/KeyTransRecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/OriginatorIdentifierOrKey.java
rc/main/java/org/bouncycastle/asn1/cms/OriginatorInfo.java
rc/main/java/org/bouncycastle/asn1/cms/OriginatorPublicKey.java
rc/main/java/org/bouncycastle/asn1/cms/OtherKeyAttribute.java
rc/main/java/org/bouncycastle/asn1/cms/OtherRecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/PasswordRecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/RecipientIdentifier.java
rc/main/java/org/bouncycastle/asn1/cms/RecipientInfo.java
rc/main/java/org/bouncycastle/asn1/cms/RecipientKeyIdentifier.java
rc/main/java/org/bouncycastle/asn1/cms/SignedData.java
rc/main/java/org/bouncycastle/asn1/cms/SignerIdentifier.java
rc/main/java/org/bouncycastle/asn1/cms/SignerInfo.java
rc/main/java/org/bouncycastle/asn1/cms/Time.java
rc/main/java/org/bouncycastle/asn1/cryptopro/CryptoProObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/esf/CommitmentTypeIdentifier.java
rc/main/java/org/bouncycastle/asn1/esf/CommitmentTypeIndication.java
rc/main/java/org/bouncycastle/asn1/esf/CommitmentTypeQualifier.java
rc/main/java/org/bouncycastle/asn1/esf/ESFAttributes.java
rc/main/java/org/bouncycastle/asn1/esf/SignerLocation.java
rc/main/java/org/bouncycastle/asn1/ess/ContentIdentifier.java
rc/main/java/org/bouncycastle/asn1/ess/ESSCertID.java
rc/main/java/org/bouncycastle/asn1/ess/OtherCertID.java
rc/main/java/org/bouncycastle/asn1/ess/OtherSigningCertificate.java
rc/main/java/org/bouncycastle/asn1/ess/SigningCertificate.java
rc/main/java/org/bouncycastle/asn1/gnu/GNUObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/iana/IANAObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/icao/DataGroupHash.java
rc/main/java/org/bouncycastle/asn1/icao/ICAOObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/icao/LDSSecurityObject.java
rc/main/java/org/bouncycastle/asn1/misc/IDEACBCPar.java
rc/main/java/org/bouncycastle/asn1/misc/MiscObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/misc/NetscapeCertType.java
rc/main/java/org/bouncycastle/asn1/misc/NetscapeRevocationURL.java
rc/main/java/org/bouncycastle/asn1/misc/VerisignCzagExtension.java
rc/main/java/org/bouncycastle/asn1/mozilla/PublicKeyAndChallenge.java
rc/main/java/org/bouncycastle/asn1/nist/NISTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/ocsp/BasicOCSPResponse.java
rc/main/java/org/bouncycastle/asn1/ocsp/CertID.java
rc/main/java/org/bouncycastle/asn1/ocsp/CertStatus.java
rc/main/java/org/bouncycastle/asn1/ocsp/CrlID.java
rc/main/java/org/bouncycastle/asn1/ocsp/OCSPObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/ocsp/OCSPRequest.java
rc/main/java/org/bouncycastle/asn1/ocsp/OCSPResponse.java
rc/main/java/org/bouncycastle/asn1/ocsp/OCSPResponseStatus.java
rc/main/java/org/bouncycastle/asn1/ocsp/Request.java
rc/main/java/org/bouncycastle/asn1/ocsp/ResponderID.java
rc/main/java/org/bouncycastle/asn1/ocsp/ResponseBytes.java
rc/main/java/org/bouncycastle/asn1/ocsp/ResponseData.java
rc/main/java/org/bouncycastle/asn1/ocsp/RevokedInfo.java
rc/main/java/org/bouncycastle/asn1/ocsp/ServiceLocator.java
rc/main/java/org/bouncycastle/asn1/ocsp/Signature.java
rc/main/java/org/bouncycastle/asn1/ocsp/SingleResponse.java
rc/main/java/org/bouncycastle/asn1/ocsp/TBSRequest.java
rc/main/java/org/bouncycastle/asn1/oiw/OIWObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/pkcs/Attribute.java
rc/main/java/org/bouncycastle/asn1/pkcs/AuthenticatedSafe.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertBag.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertificationRequest.java
rc/main/java/org/bouncycastle/asn1/pkcs/CertificationRequestInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/ContentInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/DHParameter.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptedData.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptedPrivateKeyInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/EncryptionScheme.java
rc/main/java/org/bouncycastle/asn1/pkcs/IssuerAndSerialNumber.java
rc/main/java/org/bouncycastle/asn1/pkcs/KeyDerivationFunc.java
rc/main/java/org/bouncycastle/asn1/pkcs/MacData.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Algorithms.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java
rc/main/java/org/bouncycastle/asn1/pkcs/PBKDF2Params.java
rc/main/java/org/bouncycastle/asn1/pkcs/PKCS12PBEParams.java
rc/main/java/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/pkcs/Pfx.java
rc/main/java/org/bouncycastle/asn1/pkcs/PrivateKeyInfo.java
rc/main/java/org/bouncycastle/asn1/pkcs/RC2CBCParameter.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAESOAEPparams.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSAPrivateKeyStructure.java
rc/main/java/org/bouncycastle/asn1/pkcs/RSASSAPSSparams.java
rc/main/java/org/bouncycastle/asn1/pkcs/SafeBag.java
rc/main/java/org/bouncycastle/asn1/pkcs/SignedData.java
rc/main/java/org/bouncycastle/asn1/pkcs/SignerInfo.java
rc/main/java/org/bouncycastle/asn1/teletrust/TeleTrusTObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/tsp/Accuracy.java
rc/main/java/org/bouncycastle/asn1/tsp/MessageImprint.java
rc/main/java/org/bouncycastle/asn1/tsp/TSTInfo.java
rc/main/java/org/bouncycastle/asn1/tsp/TimeStampReq.java
rc/main/java/org/bouncycastle/asn1/tsp/TimeStampResp.java
rc/main/java/org/bouncycastle/asn1/util/ASN1Dump.java
rc/main/java/org/bouncycastle/asn1/util/DERDump.java
rc/main/java/org/bouncycastle/asn1/util/Dump.java
rc/main/java/org/bouncycastle/asn1/x509/AccessDescription.java
rc/main/java/org/bouncycastle/asn1/x509/AlgorithmIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/AttCertIssuer.java
rc/main/java/org/bouncycastle/asn1/x509/AttCertValidityPeriod.java
rc/main/java/org/bouncycastle/asn1/x509/Attribute.java
rc/main/java/org/bouncycastle/asn1/x509/AttributeCertificate.java
rc/main/java/org/bouncycastle/asn1/x509/AttributeCertificateInfo.java
rc/main/java/org/bouncycastle/asn1/x509/AuthorityInformationAccess.java
rc/main/java/org/bouncycastle/asn1/x509/AuthorityKeyIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/BasicConstraints.java
rc/main/java/org/bouncycastle/asn1/x509/CRLDistPoint.java
rc/main/java/org/bouncycastle/asn1/x509/CRLNumber.java
rc/main/java/org/bouncycastle/asn1/x509/CRLReason.java
rc/main/java/org/bouncycastle/asn1/x509/CertPolicyId.java
rc/main/java/org/bouncycastle/asn1/x509/CertificateList.java
rc/main/java/org/bouncycastle/asn1/x509/CertificatePolicies.java
rc/main/java/org/bouncycastle/asn1/x509/DSAParameter.java
rc/main/java/org/bouncycastle/asn1/x509/DigestInfo.java
rc/main/java/org/bouncycastle/asn1/x509/DisplayText.java
rc/main/java/org/bouncycastle/asn1/x509/DistributionPoint.java
rc/main/java/org/bouncycastle/asn1/x509/DistributionPointName.java
rc/main/java/org/bouncycastle/asn1/x509/ExtendedKeyUsage.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralName.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralNames.java
rc/main/java/org/bouncycastle/asn1/x509/GeneralSubtree.java
rc/main/java/org/bouncycastle/asn1/x509/Holder.java
rc/main/java/org/bouncycastle/asn1/x509/IetfAttrSyntax.java
rc/main/java/org/bouncycastle/asn1/x509/IssuerSerial.java
rc/main/java/org/bouncycastle/asn1/x509/IssuingDistributionPoint.java
rc/main/java/org/bouncycastle/asn1/x509/KeyPurposeId.java
rc/main/java/org/bouncycastle/asn1/x509/KeyUsage.java
rc/main/java/org/bouncycastle/asn1/x509/NameConstraints.java
rc/main/java/org/bouncycastle/asn1/x509/NoticeReference.java
rc/main/java/org/bouncycastle/asn1/x509/ObjectDigestInfo.java
rc/main/java/org/bouncycastle/asn1/x509/PolicyInformation.java
rc/main/java/org/bouncycastle/asn1/x509/PolicyMappings.java
rc/main/java/org/bouncycastle/asn1/x509/PolicyQualifierId.java
rc/main/java/org/bouncycastle/asn1/x509/PolicyQualifierInfo.java
rc/main/java/org/bouncycastle/asn1/x509/RSAPublicKeyStructure.java
rc/main/java/org/bouncycastle/asn1/x509/ReasonFlags.java
rc/main/java/org/bouncycastle/asn1/x509/RoleSyntax.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectDirectoryAttributes.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectKeyIdentifier.java
rc/main/java/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertList.java
rc/main/java/org/bouncycastle/asn1/x509/TBSCertificateStructure.java
rc/main/java/org/bouncycastle/asn1/x509/Time.java
rc/main/java/org/bouncycastle/asn1/x509/UserNotice.java
rc/main/java/org/bouncycastle/asn1/x509/V1TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/V2AttributeCertificateInfoGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/V2Form.java
rc/main/java/org/bouncycastle/asn1/x509/V2TBSCertListGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/V3TBSCertificateGenerator.java
rc/main/java/org/bouncycastle/asn1/x509/X509Attributes.java
rc/main/java/org/bouncycastle/asn1/x509/X509CertificateStructure.java
rc/main/java/org/bouncycastle/asn1/x509/X509DefaultEntryConverter.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extension.java
rc/main/java/org/bouncycastle/asn1/x509/X509Extensions.java
rc/main/java/org/bouncycastle/asn1/x509/X509Name.java
rc/main/java/org/bouncycastle/asn1/x509/X509NameElementList.java
rc/main/java/org/bouncycastle/asn1/x509/X509NameEntryConverter.java
rc/main/java/org/bouncycastle/asn1/x509/X509NameTokenizer.java
rc/main/java/org/bouncycastle/asn1/x509/X509ObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/BiometricData.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/ETSIQCObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/Iso4217CurrencyCode.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/MonetaryValue.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/QCStatement.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/RFC3739QCObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/SemanticsInformation.java
rc/main/java/org/bouncycastle/asn1/x509/qualified/TypeOfBiometricData.java
rc/main/java/org/bouncycastle/asn1/x509/sigi/SigIObjectIdentifiers.java
rc/main/java/org/bouncycastle/asn1/x9/X9ObjectIdentifiers.java
rc/main/java/org/bouncycastle/crypto/AsymmetricBlockCipher.java
rc/main/java/org/bouncycastle/crypto/AsymmetricCipherKeyPair.java
rc/main/java/org/bouncycastle/crypto/AsymmetricCipherKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/BasicAgreement.java
rc/main/java/org/bouncycastle/crypto/BlockCipher.java
rc/main/java/org/bouncycastle/crypto/BufferedAsymmetricBlockCipher.java
rc/main/java/org/bouncycastle/crypto/BufferedBlockCipher.java
rc/main/java/org/bouncycastle/crypto/CipherKeyGenerator.java
rc/main/java/org/bouncycastle/crypto/CipherParameters.java
rc/main/java/org/bouncycastle/crypto/CryptoException.java
rc/main/java/org/bouncycastle/crypto/DSA.java
rc/main/java/org/bouncycastle/crypto/DataLengthException.java
rc/main/java/org/bouncycastle/crypto/DerivationFunction.java
rc/main/java/org/bouncycastle/crypto/DerivationParameters.java
rc/main/java/org/bouncycastle/crypto/Digest.java
rc/main/java/org/bouncycastle/crypto/ExtendedDigest.java
rc/main/java/org/bouncycastle/crypto/InvalidCipherTextException.java
rc/main/java/org/bouncycastle/crypto/KeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/Mac.java
rc/main/java/org/bouncycastle/crypto/PBEParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/RuntimeCryptoException.java
rc/main/java/org/bouncycastle/crypto/Signer.java
rc/main/java/org/bouncycastle/crypto/SignerWithRecovery.java
rc/main/java/org/bouncycastle/crypto/StreamBlockCipher.java
rc/main/java/org/bouncycastle/crypto/StreamCipher.java
rc/main/java/org/bouncycastle/crypto/Wrapper.java
rc/main/java/org/bouncycastle/crypto/agreement/DHAgreement.java
rc/main/java/org/bouncycastle/crypto/agreement/DHBasicAgreement.java
rc/main/java/org/bouncycastle/crypto/digests/GeneralDigest.java
rc/main/java/org/bouncycastle/crypto/digests/LongDigest.java
rc/main/java/org/bouncycastle/crypto/digests/MD4Digest.java
rc/main/java/org/bouncycastle/crypto/digests/MD5Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA1Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA224Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA256Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA384Digest.java
rc/main/java/org/bouncycastle/crypto/digests/SHA512Digest.java
rc/main/java/org/bouncycastle/crypto/digests/ShortenedDigest.java
rc/main/java/org/bouncycastle/crypto/encodings/ISO9796d1Encoding.java
rc/main/java/org/bouncycastle/crypto/encodings/OAEPEncoding.java
rc/main/java/org/bouncycastle/crypto/encodings/PKCS1Encoding.java
rc/main/java/org/bouncycastle/crypto/engines/AESEngine.java
rc/main/java/org/bouncycastle/crypto/engines/AESFastEngine.java
rc/main/java/org/bouncycastle/crypto/engines/AESLightEngine.java
rc/main/java/org/bouncycastle/crypto/engines/AESWrapEngine.java
rc/main/java/org/bouncycastle/crypto/engines/DESEngine.java
rc/main/java/org/bouncycastle/crypto/engines/DESedeEngine.java
rc/main/java/org/bouncycastle/crypto/engines/DESedeWrapEngine.java
rc/main/java/org/bouncycastle/crypto/engines/IESEngine.java
rc/main/java/org/bouncycastle/crypto/engines/NullEngine.java
rc/main/java/org/bouncycastle/crypto/engines/RC2Engine.java
rc/main/java/org/bouncycastle/crypto/engines/RSAEngine.java
rc/main/java/org/bouncycastle/crypto/generators/BaseKDFBytesGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DESKeyGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DESedeKeyGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DHBasicKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DHKeyGeneratorHelper.java
rc/main/java/org/bouncycastle/crypto/generators/DHKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DHParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DSAKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/DSAParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/KDF1BytesGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/KDF2BytesGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/MGF1BytesGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/OpenSSLPBEParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/PKCS5S1ParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator.java
rc/main/java/org/bouncycastle/crypto/generators/RSAKeyPairGenerator.java
rc/main/java/org/bouncycastle/crypto/io/DigestInputStream.java
rc/main/java/org/bouncycastle/crypto/io/DigestOutputStream.java
rc/main/java/org/bouncycastle/crypto/io/MacInputStream.java
rc/main/java/org/bouncycastle/crypto/io/MacOutputStream.java
rc/main/java/org/bouncycastle/crypto/macs/BlockCipherMac.java
rc/main/java/org/bouncycastle/crypto/macs/CBCBlockCipherMac.java
rc/main/java/org/bouncycastle/crypto/macs/CFBBlockCipherMac.java
rc/main/java/org/bouncycastle/crypto/macs/HMac.java
rc/main/java/org/bouncycastle/crypto/macs/ISO9797Alg3Mac.java
rc/main/java/org/bouncycastle/crypto/macs/OldHMac.java
rc/main/java/org/bouncycastle/crypto/modes/CBCBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CCMBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CFBBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/CTSBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/GOFBBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/OFBBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/PaddedBlockCipher.java
rc/main/java/org/bouncycastle/crypto/modes/SICBlockCipher.java
rc/main/java/org/bouncycastle/crypto/paddings/BlockCipherPadding.java
rc/main/java/org/bouncycastle/crypto/paddings/ISO10126d2Padding.java
rc/main/java/org/bouncycastle/crypto/paddings/ISO7816d4Padding.java
rc/main/java/org/bouncycastle/crypto/paddings/PKCS7Padding.java
rc/main/java/org/bouncycastle/crypto/paddings/PaddedBufferedBlockCipher.java
rc/main/java/org/bouncycastle/crypto/paddings/TBCPadding.java
rc/main/java/org/bouncycastle/crypto/paddings/X923Padding.java
rc/main/java/org/bouncycastle/crypto/paddings/ZeroBytePadding.java
rc/main/java/org/bouncycastle/crypto/params/AsymmetricKeyParameter.java
rc/main/java/org/bouncycastle/crypto/params/CCMParameters.java
rc/main/java/org/bouncycastle/crypto/params/DESParameters.java
rc/main/java/org/bouncycastle/crypto/params/DESedeParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHKeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHPrivateKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHPublicKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DHValidationParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAKeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAPrivateKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAPublicKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/DSAValidationParameters.java
rc/main/java/org/bouncycastle/crypto/params/IESParameters.java
rc/main/java/org/bouncycastle/crypto/params/IESWithCipherParameters.java
rc/main/java/org/bouncycastle/crypto/params/ISO18033KDFParameters.java
rc/main/java/org/bouncycastle/crypto/params/KDFParameters.java
rc/main/java/org/bouncycastle/crypto/params/KeyParameter.java
rc/main/java/org/bouncycastle/crypto/params/MGFParameters.java
rc/main/java/org/bouncycastle/crypto/params/ParametersWithIV.java
rc/main/java/org/bouncycastle/crypto/params/ParametersWithRandom.java
rc/main/java/org/bouncycastle/crypto/params/ParametersWithSBox.java
rc/main/java/org/bouncycastle/crypto/params/ParametersWithSalt.java
rc/main/java/org/bouncycastle/crypto/params/RC2Parameters.java
rc/main/java/org/bouncycastle/crypto/params/RC5Parameters.java
rc/main/java/org/bouncycastle/crypto/params/RSAKeyGenerationParameters.java
rc/main/java/org/bouncycastle/crypto/params/RSAKeyParameters.java
rc/main/java/org/bouncycastle/crypto/params/RSAPrivateCrtKeyParameters.java
rc/main/java/org/bouncycastle/crypto/signers/DSASigner.java
rc/main/java/org/bouncycastle/crypto/signers/ISO9796d2PSSSigner.java
rc/main/java/org/bouncycastle/crypto/signers/ISO9796d2Signer.java
rc/main/java/org/bouncycastle/crypto/signers/PSSSigner.java
rc/main/java/org/bouncycastle/crypto/util/PrivateKeyFactory.java
rc/main/java/org/bouncycastle/crypto/util/PublicKeyFactory.java
rc/main/java/org/bouncycastle/i18n/ErrorBundle.java
rc/main/java/org/bouncycastle/i18n/LocalizedException.java
rc/main/java/org/bouncycastle/i18n/LocalizedMessage.java
rc/main/java/org/bouncycastle/i18n/MessageBundle.java
rc/main/java/org/bouncycastle/i18n/MissingEntryException.java
rc/main/java/org/bouncycastle/i18n/TextBundle.java
rc/main/java/org/bouncycastle/i18n/filter/Filter.java
rc/main/java/org/bouncycastle/i18n/filter/HTMLFilter.java
rc/main/java/org/bouncycastle/i18n/filter/SQLFilter.java
rc/main/java/org/bouncycastle/i18n/filter/UntrustedInput.java
rc/main/java/org/bouncycastle/jce/PKCS10CertificationRequest.java
rc/main/java/org/bouncycastle/jce/PKCS7SignedData.java
rc/main/java/org/bouncycastle/jce/PrincipalUtil.java
rc/main/java/org/bouncycastle/jce/X509KeyUsage.java
rc/main/java/org/bouncycastle/jce/X509Principal.java
rc/main/java/org/bouncycastle/jce/X509V1CertificateGenerator.java
rc/main/java/org/bouncycastle/jce/X509V2CRLGenerator.java
rc/main/java/org/bouncycastle/jce/X509V3CertificateGenerator.java
rc/main/java/org/bouncycastle/jce/interfaces/BCKeyStore.java
rc/main/java/org/bouncycastle/jce/interfaces/IESKey.java
rc/main/java/org/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier.java
rc/main/java/org/bouncycastle/jce/netscape/NetscapeCertRequest.java
rc/main/java/org/bouncycastle/jce/provider/AnnotatedException.java
rc/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
rc/main/java/org/bouncycastle/jce/provider/BrokenJCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/BrokenKDF2BytesGenerator.java
rc/main/java/org/bouncycastle/jce/provider/BrokenPBE.java
rc/main/java/org/bouncycastle/jce/provider/CertPathValidatorUtilities.java
rc/main/java/org/bouncycastle/jce/provider/CertStoreCollectionSpi.java
rc/main/java/org/bouncycastle/jce/provider/DHUtil.java
rc/main/java/org/bouncycastle/jce/provider/DSAUtil.java
rc/main/java/org/bouncycastle/jce/provider/IndexedPKIXParameters.java
rc/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHKeyAgreement.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEDHPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCEDigestUtil.java
rc/main/java/org/bouncycastle/jce/provider/JCEIESCipher.java
rc/main/java/org/bouncycastle/jce/provider/JCEKeyGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JCEMac.java
rc/main/java/org/bouncycastle/jce/provider/JCEPBEKey.java
rc/main/java/org/bouncycastle/jce/provider/JCERSACipher.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPrivateCrtKey.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JCERSAPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JCEStreamCipher.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JDKAlgorithmParameters.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSAPrivateKey.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSAPublicKey.java
rc/main/java/org/bouncycastle/jce/provider/JDKDSASigner.java
rc/main/java/org/bouncycastle/jce/provider/JDKDigestSignature.java
rc/main/java/org/bouncycastle/jce/provider/JDKECDSAAlgParameters.java
rc/main/java/org/bouncycastle/jce/provider/JDKISOSignature.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyFactory.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyPairGenerator.java
rc/main/java/org/bouncycastle/jce/provider/JDKKeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKMessageDigest.java
rc/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java
rc/main/java/org/bouncycastle/jce/provider/JDKPSSSigner.java
rc/main/java/org/bouncycastle/jce/provider/JDKX509CertificateFactory.java
rc/main/java/org/bouncycastle/jce/provider/PBE.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPath.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathBuilderSpi.java
rc/main/java/org/bouncycastle/jce/provider/PKIXCertPathValidatorSpi.java
rc/main/java/org/bouncycastle/jce/provider/PKIXPolicyNode.java
rc/main/java/org/bouncycastle/jce/provider/RSAUtil.java
rc/main/java/org/bouncycastle/jce/provider/WrapCipherSpi.java
rc/main/java/org/bouncycastle/jce/provider/X509CRLEntryObject.java
rc/main/java/org/bouncycastle/jce/provider/X509CRLObject.java
rc/main/java/org/bouncycastle/jce/provider/X509CertificateObject.java
rc/main/java/org/bouncycastle/jce/provider/X509SignatureUtil.java
rc/main/java/org/bouncycastle/jce/spec/IEKeySpec.java
rc/main/java/org/bouncycastle/jce/spec/IESParameterSpec.java
rc/main/java/org/bouncycastle/openssl/PEMWriter.java
rc/main/java/org/bouncycastle/util/Arrays.java
rc/main/java/org/bouncycastle/util/BigIntegers.java
rc/main/java/org/bouncycastle/util/Strings.java
rc/main/java/org/bouncycastle/util/encoders/Base64.java
rc/main/java/org/bouncycastle/util/encoders/Base64Encoder.java
rc/main/java/org/bouncycastle/util/encoders/BufferedDecoder.java
rc/main/java/org/bouncycastle/util/encoders/BufferedEncoder.java
rc/main/java/org/bouncycastle/util/encoders/Encoder.java
rc/main/java/org/bouncycastle/util/encoders/Hex.java
rc/main/java/org/bouncycastle/util/encoders/HexEncoder.java
rc/main/java/org/bouncycastle/util/encoders/HexTranslator.java
rc/main/java/org/bouncycastle/util/encoders/Translator.java
rc/main/java/org/bouncycastle/util/encoders/UrlBase64.java
rc/main/java/org/bouncycastle/util/encoders/UrlBase64Encoder.java
rc/main/java/org/bouncycastle/x509/AttributeCertificateHolder.java
rc/main/java/org/bouncycastle/x509/AttributeCertificateIssuer.java
rc/main/java/org/bouncycastle/x509/CertPathReviewerException.java
rc/main/java/org/bouncycastle/x509/CertPathReviewerMessages.properties
rc/main/java/org/bouncycastle/x509/PKIXCertPathReviewer.java
rc/main/java/org/bouncycastle/x509/X509Attribute.java
rc/main/java/org/bouncycastle/x509/X509AttributeCertificate.java
rc/main/java/org/bouncycastle/x509/X509Util.java
rc/main/java/org/bouncycastle/x509/X509V1CertificateGenerator.java
rc/main/java/org/bouncycastle/x509/X509V2AttributeCertificate.java
rc/main/java/org/bouncycastle/x509/X509V2AttributeCertificateGenerator.java
rc/main/java/org/bouncycastle/x509/X509V2CRLGenerator.java
rc/main/java/org/bouncycastle/x509/X509V3CertificateGenerator.java
rc/main/java/org/bouncycastle/x509/extension/AuthorityKeyIdentifierStructure.java
rc/main/java/org/bouncycastle/x509/extension/SubjectKeyIdentifierStructure.java
rc/main/java/org/bouncycastle/x509/extension/X509ExtensionUtil.java
a7a77517a554d7ff8b8820f221f50280dea6b5ef 27-Apr-2010 Elliott Hughes <enh@google.com> Merge "Optimize idiv-int/lit for powers of 2." into dalvik-dev
ba1e7de5450f428f1d3cb040e6769e2ff508342e 27-Apr-2010 Jesse Wilson <jessewilson@google.com> Restore test expectations inadvertently deleted with vogar.
042071cda7f873c808a94c8aa8a5fbdcdaa9f36c 27-Apr-2010 Elliott Hughes <enh@google.com> Optimize idiv-int/lit for powers of 2.

before:

DivideIntByConstant10 32 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
DivideIntByConstant100 32 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
DivideIntByConstant100_HandOptimized 34 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DivideIntByConstant2 32 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
DivideIntByConstant2048 22 XXXXXXXXXXXXXXXXXXX|||||||
DivideIntByConstant8 20 XXXXXXXXXXXXXXXXX||||||||
DivideIntByVariable10 21 XXXXXXXXXXXXXXXXXX|||||||
DivideIntByVariable2 21 XXXXXXXXXXXXXXXXXX|||||||

after:

benchmark ns logarithmic runtime
DivideIntByConstant10 32 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DivideIntByConstant100 32 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DivideIntByConstant100_HandOptimized 33 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DivideIntByConstant2 11 XXXXXXXXX|||||||||||
DivideIntByConstant2048 13 XXXXXXXXXXX|||||||||||
DivideIntByConstant8 13 XXXXXXXXXXX|||||||||||
DivideIntByVariable10 21 XXXXXXXXXXXXXXXXXXX|||||||
DivideIntByVariable2 22 XXXXXXXXXXXXXXXXXXXX||||||

Bug: 2614702
Change-Id: I9dde73d80580446a362cdcc9b82959a4b6bfb384
dc02922eea2cc6fc1e742f9570b18c729c508715 26-Apr-2010 Elliott Hughes <enh@google.com> Merge "Fix =/== bug." into dalvik-dev
541c0949944c11873a34dc997946d29f611beeaa 26-Apr-2010 Elliott Hughes <enh@google.com> Fix =/== bug.

Change-Id: I42c1ede0289334b7837d468763fecc61fc4a8bea
8bf5db1784ea5b2a094ce1c899d88298b4a60fc2 26-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "More merging of nio into luni" into dalvik-dev
dba0f3ea9ced91ff58e982ca026b65973429288f 26-Apr-2010 Jesse Wilson <jessewilson@google.com> Removing vogar from Dalvik's git tree; the source is now on code.google.com.

http://code.google.com/p/vogar/
06dbab3c1652cf4420363b170054c2685a29561d 26-Apr-2010 Raphael <raphael@google.com> am b59dd513: am 5793d439: am 3e557951: am 42452494: Fix dexdump to build in Windows SDK under Linux

Merge commit 'b59dd51399f17f60c5e2c9909331887417b0778c' into dalvik-dev

* commit 'b59dd51399f17f60c5e2c9909331887417b0778c':
Fix dexdump to build in Windows SDK under Linux
148c3466f2239af5e8094d598439bcae9557b868 26-Apr-2010 Raphael <raphael@google.com> am 5793d439: am 3e557951: am 42452494: Fix dexdump to build in Windows SDK under Linux
162d51c958225ff5b364686d7641b2a42e988dbc 24-Apr-2010 Raphael <raphael@google.com> am 3e557951: am 42452494: Fix dexdump to build in Windows SDK under Linux

Merge commit '3e557951fa772390551d50c85ddd584e4370fb15' into kraken

* commit '3e557951fa772390551d50c85ddd584e4370fb15':
Fix dexdump to build in Windows SDK under Linux
65108e96dc5ac0797f61a3b62e5a542df313790d 24-Apr-2010 Raphael <raphael@google.com> am 42452494: Fix dexdump to build in Windows SDK under Linux

Merge commit '4245249472f7172de80874190559f6d2ef9c3803' into froyo-plus-aosp

* commit '4245249472f7172de80874190559f6d2ef9c3803':
Fix dexdump to build in Windows SDK under Linux
8213994dc538bee214f87e6565312f5ec9942a4d 24-Apr-2010 Elliott Hughes <enh@google.com> Merge "Dead code/cruft removal in the collation code." into dalvik-dev
cfa269a46062ff787b9dd785b66d11bdf1b4850b 24-Apr-2010 Elliott Hughes <enh@google.com> Dead code/cruft removal in the collation code.

I've also renamed ScopedUtfChars::data to ScopedUtfChars::c_str, by analogy
with std::string (since this method has always been more like c_str than data).

This also fixes a few leaks on error paths.

The old code used to go all the way into native code to return a constant hash
code of 1, so I've removed all that and switched to the idiomatic bogo hash
code (with the idiomatic comment).

Change-Id: I25da8c422155860b5ab348786d369c6c7598135c
881e2b7f4a42f41d19168ec10c7ae79086dad1cb 23-Apr-2010 Peter Hallam <peterhal@google.com> More merging of nio into luni

Change-Id: Ib4356b3cd57490df8ff246ea6a4bc1c269ba848b
30492a54be6eff8877fe21be7158e50587a7b85c 14-Apr-2010 Raphael <raphael@google.com> Fix dexdump to build in Windows SDK under Linux

(Merged from master Change I0e57c81d)
64702aca055517835b1bd7ca47b953a549e6e80a 23-Apr-2010 Andy McFadden <fadden@android.com> am 29af77bf: am ca88104b: am 770379e1: am 6efd4463: Fix a deadlock in the breakpoint code.

Merge commit '29af77bfa00ac560680dea99cf0893fccc257176' into dalvik-dev

* commit '29af77bfa00ac560680dea99cf0893fccc257176':
Fix a deadlock in the breakpoint code.
d81c74a6fcece3ecdbdacbf144c19ea0044026bb 23-Apr-2010 Andy McFadden <fadden@android.com> am ca88104b: am 770379e1: am 6efd4463: Fix a deadlock in the breakpoint code.
5cb9a7d1c39bb11725775907569cf0b6a2d96481 23-Apr-2010 Andy McFadden <fadden@android.com> am 770379e1: am 6efd4463: Fix a deadlock in the breakpoint code.

Merge commit '770379e17e694ec6e08f1edb690a5e33ab81c684' into kraken

* commit '770379e17e694ec6e08f1edb690a5e33ab81c684':
Fix a deadlock in the breakpoint code.
46ff028f76f43242ced61e3218f96ffeaf6cfca9 23-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Import the copying collector." into dalvik-dev
58917dfc288867bbb85992aaacb215d39708b2c8 16-Apr-2010 Carl Shapiro <cshapiro@google.com> Import the copying collector.

Change-Id: I48ef17afd9e5e8453e560a96d307f4f949d4ab5e
3b8128c398bfd15ef6154c48478f9934cacc346b 23-Apr-2010 Andy McFadden <fadden@android.com> am 6efd4463: Fix a deadlock in the breakpoint code.

Merge commit '6efd446399ba7a9bb68bf8ddb5a458072a1381b0' into froyo-plus-aosp

* commit '6efd446399ba7a9bb68bf8ddb5a458072a1381b0':
Fix a deadlock in the breakpoint code.
1c62e1ac80490a259d16550fe738bd095494faad 23-Apr-2010 Andy McFadden <fadden@android.com> Fix a deadlock in the breakpoint code.

In froyo we started using "hard" breakpoints, where we replace the
existing opcodes with breakpoint instructions. This requires some
coordination to avoid confusing the verifier. The previous approach
allowed the breakpoints to be inserted, and "undid" them while the
verifier ran; this worked, but caused us to be holding a lock for
an extended period.

The new approach just avoids altering the bytecode of unverified
classes, and then "flushes" the breakpoint set out between the time
when verification completes and class initialization starts. This
removes the possibility of blocking with the lock held, and makes
everything much simpler.

For bug 2615063.

(cherry-pick from dalvik-dev)

Change-Id: I75f19b0cc71fc0babb50ab299c6c5a865e06c919
d7c5ef8568fe53d09ababedc47284263e713e248 23-Apr-2010 Andy McFadden <fadden@android.com> Merge "Fix a deadlock in the breakpoint code." into dalvik-dev
94363ed0b1a9d78d1b07f89fd694b094abe46f68 23-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing some logging tests, see http://b/issue?id=2487338" into dalvik-dev
3aa5491e86a34d9117d233ea2abf0922eb2eb5ae 23-Apr-2010 Andy McFadden <fadden@android.com> Fix a deadlock in the breakpoint code.

In froyo we started using "hard" breakpoints, where we replace the
existing opcodes with breakpoint instructions. This requires some
coordination to avoid confusing the verifier. The previous approach
allowed the breakpoints to be inserted, and "undid" them while the
verifier ran; this worked, but caused us to be holding a lock for
an extended period.

The new approach just avoids altering the bytecode of unverified
classes, and then "flushes" the breakpoint set out between the time
when verification completes and class initialization starts. This
removes the possibility of blocking with the lock held, and makes
everything much simpler.

For bug 2615063.

Change-Id: I7f43e09a755fba27b335454659b3f04e8b2179ac
fcb9bc086cb0a2818d8040d5c64f6c4114f82e79 23-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing some logging tests, see http://b/issue?id=2487338
04294b2ed3b60e139a2ae1d788351a15362e09a9 23-Apr-2010 Jesse Wilson <jessewilson@google.com> Remove unnecessary IPv6 and IPv4 parsing from URI.

Cleanup URI and InetAddress exception localization.
c087ecf31dcbca16644b48e8053ea697f7da8268 23-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing java.lang.NullPointerException at java.net.URI$Helper.isValidDomainName" into dalvik-dev
23196c14f9f2c96a0fb4bf104c448569c625dfc6 22-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing java.lang.NullPointerException at java.net.URI$Helper.isValidDomainName

See http://b/issue?id=2604061
29d896e57b2a9b29abe298848ee15e84565b14ae 22-Apr-2010 Elliott Hughes <enh@google.com> Merge "java.text.RuleBasedCollator fixes." into dalvik-dev
5b7f7d7c58dad44b6bc5326d90a23c9347ab7074 22-Apr-2010 Elliott Hughes <enh@google.com> java.text.RuleBasedCollator fixes.

Add expectations for broken harmony tests, add our own equivalent (but correct)
tets, and fix the bug turned up by the correct tests: the icu4jni
RuleBasedCollator was using toString to convert a CharacterIterator to a
String, resulting in iteration over the result of Object.toString (the class
name and identity hash code) rather than the characters of interest.

Also shut javac up about non-ASCII characters in Locale.java.

Bug: 2608742
Bug: 2608750
Change-Id: I2171789058c8116eacd7e5815bd483f0bc07c69b
75ae3ecbcfeeaaaedcc864367a26ba3bc92397f2 22-Apr-2010 The Android Open Source Project <initial-contribution@android.com> am ed4035bc: am d2203aa0: am 1beb43af: merge from open-source master

Merge commit 'ed4035bca3233c7a40c4d5679c3f7dfea9516c7e' into dalvik-dev

* commit 'ed4035bca3233c7a40c4d5679c3f7dfea9516c7e':
Improve the implementation of countOnes function to use only 12 operations.
0da64a0cf10363dc0084f12c7da46dced4f2a6d9 22-Apr-2010 The Android Open Source Project <initial-contribution@android.com> am d2203aa0: am 1beb43af: merge from open-source master
9b002fa817698d2fcf43507a2ab1bb18fd719f48 22-Apr-2010 The Android Open Source Project <initial-contribution@android.com> am 1beb43af: merge from open-source master

Merge commit '1beb43af9350d47016c0e3ec55c1b2d4230cae7e' into kraken

* commit '1beb43af9350d47016c0e3ec55c1b2d4230cae7e':
Improve the implementation of countOnes function to use only 12 operations.
8033dcc13a6f4af05511e1d28ec8ebc3931e95b4 22-Apr-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: Ia08d4f55f5cdced2878777e0812c8cbbf26bb0d6
2238a937ad4669fede207c2899800efe589044ab 22-Apr-2010 Elliott Hughes <enh@google.com> Update to the latest upstream collator tests.

I've pulled out the not-obviously-insane stuff we added, though I don't
know how useful it is. This change is mainly about reverting our broken
changes to these tests.

Bug: 2608750
Bug: 2608742
Change-Id: Ia4d0a7b12bfc5dfc3fad4b72254918acf74b418d
aa7fbb52c16276e7cdd8919bf3b7b36a1842deb4 22-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Suppress all failures in setSecurityManager() with vogar." into dalvik-dev
cebe05f46932b05c286fbe610ab91eb55e77c80b 21-Apr-2010 Jesse Wilson <jessewilson@google.com> Suppress all failures in setSecurityManager() with vogar.
00a68cab44a504d3b30a9122cab3b3420f8b3156 21-Apr-2010 Elliott Hughes <enh@google.com> am 3825d34f: am d4b6f6aa: am 1dd42bb9: Fix NetworkInterface on sholes/ppp.

Merge commit '3825d34f9cd5057504ced60962638ffb54f14e38' into dalvik-dev

* commit '3825d34f9cd5057504ced60962638ffb54f14e38':
Fix NetworkInterface on sholes/ppp.
d6bbac117a62df7b84ca2b0b6ec716c42a5db8c5 21-Apr-2010 Elliott Hughes <enh@google.com> am d4b6f6aa: am 1dd42bb9: Fix NetworkInterface on sholes/ppp.
261de053df8c9b8c46e87459a603241684cff7e8 21-Apr-2010 Elliott Hughes <enh@google.com> am 1dd42bb9: Fix NetworkInterface on sholes/ppp.

Merge commit '1dd42bb9da388c55191449b848f9d82dc4673229' into kraken

* commit '1dd42bb9da388c55191449b848f9d82dc4673229':
Fix NetworkInterface on sholes/ppp.
35a185a078e1bcecd9402d063b189fe4c5eaa19b 21-Apr-2010 Elliott Hughes <enh@google.com> Merge "Fix Locale.getDisplayName for unlocalizable languages/countries/variants." into dalvik-dev
127d55c7b53dff97240281350cee4819154c8cd1 21-Apr-2010 Elliott Hughes <enh@google.com> Fix NetworkInterface on sholes/ppp.

We need to use IFA_LOCAL to get the interface addresses; IFA_ADDRESS is the
remote address (which is usually the same as IFA_LOCAL, but not in the ppp
case).

Tested on sholes, where it fixes the test used in the bug; also tested on
passion, where it doesn't break the already-working test.

Bug: 2575983
Change-Id: Ib334a002dc099daeeb05cbc341fe233d4d11d2f7
f6959f61a8bb842909e9c93c687d4151d6da6b58 21-Apr-2010 Andy McFadden <fadden@android.com> Merge "Add some .odex info to dexdump output." into dalvik-dev
666db13b5f4ec3b5830293fc340ef208563f665f 21-Apr-2010 Elliott Hughes <enh@google.com> Fix Locale.getDisplayName for unlocalizable languages/countries/variants.

This does not address the interpretation of script identifiers, but does bring us
in line with the RI's behavior. That's why the test doesn't use the example from
the bug.

Bug: 2611311
Change-Id: I54af89aaf418cd520dc6ebdb1e27dc1ac373f70f
376116d53af0f7c3000141772f06d6a6ee4bd051 21-Apr-2010 Jesse Wilson <jessewilson@google.com> Rewrite the HTTP connection pool used by HttpURLConnection.

This started off as incremental changes, but it ended up going
far enough that it earned the "rewrite" badge.

System.getProperty() is not called for every HTTP connection.
This is slightly controversial, but the old code had to bend
over backwards to support dynamic pool changes, and it didn't
even support the case when the pool shrank but not to 0.

The new code doesn't do I/O within static synchronized blocks.
This should reduce contention described here: http://b/issue?id=2606547

Also: simpify implementation, prettier names, more focused doc.
a179edb6e1d0d535d3d6253e042758eabd23c311 21-Apr-2010 Carl Shapiro <cshapiro@google.com> am 0691c470: am 6f7ec8e6: am 28f4d74b: Merge "Remove dangerous logging code from unlockMonitor. It is unsafe to dereference a potentially corrupt lock word to retrieve additional information about the lock state. This code was added to debug a transient error and ha

Merge commit '0691c4701cf8cd32db1bc034dc5f544a807aeb3d' into dalvik-dev

* commit '0691c4701cf8cd32db1bc034dc5f544a807aeb3d':
Remove dangerous logging code from unlockMonitor. It is unsafe to
49b5b1720d7f291dded8ce9ccad73bba5803664f 21-Apr-2010 Guang Zhu <guangzhu@google.com> am 7e3d5fcd: Merge "include emma into core library on conditional flag"

Merge commit '7e3d5fcddef15bf2dff71c2fe5ee794536819973' into dalvik-dev

* commit '7e3d5fcddef15bf2dff71c2fe5ee794536819973':
include emma into core library on conditional flag
39de1b28344fdea4602b5fa1868c4a319c7ea78b 21-Apr-2010 Huahui Wu <hwu@google.com> am 91be9e67: am 9cfe27bd: am 8068ea8d: Update the ssl test so the client reads something from the server. This is needed when cut-through feature is needed as in b/2586347. Dr. No approved in http://b/issue?id=2511073 .

Merge commit '91be9e671d7db5444aa8fa5f0101867ba8a73075' into dalvik-dev

* commit '91be9e671d7db5444aa8fa5f0101867ba8a73075':
Update the ssl test so the client reads something from the server.
8afd18a7d04a3c8c6d427e1a34fddf204e9621f6 20-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing TimeZone.setDefault() documentation.

Set expectations for date formatting to tolerate "GMT-07" in the
output. The alternative is to emit an ambigous date string.
Applications that want pretty date formatting should use the
proper facilities: SimpleDateFormat, etc.

This problem was detected by org.apache.harmony.luni.tests.java.util.DateTest.test_toString
8efdc86bcbf696bd1982dc3aba61c85f0b4a1ff3 21-Apr-2010 Carl Shapiro <cshapiro@google.com> am 6f7ec8e6: am 28f4d74b: Merge "Remove dangerous logging code from unlockMonitor. It is unsafe to dereference a potentially corrupt lock word to retrieve additional information about the lock state. This code was added to debug a transient error and has since been
3c975dadeed14c79a7dfde0224e0fa7c1a10e9f4 21-Apr-2010 Carl Shapiro <cshapiro@google.com> am 28f4d74b: Merge "Remove dangerous logging code from unlockMonitor. It is unsafe to dereference a potentially corrupt lock word to retrieve additional information about the lock state. This code was added to debug a transient error and has since been removed from

Merge commit '28f4d74b59e9e40278c4f1fe797d8c75f51b5326' into kraken

* commit '28f4d74b59e9e40278c4f1fe797d8c75f51b5326':
Remove dangerous logging code from unlockMonitor. It is unsafe to
afe92b4549f32c81a5f2073f691f86e0126f0b30 21-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Remove dangerous logging code from unlockMonitor. It is unsafe to dereference a potentially corrupt lock word to retrieve additional information about the lock state. This code was added to debug a transient error and has since been removed from other branches." into froyo
25d3f3688b3ba506994542c09a867977847b1854 21-Apr-2010 Carl Shapiro <cshapiro@google.com> resolved conflicts for merge of ee25fc06 to dalvik-dev

Change-Id: Ib8c3c62b3b791a8087d7e6298006a6221726cf78
1823418f2f0a82eb7d262c6ea6d3be5f6b3c0b1b 21-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing reset() on SAXParser and DocumentBuilder, and cleaning up nearby tests." into dalvik-dev
b16a2c04c90f482b4f0b34bf35b51c0992ca910e 20-Apr-2010 Andy McFadden <fadden@android.com> Add some .odex info to dexdump output.

"dexdump -f" will now show the contents of the optimized DEX header if
one is present. A "table of contents" for the auxillary data is also
displayed.

As an added bonus, stop being lazy and sanitize the DEX magic before
printing it (it has an embedded newline and \0).

Change-Id: If9c5278785062cd0f44fc3d3ea0725ef0009932a
cd4f0ec129969c6fb8418c58966969a4538420c1 20-Apr-2010 Guang Zhu <guangzhu@google.com> Merge "include emma into core library on conditional flag"
f5062b3725fa38a81c6080ca71d494f7ecd9eb2c 20-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing reset() on SAXParser and DocumentBuilder, and cleaning up nearby tests.

Also fixing vogar to support a directory of test expectations, so we
can group them by file rather than colocating failures we want to fix
with those that we don't.
4f9ffe65796c2685b67a6d96702307b129171ad5 20-Apr-2010 Elliott Hughes <enh@google.com> Merge "Fix a BigInteger(String) bug I introduced yesterday." into dalvik-dev
0ee850fed843fcce8f487eece1ed40c86a9675c4 20-Apr-2010 Andy McFadden <fadden@android.com> Merge "Make plain "-Xint" work." into dalvik-dev
09f7e52bdd6658ddd77c121c206a693dabe38176 20-Apr-2010 Elliott Hughes <enh@google.com> Fix a BigInteger(String) bug I introduced yesterday.

I broke parsing of integers in bases greater than 10.

Change-Id: I94c4a75c613a1cd8105b7477e68275a81d04d01b
0c90203b755d561ff54f025c9fa63d1365ee17b9 20-Apr-2010 Andy McFadden <fadden@android.com> Make plain "-Xint" work.

Change-Id: I7a09a886df9722b60a861969f3e1a1a45988068a
2045dc871cc015cf8a5637bff0bba5d68ace1a85 18-Apr-2010 Cosmin Cojocar <cosmin.cojocar@gmail.com> Improve the implementation of countOnes function to use only 12 operations.

Change-Id: I01b62606a0c87b2937572f8cb7beafc956867353
d54f53fb6f335399a9db1a9649fcdf721b38a8b7 20-Apr-2010 Huahui Wu <hwu@google.com> am 9cfe27bd: am 8068ea8d: Update the ssl test so the client reads something from the server. This is needed when cut-through feature is needed as in b/2586347. Dr. No approved in http://b/issue?id=2511073 .
e54ae949ad5e21f442f70cae3908bdc47aa8bf8a 20-Apr-2010 Huahui Wu <hwu@google.com> am 8068ea8d: Update the ssl test so the client reads something from the server. This is needed when cut-through feature is needed as in b/2586347. Dr. No approved in http://b/issue?id=2511073 .

Merge commit '8068ea8daa37ac1e4d55c2ebd15bf9dda3d7891e' into kraken

* commit '8068ea8daa37ac1e4d55c2ebd15bf9dda3d7891e':
Update the ssl test so the client reads something from the server.
0a3b03356e9725332bfac1c1cdf47155210655e2 20-Apr-2010 Huahui Wu <hwu@google.com> Update the ssl test so the client reads something from the server.
This is needed when cut-through feature is needed as in b/2586347.
Dr. No approved in http://b/issue?id=2511073 .

Change-Id: Id84724873522fe0435dbda342616da02783f7d6b
cfadcea612d15d62b58bfc49fd9bcf31de3a7391 20-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "Merge commit 'a0a3ad10' into manualmerge" into dalvik-dev
1614aec4a94b0e5912df8997796ed8be06f7b9c1 20-Apr-2010 Carl Shapiro <cshapiro@google.com> Remove dangerous logging code from unlockMonitor. It is unsafe to
dereference a potentially corrupt lock word to retrieve additional
information about the lock state. This code was added to debug a
transient error and has since been removed from other branches.

Change-Id: I5aabae531c52532929e8dbb71bdcc6cb7cee64f9
8af5d899cb23c7653c3f5182a963bbd6b5259c04 20-Apr-2010 Carl Shapiro <cshapiro@google.com> am 831eec93: am b8fcf57f: Fix remaining small issues with the lock sampling.
da4cc0bc8b4e0dec484e7928493623312ff9083e 20-Apr-2010 Carl Shapiro <cshapiro@google.com> am b8fcf57f: Fix remaining small issues with the lock sampling.

Merge commit 'b8fcf57f13b4d37950cfbd72a6af401941d7bdd8' into kraken

* commit 'b8fcf57f13b4d37950cfbd72a6af401941d7bdd8':
Fix remaining small issues with the lock sampling.
e615afef52c4a51a8edddff42149b922b8773b01 20-Apr-2010 Carl Shapiro <cshapiro@google.com> Since we no longer make use of formatted I/O in the unlock monitor
exception case, revert to using dvmThrowException which does not treat
the description string as an output format.

Change-Id: Ice1dc04cb6d1e887af718022cc0b03c6d90f9a19
a2c359be4dacac44c9a19c362d81a3b262b27948 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Fix remaining small issues with the lock sampling.

* Eliminate the now unused lockprofsample flag. The sample percentage
has been a function of the wait time an threshold since the previous
change.

* Eliminate some trailing whitespace that creeped into the previous
change.

* Eliminate the trailing newline from the event buffer. Because the
buffer pointer was not incremented this character was not seen in
the event log anyway.

* Document the lockProfThreshold global.

Change-Id: Ia1c1fcf862d76f5631601e05e7941e5171fab097
48ae336b8d78d56037195b1e4a6ade63a08f3429 20-Apr-2010 Brian Carlstrom <bdc@google.com> Merge commit 'a0a3ad10' into manualmerge

Conflicts:
libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I23508e348c5de4103e9dda619ca230d0575f57ca
97ba1a265614be1f18eabece76dc4aa8c391f040 20-Apr-2010 Carl Shapiro <cshapiro@google.com> am 5005a521: am 612fa566: am af69cf8d: Fix several issues with the lock sampling code. This change obsoletes the lockProfSample flag.

Merge commit '5005a5210b941d18b7742469ba622b1c8a754b1e' into dalvik-dev

* commit '5005a5210b941d18b7742469ba622b1c8a754b1e':
Fix several issues with the lock sampling code. This change obsoletes
77a339beb68399ffefdf29683933692b51b9ee08 20-Apr-2010 Carl Shapiro <cshapiro@google.com> am bd4eaf95: am 54c9323e: am 6b4ba58e: Add a mechanism to long a sample of long running lock acquisitions.

Merge commit 'bd4eaf959e21f3e048366141896ce262f22e0e2c' into dalvik-dev

* commit 'bd4eaf959e21f3e048366141896ce262f22e0e2c':
Add a mechanism to long a sample of long running lock acquisitions.
3c20441efb65bde9957399f3b53d450851602bcc 20-Apr-2010 Jesse Wilson <jessewilson@google.com> am a731357c: (-s ours) am a8984fe8: (-s ours) am ddc0d4c2: (-s ours) DO NOT MERGE. Suppressing tests that fail in CTS\' test runner.

Merge commit 'a731357c0cadaca3863f6fd0de1b8ffb39464220' into dalvik-dev

* commit 'a731357c0cadaca3863f6fd0de1b8ffb39464220':
DO NOT MERGE. Suppressing tests that fail in CTS' test runner.
275829f1192ef628e19cb429a2561a1d297982d1 20-Apr-2010 Elliott Hughes <enh@google.com> Fix U_FILE_ACCESS_ERROR RuntimeException in String.getBytes("GB18030").

Bug: 2606807
Change-Id: Ie639ce6380e42e0eed2a7e360504f86a22f1fed8
643b0147cbc8f6226e3d9f3964eb8f7f1cb85fa0 19-Apr-2010 Elliott Hughes <enh@google.com> Fix several BigInteger failures.

From Java 7 on, BigInteger also accepts a leading "+" in its string
constructors.

BigInteger has always claimed to accept non-ASCII digits, but our
implementation never has.

BigInteger.isProbablePrime is defined to return true for certainty <= 0,
but OpenSSL (on which we're based) takes the opposite stance.

Change-Id: I00bfc591a4d583460f71b7eec3de91bf6b03cd87
785e916a40ce6c137dc6d1817c79b14681c848c1 19-Apr-2010 Elliott Hughes <enh@google.com> Merge "Speed up %d for locales with non-ASCII digits." into dalvik-dev
c9716c928d85eb3e2b8cfbb6d903646afa4f5cdd 19-Apr-2010 Elliott Hughes <enh@google.com> Speed up %d for locales with non-ASCII digits.

The small "localizeDigits" part of this change is the big speedup. It takes
%d in the "ar" Locale from 5x more expensive than "en_US", to just a small
percentage more expensive.

The big part of this change: removing the useless Transformer and FloatUtils
classes touches many lines (mostly just changing the level of indentation),
and only has a small percentage effect on performance. The motivation for
this is actually primarily that it makes the code easier to read, and makes
it easier to share code.

Change-Id: I07e86a3ee448510d9ae36579a9af283349f777f1
28d9e6375e0f72caa011f5aab7fbbc03aa13e2fd 19-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "openssl-1.0.0 upgrade"
e52d53d1a7fa253b741faee4621da94eadbe4a97 19-Apr-2010 Jesse Wilson <jessewilson@google.com> Tidying up the error reporting.

We were spamming our logs with a bunch of redundant messages,
particularly surrounding timeouts. This should reduce the log
output to only the useful stuff when a test takes too long
to complete.

Also not blowing away the full XML report when a few tests
get lost along the way.
8538cc65cb5a284e822e92fa1b5b7da5a2e7423f 18-Apr-2010 Elliott Hughes <enh@google.com> Remove a dangling import, and another unused Messages.java.

Also tidy up our two awt.font classes.

Change-Id: I931d348eef7265190f76c31f74c9a5d9ec5d6597
675b5718621576b89c8e79ae72a68a9e5b9ac6d9 18-Apr-2010 Elliott Hughes <enh@google.com> Merge "Remove the nio Messages.java I missed, and the three now-unused imports." into dalvik-dev
85ee7c9c246c6e621806a4c12065fa71f60c8719 18-Apr-2010 Elliott Hughes <enh@google.com> Remove the nio Messages.java I missed, and the three now-unused imports.

I seem to be having trouble deleting files lately...

Change-Id: I019acd19aa61acdeeee1ab6f7fb8a063a41a5534
fe5ca39aead6ff4ab6ab864579022aa4bed3ec67 18-Apr-2010 Jesse Wilson <jessewilson@google.com> Small vogar changes in response to the review for change 49052.
9e8bbf5afcbbf9739738a06e81c91373750bc26b 17-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "Teaching vogar to run prebuilt .jar files." into dalvik-dev
7efcbe0997e860c57e46fafaf3ef17ae478172f6 17-Apr-2010 Elliott Hughes <enh@google.com> Merge "Remove "messages" from the logging, math, and nio_char modules." into dalvik-dev
63d5acea69b2fcc19db6b4aa9cc1c6e2992a9bfe 17-Apr-2010 Elliott Hughes <enh@google.com> Remove two dead files.

java_lang_Character.cpp has long been dead; I killed AndroidSystemNatives.h
this afternoon. I'm not sure how their "git rm"s didn't get included in my
earlier patch.

Change-Id: Iaa73935846a474dbd25792ed0176ccea092e9f7c
a2a988181a0809bb7299da63368c5d8b8fa1c6a3 17-Apr-2010 Elliott Hughes <enh@google.com> Remove "messages" from the logging, math, and nio_char modules.

Change-Id: Ib61b132ce17fdd37956889e855bda35956f8ae62
c79339c6ddfbcd6f5f3dd7f67be21e073f8c22f6 17-Apr-2010 Jesse Wilson <jessewilson@google.com> Teaching vogar to run prebuilt .jar files.

Also trying to simplify some internals. We always build to
intermediate .jar files now.

I've renamed TestFinder to RunnerSpec and fixed its users.
fa5a469ee45b537ee6d183153c806408b383b394 17-Apr-2010 Elliott Hughes <enh@google.com> Merge "Move the libcore registration out of libnativehelpers and into libcore." into dalvik-dev
ac896cc782f58440f0bca1c53ed2c49ed38b97d0 17-Apr-2010 Carl Shapiro <cshapiro@google.com> am 612fa566: am af69cf8d: Fix several issues with the lock sampling code. This change obsoletes the lockProfSample flag.
16dea52412b32bf31ddb8cb6b922a25bcc6f136d 17-Apr-2010 Carl Shapiro <cshapiro@google.com> am af69cf8d: Fix several issues with the lock sampling code. This change obsoletes the lockProfSample flag.

Merge commit 'af69cf8d062a42300852ddee6bcb9f189f5a1b83' into kraken

* commit 'af69cf8d062a42300852ddee6bcb9f189f5a1b83':
Fix several issues with the lock sampling code. This change obsoletes
1e3c68369a21b41a7445b1fd1982dcfbb681ed9a 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Refinements to array and class object size computation." into dalvik-dev
a92dc7f16c13d4c5263c20e06bbc7d946a242cd5 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Refinements to array and class object size computation.

* Rename dvmArrayObjectLength to dvmArrayObjectSize. In the context
of arrays length may refer to the length of the array data and not
the size of the array object instance.

* Add a new method dvmClassObjectSize which computes the total size of
a class object including its static fields.

Change-Id: I693ec8e66dfa5df35c9f35474c80411ea917c899
ad194398eb825397d4d1178fdb1387975eb4bcb1 17-Apr-2010 Elliott Hughes <enh@google.com> Move the libcore registration out of libnativehelpers and into libcore.

Bug: 754114
Change-Id: Iaa03def509c10cbaa12fd2128584b93d4be4a6b7
6070d796c676f85eba62f90b41a1e8acc66c5982 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Fix several issues with the lock sampling code. This change obsoletes
the lockProfSample flag.

Change-Id: Idb1846fc3db4ff73678a0dae46aabbb5dbb8b957
de108bb6b2f25b2b4ccce3aae30d2e3fa59b2fd6 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Remove an unused enum." into dalvik-dev
3c6a306981ea51fc5185ca30cf58b875ecc93d8a 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Remove an unused enum.

Change-Id: I792a5a6b890ac37b3e1fa1f3e4a6413b7621d115
6e594e14f27ed586b91ea4d6243d9bdcd34b2750 16-Apr-2010 Elliott Hughes <enh@google.com> Merge LocaleData and Resources, rename Resources to ICU.

Also move our ICU tests into our little tree of tests.

Bug: 2596471
Change-Id: I73b53d74c26ef9bf670f12cac58b51ba61eefead
a9ea8d52acbbc288bec33cc3cbd05227ed66fc2f 16-Apr-2010 Brian Carlstrom <bdc@google.com> merging FRF15 for dalvik-dev

Change-Id: Ic8c9dea280d38cba8e55f962f0d8df843aea8e35
f88b13c4bee8008865c1bf313a6c93524519a24c 16-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing TreeMap serialization issues." into dalvik-dev
de46977413449119253aaf50e1f1d01a02d20715 16-Apr-2010 Elliott Hughes <enh@google.com> Change DecimalFormatSymbols to have a field per symbol.

I'd been wanting to do this for some time, but cleaning up the recent
performance changes I made to Formatter was the final straw.

Change-Id: I6d516de66a0bed5e759bca590b4cc124ce2eb712
2b69641470739f34a4074c9650e6382f54c7930a 16-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing TreeMap serialization issues.

When I was testing this on the JDK I had my own TreeMap on
the classpath, which caused my tests to pass even when they
shouldn't have.

The new serialization data was generated by the JDK's
collections, both v5 and v6. The tests pass on both Dalvik
and the JDK.
b1125062ba65a71a8b36148c6a6f5439d2cd5bfc 16-Apr-2010 Carl Shapiro <cshapiro@google.com> am 54c9323e: am 6b4ba58e: Add a mechanism to long a sample of long running lock acquisitions.
5080b837eebeeafeae361b4d2b864e0ff2e36425 16-Apr-2010 Elliott Hughes <enh@google.com> Merge "java.util.Formatter: fix localization of numbers." into dalvik-dev
f8ff560cb606d0685e56c349502d76d0deb1eea3 15-Apr-2010 Elliott Hughes <enh@google.com> java.util.Formatter: fix localization of numbers.

Bug: 2301911
Change-Id: Ic594702a80bdef2e8fd97e52fd5fa301def19cac
5638d2c1753ff9eccf1be40c5d3f15ba5d0aadf4 15-Apr-2010 Brian Carlstrom <bdc@google.com> openssl-1.0.0 upgrade

external/openssl

Updated version to 1.0.0
openssl.version

Updated small records patch for 1.0.0. This is probably the most significant change.
patches/small_records.patch

Removed bad_version.patch since fix is included in 0.9.8n and beyond
patches/README
patches/bad_version.patch
openssl.config

Changed import_openssl.sh to generate armv4 asm with the 1.0.0
scripts, not our backported 0.9.9-dev backported version in
patches/arm-asm.patch.
import_openssl.sh
openssl.config
patches/README
patches/arm-asm.patch

Added -DOPENSSL_NO_STORE to match ./Configure output
Added -DOPENSSL_NO_WHIRLPOOL (no-whrlpool) to skip new optional cipher
android-config.mk
openssl.config

Fixed import to remove include directory during import like other
imported directories (apps, ssl, crypto)
import_openssl.sh

Updated UNNEEDED_SOURCES. Pruned Makefiles which we don't use.
openssl.config

Updated to build newly required files
patches/apps_Android.mk
patches/crypto_Android.mk

Disable some new openssl tools
patches/progs.patch

Automatically imported
android.testssl/
apps/
crypto/
e_os.h
e_os2.h
include/
ssl/

dalvik

Change makeCipherList to skip SSLv2 ciphers that 1.0.0 now returns
so there are not duplicate ciphersuite names in getEnabledCipherSuites.
libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Updated OpenSSLSocketImpl_cipherauthenticationmethod for new
SSL_CIPHER algorithms -> algorithm_auth (and const-ness)
libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Update to const SSL_CIPHER in OpenSSLSessionImpl_getCipherSuite (and cipherauthenticationmethod)
libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

test_EnabledCipherSuites on both SSLSocketTest and
SSLServerSocketTest caught the makeCipherList problem. However the
asserts where a bit out of sync and didn't give good messages
because they didn't actually show what was going on. As part of
debugging the issue they found, I tried to make align the asserts
and improve their output for the future.

libcore/x-net/src/test/java/tests/api/javax/net/ssl/SSLServerSocketTest.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/SSLSocketTest.java

vendor/google

Add const to X509V3_EXT_METHOD* for 1.0.0 compatibility
libraries/libjingle/talk/base/openssladapter.cc

Change-Id: I9e848c79772211d3956f8561ec526339b30e24a4
8ed7fba063587b6415b840ac5fa9f8999d6989e7 16-Apr-2010 Carl Shapiro <cshapiro@google.com> am 6b4ba58e: Add a mechanism to long a sample of long running lock acquisitions.

Merge commit '6b4ba58ec937bfacba626112c46ebd003efbed21' into kraken

* commit '6b4ba58ec937bfacba626112c46ebd003efbed21':
Add a mechanism to long a sample of long running lock acquisitions.
5306ac75e3cd714966c2c3c68444dfe643bdc57e 15-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "From scratch implementation of a Navigable TreeMap." into dalvik-dev
bc5631b62fbecf78119208acfe654f50a70359e0 15-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge commit 'da18d995' into manualmerge

Conflicts:
libcore/luni/src/test/java/tests/api/java/io/PipedInputStreamTest.java
f95382f8b1a1d90068d8cebb7fba793b5b88d383 15-Apr-2010 Raphael <raphael@google.com> am d9b87a91: Fix dexdump to build in Windows SDK under Linux

Merge commit 'd9b87a918dfe98793faa08cb59012f652b4b8561' into dalvik-dev

* commit 'd9b87a918dfe98793faa08cb59012f652b4b8561':
Fix dexdump to build in Windows SDK under Linux
85366e7e33c00c8b963d297d0cb8a14971c7a82e 06-Apr-2010 Jesse Wilson <jessewilson@google.com> From scratch implementation of a Navigable TreeMap.

Between Java 5 and Java 6, Harmony's implementation ballooned
from ~2400 lines to ~5900 lines. This implementation is a more
compact ~1700 lines.

This implementation and its views have been rigorously tested
using Google Collections' test framework in addition to the
tests of our own suite.
0437f890eb57531ed62b8353bc506367fa7a7e6c 15-Apr-2010 Jesse Wilson <jessewilson@google.com> am a8984fe8: (-s ours) am ddc0d4c2: (-s ours) DO NOT MERGE. Suppressing tests that fail in CTS\' test runner.
299b126a3e693ea1b04525f7239b111556dfdc83 15-Apr-2010 Jesse Wilson <jessewilson@google.com> am e09ba122: Fixing PipedInputStreamTest to fill the buffer before dying on a dead reader.
c3fc938a6cc97491896e6cb066401e51fc453cf5 10-Apr-2010 Carl Shapiro <cshapiro@google.com> Add a mechanism to long a sample of long running lock acquisitions.
c97bf91bb425adac7c20f8fd000dc6b5d635ca23 14-Apr-2010 Raphael <raphael@google.com> Fix dexdump to build in Windows SDK under Linux

Change-Id: I0e57c81dcfc53d7065d420129d75ac32cda040e2
7f26b429ea52a7d06e0318d94422a956ed498ab7 15-Apr-2010 Jesse Wilson <jessewilson@google.com> am ddc0d4c2: (-s ours) DO NOT MERGE. Suppressing tests that fail in CTS\' test runner.

Merge commit 'ddc0d4c2f8d3fea4ddaf6e611ffd73a1169447e8' into kraken

* commit 'ddc0d4c2f8d3fea4ddaf6e611ffd73a1169447e8':
DO NOT MERGE. Suppressing tests that fail in CTS' test runner.
1b4aa4af780e56bae4fc78a6c7bb72b68c7f4756 14-Apr-2010 Jesse Wilson <jessewilson@google.com> DO NOT MERGE. Suppressing tests that fail in CTS' test runner.

These tests have been verified to work successfully in run-core-tests.
We plan on unifying CTS and Dalvik's test running infrastructure in this
quarter so that we don't need such unfortunate hacks.

Test failures: http://b/issue?id=2564250
Fix test runner: http://b/issue?id=2215226

Change-Id: I3df2f4de10705dc470e397da2d0f014141573da1
9b3969350e85aa2d078a4febfcbfc688f6cea777 14-Apr-2010 Elliott Hughes <enh@google.com> Merge "Remove "Messages" from the nio, prefs, sql, text, and x-net modules." into dalvik-dev
e91061198b0f463f4237b3c940c551c33784df60 14-Apr-2010 Elliott Hughes <enh@google.com> Remove "Messages" from the nio, prefs, sql, text, and x-net modules.

Also remove an file of unused messages from luni, and inline one of luni's
other files. (There are plenty more.)

Also remove some German translations of bouncycastle messages (that are
actually in English anyway).

Change-Id: I9c565f6f2201a5d877eba5bf0af4ffad7b769984
4591d3ab8c38526799c7cb000f238e38c875b07c 14-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing PipedInputStreamTest to fill the buffer before dying on a dead reader.

Change-Id: Ie34a8bec7b2a34d2933225d6d4e04e0643dbcf99
ada1538ed33280abcd5a8d6acb988f1b6fe8c46c 14-Apr-2010 Carl Shapiro <cshapiro@google.com> Fix a typo and unbreak the build.

Change-Id: Ib05e4d7602f3614e9eb792bd29ff7288de574e84
c26c51dc081d0a3614783933b3e60fd63d6cb7eb 14-Apr-2010 Carl Shapiro <cshapiro@google.com> resolved conflicts for merge of f0c514ce to dalvik-dev

Change-Id: Ie9274ee7a4e767e197f53bd350c835fedbca3ae9
f5ae031523e23fdccd9f46a974c38646193f6619 14-Apr-2010 Elliott Hughes <enh@google.com> Use the same documentation in all the methods that take a format string.

Change-Id: I8e7d06df72a7b8db9edd17aa2748800329e837fa
fa06cf36245b7d0937aad740093e84cf2c372d84 14-Apr-2010 Elliott Hughes <enh@google.com> Remove "Messages" from the annotation module.

Change-Id: I6253fa192bb45fc06db99937aca30ee4dd0bb201
c5f14b000d2a0fe4659b98a6d4b1d2853898ed01 13-Apr-2010 Elliott Hughes <enh@google.com> Improve documentation about the user's default locale.

Add a bit of text to Locale's class documentation, and include a link from
every method that uses Locale.getDefault(). Also try to consistently say
"user's default locale", as a subliminal hint that this isn't necessarily
the developer's locale, nor en_US.

Bug: 2593000
Change-Id: Ieebe864ed6b9fecbfef5d5415269299739cedd1b
41ac46cf95d79cd8e53f083b68fe49e5f5a6de98 10-Apr-2010 Carl Shapiro <cshapiro@google.com> Add a mechanism to long a sample of long running lock acquisitions.

Change-Id: Ic91c5f213bcfd72c6f630ef5102da2c6c7cc8ce4
cc970f9cac40347a0d7b9cf3aa8b203550879b75 13-Apr-2010 Elliott Hughes <enh@google.com> Fix String.toLowerCase and toUpperCase.

Rather than try to cope with Lithuanian, let's just hand that one to ICU4C.
I've removed my hand-crafted Azeri/Turkish lowercasing too, in favor of ICU.
Presence of a high surrogate (which implies a supplemental character) is a
good reason to hand over to ICU too.

On the uppercasing side, I've kept our existing hard-coded table and just
added code to defer to ICU for Azeri, Lithuanian, and Turkish (plus
supplemental characters). I don't like the tables, but I don't have proof
that they're incorrect.

Bug: 2340628
Change-Id: I36b556b0444623a5aacc1afc58ebb4d84211d3dc
eecb5fff3d425c543dd17b102ae5d7a30970027f 12-Apr-2010 Elliott Hughes <enh@google.com> Fix supplementary character support.

Fixes all known bugs in our handling of supplementary characters. This change
introduces a performance regression on the assumption that it won't be released
without a corresponding JIT change to enable the code to be inlined back to
pretty much what it used to be.

Bug: 2587122
Change-Id: I3449c9718bbe32ebe53b6c10454ae1dc82105b59
a427184b0b4679188c7ab66e9b38c626daf0c900 12-Apr-2010 Elliott Hughes <enh@google.com> Merge "Throw the same exceptions as the RI from String methods." into dalvik-dev
5d87fa18df83b7624f338a9ebab81724a85a0570 11-Apr-2010 Brian Carlstrom <bdc@google.com> Merge commit '7dbf57f6' into manualmerge

Conflicts:
libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I7cf63f6a1ca7c7604301cb8bb947633ad704a2c0
cacaa33605924a7eca6124d7342746ae063132e8 10-Apr-2010 Elliott Hughes <enh@google.com> Throw the same exceptions as the RI from String methods.

String has its own StringIndexOutOfBoundsException subclass of
IndexOutOfBoundsException. We can run more tests if we behave
the same.

The RI only admits to IndexOutOfBoundsException, though,
so our documentation and throws clause shouldn't change.

Change-Id: Ib87777f8a42d4bcac21e8f8f00f4dcbc0ada4201
c666af393220c6c301291163ad2447e3af4a753c 10-Apr-2010 Brian Carlstrom <bdc@google.com> am 5fdfbeff: Fix SSL_shutdown error reporting to print a proper error instead of "Ok"
05813d11d8362222312aa49fd921c47ba3614e78 10-Apr-2010 Elliott Hughes <enh@google.com> Merge "Fix build by turning a comment into a doc comment. Clarify logic." into dalvik-dev
c092c429e7720109b118f00480167b31bf292e60 10-Apr-2010 Elliott Hughes <enh@google.com> Fix build by turning a comment into a doc comment. Clarify logic.

Now I see what jessewilson was trying to say earlier; rewrite the post-loop
code to say what I guess it was aiming at, which is avoiding an add followed
by a remove in the not completely uncommon case where limit == 0 and the
regular expression is a terminator rather than a true separator ('\n', say).
(Normally the regular expression is a true separator so there will be no
trailing empty string even though limit is 0: "a,b,c".split(","), for example.)

Also, String.isEmpty is our fasest way of recognizing the empty string;
certainly better than equals("").

Change-Id: I82f4ec49fa58efc178e342cf55d4dfbbdad01c75
04693b128df405538b1257b9ee8c990d070d2a51 10-Apr-2010 Elliott Hughes <enh@google.com> Merge "Make String.split 10x faster." into dalvik-dev
5166b92a6d062d5a3a0dc68a2107709cc460dbd1 10-Apr-2010 Brian Carlstrom <bdc@google.com> Fix SSL_shutdown error reporting to print a proper error instead of "Ok"

There are other problematic error reporting cases to be fixed later, but this one seems to be the frequently occuring.

Change-Id: Ia5910cffb60cc694066be03d43ac1bb7eab47357
96b39425c7aabc2eb8676348f87d1fc1d215b5e8 10-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Latest java.util.concurrent from the JSR 166 project." into dalvik-dev
efa0bec6f937f8da6fda64bcfe00724a9e066ea5 10-Apr-2010 Elliott Hughes <enh@google.com> Make String.split 10x faster.

Almost all uses of String.split in the Android codebase use trivial single
literal character separators. This patch optimizes that case to avoid the
use of regular expressions entirely.

The 10x speedup isn't the whole story, because the speedup is really
proportional to the number of separators in the input. 10x is easily
achievable, but the speedup could be arbitrarily high.

Before:

benchmark us logarithmic runtime
PatternSplitComma 84.8 XXXXXXXXXXXXXX||||||||||||||
PatternSplitLiteralDot 85.0 XXXXXXXXXXXXXX||||||||||||||
StringSplitComma 166.3 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
StringSplitHard 173.6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
StringSplitLiteralDot 167.7 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|

After:

benchmark us logarithmic runtime
PatternSplitComma 18.9 XXX|||||||||||||||||||||
PatternSplitLiteralDot 19.0 XXX|||||||||||||||||||||
StringSplitComma 18.8 XXX|||||||||||||||||||||
StringSplitHard 174.2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
StringSplitLiteralDot 18.8 XXX|||||||||||||||||||||

(The benchmarks starting "Pattern" use a precompiled Pattern for performance.
Those starting "String" use String.split and would traditional entail a
temporary Pattern. As you can see, creating Patterns is very expensive for
us, and each one throws a finalizer spanner in the GC works too. The new
fast path avoids all this. I'll commit the benchmark -- along with all the
others I've ever used -- to http://code.google.com/p/dalvik this afternoon.)

Tests? We actually pass _more_ tests after this patch, because the increase
in performance means we don't hit timeouts.

Change-Id: I404298e21a78d72cf5ce6ea675844bf251e3825b
27bf037fb8cfed513bed73ffa788948f633edd2f 09-Apr-2010 Brian Carlstrom <bdc@google.com> Disable our new javax.net.ssl tests until hangs are resolved

While the hangs all seem to happen during handshaking, there is more
than one root cause. Until I have things working reliably, disabling
the tests to avoid fouling up the continuous build.

Change-Id: Ia57cac2e49284a1050a72d9ea77813307eff5ea8
e58d5e0cb9e3d6027d54e5341261cdf9427d1d98 08-Apr-2010 Jesse Wilson <jessewilson@google.com> Latest java.util.concurrent from the JSR 166 project.

Code was downloaded from CVS on 2010-april-7 at 10:00pst
http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java/util/concurrent/

The new interfaces and ArrayDeque class are all from Harmony.
9a7937402985711bdb878b9e5c553ee4b3fbe104 09-Apr-2010 Elliott Hughes <enh@google.com> Merge "An InlineNative for String.isEmpty, so it's not slower than length() == 0." into dalvik-dev
37855cd717a5a11882078183460e2341ef9c2837 09-Apr-2010 Andy McFadden <fadden@android.com> Merge "Move the furniture around some more." into dalvik-dev
54b470cb7ba6b59928a61e9ad2b2567b25eb9b22 08-Apr-2010 Andy McFadden <fadden@android.com> Move the furniture around some more.

Mostly just moving things around, with minor changes to behavior.

- Instead of walking through all classes twice (once for verification,
once for optimization), we now walk through them once and do both
operations on a given class before moving on to the next.
- If verification and optimization were disabled, the VM used a special
"no fork + exec" path. It adds complexity for little benefit, so
it's gone.
- Reduced the amount of stuff being passed as arguments through multiple
layers of functions. Notably, a pointer to a read-only lookup table
is now accessed via a global.
- The PROFILE_FIELD_ACCESS define now just blocks the quickening of
field accesses instead of blocking all optimizations. (Not sure this
is worth keeping around.)

Change-Id: I7f7c658e3b682c7251cdf17cae58d79bd04ba2a0
c73dd11afd4ec429e563580d1c03628d57842b57 06-Apr-2010 Elliott Hughes <enh@google.com> An InlineNative for String.isEmpty, so it's not slower than length() == 0.

Before:

benchmark ns logarithmic runtime
IsEmpty 115 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LengthEqualsZero 21 XXXXX||||||||||||||

With C intrinsic:

IsEmpty 30 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LengthEqualsZero 20 XXXXXXXXXXXXXXXXXXXX||||||

With assembler intrinsic:

IsEmpty 15 XXXXXXXXXXXXXXXXXXXX||||||
LengthEqualsZero 21 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

(All times on passion.)

Change-Id: Ifcc37fe7b8efdd377675a448e0085e490d6767bc
0ad302f487b18e72e2c17da8369fd2eb0aebf30d 08-Apr-2010 Elliott Hughes <enh@google.com> Merge "resolved conflicts for merge of 19252faf to dalvik-dev" into dalvik-dev
2cbe9a54c8fc2bec511d288c02d9b8cefb3876f0 08-Apr-2010 Elliott Hughes <enh@google.com> Merge "Show a summary of failures at the end of a vogar run." into dalvik-dev
bdc91f9311fe040372443f4e81967375b65355ad 08-Apr-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of 19252faf to dalvik-dev

Change-Id: Ibf429f9d9d048c01cb8f33b15e8b404d83138b74
8a69cae40e35d4c3b303f9515200dd59fb57ecf0 08-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "Fixing javax.net.ssl test failures on RI" into dalvik-dev
9fd3258c0f2386eb50a01048077d8f9feccc66ab 08-Apr-2010 Elliott Hughes <enh@google.com> Show a summary of failures at the end of a vogar run.

Super-useful when running a large batch of jtreg tests, and also useful
for comparing against an earlier run (though hopefully we'll have a better
solution for that eventually).

Change-Id: I144f72ea1ae5240393b0b33193d7773537b7ee20
718a6b9856688af7335425de2601d02a9a0ebb27 08-Apr-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's new java.util.zip API." into dalvik-dev
bfe1b77b2e7a8cd378d00795afa248d0bd9ed21b 08-Apr-2010 Brian Carlstrom <bdc@google.com> Fixing javax.net.ssl test failures on RI

vogar wasn't working at checkin on the host so I couldn't easily
retest these changes that came from the code review. Sure enought
there were some problems.

SSLSocketTest now uses a condition variable to synchronize between
the HandshakeCompletedListener and the main thread since the RI
does the callback asynchronously.

Back to ussing Arrays.equals for comparing Session ID byte[] since
Object.equals does not work.

Change-Id: I667b60dc065438efe4e3728d7a44b446ebc15e64
b921c7b43cdc698d4f0337a6d6a3b01916e380aa 08-Apr-2010 Elliott Hughes <enh@google.com> Add Java 6's new java.util.zip API.

This passes all but four of the harmony tests. The others fail because our
Deflater works differently to theirs; we already fail the corresponding
Deflater test.

The only jtreg test for ZipError neither passes nor fails: it appears that
this can only be thrown on Windows.

Bug: 2497395
Change-Id: I79687495da42507dda692c890ec939bdbc9be2b3
eef65972cf7d09a15f26b7b278b5b88e802c5c53 08-Apr-2010 Elliott Hughes <enh@google.com> Disable System.setSecurityManager.

We plan on removing SecurityManager checks, which are expensive and non-useful,
especially because Android doesn't use SecurityManager itself. As a first step,
let's ship a release where it's no longer possible to set a SecurityManager.

Bug: 1320501
Change-Id: I88664dbc1d8b087579d54003a1aaed7b3d8412be
fdf6c407cb6935b932cf299b0479a6e1262602e9 08-Apr-2010 Jesse Wilson <jessewilson@google.com> am 214e2855: am 5dde0c4d: Merge "Adding support for hash \'#\' comments to our JSON parser." into froyo

Merge commit '214e285536e18e762c3207fecf97dacdd22e472e' into dalvik-dev

* commit '214e285536e18e762c3207fecf97dacdd22e472e':
Adding support for hash '#' comments to our JSON parser.
0be86b0c522bd72985d4684213369992b299442b 08-Apr-2010 Andy McFadden <fadden@android.com> am abfb34bc: am c7b7edf7: Merge "Trivial doc change: froyo is 2.2." into froyo

Merge commit 'abfb34bcda2e2320121850a9cb5b10e8f10e9833' into dalvik-dev

* commit 'abfb34bcda2e2320121850a9cb5b10e8f10e9833':
Trivial doc change: froyo is 2.2.
cd507dd22ca0919fdff15f4404cba87c1689103b 06-Apr-2010 Andy McFadden <fadden@android.com> Trivial doc change: froyo is 2.2.

Change-Id: Icce3770dd318ec8853d5120c13a85656ed1171ea
794eceb6af1c4bdc633c7c69324d4b5b402e42d2 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing a vogar issue where outcomes weren't making their way into XML." into dalvik-dev
f9ee6cf26650d9959837e82e466725093a66cc77 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Bring the latest Caliper (r102) into vogar." into dalvik-dev
91740df030f1c8ee1e788e54c5481155f9de5ae2 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Bring the latest Caliper (r102) into vogar.
8fc83c9f0ca4315357294361fb130b57cb315af0 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing a vogar issue where outcomes weren't making their way into XML.
4bc92a103884226f79fb7919290028c35e7fb191 07-Apr-2010 Andy McFadden <fadden@android.com> Merge "Correct long-standing thread status change bug." into dalvik-dev
816720acbffbe0c1a895347442f2a2cf5438e592 07-Apr-2010 Andy McFadden <fadden@android.com> Merge "Rearrange some things." into dalvik-dev
ebfcdca7cc48401c5740844f920476b2fe77e09c 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding support for command line args to vogar-initiated processes." into dalvik-dev
c7fa3bb4241b4046270733c0d5f669614725745c 07-Apr-2010 Elliott Hughes <enh@google.com> Fix build by adding missing imports.

Change-Id: I433778b02d3ad67090ee88444700f79b3138d778
4aebde4eb4feb51dd985271105a091c14ff56d70 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Adding support for command line args to vogar-initiated processes.

Also adding monitor timeouts for use by the continuous build.
From the huge number of files in this relatively simple CL, it's
becoming clear that we need to simplify vogar's internals!
17c8b64c36be886c8dc6ffefcfa2698571044cef 07-Apr-2010 Elliott Hughes <enh@google.com> Merge "Actually use ServiceLoader in places where we had a hard-coded equivalent." into dalvik-dev
ba49122ecba279afa264a6fa40a731c424f5e0f4 07-Apr-2010 Jesse Wilson <jessewilson@google.com> am 5dde0c4d: Merge "Adding support for hash \'#\' comments to our JSON parser." into froyo
786af88bd5dd21136ba5ba6d7809fd6de31b1d23 24-Mar-2010 Andy McFadden <fadden@android.com> Rearrange some things.

This splits DexOptimize into DexPrepare (which deals with file shuffling
and fork/exec) and Optimize (which does the actual quickening of
instructions). The Optimize functions are now effectively private to
the "analysis" directory.

Twiddled some comments.

No substantive code changes.

Change-Id: Ia51865b259fb32822132e2373997866e360ca86a
7221b8cbf402b161baa4f5ebbdaee1480e03d413 07-Apr-2010 Elliott Hughes <enh@google.com> Actually use ServiceLoader in places where we had a hard-coded equivalent.

I've also removed a file that was causing us to use this code unnecessarily
at run-time to explicitly specify the built-in default PreferencesFactory.

I haven't touched Charset, but should come back and fix that too at some
point.

Change-Id: I3a2145041d048078bdb55ae7b8fa4ec9d8726922
363e51b09f8fa6791f58d983481364132ddff839 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding support for hash '#' comments to our JSON parser." into froyo
a2ac895f9fc6bc099c438ba6c706f18b2c0cc720 07-Apr-2010 Carl Shapiro <cshapiro@google.com> Clean-up the monitor unlock routine. Remove the comment adjacent to
the mon NULL check. As we know, that condition can occur if there was
a mishandling of the lock word. Also, remove the format statement
that attempted to print out the monitor state. In non-assert builds
this may cause a SIGSEGV as the monitor pointer may be invalid.

Change-Id: Ic4eb2d4180ac51b606a728ec7cd781af46f7b47e
526699d85a3b2690da10f10e17526087500fdfd1 06-Apr-2010 Jesse Wilson <jessewilson@google.com> Adding support for hash '#' comments to our JSON parser.

Neither the JSON RFC nor the documentation of Crockford's
implementation mention these comments, but somehow the
old parser used to support these. And so we shall also.

See bug 2571423.

Change-Id: I77d64c5ec53278d8df5fe1873404f1241320504b
bf10a8b3846aacf7447f6c8bcb8aa9128af576d2 06-Apr-2010 Andy McFadden <fadden@android.com> am c7b7edf7: Merge "Trivial doc change: froyo is 2.2." into froyo
95e3cc8f39b4ab7ccf85bb11f5017e6ec512e3bf 06-Apr-2010 Andy McFadden <fadden@android.com> Merge "Trivial doc change: froyo is 2.2." into froyo
0e60a01059294e96ab6fc84228dc8083bebc9c8a 06-Apr-2010 Andy McFadden <fadden@android.com> Correct long-standing thread status change bug.

If the stars aligned correctly (or you were running valgrind), it was
possible for a thread to change its status to RUNNING immediately after
having its suspend count incremented. The problem is that the thread
initiating the suspension regards the target thread as being in (say)
VMWAIT with sCount=1, which means its safe to kick off a GC. The target
thread thinks it's happily in RUNNING and can go do whatever it wants.

The fix is to move the status change so that it's guarded by the
suspension count mutex.

This shouldn't affect performance. The number of instructions executed
is about the same.

Also, the "self can be NULL" feature of dvmCheckSuspendPending had very
few customers, so we now skip that check and just require it to be set.

For bug 2309331.

Change-Id: Id512e16e321515a467c20b382c85017cef9cea4d
a43e9f84c9c7e59f80782e404bba0cef1626f9eb 06-Apr-2010 Andy McFadden <fadden@android.com> Trivial doc change: froyo is 2.2.

Change-Id: Icce3770dd318ec8853d5120c13a85656ed1171ea
a871b2e4c4595398b77d643abcbbfeee39c84fa2 06-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "Rewrite JSSE code to use one openssl SSL per SSLSocket an one SSL_CTX per SSLSessionContext" into dalvik-dev
f7b8222b35436e8e45c9decca274400da46e30d0 06-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Minor code clean-up. Fix a placeholder comment that I left in the code. Change a comment that was added at my request to be less verbose. At the same time, repurpose an unused variable to hold the field offset so the field access code flows without wrapping." into dalvik-dev
cc6805b72af754fd28c9c78ccf35b41689387f82 03-Mar-2010 Brian Carlstrom <bdc@google.com> Rewrite JSSE code to use one openssl SSL per SSLSocket an one SSL_CTX per SSLSessionContext

Summary:

b/1758225: Revisit OpenSSL locking
Removed the locking original put in to address b/1678800 which
had been causing problems for the HeapWorker thread which was
timing out waiting for the lock in the finalizers while other
threads were connecting.

b/1678800: Reliability tool: Crash in libcrypto @ https://opac.ntu.ac.uk
Properly fixed the native crash by avoid sharing SSL_SESSION objects
between SSL_CTX objects

Testing:
- adb shell run-core-tests --verbose tests.xnet.AllTests
- adb shell run-core-tests --verbose javax.net.ssl.AllTests
- Test app that reloads https://opac.ntu.ac.uk

Details:
Each AbstractSessionContext now has an associated SSL_CTX,
referenced through the sslCtxNativePointer. SSL_CTX on the native
side defines the scope of SSL_SESSION caching, and this brings the
Java SSLSessionContext caching into alignment with the native
code. OpenSSLSessionImpl now uses AbstractSessionContext instead
of SSLSessionContext for access to the underlying SSL_CTX.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Added AbstractSessionContext.putSession so OpenSSLSocketImpl/OpenSSLSessionImpl can
directly assign to the current AbstractSessionContext (whether it
be a ClientSessionContext or a ServerSessionContext) without
casting.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Cleaning up use of SSL_CTX and SSL instances in SSLSocket/SSLServerSocket implementation

The major change is that openssl SSL instances are allocated for
the life of the matching Java object, replacing the SSL_CTX and
the SSL objects that had previously been allocated only starting
at handshake time. We should never have been sharing SSL_SESSION
instances between SSL_CTX instances, which was the source of the
native crashes dating back to cupcake which the
OpenSSLSocket.class locking had been preventing.

- NativeCrypto now has better defined and independant wrappers on
openssl functionality. A followon checkin should move the
remaining openssl JNI code here with the intent of being able to
write and end-to-end test of the openssl code using NativeCrypto
without the JSSE implementation classes. The following gives a
list of the new native functions with a mapping to the old
implementation code. The new code has a more functional style
where SSL_CTX and SSL instances are passed and returned as
arguments, not extracted from Java instances

SSL_CTX_new OpenSSLSocketImpl.nativeinit, OpenSSLServerSocketImpl.nativeinit, SSLParameters.nativeinitsslctx
SSL_CTX_get_ciphers_list OpenSSLSocketImpl.nativeGetEnabledCipherSuites
SSL_CTX_free OpenSSLSocketImpl.nativefree, OpenSSLServerSocketImpl.nativefree

SSL_new OpenSSLSocketImpl.nativeinit, OpenSSLSocketImpl.init, OpenSSLServerSocketImpl.nativeinit, OpenSSLServerSocketImpl.init
SSL_get_options OpenSSLSocketImpl.nativesetenabledprotocols
SSL_set_options OpenSSLSocketImpl.nativesetenabledprotocols
SSL_get_ciphers OpenSSLSocketImpl.nativeGetEnabledCipherSuites
SSL_set_cipher_list OpenSSLSocketImpl.nativeSetEnabledCipherSuites
SSL_free OpenSSLSocketImpl.nativefree, OpenSSLServerSocketImpl.nativefree

- While the focus in NativeCrypto is on native code, it also
contains some helpers/wrappers especially for code that doesn't
depend on specific SSL_CTX, SSL instances or that needs to do
massaging of data formats between Java and OpenSSL. Some of
these had previously been duplicated in the client and server
versions of the code. For example:

getSupportedCipherSuites OpenSSLSocketImpl.nativegetsupportedciphersuites, OpenSSLServerSocketImpl.nativegetsupportedciphersuites
getSupportedProtocols OpenSSLSocketImpl.getSupportedProtocols, OpenSSLServerSocketImpl.getSupportedProtocols
getEnabledProtocols OpenSSLSocketImpl.getEnabledProtocols,OpenSSLServerSocketImpl.getEnabledProtocols
setEnabledProtocols OpenSSLSocketImpl.setEnabledProtocols
setEnabledCipherSuites OpenSSLSocketImpl.setEnabledCipherSuites

- Moved JNI initialization from OpenSSLSocketImpl to NativeCrypto
which is the future home of all the openssl related native code.

clinit OpenSSLSocketImpl.nativeinitstatic

- NativeCrypto.CertificateChainVerifier is a new interface to
decouple callbacks from openssl from a specific dependence on a
OpenSSLSocketImpl.verify_callback method. Changed to return
boolean instead of int.

- Renamed OpenSSLSocketImpl.ssl to OpenSSLSocketImpl.sslNativePointer for consistency

- Changed OpenSSLSocketImpl nativeconnect, nativegetsslsession,
nativecipherauthenticationmethod, nativeaccept, nativeread,
nativewrite, nativeinterrupt, nativeclose, nativefree to take
arguments instead of inspect object state in preparation for
moving to NativeCrypto

- other notable NativeCrypto changes included
* adding SSL_SESSION_get_peer_cert_chain,
SSL_SESSION_get_version, and SSL_get_version (and
get_ssl_version) which are "missing methods" in openssl
* ssl_msg_callback_LOG callback and get_content_type for handshake debugging
* removing jfieldID's for our classes now that we pass in values in arguments
* changed aliveAndKicking to be volative since we poll on it to communicate between threads
* changed from C style declarations at beginning of block to C++ at first use on methods with major changes
* stop freeing SSL instances on error, only SSL_clear it
* improved session reuse logging when reproducing b/1678800
* change verify_callback to return verifyCertificateChain result

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketFactoryImpl.java

When we accept a server socket, we pass the existing SSL state
instance from the server socket to the newly accepted socket via
the constructor where it is copied with SSL_dup, instead of
through both the constructor and later the accept method.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java

Cleaned up nativesetclientauth from using SSL_CTX to SSL, passing
ssl as argument in preparation for future movement to
NativeCrypto.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java

Removed ssl_op_no cache for rarely used enabled protocol methods
so that code could more easily be shared in NativeCrypto between
client and server.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Changed public getId, getCreationTime, getPeerCertificates,
getCipherSuite, getProtocol from being instance methods that
looked at the OpenSSLSessionImpl object state to be static mthods
that take the native pointers as arguments in preparation for
moving to NativeCrypto. Rename session -> sslSessionNativePointer
for consistency. Inlined initializeNative, which wasn't really
the native code.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Removed lock on OpenSSLSocketImpl.class lock from around
OpenSSLSocketImpl's use of nativeconnect, nativegetsslsession, and
nativecipherauthenticationmethod as well as OpenSSLSessionImpl's
use of freeImpl, fixing b/1758225: Revisit OpenSSL locking

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Unrelated changes

Removed unused ssl_ctx, nativeinitsslctx, getSSLCTX
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

Fix bug in both putSession implementations where we cached
sessions with zero length id. Also change indexById to pass in id
in client implementation.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Make sure we clone SSLParameters passed to the SSLSocketFactory
and SSLServerSocketFactory so that muting the client instance does
not change the server instance and vice versa. Explicitly set
setUseClientMode(false) on the server SSLParameters. These changes
are to bring things more into alignment with the original harmony
classes which properly support client/server role switching during
handshaking.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketFactoryImpl.java

Make locks object fields final

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Moved updateInstanceCount(1) logic and sslParameters assignment to init method

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Changed getCachedClientSession to respect getUseClientMode

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Spelling of listensers to listeners in javadoc

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Spelling SSLInputStream to SSLOutputStream in comment

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Changed shutdownInput and shutdownOutput to call to the underlying socket

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Set sslNativePointer to 0 when freeing underlying SSL object

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Removed IOException logging in getSession, which is expected to
simply return SSL_NULL_WITH_NULL_NULL when there are problems.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Disabled "Using factory" message on successful creation of
SocketFactory which was a bit noisy running tests. However, added
logging in failure case including the related exception:

x-net/src/main/java/javax/net/ssl/SSLSocketFactory.java

Disabled logging of OpenSSL session deallocation

x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Register SSLContextImpl as a source of SSL and SSL3 SSLContexts,
not just TLS and TLSv1.
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java

Fix whitespace in comment

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateRequest.java

Change-Id: I99975ae22599c7df0d249fa013ae7ea7c9c08051
180e95b3cec729365f8141b354859bc6f019c5b7 06-Apr-2010 Carl Shapiro <cshapiro@google.com> Rename the objBits to the more descriptive liveBits.

Change-Id: Ic1a2915f943cb9541fcc52c6b6a6d9d3b7354b5f
59bd5aeb019bc738ecffdc6d2773e537d34a8bb9 26-Mar-2010 Carl Shapiro <cshapiro@google.com> Reference class handling overhaul.

* Do not mark through soft-reachable referents when scanning f-
reachable objects.

* Make the SoftReference clearing policy local to better conform to
developer expecataions.

* Eliminate SCHEDULED_REFERENCE_MAGIC, a hold-over from a previous
reference management algorithm.

* Move soft, weak and phantom reference processing into their own
subroutines.

Change-Id: I992788d58f10fa08336e6ac3f0a4dbfa3fc2086f
d2cc346243d060137250727c618765435e1ba469 06-Apr-2010 Carl Shapiro <cshapiro@google.com> Minor code clean-up. Fix a placeholder comment that I left in the
code. Change a comment that was added at my request to be less
verbose. At the same time, repurpose an unused variable to hold the
field offset so the field access code flows without wrapping.

Change-Id: I27d10c26b76620eb7d5ace55b4e6f76e5e4c44d6
d2adfc7ded61c5f98a83c740a84ad35c422288ca 06-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Unlock the monitor mutex before destroying it. This resolves an issue with simulator builds where, unlike bionic, libc checks whether a mutex is in the unlocked state before a destroy and returns EBUSY if the check fails. Until similar checks are added to bionic we now do a trylock, unlock sequence in the assert statements so as not to confuse the simulator build." into dalvik-dev
ca0bfe3ba36957e3d3e53522926ebdfd22a710ad 04-Apr-2010 Carl Shapiro <cshapiro@google.com> Unlock the monitor mutex before destroying it. This resolves an issue
with simulator builds where, unlike bionic, libc checks whether a
mutex is in the unlocked state before a destroy and returns EBUSY if
the check fails. Until similar checks are added to bionic we now do a
trylock, unlock sequence in the assert statements so as not to confuse
the simulator build.

Change-Id: Iafa3c52edddb17b9a8a2c648c5fd3a58d5d77988
c537a7f8f3ee016cbc8498dc7654ca624608789a 06-Apr-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of dd53c703 to dalvik-dev

Change-Id: Ia95af76e2995ce7fb0778b020baf2882a8b0a3dd
f6eda4e4315fef9ef721b8a30374908d0817626b 06-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Fix two issues with the partial gc code." into dalvik-dev
74c501efd710bea1b81d794845eebd0cd6c2c3ef 06-Apr-2010 Elliott Hughes <enh@google.com> am f3c7fd52: Merge "Froyo InputStream.available documentation improvement." into froyo
0ee15dbb40eafe4debc55cc1e668259d43e9ce21 06-Apr-2010 Elliott Hughes <enh@google.com> Merge "Froyo InputStream.available documentation improvement." into froyo
1dd3c497a6f91ced68755c82d25dcd64d6d250e2 05-Apr-2010 Elliott Hughes <enh@google.com> Froyo InputStream.available documentation improvement.

This method causes a lot of confusion, and we can do a lot better. (Ideally,
the API would either not exist or be something like "public boolean ready()".)

I've removed poor-quality documentation overrides too, so the full
documentation is visible in most places. (InflaterInputStream is an obvious
exception.)

Also, to a lesser extent, improve the InputStream.skip documentation.

Change-Id: I6d6cd788e6a32ad4a2613d1e381610f1ad8575fe
3a06db75816e5456d6a3236da96e5d0e9ebf3613 06-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix vogar host mode." into dalvik-dev
5f113b606eccbd7693320d08a598638cc899c187 06-Apr-2010 Jesse Wilson <jessewilson@google.com> Fix vogar host mode.

Also addressing bdc's comments from change Ibc7cbc81, most
notably an import-ordering issues that impact many files.
7a08c54dc1787048b4358b0d26e455bd0644629b 06-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "Remove unnecessary final local variables and arguments from javax.net.ssl tests" into dalvik-dev
a41136946a078d421fbfca814fa9e93ec71c7517 05-Apr-2010 Brian Carlstrom <bdc@google.com> Remove unnecessary final local variables and arguments from javax.net.ssl tests

Change-Id: Ie4cbad9335e37f785edab9a76c42c229a1d40f57
becf32f8f236ef0a5785c8d063f1f51f20bcca90 05-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing APIs from dalvik.system that shouldn't have been published." into dalvik-dev
0218e443a9c9b2cc5d95411d693f68418d47e96d 05-Apr-2010 Andy McFadden <fadden@android.com> am 14af5a09: am 54df4ecc: Added a note about android:vmSafeMode.

Merge commit '14af5a09123df1aa766fb1ab286601fc592e4770' into dalvik-dev

* commit '14af5a09123df1aa766fb1ab286601fc592e4770':
Added a note about android:vmSafeMode.
a88538aa44001b111e70b522d930c645fcc231ff 05-Apr-2010 Andy McFadden <fadden@android.com> am 54df4ecc: Added a note about android:vmSafeMode.
5ba0d123ede1f3d50682bd9e5d0412370c7b18f9 05-Apr-2010 Andy McFadden <fadden@android.com> Added a note about android:vmSafeMode.

Seems like a good thing to note here, along with the system properties that
accomplish the same thing system-wide.

(This is a minor documentation change only.)

Change-Id: Ib9adbd612d662fd2da3a02f49e730040fba8a7f3
f1bf7a0fb255757da4cc8f2e4ae10959ba1881a6 04-Apr-2010 Carl Shapiro <cshapiro@google.com> Fix two issues with the partial gc code.

* Eliminate a fence error in bitmap aliasing. The heap structure
uses asymetric bounds but the bitmap structure uses symmetric bounds.
Bias accordingly.

* Explicitly covert the immune limit to a uintptr_t to muffle a compiler
warning.

Change-Id: I05e74ab57035ee06eb6d88e773b1d680531a7e2f
1b880c23b5df90adfc44ecbd094b90c98a002e45 03-Apr-2010 Elliott Hughes <enh@google.com> Merge "More Charset/ICU cleanup." into dalvik-dev
1f1f45bca7d2f32fe301cfc1b84d8bc789a1293b 03-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "New "from scratch" Junit tests for javax.net.ssl" into dalvik-dev
3c26ff4ca30f513c06160edbfeaf58f2f1ae8402 02-Apr-2010 Brian Carlstrom <bdc@google.com> New "from scratch" Junit tests for javax.net.ssl

These new tests focusi on areas where I am making OpenSSL
implementation chages, where I found differences from the RI when
working on that code, and places where we were missing functionality
compared to the spec. They all work on the RI, many fail on Dalvik

luni/src/test/java/javax/net/ssl/AllTests.java
luni/src/test/java/javax/net/ssl/SSLContextTest.java
luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Adding my javax.net.ssl.AllTests to the main list

luni/src/test/java/tests/AllTests.java

Adding Bouncy Castle provider /usr/share/java/bcprov.jar to host
classpath for testing with --java-home /usr/lib/jvm/java-6-openjdk

tools/runner/java/dalvik/runner/JavaVm.java

Fix usage comment to reboot to bootloader
run-core-tests

Change-Id: I7a7998fc7bedc7a00b1836517d043c6a27c8bd4d
1087c56dbad77999a5a16df050df9d56958d1622 03-Apr-2010 Elliott Hughes <enh@google.com> More Charset/ICU cleanup.

I've been feeling guilty about leaving broken double-checked locking (missing
the "volatile") in harmony's Charset code. A quick investigation showed that
the method that it's intended to optimize is basically never called, and the
RI's documentation explicitly says "don't call this; it's slow". So this patch
fixes that.

I've also improved our documentation.

I've also deleted a bunch of dead code.

I've also tidied up some dodgy native string handling.

Change-Id: Iad69ebb3459d9cc4c4ff37b255d458b83fe40132
610a6caffdb1a6948d2d5e322bf5fe7e8db2f65a 03-Apr-2010 Ben Cheng <bccheng@android.com> am 67050d11: am bd1326d0: Clean up the codegen for invoking helper callout functions.

Merge commit '67050d11e5afa7c2396bb0fc4f8d455ea2616f95' into dalvik-dev

* commit '67050d11e5afa7c2396bb0fc4f8d455ea2616f95':
Clean up the codegen for invoking helper callout functions.
02c240c0dfbfdf52987b9d5d88f148caa1deefd5 03-Apr-2010 Ben Cheng <bccheng@android.com> am bd1326d0: Clean up the codegen for invoking helper callout functions.
77453784f0b3959106fa8e15f0aa93fb056bb84a 03-Apr-2010 Ben Cheng <bccheng@android.com> Clean up the codegen for invoking helper callout functions.

All invoked functions are documented in compiler/codegen/arm/CalloutHelper.h
Bug: 2567981

Change-Id: Ia7cd4107272df1b0b5588fbcc0aafcc6d0723d60
88988f5979bf38784e8f67ac4a1c8fb7c23f42dc 03-Apr-2010 Brian Carlstrom <bdc@google.com> am 85948576: am 4ff253ff: Remove JSON License from NOTICE file

Merge commit '85948576f0270265ebeca795f41447ad4f549c11' into dalvik-dev

* commit '85948576f0270265ebeca795f41447ad4f549c11':
Remove JSON License from NOTICE file
3412ad900c805a02cb5310227f3e98dec4e804a8 03-Apr-2010 Ben Cheng <bccheng@android.com> am bf4d95ea: am 76cacb1f: Merge "Accept the "-Xjitdisableopt" flag as advertised." into froyo

Merge commit 'bf4d95ea7d2e86e93ab372f261baa348c03ef188' into dalvik-dev

* commit 'bf4d95ea7d2e86e93ab372f261baa348c03ef188':
Accept the "-Xjitdisableopt" flag as advertised.
c3e77a46963190618f21ee8fc62e100d3f593089 03-Apr-2010 Ben Cheng <bccheng@android.com> am 1071056d: am a497359a: Fix a race condition in JIT state refresh under debugging / misc code cleanup.

Merge commit '1071056dace973442293b718bf12e328935126f1' into dalvik-dev

* commit '1071056dace973442293b718bf12e328935126f1':
Fix a race condition in JIT state refresh under debugging / misc code cleanup.
90f790dd139b871c394ec8e923599b5328fc5b5d 03-Apr-2010 Brian Carlstrom <bdc@google.com> am 3d82ade7: Merge "Have certimport.sh list certificates in BKS keystore after importing for verification/debugging"

Merge commit '3d82ade7a9b764695bad89d2476a73441118411b' into dalvik-dev

* commit '3d82ade7a9b764695bad89d2476a73441118411b':
Have certimport.sh list certificates in BKS keystore after importing for verification/debugging
72fad10fe0945dc436f67866998dcc335f729db6 03-Apr-2010 Andy McFadden <fadden@android.com> am d4b07831: Merge "Fix misuse of ALLOC_DONT_TRACK." into froyo

Merge commit 'd4b078315ae7335c385f70b32810959bd228d976' into dalvik-dev

* commit 'd4b078315ae7335c385f70b32810959bd228d976':
Fix misuse of ALLOC_DONT_TRACK.
8328dba2591a5630335a49b5deb682fd73e87157 03-Apr-2010 Brian Carlstrom <bdc@google.com> am ea527bc0: Remove debug message from OpenSSL JNI code

Merge commit 'ea527bc08f4d7128eb9d927a16723d20b9d1d217' into dalvik-dev

* commit 'ea527bc08f4d7128eb9d927a16723d20b9d1d217':
Remove debug message from OpenSSL JNI code
af649cdca91f5c5b44852ef10aa24072f754adc0 03-Apr-2010 Elliott Hughes <enh@google.com> am 6e138297: Add an @KnownFailure annotation.

Merge commit '6e138297538fb632944ae1a81f346aec75137399' into dalvik-dev

* commit '6e138297538fb632944ae1a81f346aec75137399':
Add an @KnownFailure annotation.
3880d6a3f973e82df546982259a3797fa0172875 03-Apr-2010 Bill Buzbee <buzbee@google.com> am 434bae64: Fix for 2542488 JIT codegen bug with overlapping wide operands

Merge commit '434bae646046871c334b95bd9123a78da66c27c3' into dalvik-dev

* commit '434bae646046871c334b95bd9123a78da66c27c3':
Fix for 2542488 JIT codegen bug with overlapping wide operands
dae4b370026c4f4ea31650781fddd7cadaec64dd 03-Apr-2010 Ben Cheng <bccheng@android.com> am d5adae17: Improve JIT self verifier test coverage to follow single-step instructions.

Merge commit 'd5adae17d71e86a1a5f3ae7825054e3249fb7879' into dalvik-dev

* commit 'd5adae17d71e86a1a5f3ae7825054e3249fb7879':
Improve JIT self verifier test coverage to follow single-step instructions.
99f59db1fb7dee595a677e4d564a86477029e65a 03-Apr-2010 Brian Carlstrom <bdc@google.com> am 4ff253ff: Remove JSON License from NOTICE file
12780a4c7a8329c93f4c17952e4b9b4e1b6532fb 02-Apr-2010 Brian Carlstrom <bdc@google.com> Remove JSON License from NOTICE file

Change-Id: Ie4426f8e33ddef42916e88adeaf672714212d3a3
880033567222acf9c5f2a5d7d68ffdae53652bf4 02-Apr-2010 Elliott Hughes <enh@google.com> Add Java 6's java.util.ServiceLoader.

New implementation, documentation, and tests, very loosely based on the harmony
code.

We can't run the harmony or jtreg tests because we don't have the infrastructure.
My test just tests the most obvious use cases, on the assumption that at some
point we'll get the other test suites working; quite possibly before anyone ever
wants to use this stuff on Android.

(We might want to switch over existing META-INF/services/ code to use
ServiceLoader. I've raised http://b/2567593 for this.)

Bug: 2497395
Change-Id: I62b0ac4748204555d3ba9356794a72aff4f4f01e
729b61c6a1823d83191d2196d3f2d21ac4bcb6fc 02-Apr-2010 Jesse Wilson <jessewilson@google.com> Removing APIs from dalvik.system that shouldn't have been published.

These APIs were deprecated in Eclair and should disappear in Gingerbread.
See bug 2553600.
2e16d05663b428016f5b1904bc47b3896f966fb6 01-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "New method-level granularity and output streaming for vogar." into dalvik-dev
1554a705db3620124ce8a65b2a0efc12fe358edb 01-Apr-2010 Jesse Wilson <jessewilson@google.com> New method-level granularity and output streaming for vogar.
25b2b089837ac1ee217b8a3c78973744152c069f 01-Apr-2010 Elliott Hughes <enh@google.com> Merge "Tidy up our getAvailableLocales methods to actually ask ICU4C." into dalvik-dev
8fd81bbd2801046544b8038bbb3be1efd9706545 01-Apr-2010 Elliott Hughes <enh@google.com> Tidy up our getAvailableLocales methods to actually ask ICU4C.

These specialized methods are little used, and in several cases ICU itself
just returns the list of locales, but that's ICU's business, not ours. As
long as ICU is in charge of our locale-specific data, it should be responsible
for answering questions about what locale-specific data is available...

Change-Id: Idc8a66bbf7fcbc6b06e30929e6a7af3fe30ab7d1
98e74d7072f151f7073fa5943aa31866a73591fa 01-Apr-2010 Ben Cheng <bccheng@android.com> am 76cacb1f: Merge "Accept the "-Xjitdisableopt" flag as advertised." into froyo
ffa1aa4a2b7aa74f5aa7d8b23adb1d059e046082 01-Apr-2010 Ben Cheng <bccheng@android.com> Merge "Accept the "-Xjitdisableopt" flag as advertised." into froyo
75f8e29b2bca66f01696dd3ed70ec217a00fb7c1 01-Apr-2010 Ben Cheng <bccheng@android.com> Accept the "-Xjitdisableopt" flag as advertised.

Bug: 2542212
Change-Id: I6819bbbaf43ccb9a1e35cc576cfd6e5440b9578b
93d104baf9b4a50299a57471c6a1033352fc06cf 01-Apr-2010 Andy McFadden <fadden@android.com> Merge "Mark external alloc functions as deprecated." into dalvik-dev
2dec7225625cf13e388f8f0d9e0e888430943bc0 01-Apr-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's java.net.IDN." into dalvik-dev
7e27288966716fd69eca2e4e9603be3788db1889 01-Apr-2010 Elliott Hughes <enh@google.com> Add Java 6's java.net.IDN.

harmony's tests and my code, though ICU4C does all the hard work.

I've added a test of my own to demonstrate some weird RI behavior (that I've
emulated in our implementation).

Bug: 2497395
Change-Id: I8146f72a8a3204449ee3d0d9065dadc1c1c77fcc
5ebb25d2906fcbce3455a323008d5cf1db84d5cc 01-Apr-2010 Elliott Hughes <enh@google.com> Fix an off-by-one error in fd range checking.

Change-Id: I15f932bc246ebc7fec9471a873bef8bd58ef15fc
8143ec19798c97f11e17b59495b2055f34acc297 01-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Add the ability to treat the zygote heap as a root collect just the forked application heap." into dalvik-dev
2d973b528f6458094056ef79348749677087fb57 01-Apr-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's ResourceBundle/Properties API." into dalvik-dev
86fe96e787e6b82cef4c76e5467fc64e1fd2db4c 01-Apr-2010 Andy McFadden <fadden@android.com> Mark external alloc functions as deprecated.

First step toward disabling them.

Bug 2537379.

Change-Id: I8664a5f1d7dcff11ddeb97b5e700dad76bffc723
1b36006740688739849671dfc217fafff3a54b88 31-Mar-2010 Ben Cheng <bccheng@android.com> am a497359a: Fix a race condition in JIT state refresh under debugging / misc code cleanup.
187cafeff4b027ccccef33014ea38a9926caedcc 31-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's ResourceBundle/Properties API.

I've pretty much taken the upstream ResourceBundle implementations
as-is, putting back our string-to-locale conversion, removing a bit
of duplication and non-free, non-spec EBCDIC support, and hard-coding
the text of the MissingResourceExceptions (since harmony's changed
its message catalog from ours, so I had to touch those bits of the
code anyway).

(Why haven't I bothered to pay much attention to the resource bundle
implementations? Because I already rewrote our only code that was
using them to not use them, and third-party developers should be
using Android's resource system instead. There's very little chance
anyone needs Java resource bundles. I paid some attention to Properties,
because they're still somewhat useful.)

Also remove various unused messages, and update our tests. I've mostly
_not_ taken the upstream tests, because it would require a lot of work
that we'll be doing anyway when we switch to using their test suite
properly.

I ran the jtreg tests we're able to run, and the normal-case ones (plus
the stress test) seemed okay.

Bug: 2497395
Change-Id: I91606df0dc1a45e6974fbb27a0d334af87254f0b
9b37fa95dea7d897349b11e3ccf79326289163ce 31-Mar-2010 Ben Cheng <bccheng@android.com> Fix a race condition in JIT state refresh under debugging / misc code cleanup.

Bug: 2561283
Change-Id: I9fd94928f3e661de97098808340ea92b28cafa07
1b75403575d711dd3f78d20d8b66798f1c5deb75 31-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "Have certimport.sh list certificates in BKS keystore after importing for verification/debugging"
5b8a07d98075d4486a41fef433bcf166dbbbdaff 31-Mar-2010 Brian Carlstrom <bdc@google.com> Have certimport.sh list certificates in BKS keystore after importing for verification/debugging

Change-Id: Ic336f10d96bbf93b1dc5cfd8b64a4c9eaa4f3a68
bd3afb07240eb94db9682ae447bff3501402abb5 31-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's Calendar API changes." into dalvik-dev
b9886f7c9d8d114c6dd45d2f3d70265fda7ad7e9 31-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's Calendar API changes.

Also correct two javadoc mistakes I added, and bring back the latest harmony
java6 CalendarTest.

Bug: 2497395
Change-Id: If481390948ca93d5f709a8ed4585991889de9f8b
ef3ef41b441ce03bae2d811e581c89962df3fadd 31-Mar-2010 Andy McFadden <fadden@android.com> Merge "Fix misuse of ALLOC_DONT_TRACK." into froyo
65e3cea8489cc0ebc73930c8c97782a83ddd5901 31-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Splitting TestRun into Action and Outcome." into dalvik-dev
8e5fdeaae50c93da42bef398acd38a7445d7c117 31-Mar-2010 Jesse Wilson <jessewilson@google.com> Splitting TestRun into Action and Outcome.

Changing Vogar to prefer the word "action" over "test" to avoid
deemphisizing benchmarks and main classes.

Moving expectation management out of TestRun and into Expectation
and the ExpectationStore. The parse method moved, but it is unchanged.
Renamed ExpectedResult to Expectation.

Currently outcome has 2 names: an outcome name and an action name.
At the moment these are always equal. In a follow up to this change
I intend to allow a single action to have multiple outcomes, which
will allow JUnit tests to be tracked at the right granularity when
executed by vogar.
2c049a75e12e0ba1fb85ba129aead03252f59d83 12-Mar-2010 Carl Shapiro <cshapiro@google.com> Add the ability to treat the zygote heap as a root collect just the
forked application heap.

Change-Id: I8807897ae426f8274018d950fec44a2182a90525
bb34dad3f2ac498bdb4737459870308a1fac481f 31-Mar-2010 Brian Carlstrom <bdc@google.com> Remove debug message from OpenSSL JNI code

Change-Id: I70c68087b7d109634eb3240dca1f27e6f20d3da6
5b96393f656e578356c29eb0c054d726300bbb8f 31-Mar-2010 Andy McFadden <fadden@android.com> Fix misuse of ALLOC_DONT_TRACK.

The internal String creation function doesn't allow ALLOC_DONT_TRACK.
This changes the call to use ALLOC_DEFAULT and then explicitly release
the tracked allocation.

For bug 2558142.

Change-Id: I57dfa4824578c3a3a33f6836b75f51391cc73746
fa1b2b896ff7cfdbbb13aa118313952a1dae6f74 31-Mar-2010 Elliott Hughes <enh@google.com> Merge "Trivial tidying up of networking code." into dalvik-dev
39fc2a040c8abab41f923d745c76eb8f0b492f9d 31-Mar-2010 Elliott Hughes <enh@google.com> Add an @KnownFailure annotation.

Bug: 2489458
Change-Id: Ib1121c6190b63baae8dbc6a8a598c3f5a510cfaf
c254faf03c8bbacd498148b3439ac51bf4713d37 30-Mar-2010 Elliott Hughes <enh@google.com> Trivial tidying up of networking code.

Removing cruft and renaming things.

Change-Id: I317726c40a1addf3a1ad9d905239438424082549
8ac317318deec08a2eb9ba1bb320cf5a5f2ca415 30-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing vogar script to use the latest name" into dalvik-dev
626b918a35805a25c3a08665cdf5f298e1f943ba 30-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing vogar script to use the latest name
99d0fd6cb814a6fe5ed387e62577f8bf2fc2f8dd 30-Mar-2010 Jesse Wilson <jessewilson@google.com> Renaming dalvik.runner to Vogar!

Also moving commands and target classes to their own directories. This is all
in preparation to move the code out to code.google.com
5409069131c9d2585ea806d2c23eecbbba0bc9d3 30-Mar-2010 Elliott Hughes <enh@google.com> Fix a bug, and protect against an unrelated class of bugs.

If the Java array allocation in InetAddress.cpp failed, we'd free NULL instead of the
previously-allocated structure. This is a new bug in froyo, but only happens in out of
memory situations, so doesn't seem worth fixing there.

Unrelatedly, let's disallow assignment and copying of all our RAII classes. This isn't
a mistake I've seen made, but it's easy to protect against, so we may as well do so
consistently.

Change-Id: I2433b31ff983d388788b09e59e08d661f1725ecd
f9e5ca72d6f20afee362d546ad266f67b2559b0b 30-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's exponent separator to DecimalFormatSymbols." into dalvik-dev
005fa8e79ee8110e7a31885a0e883650b44072b6 30-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's exponent separator to DecimalFormatSymbols.

Bug: 2497395
Change-Id: Ic552fa828649bae882e508a62a44073d1038b5c0
c41729e564e02593fa033067e1146df53240cce5 30-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Tweak our test & runner so XPath tests can be executed on Hudson." into dalvik-dev
24053814ca9b8b4913e3326defb1ecf92fc95d03 30-Mar-2010 Jesse Wilson <jessewilson@google.com> Tweak our test & runner so XPath tests can be executed on Hudson.
d7c090f146da4d2dac45b3070159ce40602f32c2 30-Mar-2010 Elliott Hughes <enh@google.com> Fix build.

Rather than try to be clever with header files (which didn't work with glibc
for the sim build) let's make Math.copySign have the StrictMath behavior,
and have StrictMath call Math. (The other way round, though it might seem
more logical, wouldn't solve the problem. We already have numerous cases of
StrictMath calling Math anyway.)

Change-Id: Ifff065ddc8fbd5d5f8d4d5b67bc9ac07a719eb00
7d20c0c889704357e0e1348926702a6f09d8955c 29-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Merge commit '8812fdd7' into manualmerge" into dalvik-dev
3e55390cf8560dd1d11a50ef631cf3f107fd3856 29-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge commit '8812fdd7' into manualmerge

Conflicts:
libcore/xml/src/test/java/tests/api/javax/xml/parsers/SAXParserFactoryTest.java
3446cf01191a06f3c01988edf4c948bb7b6dfdab 29-Mar-2010 Elliott Hughes <enh@google.com> Merge "Fix StrictMath.copySign's behavior with NaN." into dalvik-dev
9dd770ba6907357d8565f2d060972cfcab609e17 27-Mar-2010 Bill Buzbee <buzbee@google.com> Fix for 2542488 JIT codegen bug with overlapping wide operands

Change-Id: I2f31492f68cb753f76dd664cd6b0a52d7d32de4c
1eef80a038d748e6a11770b34d389af94d0d42be 27-Mar-2010 Elliott Hughes <enh@google.com> Fix StrictMath.copySign's behavior with NaN.

StrictMath's copySign method is defined to treat all NaNs as positive, regardless
of their sign bit. Rather than add yet more code on the Java side (which already
called down to native code three times), let's just make one call to native code.

This change fixes failures in already-committed StrictMath tests.

The only other potential instances of this class of error were in the
max and min methods, but they all handle NaNs before calling
(double|float)To(Raw)?LongBits, so the choice there really is arbitrary.

Change-Id: I439dbdff9068cb420b78a6330cde9d7d0d12c0ef
2e5988db88d5b5227451f136cf4f51839b74e3e5 27-Mar-2010 Elliott Hughes <enh@google.com> Fix all our java.text.Bidi failures.

Two are invalid tests where we behave the same as the RI. The third reflects
a difference between ICU4C and the RI, so I've added code to recognize that
case and paper over the crack. I've also tidied up a bit more.

With any luck, I'll never see these files again...

Change-Id: I278502fbdea039e9a2318df830dc0b55851e96c0
c62effb24bf6a8d1db9e0b88195325fc927b4f92 27-Mar-2010 Ben Cheng <bccheng@android.com> Improve JIT self verifier test coverage to follow single-step instructions.

Bug: 2549326
Change-Id: I01412d4aac1379b61c90fe6e59c534b33be93f66
111823b8b1b450705d6a651da2ea14a4e67390a7 27-Mar-2010 Elliott Hughes <enh@google.com> Merge "Java 6 changed CollationKey from final to abstract." into dalvik-dev
984d8fea0052c98fcd4d73686acd86eaf86287b6 27-Mar-2010 Jesse Wilson <jessewilson@google.com> am 2be0c815: (-s ours) Suppressing additional tests that fail in Froyo.

Merge commit '2be0c815dda289b09f3bb26f751c124f30eaf612' into dalvik-dev

* commit '2be0c815dda289b09f3bb26f751c124f30eaf612':
Suppressing additional tests that fail in Froyo.
c3763b524d7eb044a311d6782837155ce186195a 26-Mar-2010 Elliott Hughes <enh@google.com> Java 6 changed CollationKey from final to abstract.

I've also taken the opportunity to tidy up our implementation a little,
though my hands are tied by (a) the fact that our concrete classes are
in a separate package from our abstract classes and (b) frameworks/base
actually pokes about with our icu4jni collation code (http://b/2417080).

I've also tidied up a bunch of dead code. In particular, it's silly for
us to check parameters in Java that will be checked in native code (and
that one would assume will be valid most of the time anyway).

Bug: 1635883
Change-Id: I7db3c1ff1f0d23cb85604f9c8eb995e4488d7c0a
1184c25aae1f2ddc3407acdbf5c8e7cae35e9900 26-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing tests to handle changes in our behaviour since DOM 3." into froyo
e1cb16db69238a6698b3aca2d9b8cfe4160fe357 26-Mar-2010 Jesse Wilson <jessewilson@google.com> Suppressing additional tests that fail in Froyo.

Our File class doesn't do SecurityManager checks at the same time as it
did previously.

We added a failing logging test but not the fix.

We moved the SQL drivers around, causing some SQL tests to fail.

A new logging test doesn't load its resources using the safe pattern.

Change-Id: I34ab81e4001969aa536f61a89c277ae2b879d49d
d1b3fa674af5c39ab13ba6f7cf08529502a8d748 26-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing tests to handle changes in our behaviour since DOM 3.

Our exception priority has changed for DOM attributes. We
previously used to throw DOMExceptions with namespace error
codes and now throw DOMExceptions with character error codes
when the attribute name is malformed. This caused changes to
many tests.

Another notable behaviour change is that we now supply the
qname (like the RI) where previously we did not. It is optional,
but we now include it for RI-consistency.

Yet another behaviour change is that we don't look at System
properties when choosing a SAX implementation. This simplifies
our internals significantly. End users who want an alternative
SAX implementation should construct it manually.

Also adding @KnownFailure tags for new tests that we have
never yet passed.

Change-Id: I6f81bedd7c2a0867086dc507b3220c2b07c4d3d3
6453ad1a326cfccbc1a3e06d5a01d444c1e5b20a 26-Mar-2010 Elliott Hughes <enh@google.com> Start cleaning up the Charset implementation.

This was going to be https://issues.apache.org/jira/browse/HARMONY-6461,
but I couldn't resist cleaning up some of the surrounding code, and ended
up cleaning up some of our native code too. In the course of the afternoon
I spent on this, I lost my conviction that the upstream change makes
sense, so I reverted that, leaving this change just pure cleanup.

(Note that the cleanup work is incomplete. This is an improvement, but
there's plenty left to do. I just don't want to get too distracted until
all the Java 6 changes are done.)

Change-Id: I56841db5f6c038bbf7942e83a148dca546519269
48656c18a055468dc4751642e53995d11e3274e8 26-Mar-2010 Elliott Hughes <enh@google.com> Merge "Use more idiomatic naming in test code." into dalvik-dev
97675609d3426b0b3b2ef34d5fda45c052f304eb 26-Mar-2010 Elliott Hughes <enh@google.com> Use more idiomatic naming in test code.

(I introduced this in https://android-git.corp.google.com/g/46305.)

Change-Id: I100202fc18e246dd7b66870ce75543642505336d
a48245af798ce9a8730c5d99874d046f3595f81f 26-Mar-2010 Ben Cheng <bccheng@android.com> am 63868feb: Use correct resource flags for Dalvik ld/st instructions to enable code motion.

Merge commit '63868feb2cc6a1fb1c76d7b54296ef4869f632be' into dalvik-dev

* commit '63868feb2cc6a1fb1c76d7b54296ef4869f632be':
Use correct resource flags for Dalvik ld/st instructions to enable code motion.
debab4f8d6e5d9d2b78d6467bb6cb2425130180a 26-Mar-2010 Ben Cheng <bccheng@android.com> Use correct resource flags for Dalvik ld/st instructions to enable code motion.

Change-Id: I9b371af4150b6245c0ff59eea63d83406edbbcee
361815f67af8977291bf408623694fd0d59c8fa3 25-Mar-2010 Jesse Wilson <jessewilson@google.com> am f2f7880a: Test and document our handling of nulls with getString().

Merge commit 'f2f7880a40aed1c8d9c27db49226e47396556aac' into dalvik-dev

* commit 'f2f7880a40aed1c8d9c27db49226e47396556aac':
Test and document our handling of nulls with getString().
9e20d58f3eceea3641b6ed4e75c9f9d65b992885 25-Mar-2010 Jesse Wilson <jessewilson@google.com> Test and document our handling of nulls with getString().

Our behaviour is consistent with Crockford's.

The test confirms that the behaviour is consistent with the report
of that bug, which the submitter claims is not how it should behave.
http://code.google.com/p/android/issues/detail?id=7257

Change-Id: Ibace4bd995e3cbc8fb6c9dc509f8f4491865a647
14963f67740daa4bd1f08474d55d7c545b999e01 25-Mar-2010 Bill Buzbee <buzbee@google.com> am d630700a: Merge "Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands"

Merge commit 'd630700a9fbc6d317e0b4df73cbbc74a2c8fadaa' into dalvik-dev

* commit 'd630700a9fbc6d317e0b4df73cbbc74a2c8fadaa':
Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands
41da8b08b11ed3b10c396a14910584c2bf23f681 25-Mar-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands"
6e4b974a33778ea0ba2a5904819066dc37099f6b 25-Mar-2010 Elliott Hughes <enh@google.com> Apply https://issues.apache.org/jira/browse/HARMONY-4307.

They didn't add a test for this; supposedly it fixed a flaky AWT test. But
the change looks plausible.

Change-Id: I358849a20d5e38d01d6c77a4c335002bb7bba095
ccfd1ad7415b4a0d89f11d1358a4371939475c8d 25-Mar-2010 Elliott Hughes <enh@google.com> Clean up a few toStrings.

I couldn't find any more that were using getClass() rather than
getClass().getName().

Change-Id: I30b375748d36bc36d1e6999349fc472496456746
c541192526cbf81b9092c45024262ad115b447c6 25-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands

Change-Id: I7b922e223fe1f5242d1f3db1fa18f54aaed725af
fac7b54af3c55d0a8a2eea2431964bc465f15149 25-Mar-2010 Elliott Hughes <enh@google.com> am ec7c8c98: Fix java.util.Random\'s constructors.

Merge commit 'ec7c8c98a4094580224eb9c400249c5c0984cf29' into dalvik-dev

* commit 'ec7c8c98a4094580224eb9c400249c5c0984cf29':
Fix java.util.Random's constructors.
6df36eae425fb690f137558e6e001ccf17c3b0b4 25-Mar-2010 Elliott Hughes <enh@google.com> Fix java.util.Random's constructors.

Subclasses rely on having their overridden setSeed called by Random's
constructors, and the RI actually documents this behavior. (The
documentation even changed between Java 5 and Java 6 to make it _more_
explicit.)

This patch keeps that part of I6239d93bb46876ef1c4a5e155a6dc1ac6fab4eae
that improved our randomness, but reverts the attempt to fix Random's
uncouth behavior.

Also a regression test so we don't try to fix Random again in future.

Bug: 2502231
Change-Id: Ieea1009145c74eac9475c0cd5066dabad20eb114
38d0d0435dc855592665291ce1ab89bfb50f903c 25-Mar-2010 Kenny Root <kroot@google.com> am f87ab961: Merge "Don\'t leak memory on failed pipe or mutex init"

Merge commit 'f87ab9616697b8bae08c5e8007cbdd0039a1f8ce' into dalvik-dev

* commit 'f87ab9616697b8bae08c5e8007cbdd0039a1f8ce':
Don't leak memory on failed pipe or mutex init
e8c9fc19d9c46ffa6db112b8a66663637b577fc9 25-Mar-2010 Ben Cheng <bccheng@android.com> am 3d5d8736: Merge "Fix for the JIT blocking mode plus some code cleanup."

Merge commit '3d5d87364d062734753bfd26336e96a7e8d03360' into dalvik-dev

* commit '3d5d87364d062734753bfd26336e96a7e8d03360':
Fix for the JIT blocking mode plus some code cleanup.
8dac547c3beb417eefc25a4a87c9fd5945d47848 25-Mar-2010 Andy McFadden <fadden@android.com> am c66affa4: Switch to VMWAIT while outputting trace data.

Merge commit 'c66affa440de113df861928c528fcbbead2ead45' into dalvik-dev

* commit 'c66affa440de113df861928c528fcbbead2ead45':
Switch to VMWAIT while outputting trace data.
d60cdeff61a5135689e79a06be3f098bd3c45598 25-Mar-2010 Kenny Root <kroot@google.com> Merge "Don't leak memory on failed pipe or mutex init"
18051d2f009a33297879ce86d94bc624e6ae7f98 25-Mar-2010 Kenny Root <kroot@google.com> Don't leak memory on failed pipe or mutex init

SSL allocation might fail on pipe or mutex creation, so free allocated
memory when that happens.

Change-Id: Ibe3813cb652db1e880e3acf0dc1fa37fbe0ad455
d33defc183ba05baf3fcddc9b5ff0b4c9279e068 25-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's getAvailableLocales/getInstance to DateFormatSymbols and DecimalFormatSymbols." into dalvik-dev
f4e596025aec84b1466ffe77889e397f174cecc2 24-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's getAvailableLocales/getInstance to DateFormatSymbols and DecimalFormatSymbols.

This patch also improves the documentation of all getAvailableLocales methods
to clarify exactly what "available" means. Note that at the moment, many of
our implementations just return Locale.getAvailableLocales. It turns out that
ICU does the same in most cases, but I'll come back in a separate patch and
add code so we just pass these down to ICU, and wash our hands of the matter.

I've rewritten DateFormatSymbols.equals, which was very wrong. The time zone
names comparison had an invalid optimization, and its slow-path loop was wrong
too: it only ever tested values against themselves, which isn't likely to have
been the author's intention.

I've added toString overrides to DateFormatSymbols and DecimalFormatSymbols,
because I need them every time I work on these classes.

I've made the constants in DecimalFormatSymbols static final, and given them
idiomatic names. (I still think we might benefit from breaking these into
separate fields, as in the serialized form, but that's a separate issue.)

Finally, and unrelatedly, I've added a comment to BreakIteratorProvider that
I missed in my last change to that file.

Change-Id: I5d6cb30f9afdb502d38353d8a624dc2f0fef41ac
61fb46a0d611fcc4e6850a1978ed03d85606d49a 24-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Fix for the JIT blocking mode plus some code cleanup."
5d8b25143ba1a364b0aec2fedeab45479c0c12de 24-Mar-2010 Ben Cheng <bccheng@android.com> Fix for the JIT blocking mode plus some code cleanup.

Bug: 2517606
Change-Id: I2b5aa92ceaf23d484329330ae20de5966704280b
a1e886850e35d259fa5539e6bc77284e035d85c8 24-Mar-2010 Andy McFadden <fadden@android.com> Show current values of mutexes in thread dump.

Experimental feature; may or may not be useful. Dump the current value
of half a dozen VM mutexes. This will tell us if they're unlocked,
locked, or contended-for at the point somebody does a thread dump. For
example, when the GC notices the HeapWorker watchdog has expired:

I/dalvikvm( 2828): DALVIK THREADS:
I/dalvikvm( 2828): (mutexes: tll=0 tsl=0 tscl=0 ghl=1 hwl=1 hwll=0)

In this case, gcHeapLock and heapWorkerLock are held, the rest are not.

If this turns out to be useful we can put more effort into the output
format. The pthread lib doesn't insert the thread ID unless you're
using recursive or errorcheck mutexes, which (for performance reasons)
we try not to use.

Change-Id: I272534d8c9db6340cfc23bfdddb47beefc2efbfb
89e3690908a2c04bd487269d2aa34e357e79bc48 24-Mar-2010 Andy McFadden <fadden@android.com> Switch to VMWAIT while outputting trace data.

One of the traces from a monkey run suggests we stalled out during the
open/write/close part of writing the trace data. To reduce the chances
of spin-on-suspending here we now switch to VMWAIT during the I/O.

For bug 2541030.

Change-Id: Ice832988213741976917fdd36afa12a694a42e81
5613152f2dd1660815a5c88c7b642b65c6379981 24-Mar-2010 Elliott Hughes <enh@google.com> Improve the ThreadGroup documentation.

(Because I was asked a question about ThreadGroup today, and the answer is
always "don't use ThreadGroup"...)

Change-Id: Ibaa2f1830e1fe435c9712f3b08506639b9521b9e
578f1ddbf460f804dbef1a2118086e63b61c20c5 24-Mar-2010 Elliott Hughes <enh@google.com> Merge "Remove explicit 8192 arguments to BufferedReader and friends." into dalvik-dev
ca17d378bbde46422459d7eb5ca42259879e05f9 24-Mar-2010 Elliott Hughes <enh@google.com> am b7b9be13: Merge "Improve java.net.InetAddress.getLocalHost documentation."

Merge commit 'b7b9be1343b59b429b6de9b28ffffbbbde8478c2' into dalvik-dev

* commit 'b7b9be1343b59b429b6de9b28ffffbbbde8478c2':
Improve java.net.InetAddress.getLocalHost documentation.
1d95ba5dd634f9e6bcf6c9bc36e3c4392b51f4e4 24-Mar-2010 Elliott Hughes <enh@google.com> Remove explicit 8192 arguments to BufferedReader and friends.

These were clearly added just to shut up our own warning, and are now
unnecessary and misleading to future maintainers.

There's one barely-related change: InputStreamReader and OutputStreamWriter
are very similar, and this patch makes them more similar, and adds a few
missing modifiers from their fields.

Change-Id: I959011f914ff215e92bbfa41c1bac66465803685
74074707386856d4a8ccbb77d61ea77a56167f5e 24-Mar-2010 Elliott Hughes <enh@google.com> Merge "Improve java.net.InetAddress.getLocalHost documentation."
2616857cb60e960121fc902df0645fa15d51bec2 24-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "Fix --debug-port to --debug in vogar usage" into dalvik-dev
a0229ace6c7eb47192ca88a82014aa8570c5ae69 24-Mar-2010 Brian Carlstrom <bdc@google.com> Fix --debug-port to --debug in vogar usage

Change-Id: I012100578caa4f5768b7926b4fbe489c80f8d32b
776cf382c6ce7b9c58b6fb978f4439f03abc0f31 23-Mar-2010 Elliott Hughes <enh@google.com> Merge "Remove the "default buffer size" warnings." into dalvik-dev
c992d5e31737e7d5850f69a5c318ff22c37cb461 23-Mar-2010 Elliott Hughes <enh@google.com> Remove the "default buffer size" warnings.

Everyone seems to agree these have outlived their usefulness.

Change-Id: Ia2a53ffa1f9498333b4b2d51d5c1db488b89abaf
81108abd747215c284a143f8fba572f0f99a6266 23-Mar-2010 Bill Buzbee <buzbee@google.com> am 02388cf1: Jit: disable for Sapphire.

Merge commit '02388cf18a87ba0243cddc6ccf3eaf8668118723' into dalvik-dev

* commit '02388cf18a87ba0243cddc6ccf3eaf8668118723':
Jit: disable for Sapphire.
18c293f1039618e0574c16f29ba11c3c0e50c33e 23-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: disable for Sapphire.

Change-Id: I3c48f239ef9a83fac1ef05d18ea1b00ab27879ff
f0f0af8a8d73935debfd7329a787784c325aa22f 23-Mar-2010 Elliott Hughes <enh@google.com> Improve java.net.InetAddress.getLocalHost documentation.

Bug: 1518707
Change-Id: I741a7a28325320949e84e997e6a49d3356c9a308
66208aed7b3387c3117c0b007af96407992364fd 23-Mar-2010 Andy McFadden <fadden@android.com> am d4e0952b: Further refinements to "kill other thread".

Merge commit 'd4e0952b73f9054adcc927a1c12699ba63f1672a' into dalvik-dev

* commit 'd4e0952b73f9054adcc927a1c12699ba63f1672a':
Further refinements to "kill other thread".
86428f569622fd1cd98c5bbe57e4a5f3cdb64b70 23-Mar-2010 Andy McFadden <fadden@android.com> Further refinements to "kill other thread".

Switched from SIGSEGV to SIGSTKFLT. Otherwise it looks like we're
seg-faulting in code that was actually executing just fine.

Ignore SIGSEGV before returning. This avoids creating a second dump
when dvmAbort() is called. (If the caller's stack trace were at all
interesting, we wouldn't be here, and we can do without the log spam.)

Added some more details to the logging.

For bug 2517042.

Change-Id: Ifff7fd75d6dbf7e3663152787f8921dda215fe40
2cdc6c4225fe0def9358f053f3dc6f4a37213526 23-Mar-2010 Elliott Hughes <enh@google.com> Merge "Revert the removal of java.nio.NIOAccess, which frameworks/base/ uses." into dalvik-dev
98d7df652bab1baf64cf2b9cf14e0eab85db293b 23-Mar-2010 Elliott Hughes <enh@google.com> Revert the removal of java.nio.NIOAccess, which frameworks/base/ uses.

This was removed in https://android-git.corp.google.com/g/45796, but turns
out to be used. I think we can do better in the long term, but right now
this just removes some of the duplication from the original, and adds
comments explaining where it's used.

Bug: 2535509
Change-Id: Ie8e717537b8b8c70c8689f2dbb2c3a38501ecc57
8e7f69e509471cd325d4e400262889bd7d0a66c3 23-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add the Java 6 java.text.spi and java.util.spi interfaces." into dalvik-dev
d4bc229ab75b581f6922db1375dc1248e58704ff 23-Mar-2010 Elliott Hughes <enh@google.com> Add the Java 6 java.text.spi and java.util.spi interfaces.

We don't currently use these, and don't necessarily plan to. Full support
would have a run-time cost, and it's not obvious that it would be particularly
useful.

Code search can't actually find any users of this stuff in the wild outside
of the various VM implementations and their test suites.

Bug: 2497395
Change-Id: Ie25aef73ece6d1fd169fdcb7b2f847761d77914d
c8a6ef908649482d710a5d00bc8401e70ded5790 22-Mar-2010 Bill Buzbee <buzbee@google.com> am 64ee717b: Jit: Re-enable for Sapphire

Merge commit '64ee717be7cf4aad64371e73cfd180aa4d85dd07' into dalvik-dev

* commit '64ee717be7cf4aad64371e73cfd180aa4d85dd07':
Jit: Re-enable for Sapphire
bd59ca0dcd69597e4e05e4e5b601b74cd58b8e4f 22-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Re-enable for Sapphire

Change-Id: Icbfd8781756c2c7cde88140ed40766e29448b1ff
bc728489ad48bd26d7c48c2142ac6d5243acf95c 22-Mar-2010 Elliott Hughes <enh@google.com> Remove all remaining "@since Android" tags.

I've fixed a few typos, and removed a few of the more egregiously nonsensical
or incorrect comments that were nearby.

Change-Id: I35851baebd532f949cc269f4738a26eeb9b6e697
014d84064184f2885b78d6f7e910dc07bc53eced 22-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's java.util.Arrays changes.

I've kept our binary search implementation and just generalized the
interface.

I've gone out of my way to preserve exception priority. I know we don't
agree that it's necessary, but it is important if we want to be able to
run other people's tests. If someone wants to write a new high-quality
test suite (which would be a great thing to have), we should remove the
hacks. (I've commented them.) Otherwise, I've gone out of my way to keep
the near-duplicates forced on us by Java's primitive type system as
identical as possible.

This passes all harmony and jtreg tests.

Change-Id: I91fbf707dac76124c6dbe59b0b30b7ded9a69529
c443cddb83b2075fbedb4cd1484c1c4aa28d1486 20-Mar-2010 Elliott Hughes <enh@google.com> Merge "Java 6 java.nio.Buffer changes." into dalvik-dev
0cd4236e900e86266ff94b34381d666e33525e82 20-Mar-2010 Elliott Hughes <enh@google.com> Java 6 java.nio.Buffer changes.

We no longer need the duplicated lower-quality documentation on
each subclass, and the NIOAccess class turns out to be unused.

Bug: 2497395
Change-Id: Ib7ce8f51aac2b78bf56fff4526af1c2c8818e277
b86de1f5655123cc2792f5c9c86ac9e30832e2d0 19-Mar-2010 Andy McFadden <fadden@android.com> am e9f1038c: Merge "Use pthread_kill(3) instead of kill(2)."

Merge commit 'e9f1038c3e71dba123532c62741257867d68e08b' into dalvik-dev

* commit 'e9f1038c3e71dba123532c62741257867d68e08b':
Use pthread_kill(3) instead of kill(2).
6c74a2907d0a41fd9739071346501ab7e992c72d 19-Mar-2010 Andy McFadden <fadden@android.com> Merge "Use pthread_kill(3) instead of kill(2)."
b45147d9b0b1a5c05e85ebfa32cf61fd56c64109 19-Mar-2010 Dan Bornstein <danfuzz@android.com> Merge "Remove a superfluous declaration (left over from when DexClassLoader was duplicated from PathClassLoader)." into dalvik-dev
5cd689c239a369096e1811ff90c81cf4a145f71a 19-Mar-2010 Andy McFadden <fadden@android.com> Use pthread_kill(3) instead of kill(2).

Another swing at useful native traces. pthread_kill(3) uses tkill(2)
instead of kill(2), so we may have a better chance of the signal landing
on the right thread.

For bug 2517042.

Change-Id: I62871c1e21b11442ea52c861397674f1644f4da9
c8669fcfe86736a710017424e810368fc1fecde3 19-Mar-2010 Elliott Hughes <enh@google.com> Track Java 6's BreakIterator API changes.

Bug: 2497395
Change-Id: Iaef75bbd946bebe6201b5f52564bcaf8a4d0e56e
559dba0d9c77708a9657fbd58431d32876f03dea 19-Mar-2010 Elliott Hughes <enh@google.com> Clean up the Java side of the ICU interface a bit.

My original intention was just to add the missing "final" on a few classes,
but our BreakIterator implementation struck me as excessively bloated and
confusing.

Change-Id: I2d2dccafe8ec91124f3c83909c9ec647cc2d51e2
2cf26d1c83f221ce11dae60841495b6e6f410a30 19-Mar-2010 Dan Bornstein <danfuzz@android.com> Remove a superfluous declaration (left over from when DexClassLoader was
duplicated from PathClassLoader).

Change-Id: Iaf3e8a5b23df1a8bbf670bf6d6045fffef6c8fcb
601e04a145eff5201f91039486580f899653ce78 19-Mar-2010 Jesse Wilson <jessewilson@google.com> am 7713b900: Merge "Fixing namespace+prefix mode in Expat and removing optional fields from callbacks."

Merge commit '7713b900d12c7a46334db46b33fbe848167189dd' into dalvik-dev

* commit '7713b900d12c7a46334db46b33fbe848167189dd':
Fixing namespace+prefix mode in Expat and removing optional fields from callbacks.
b9dd86664d7a634ae2e96a870f1275c5867b702e 19-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing namespace+prefix mode in Expat and removing optional fields from callbacks."
938548c75adf27df5e6a71044d618fe5b6bde5b7 19-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing namespace+prefix mode in Expat and removing optional fields from callbacks.

The first part is related to bug 6632:
http://code.google.com/p/android/issues/detail?id=6632

I added these optional fields back when I was originally updating
the XML parser for Froyo. I've decided to remove them to simplify
migrating between Android and the RI. It should also save some
object allocations.

Note that the RI v5 and the RI v6 behave differently for optional
values on attributes; this motivated me to add the otherwise
unfortunate assertOneOf() method to the testcase. (We behave more
like RI v6, which is to supply the values upon request)

Change-Id: Icfa5d29976a86bf194b3ed7c0d9e2275c3bff9dd
acfb6de12ef59ad28567d53ce6c654f17445c80a 17-Mar-2010 Barry Hayes <bhayes@google.com> Added flags to the vm:
-Xgc:[no]preverify
-Xgc:[no]postverify
to run verify routines over the heap pre- and post-gc.

Changed the Verify.h interface. It now publishes an entry point for
verifying a HeapBitmap, rather than the HeapBitmap callback.

Added a dvmHeapSuspendAndVerify to Heap.h for verification outside of
the GC.

Added callbacks before and after GC, under the locks, under flag control.
Processing of properties to produce flags is in a different project,
frameworks/base

Change-Id: I3f3896583fe9e7239bbe2f374d7ed4c5dd5d3e82
58574f4c8f93b86df93c416c155ff1472de7b105 19-Mar-2010 Barry Hayes <bhayes@google.com> Merge "The "referent" field of java.lang.ref.Reference objects is NOT included in ifieldRefCount. See Class.c precacheReferenceOffsets for this amusing bit of VM trivia." into dalvik-dev
c961ca40520df8b856332b2614c41ce09febc24a 19-Mar-2010 Barry Hayes <bhayes@google.com> The "referent" field of java.lang.ref.Reference objects is NOT
included in ifieldRefCount.
See Class.c precacheReferenceOffsets for this amusing bit of VM trivia.

Added an explicit VERIFY_REFERENCE of the Reference.referent field for
subclasses of Reference.

Change-Id: Ibc8a059ffb353d60b681af1d3a5520c2443d3864
2e00179af698f8d387d0212a8d1af45f07c004dc 19-Mar-2010 Bjorn Bringert <bringert@android.com> am e073b0e8: Move String creation outside O(n^2) path in LogManager

Merge commit 'e073b0e86ea089a08685202f78fe446cd03b3d49' into dalvik-dev

* commit 'e073b0e86ea089a08685202f78fe446cd03b3d49':
Move String creation outside O(n^2) path in LogManager
0006bbe4fbcfb499b7e5f8072015bd1b25aff64d 19-Mar-2010 Bjorn Bringert <bringert@android.com> Move String creation outside O(n^2) path in LogManager

This more than halves the number of Strings and StringBuilders created
when constructing a GoogleHttpClient and executing a single
HTTP request.

Bug http://b/issue?id=2529141

Change-Id: Ia8268fd692b08cf82e4abbffe1459e461e9f7e68
58248780a77d29f1826b5fe1e678ff8ba4e1c0a1 19-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add's Java 6's DecimalFormat.setRoundingMode (et cetera)." into dalvik-dev
e7c6ba35dddecbfef250961c4be55626d502d3f2 19-Mar-2010 Elliott Hughes <enh@google.com> Add's Java 6's DecimalFormat.setRoundingMode (et cetera).

Format and NumberFormat's bogusly-public constructors became protected with
Java 6. DecimalFormat gained more control over rounding behavior. There's a
slight mismatch with our ICU4C-based implementation in that ICU4C doesn't
support RoundingMode.UNNECESSARY, so I've had to fake that (but I doubt it's
used much, if at all).

I've pulled out the obviously Android-specific tests from the harmony
DecimalFormatTest.java, but I've only brought back the rounding mode changes
from the current harmony code to avoid the new tests' dependencies. I've also
added one new test of my own, to check that setMaximumFractionDigits affects
rounding as it should (since the harmony tests don't test this, and it's
somewhat subtle).

Bug: 2497395
Change-Id: Ifafc8bb051e078ead988073281f5c33f0aeb130a
b2bac066cc4085563b1a1e11bc84bd78e801524f 19-Mar-2010 Andy McFadden <fadden@android.com> am 94e57f7b: Merge "Increase sleep delays on debug thread kill."

Merge commit '94e57f7bb8e60210e379bfea29471db059a7edca' into dalvik-dev

* commit '94e57f7bb8e60210e379bfea29471db059a7edca':
Increase sleep delays on debug thread kill.
ced13eafc724194ab77232beaab280b19b83dd55 19-Mar-2010 Andy McFadden <fadden@android.com> Merge "Increase sleep delays on debug thread kill."
596666664c06f20fe62073858291f536e728e7ec 19-Mar-2010 Andy McFadden <fadden@android.com> Increase sleep delays on debug thread kill.

It appears the delays between the signals were insufficient for a busy
system. This increases the timeouts to larger values, which may or may
not be sufficient. What's really needed here is a way to monitor
debuggerd's activity, but that seems like a lot of work for what this
wants to accomplish.

Also, set gDvm.nativeDebuggerActive to true to prevent the heapworker
watchdog timeout from firing. (Either somebody is going to attach a
debugger soon, or the process is going to die, so it's reasonable to
do here.)

Change-Id: Ic92590499871860ef766147eeaa6efc7afb4acdc
c7626c556dcacab8cf6eb5cd0fa068024e0191bc 18-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's Scanner.reset and fix RuleBasedCollator's javadoc." into dalvik-dev
e9419423b02de698ac38810669d8728c564a0fec 18-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's Scanner.reset and fix RuleBasedCollator's javadoc.

(The harmony ScannerTest.java is quite different from ours, and doesn't test
this trivial method anyway.)

Bug: 2497395
Change-Id: I8b2b3db7233f766ef70bfdbfdcdfbd0f23e4bdb4
0652f0e89be116f9b6eef8123343ea4717abe444 18-Mar-2010 Jesse Wilson <jessewilson@google.com> am 253eebd3: Drop needless parens from Javadoc.

Merge commit '253eebd34a7a4a30b20cbfd42dbfd7117af8a154' into dalvik-dev

* commit '253eebd34a7a4a30b20cbfd42dbfd7117af8a154':
Drop needless parens from Javadoc.
293642944c0e3fc5c746940b1a256001c712bad9 18-Mar-2010 Jesse Wilson <jessewilson@google.com> am 1573a78e: Merge "Javadoc for JSONArray."

Merge commit '1573a78ed4898aaf4a38abf6ea0ab1254459282b' into dalvik-dev

* commit '1573a78ed4898aaf4a38abf6ea0ab1254459282b':
Javadoc for JSONArray.
bdd32c739379f45fb0905ead47a20167937f4716 18-Mar-2010 Jesse Wilson <jessewilson@google.com> Drop needless parens from Javadoc.

Although this violates my longstanding style preference, it agrees
with almighty JJB's official ArrayList, which is Good Enough For Me.

Change-Id: I7b608c12e04d0b7789bfcabeab4b7347ad22baca
40185b74dc2c3143a8c094007db16935a08b58f7 18-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Javadoc for JSONArray."
458f035737a4f38d9f00581b3e31ab8913315ca1 18-Mar-2010 Jesse Wilson <jessewilson@google.com> Javadoc for JSONArray.

Change-Id: I3aced2607b48210f76887e0d42b591c098ce5db7
20cd239e255eb6643375d6f77628b3ad931e160d 18-Mar-2010 Ben Cheng <bccheng@android.com> am 58ece73d: Bug fix for JIT peephole optimization.

Merge commit '58ece73d25c78a05b94c820c5ec65b8a2edca81f' into dalvik-dev

* commit '58ece73d25c78a05b94c820c5ec65b8a2edca81f':
Bug fix for JIT peephole optimization.
e4aef8ad3c7c1f20b48cc2be230b2e944dec1260 18-Mar-2010 Ben Cheng <bccheng@android.com> Bug fix for JIT peephole optimization.

Bug: 2520500
Change-Id: I36dbd8b3a6d13c40f9735df4918ab02b5f053b07
baa0b7d211fd5cf71a735c637b0eba2169d3bd41 18-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's Logger.GLOBAL_LOGGER_NAME field." into dalvik-dev
da5e6e7dafde06f26644fdd9de31e5780c7c1a89 18-Mar-2010 Jesse Wilson <jessewilson@google.com> am 31275264: Fixing 10 of the XPath failures caused by a malformed Document.

Merge commit '312752642a4539788952260fc517d286f6a6202e' into dalvik-dev

* commit '312752642a4539788952260fc517d286f6a6202e':
Fixing 10 of the XPath failures caused by a malformed Document.
f2fa1f4b9950dfab5c593e5777cb7141668341e6 18-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's Logger.GLOBAL_LOGGER_NAME field.

Also deprecated Logger.global.

Bug: 2497395
Change-Id: I28e5f83116277430c4eb0773b238670c0dd80847
1db07f84acd0fb82fcbf119e3e24bcd6e547e5e9 17-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's new PipedReader/PipedInputStream constructors.

Also bring back the latest harmony java6 branch tests, and modify them to pass
with our deliberate [spec-compliant] exception changes.

Bug: 2497395
Change-Id: Ifb3f9bf48f8eec4120f9e59b03beb3969cfe0cd3
57b2aebdf71b181c5e3e6735f70dd3e46be12b7e 18-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing 10 of the XPath failures caused by a malformed Document.

See bug 2518858.

This makes our XPath implementation fail the exact same tests
as the RI's. (which we assume is also based on Apache Xalan)

Change-Id: I9a98323113c95609651e948ad11113f84ccd87ec
cc4095907e28011e30ddba59c7ee8c4b991b1115 17-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing an import of a JUnit class that isn't available in dalvik-dev.
a31057a71b2df50306daa369ffede6e02cd28d5a 17-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's ObjectStreamClass.lookupAny." into dalvik-dev
9a34fb994096b1b4518e0294ebfffaa9b3b37c62 17-Mar-2010 Jesse Wilson <jessewilson@google.com> am f6976780: Merge "Exercising our XPath implementation with 279 of Jaxen\'s tests."

Merge commit 'f6976780647c6b9bb168cc7a9c5c8f4ce1425caf' into dalvik-dev

* commit 'f6976780647c6b9bb168cc7a9c5c8f4ce1425caf':
Exercising our XPath implementation with 279 of Jaxen's tests.
7623b2674f66c39bac4b3235865ef68b6d743d23 17-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Exercising our XPath implementation with 279 of Jaxen's tests."
d008daca6b1542fcecdba772410e2b712271cacc 17-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's ObjectStreamClass.lookupAny.

Also bring back the latest harmony java6 tests. We fail two of these tests,
but this is not a regression caused by this patch: our existing code fails
the same tests in the same way, so we already had the bugs and just didn't
know.

Bug: 2497395
Change-Id: I70412cdea747c30ea8d19a55d2ae5e73d3c59c1a
095a31d11d21eec811cc531d94cd6f3a77956f96 17-Mar-2010 Jesse Wilson <jessewilson@google.com> am 82ebe52a: Merge "Javadocs for JSONObject."

Merge commit '82ebe52a3e4ee91ccbef38d241b2b1fd9409a03e' into dalvik-dev

* commit '82ebe52a3e4ee91ccbef38d241b2b1fd9409a03e':
Javadocs for JSONObject.
30e283ce8b196eb77b9df2184be3f91880d595d5 17-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Javadocs for JSONObject."
8e8ece899475566c8c2a06eff11760019392bf5a 17-Mar-2010 Jesse Wilson <jessewilson@google.com> Javadocs for JSONObject.

Change-Id: I5ec9df6a3a9baac8f4f498890cd35feff774737a
dcc508688eda31e70ed1e1995ab2b9dcd813bc73 17-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "misc DalvikRunner changes" into dalvik-dev
62a727ff39d7246818784601033f3d3087f93b92 17-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's PrintStream.clearError/PrintWriter.clearError methods." into dalvik-dev
ce788f60fccb902b2887a1359ab961a7a70b6454 17-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's PrintStream.clearError/PrintWriter.clearError methods.

Also bring back the latest harmony java6 branch tests.

Bug: 2497395
Change-Id: I242e9a7d0446b46faaa5b28e0348806e999d8fdf
818009c96650d7d71fabdb2450ba22e18de12a0c 17-Mar-2010 Elliott Hughes <enh@google.com> Fix "run-core-tests.sh" to work again.

cshapiro was complaining about this the other week, and I needed it today.
We should fix the duplication, but Android's crippled shell makes that
awkward, and this is the simplest thing that lets us carry on working...

Change-Id: I4c1a764d6069ba55a021631acdc4d6a665df0089
a37501a02dc6ea4dd4ca0b5d03d4fdebc3c239c4 17-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's java.io.Console." into dalvik-dev
89a3168e633a758729684f9241713bfcf6cd98b9 17-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's java.io.Console.

This is actually functional, if you're in the mood to "adb shell".

The implementation is based on harmony's, but with the initialization and
native code rewritten, with readPassword responsible for echoing a newline (so
we don't have to play silly tricks with the ECHONL flag), and a vastly
simplified ConsoleReader class. I've also rewritten the documentation.

Change-Id: I902b47fb27a8fdb2d6f067bb905ee02c6a10e454
77a9a95d97933a73fd8a8f90c558dbc38299bce5 17-Mar-2010 Jesse Wilson <jessewilson@google.com> Exercising our XPath implementation with 279 of Jaxen's tests.

Both our implementation and the RIv6 fail 29 tests, 17 of which are
"could not find function" failures regarding our common lack of
support for the evaluate(), document(), upper-case() and lower-case()
functions.

In addition, our implementation fails 10 additional tests:
xml/moreover.xml / /child::node() "expected:<1> but was:<3>"
xml/simple.xml / string() "expected:<abd> but was:<"
xml/web.xml / /child::node() "expected:<web-app> but was:<>"
xml/web.xml / child::node() "expected:<web-app> but was:<>"
xml/web.xml / name(/child::node()) "expected:<web-app> but was:<>"
xml/web.xml / name(/child::node()) "expected:<web-app> but was:<>"
xml/web.xml / name(/node()) "expected:<web-app> but was:<>"
xml/web.xml / name(child::node()) "expected:<web-app> but was:<>"
xml/web.xml / name(node()) "expected:<web-app> but was:<>"
xml/web.xml /* name(../child::node()) "expected:<web-app> but was:<>"

Change-Id: Icb4695bbf826fd8f1c1ffae5e857169ff551f75e
954455970994e8be82d25dd6a441552e4664ca38 12-Mar-2010 Brian Carlstrom <bdc@google.com> misc DalvikRunner changes

Summary:
- "vogar --debug-port <port>" now overrides --timeout-seconds to be zero
to prevent timeouts during interactive debugging
- "vogar --timeout-seconds 0" now disables timeout
as a side-effect of the previous change
- "vogar" no longer defaults to "javac -Xmaxerrs 1"
This is to make using vogar's output more useful when iteratively developing tests.
continuous build needs to use "vogar --javac-arg -Xmaxerrs --javac-arg 1"
- "vogar --ident ''" allows disabling of output formating
This prevents output parsing problems for Emacs *compilation* buffers

Change-Id: I599590c9c4fe3c57524af5c4d7f2be2e30ad4685
97ca074a72ac0cc1c458256298f6eb7046496f30 17-Mar-2010 Ben Cheng <bccheng@android.com> am 9fa39c91: Add missing macro SIGNATURE_BREAKPOINT.

Merge commit '9fa39c91c885a05ce544d0899089212321413c13' into dalvik-dev

* commit '9fa39c91c885a05ce544d0899089212321413c13':
Add missing macro SIGNATURE_BREAKPOINT.
00b31188b9164ac8035b5a61c3c38df08f03a516 17-Mar-2010 Ben Cheng <bccheng@android.com> Add missing macro SIGNATURE_BREAKPOINT.

Change-Id: I9e450b7b2ff34a3609a99bf8fe11e3efa88ccc30
7afbcd185c08c27246d6bf3889137098c5170747 17-Mar-2010 Ben Cheng <bccheng@android.com> am 79cea5c9: Merge "Implement signature-based breakpoint for the JIT compiler."

Merge commit '79cea5c97267e0b3e35e0c2b70e2662aa533f200' into dalvik-dev

* commit '79cea5c97267e0b3e35e0c2b70e2662aa533f200':
Implement signature-based breakpoint for the JIT compiler.
7699cc7390af4555545f29e4bcc38be2576f9af9 17-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Implement signature-based breakpoint for the JIT compiler."
e20bbd0c5123b657b50d2b0e0c836a9145d04db1 17-Mar-2010 Carl Shapiro <cshapiro@google.com> am 288de8e6: Merge "Replace a use of index with strchr."

Merge commit '288de8e67b5a2c2e6a19372a2b99f17ca17de2fa' into dalvik-dev

* commit '288de8e67b5a2c2e6a19372a2b99f17ca17de2fa':
Replace a use of index with strchr.
db0e4ac3e4ded15ceb8f1cdf67c818221f8a9147 17-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Replace a use of index with strchr."
07b838377f30dbc6d5864d77b5fbc24dbd01a36c 17-Mar-2010 Ben Cheng <bccheng@android.com> Implement signature-based breakpoint for the JIT compiler.

The JIT compiler will replay itself with verbose printing if the compiled
instruction stream matches the customized signature from memory dump in the
bugreports.

Change-Id: I024082c5744903273b24a0a73468b9c0d3588ad5
b75577b8e23f66e0b01ef6de1c4f02c3b24e9c21 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Import the heap verification code from the copying collector. The
reference verification routine adds an extra argument so the base
address of an object can be passed to the verification code without
provoking a warning from GCC about breaking alias analysis.

Change-Id: Idd921bcc0e084c18bff1e209a8591ef55f57843a
a73312cea01fb99cfd187ac7bd0ae4aa6067298c 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Replace a use of index with strchr.

Change-Id: I2c1238bc1bd0945533712d0d74a761721b8408a3
15cebc57b0e7ec3036e9641a1c520077d3771cc6 16-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "Add some certimport.sh documention" into dalvik-dev
3559e7a44fda92e23e984645cd21726bac65c5bf 16-Mar-2010 Brian Carlstrom <bdc@google.com> Add some certimport.sh documention

hku had some questions about the meaning of the filenames in
cacerts. ngm responded so I captured the knowledge in the
certimport.sh for future reference so we can continue to follow the
convention.

Change-Id: I79b4ed333e541f09d60143f785e5b10d3f5e60f4
8362fb6b38ac5cc785c7ea9026026fa7999d30ce 16-Mar-2010 Bill Buzbee <buzbee@google.com> am 900a3afd: Jit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT

Merge commit '900a3afd0e8e0d88426b21447d601ee67e17b642' into dalvik-dev

* commit '900a3afd0e8e0d88426b21447d601ee67e17b642':
Jit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT
9f2067b0321ffc2f4fdde3a3c6b7a8a949d99ae8 16-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT

Change I8ca61804 added a call to dvmCanPutArrayElement for APUT_OBJECT,
but did so in a way that violated register usage restrictions. This change
tells the register allocation system what registers we expect to remain
live across the call to dvmCanPutArrayElement.

Change-Id: Icd83b888ba60768a196070d62d07d12c7a3c73c6
1760c6ea6a31a1852eb876bccb7eeb573183ca16 16-Mar-2010 Carl Shapiro <cshapiro@google.com> am fcd1cbd4: Merge "Include strings.h directly for its ffs prototype."

Merge commit 'fcd1cbd456809d2a2c58644efb71e1f42810d3ab' into dalvik-dev

* commit 'fcd1cbd456809d2a2c58644efb71e1f42810d3ab':
Include strings.h directly for its ffs prototype.
223fd92adfc2fb86173e33a4d9bf3f61fb278811 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Include strings.h directly for its ffs prototype."
a58635e9a90f1094f745c33953216f4d758ad203 16-Mar-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Handle new VOLATILE Dalvik ops by not handling them." into dalvik-dev
8e285c955aa53bdc15c0f72dc5b7912fa4e9f79d 16-Mar-2010 Jesse Wilson <jessewilson@google.com> am 38b778b3: Fixing an @link issue that is upsetting DroidDoc.

Merge commit '38b778b364061dc87899e7fe0e3efd2502a538fd' into dalvik-dev

* commit '38b778b364061dc87899e7fe0e3efd2502a538fd':
Fixing an @link issue that is upsetting DroidDoc.
e777b30b958a2290faee5ecc7c1fdf3699b7ee43 16-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing an @link issue that is upsetting DroidDoc.

Change-Id: I9837cfd46684ac6d5b9ec4ac6809da3c3f61d57d
adff914a7ea974e8b93afa35d8d92f22e5b6af9a 16-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "make DalvikRunner ignore .#Foo.java files" into dalvik-dev
9373149456d3e465f13675b84ee274bbbb6e06a9 16-Mar-2010 Brian Carlstrom <bdc@google.com> make DalvikRunner ignore .#Foo.java files

Emacs makes hidden bogus symlinks for open modified files such as
".#Foo.java -> user@host.pid:rand" which I'm guessing are to identify
the owning user/host/process. Unfortunately, DalvikRunner was picking
these up as source and trying to compile them.

This change makes NamingPatternCodeFinder ignore these. In order to
avoid duplicating this in all the subclasses, the subclasses now call
super.matches as a first pass. Now subclasses only apply any
additional filtering they want. MainFinder.matches was deleted since
it wasn't adding any new restrictions.

We arguably could add a better starting filter perhaps, but skipping
dot files seems a reasonable first stem.

Change-Id: Ic9f5ec0bb629d5e1bc25a5b80a6619a64285d2b0
4272c73c4aa37c267567d593af2f869ab4c46f78 16-Mar-2010 Jesse Wilson <jessewilson@google.com> am 6abe2582: Merge "First half of JSON Javadocs."

Merge commit '6abe2582f9dea9887b4cf6cdee200246b6e86117' into dalvik-dev

* commit '6abe2582f9dea9887b4cf6cdee200246b6e86117':
First half of JSON Javadocs.
ec3f3ece235d7b0eb72c5ab44be762df8c4d8a16 16-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "First half of JSON Javadocs."
0e181ee5c353e8ef3132968e5398b929400b7403 16-Mar-2010 Jesse Wilson <jessewilson@google.com> First half of JSON Javadocs.

Change-Id: I277ec3b35a28802dd7b7f82c1f4bbadbd3cc4c65
3fb81b6672060f0ecfe7c888cc568780be535176 16-Mar-2010 Elliott Hughes <enh@google.com> Merge "Remove dead fields, constants, and redundant pass-through methods." into dalvik-dev
8a3727a095d9378ae2a8c0ed1e24570b9a65fb32 16-Mar-2010 Andy McFadden <fadden@android.com> am f8a44e85: Merge "Point debuggerd at the interesting thread."

Merge commit 'f8a44e85b2beed31f0cb1688ac6bdc08bc37ece1' into dalvik-dev

* commit 'f8a44e85b2beed31f0cb1688ac6bdc08bc37ece1':
Point debuggerd at the interesting thread.
05c1cc60bd89ad82930e79444c5fef5bf883e9c7 16-Mar-2010 Andy McFadden <fadden@android.com> Merge "Point debuggerd at the interesting thread."
7d90b6fd3b1305fd6b06ad590b211ae3e0bb7d37 14-Mar-2010 Carl Shapiro <cshapiro@google.com> Replace free calls to the pthread mutex lock, unlock, and trylock
functions with calls to the error checked wrapper functions. This
ensures that all mutex operations are checked in debug builds.

Change-Id: I4a5f181e025a2974f3325bcd9efa861eb6a92978
b4ee3f3036a7769dd887564a12c9a8aec738d999 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Include strings.h directly for its ffs prototype.

Change-Id: If957427bd0918b3b06e6b6177227f107a4b5a5c5
eb66cfbc911dc0f687488afc529c81231c093e7d 16-Mar-2010 Jesse Wilson <jessewilson@google.com> am 27182541: Implementing Document.renameNode() and DOMImplementation.getFeature().

Merge commit '271825415aa961bdd9f28a551575bcee6f27b4ab' into dalvik-dev

* commit '271825415aa961bdd9f28a551575bcee6f27b4ab':
Implementing Document.renameNode() and DOMImplementation.getFeature().
5d017615851a432e4f1f59b48e67c36064f85b18 16-Mar-2010 Andy McFadden <fadden@android.com> Point debuggerd at the interesting thread.

There are a couple of situations (spin-on-suspend, HeapWorker wedged)
where the current thread's native stack is much less interesting than one
of the others. This change will cause a couple of signals to be thrown
at the "interesting" thread in an attempt to get more useful information
out of debuggerd in these cases.

For bug 2517042.

Change-Id: Ib8c0e0ef93f07b7114e5f4638a907a0f7802bdc0
50c7856404f659edfebacc76f59cc8d2ad07b91e 16-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Handle new VOLATILE Dalvik ops by not handling them.

See [Issue 1633591] Volatile long/double accesses should be atomic.
Because we believe this to be a rare case, the Jit will just punt
to the interpreter for these.

Change-Id: Idd05b5acae9aa5ffa60941cba8533534a89c0ff8
9064e2a19c06f07aed5f6e5dfd190b519491f837 06-Mar-2010 Andy McFadden <fadden@android.com> Make wide-volatile loads and stores atomic.

This implements the four wide-volatile instructions added in a previous
change, and modifies the verifier to substitute the opcodes into the
instruction stream when appropriate.

For mterp, the ARM wide get/put instructions now have conditional code
that replaces ldrd/strd with a call to the quasiatomic functions. The
C version does essentially the same thing. ARMv4T lacks ldrd/stdrd, and
uses separate implementations for the wide field accesses, so those were
updated as well. x86 will just use stubs.

The JIT should punt these to the interpreter.

Change-Id: Ife88559ed1a698c3267d43c454896f6b12081c0f
Also:
- We don't seem to be using the negative widths in the instruction
table. Not sure they're useful anymore.
- Tabs -> spaces in x86-atom throw-verification-error impl.
7b2c191d74e83af10ab9d1391e7bfc8207591ed8 16-Mar-2010 Jesse Wilson <jessewilson@google.com> Implementing Document.renameNode() and DOMImplementation.getFeature().

The rename code required moving some behaviour from ElementImpl
and AttrImpl up to their common superclass, NodeImpl.

Change-Id: I30910de146f525a5ecc837895ce5808928b858a0
b768b8b99d47852adeaed782861bcb567b51df1f 16-Mar-2010 Elliott Hughes <enh@google.com> Remove dead fields, constants, and redundant pass-through methods.

(This is just preliminary to what I really want to do, which is vastly
reduce the number of near-duplicate methods we have: all the send/recv
variants, for example.)

Change-Id: Ib03653820a18f55aea6c5b876c397afd281a98dc
7726b15b678e7d26e4683d7a4bf5fb27b2cf35ec 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Eliminate unused heap bitmap functions. This is mostly the "list" code which is no longer needed." into dalvik-dev
f4e1526610d745f68eb894831d291b512a97d4d6 15-Mar-2010 Ben Cheng <bccheng@android.com> am 1639f705: Merge "Fix the JIT blocking mode to unblock itself."

Merge commit '1639f7054fd7056a089fabe57d02639973d7da10' into dalvik-dev

* commit '1639f7054fd7056a089fabe57d02639973d7da10':
Fix the JIT blocking mode to unblock itself.
a40a44b676d3cab758eda6c9e50ad5e6fdad9b19 15-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Fix the JIT blocking mode to unblock itself."
dd4f5d75ec08cf6de03fd296689a66ea1453cd9f 15-Mar-2010 Ben Cheng <bccheng@android.com> Fix the JIT blocking mode to unblock itself.

Change-Id: Iaf1da9ee3ce337f2c5ad4985a6c776bc68472f8c
b5d96c214994448d5ecfbd6970b9af4fedf987ef 15-Mar-2010 Andy McFadden <fadden@android.com> am a58fc616: Merge "Try to show lock owner in MONITOR thread dump."

Merge commit 'a58fc61670d91cad6eab32b665742a7ce956aebb' into dalvik-dev

* commit 'a58fc61670d91cad6eab32b665742a7ce956aebb':
Try to show lock owner in MONITOR thread dump.
7c7d3bb57d93b3a8efd67488b839d1416681337f 15-Mar-2010 Andy McFadden <fadden@android.com> Merge "Try to show lock owner in MONITOR thread dump."
e6887a22266d6a492f73b9f016d1af6c96bd037c 12-Mar-2010 Andy McFadden <fadden@android.com> Try to show lock owner in MONITOR thread dump.

A thread in the MONITOR state is blocked waiting on a monitor. This
raises two interesting questions: (1) what lock is it waiting on, and
(2) who holds that lock? The answer to (1) can be determined easily by
looking at the source code, but (2) is a bit harder.

This change extracts the target object from the instruction stream and
prints some information about it, e.g.:

- waiting to lock <0x40028c68> (a java.lang.Object) held by threadid=1 (main)

Also: fiddled with "must [not] be locked" on a recently-added function.

(cherry-picked from dalvik-dev)

Change-Id: Ic16695741760d50be70e70fb7470972cef28bb09
ab857dcdf93c2ddf30096d0aad3e37738f18cfa4 15-Mar-2010 Bill Buzbee <buzbee@google.com> am 62145b47: Merge "Jit: Minor cleanup - enum size fix, remove useless code, control consistency."

Merge commit '62145b47a29777d29ec0f8883f84f2336f5522df' into dalvik-dev

* commit '62145b47a29777d29ec0f8883f84f2336f5522df':
Jit: Minor cleanup - enum size fix, remove useless code, control consistency.
6c05730b2277aefd31c115e0eb7ad53a5f4ca311 15-Mar-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Minor cleanup - enum size fix, remove useless code, control consistency."
9ccdabdf10c69f5dd6c29744ee1cb2aef38a60bf 15-Mar-2010 Ben Cheng <bccheng@android.com> am bcdd4b09: Increase the SHORT_DELAY amount in the JSR166 test.

Merge commit 'bcdd4b09d018f24aaa61311f3e543636f7eb4095' into dalvik-dev

* commit 'bcdd4b09d018f24aaa61311f3e543636f7eb4095':
Increase the SHORT_DELAY amount in the JSR166 test.
f2a23506f2b2ce16afb0be8d255468a5915869f0 13-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Minor cleanup - enum size fix, remove useless code, control consistency.

Change-Id: Id8c16303efd25683ad4b04a85e0d2a059b5ec3be
61fcc35ca5f8c374a35ceb62dbe7e2d466df0a62 12-Mar-2010 Andy McFadden <fadden@android.com> Try to show lock owner in MONITOR thread dump.

A thread in the MONITOR state is blocked waiting on a monitor. This
raises two interesting questions: (1) what lock is it waiting on, and
(2) who holds that lock? The answer to (1) can be determined easily by
looking at the source code, but (2) is a bit harder.

This change extracts the target object from the instruction stream and
prints some information about it, e.g.:

- waiting to lock <0x40028c68> (a java.lang.Object) held by threadid=1 (main)

Change-Id: Iad18fc6f2df4142368bdf1063b8cc71de2d66156
Also: fiddled with "must [not] be locked" on a recently-added function.
6d4faa0341c3b616bd971ec5bdb8390eb78949cd 15-Mar-2010 Ben Cheng <bccheng@android.com> Increase the SHORT_DELAY amount in the JSR166 test.

Change-Id: I890621226c5ea412baee568f3e9b31833185849a
56a10deb38f4b4b4b5404051e804b50606ce1c86 14-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Factor out lock inflation into a common subroutine." into dalvik-dev
1e2ff9d9e75d4a62c530c319e160c60bdb9c8a2e 13-Mar-2010 Carl Shapiro <cshapiro@google.com> Factor out lock inflation into a common subroutine.

Change-Id: Iba789778dbaf34cf92f3ca2ebb96d57ec488c20f
3fb083cdd270f983277c1fd38338f6e7092cb099 14-Mar-2010 Jesse Wilson <jessewilson@google.com> am fcfb5220: Adding an Apache-licensed implementation of org.json

Merge commit 'fcfb52201103bf732a6233ea45daaa65e253543b' into dalvik-dev

* commit 'fcfb52201103bf732a6233ea45daaa65e253543b':
Adding an Apache-licensed implementation of org.json
bd609729ab39b850fa7a9114c95adf756a688de4 14-Mar-2010 Jesse Wilson <jessewilson@google.com> am f662e543: Removing the non-free org.json implementation

Merge commit 'f662e543f4bf86ccc6d4375f664268da4208b61f' into dalvik-dev

* commit 'f662e543f4bf86ccc6d4375f664268da4208b61f':
Removing the non-free org.json implementation
6240bd64364ae96dc239cc5a614ebab37b903c13 14-Mar-2010 Jesse Wilson <jessewilson@google.com> am 37cfb2f4: Merge "A cleanroom implementation of the org.json API."

Merge commit '37cfb2f4bbd39b494172aad059fbe89a45d18a00' into dalvik-dev

* commit '37cfb2f4bbd39b494172aad059fbe89a45d18a00':
A cleanroom implementation of the org.json API.
7d29f4c5d7250296c4d68d030919b6110c9531ad 14-Mar-2010 Ben Cheng <bccheng@android.com> am 95cd9ac6: Stay in the dbg interpreter if the entry reason is to deal with exceptions.

Merge commit '95cd9ac6c308008b6bd48e6e516c118fce0e6a1f' into dalvik-dev

* commit '95cd9ac6c308008b6bd48e6e516c118fce0e6a1f':
Stay in the dbg interpreter if the entry reason is to deal with exceptions.
b066e269866d6c3185a6ae4f0e891b66ba4ddc40 14-Mar-2010 Ben Cheng <bccheng@android.com> am 3ed90a94: Merge "Add a native method dalvik.system.VMDebug.infopoint(int id)."

Merge commit '3ed90a94fa2eea45a423471405df5df62b187b83' into dalvik-dev

* commit '3ed90a94fa2eea45a423471405df5df62b187b83':
Add a native method dalvik.system.VMDebug.infopoint(int id).
2c00b7c56cf8065ba8b88b031d01b14db06ceb96 13-Mar-2010 Elliott Hughes <enh@google.com> Merge "Remove dead obfuscatory code." into dalvik-dev
9fa2ff51497956d4ef5d17da67284866ad92bd7a 13-Mar-2010 Jesse Wilson <jessewilson@google.com> Adding an Apache-licensed implementation of org.json

Change-Id: I1b67bac70bd25220a619e6ebe61f7f1c6f316faa
e71fb023d96e2be65e1ca832d39ce370b92fa278 13-Mar-2010 Jesse Wilson <jessewilson@google.com> Removing the non-free org.json implementation

Change-Id: Ife53082824f5916665f198d4b2fb863271841ce0
45385612da8252d507ae19061fe1f8b2fe697a40 13-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "A cleanroom implementation of the org.json API."
cd900a8f9445e7f08bcb271d09e5c1432717cfbe 12-Mar-2010 Jesse Wilson <jessewilson@google.com> A cleanroom implementation of the org.json API.

This implementation lacks documentation. I intend to write that after checking
it into the master branch. By not waiting we'll have more time to exercise the
code, if only in Google's own applications.

This passes all of my tests. I rewrote some of the tests to make Crockford's
implementation fail. The tests that fail on Crockford's implementation are:

JSONArrayTest
testEqualsAndHashCode equals() not consistent with hashCode()
testTokenerConstructorParseFail StackOverflowError
testStringConstructorParseFail StackOverflowError

JSONObjectTest
testOtherNumbers Object.put() accepted a NaN (via a custom Number class)
testMapConstructorWithBogusEntries JSONObject constructor doesn't validate its input!

JSONTokenerTest
testNextNWithAllRemaining off-by-one error?
testNext0 Returning an empty string should be valid
testNextCleanCommentsTrailingSingleSlash nextClean doesn't consume a trailing slash
assertNotClean The character line tabulation is not whitespace according to the JSON spec.
testNextToDoesntStopOnNull nextTo() shouldn't stop after \0 characters
testNextToConsumesNull nextTo shouldn't consume \0.
testSkipToStopsOnNull skipTo shouldn't stop when it sees '\0'

ParsingTest
testParsingLargeHexValues For input "0x80000000" Hex values are parsed as Strings if their signed value is greater than Integer.MAX_VALUE.
testSyntaxProblemUnterminatedArray Stack overflowed on input "["

Change-Id: I44c4a4a698a66bf043ed339d6bd804951e732cbf
ef841cd70805c7bb866bea263b60ce62dca2cdc8 13-Mar-2010 Elliott Hughes <enh@google.com> Remove dead obfuscatory code.

Bug: 2509206
Change-Id: I72a34e1f80fd6936d255b94daf5683cc2a0f2327
d07243c4cc4dd317da4ec8c4c33f4684fac2c9b3 13-Mar-2010 Ben Cheng <bccheng@android.com> Stay in the dbg interpreter if the entry reason is to deal with exceptions.

Bug: 2487514
Change-Id: Id1eb91f347ff772714d9560370b9994f46d3c5cb
7392eeedd61c7274772b91fb6cd0142b0903f1a3 13-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Add a native method dalvik.system.VMDebug.infopoint(int id)."
bd5d3b027dbb7872b5e8ad92d9a4d5a7a13dfca2 13-Mar-2010 Ben Cheng <bccheng@android.com> Add a native method dalvik.system.VMDebug.infopoint(int id).

With gdb, the JIT can use it to inspect the VM state when an instrumented line
is reached.

Change-Id: Id39ac4cd564bc1a61208cb7527c30f62b5de3e4e
71a1cc4b1e2e1f10d42903e633bd50a90f1d0a9b 13-Mar-2010 Bill Buzbee <buzbee@google.com> am be6534f3: Jit: Fix for [Issue 2487514] Dropped exception

Merge commit 'be6534f384529e51dfba5c3f1b7eb90c86b66e77' into dalvik-dev

* commit 'be6534f384529e51dfba5c3f1b7eb90c86b66e77':
Jit: Fix for [Issue 2487514] Dropped exception
a88668459eb55fdc7f9bb1b660ffce3073b30199 13-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Fix for [Issue 2487514] Dropped exception

The jit was failing to call dvmCanPutArrayElement for aput-object.

Change-Id: I8ca618048dc4d1be5b1f1ed85078759041883b09
d021751f05172db2d4b309be8c83a17df3be6f61 13-Mar-2010 Elliott Hughes <enh@google.com> Merge "Java 6 java.io.File changes." into dalvik-dev
ef5054114363e9c7a9eaeeffa3c761e048c01dab 12-Mar-2010 Elliott Hughes <enh@google.com> Java 6 java.io.File changes.

IOError and IOException are just copied from harmony. The native code
is all our own, and the File code is rewritten to match our earlier
changes. FileTest gains more tests for the new methods' behavior with
File("").

We still can't test most of this stuff directly because we run our tests
as root. Manual inspection looks good, though, and I've raised a bug
for switching our tests over to run as a non-root user.

I've removed all the Java 6 exceptions from expectations.txt because
we plan on fixing them all, and almost all of the ones mentioned there
are already addressed anyway.

Bug: 2497395
Change-Id: I517cd2d871bff64d63b2f4eb80fda4cfd6d19cd8
0f0b58052f2e5b7d41c25c067290bfb39862d2a7 13-Mar-2010 Ben Cheng <bccheng@android.com> am 7cd9d693: Merge "Add a JIT unit test for ArrayStoreException in APUT_OBJECT."

Merge commit '7cd9d693146fe1d9a890b7f950c23e6b220cdde4' into dalvik-dev

* commit '7cd9d693146fe1d9a890b7f950c23e6b220cdde4':
Add a JIT unit test for ArrayStoreException in APUT_OBJECT.
6178b89fb7e07a395c161322079d607a6f90089e 13-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Add a JIT unit test for ArrayStoreException in APUT_OBJECT."
84d8eda874252173c41dd0df60593e70cc72368b 12-Mar-2010 Ben Cheng <bccheng@android.com> Add a JIT unit test for ArrayStoreException in APUT_OBJECT.

Bug: 2487514

tests> ./run-test --fast 083-jit-regressions
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: running...
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: succeeded!

tests> ./run-test --jit 083-jit-regressions
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: running...
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: FAILED!

--- expected.txt 2010-03-12 13:45:13.000000000 -0800
+++ output.txt 2010-03-12 14:51:38.000000000 -0800
@@ -1,3 +1,3 @@
b2296099 passes
b2302318 passes
-b2487514 passes
+b2487514 fails: catchCount is 17 (expecting 1000)

Change-Id: I6651a3e0945f96bbb9e0c0af13f2c322b82d0cb0
4d9a8d0c546f7f77224a01975743f2ea22835dc1 12-Mar-2010 Elliott Hughes <enh@google.com> Back out my droiddoc-breaking Object.getClass signature change.

I'll try again when I've got time to fix droiddoc (or we get an SET).
This is a non-functional Java 5/Java 6 difference, so it isn't important.

(Amusingly, there's no need to back out the corresponding api.xml
change: it looks like droiddoc normalizes one but not the other.)

Change-Id: I012ebeb199696d5bd16de63e657b15889d546c5e
bf17ca7dcc03d6e4716626f64cef86fdcddb694b 12-Mar-2010 Elliott Hughes <enh@google.com> Merge "Use ioctl(FIONREAD) rather than recv(MSG_PEEK) to implement Socket.available." into dalvik-dev
f633de0bc560d6ad2d4ca8bccff70a2117025144 12-Mar-2010 Jesse Wilson <jessewilson@google.com> am 92e01317: Adding support for DOM3 attribute IDs and SchemaTypeInfos.

Merge commit '92e01317d2428856cee52965745d17699a33be5a' into dalvik-dev

* commit '92e01317d2428856cee52965745d17699a33be5a':
Adding support for DOM3 attribute IDs and SchemaTypeInfos.
67d413b532fb2b8dd51ffbbded3c1abdc4768fa1 12-Mar-2010 Carl Shapiro <cshapiro@google.com> Eliminate unused heap bitmap functions. This is mostly the "list"
code which is no longer needed.

Change-Id: I3636a4a6a36e55d2ad080571cdb6c23a16f98aaf
08e0280f2d132946909ac3a1e036889967cd25aa 12-Mar-2010 Elliott Hughes <enh@google.com> Use ioctl(FIONREAD) rather than recv(MSG_PEEK) to implement Socket.available.

As well as avoiding unnecessary work, this also means we can reuse the native
code we already have for ioctl(FIONREAD), though we need to change the
interface to take FileDescriptor rather than int, and extract the int on the
native side.

Change-Id: I4c6d9e4e72e514e3e7872c7f882bda5441059915
078fcb1e12172f21612e282f7aa66a27d36c1777 12-Mar-2010 Jesse Wilson <jessewilson@google.com> Adding support for DOM3 attribute IDs and SchemaTypeInfos.

Change-Id: I35e56ed989820df6b8fea36bbf81fe0314c76304
1f6369cdde77d3b86392cc477673433c6d0abeff 11-Mar-2010 Guang Zhu <guangzhu@google.com> include emma into core library on conditional flag

emma library is used for collecting code coverage. Current pain point is that
for collecting code coverage, developers either need to include emma as a
local static library, or change BOOTCLASSPATH to include emma which includes
hacking boot image and reflashing it.

With this change, emma will be integrated into core.jar if EMMA_INSTRUMENT flag
is on, so pushing the updated framework.jar and perform a runtime restart will
make emma globally available to all code coverage tests.

This change will only affect code coverage builds.

Change-Id: I097254835ef4817d068e8946ecbec60135e1f515
a36ee54b8fb9f9dd6523ec84fe5ae243b3daad39 12-Mar-2010 Elliott Hughes <enh@google.com> Fix all instances of "new Integer" (et cetera).

(This doesn't include libcore/xml/ because I don't want to get in the way there.)

Change-Id: I46f638105d26e82d09128fca605117322229e146
f9c71232b626c1a73d15587d8dc6bf895f353a52 12-Mar-2010 Elliott Hughes <enh@google.com> Merge "Plug a resource leak with "finally" and make Object.getClass' return type match Java 6." into dalvik-dev
738917444dd26713e51d6ba20dd2493ec56ece67 11-Mar-2010 Elliott Hughes <enh@google.com> Plug a resource leak with "finally" and make Object.getClass' return type match Java 6.

Change-Id: Ia8ae90634bfb3680c8e82e4e4cf7f7459263c3d3
15a4371add0983d5da4672f6fe48da2a289c46d0 12-Mar-2010 Jesse Wilson <jessewilson@google.com> am 6f9b4d2b: Merge "Implementing getBaseUri() for DOM."

Merge commit '6f9b4d2bdccb2ea5e548b908e5cc882d262d0940' into dalvik-dev

* commit '6f9b4d2bdccb2ea5e548b908e5cc882d262d0940':
Implementing getBaseUri() for DOM.
823f55a9989fc8904adffeb1a91c018f66d5f3ab 12-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Implementing getBaseUri() for DOM."
121068ecc6ba65ef7160778fbe0615564c85163c 11-Mar-2010 Jesse Wilson <jessewilson@google.com> Implementing getBaseUri() for DOM.

The tests for this uncover problems with the RI's implementation.
It does bizarre things with hashes, trashing the absolute URI and
returning a page-relative one (like "#foo").

Change-Id: Ib8af163a7b359e3f72a9c94eb3dd7e81e3a9a95c
9e08a7179a1548d435b92c5e938708823e075b2c 11-Mar-2010 Bill Buzbee <buzbee@google.com> am 4527387d: Jit: Make debugging mode aware of inlineExecute/moveResult optimization

Merge commit '4527387dd3b5c4dce7300c764805ffd0f3d22649' into dalvik-dev

* commit '4527387dd3b5c4dce7300c764805ffd0f3d22649':
Jit: Make debugging mode aware of inlineExecute/moveResult optimization
eb7d5e1ed350ba277a7eb1c46cd5b10978dc261c 11-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Make debugging mode aware of inlineExecute/moveResult optimization

The Jit has a mode in which selected opcodes can be handled normally
or single-stepped in the interpter. This was broken for cases in
which the Jit applied an optimization to fold inlineExecute/moveResult
intruction pairs into a single operation and the debug mode was set
to handle the two opcodes differently.

Change-Id: Ifa436d4ba66ba0c13ea366c0956e6cf92ce9cdfd
7bb1ad64210c66f7c98d37be203ffae79042e9ac 11-Mar-2010 Elliott Hughes <enh@google.com> Throw UnknownFormatConversionException instead of AssertionError.

There's already a perfectly good exception to throw when we see
a format conversion we don't understand, and my assertion prevented
us from getting to the code that would have thrown it.

Change-Id: I38fdd95482a3d48e26b68b045444f45e94ffc26f
4befeb5c039d1f57876469eaa43b9ce86b1d3c23 11-Mar-2010 Elliott Hughes <enh@google.com> Merge "Don't silently ignore arguments just because we don't take any." into dalvik-dev
4b2a82da6ebc6da6ceeb407f3e2c200115b601d6 11-Mar-2010 Colin Cross <ccross@android.com> am dad7a0ef: Merge "Add armv7-a-neon build target"

Merge commit 'dad7a0ef6e5f056f0842f03ff3b8285ef29e6f01' into dalvik-dev

* commit 'dad7a0ef6e5f056f0842f03ff3b8285ef29e6f01':
Add armv7-a-neon build target
81fbbd666fbf01162033a5001fd8cc8cc4aa907e 11-Mar-2010 Colin Cross <ccross@android.com> Merge "Add armv7-a-neon build target"
b09504ec5e3ffefb2529d65c2f13238d063fa5d1 11-Mar-2010 Elliott Hughes <enh@google.com> Don't silently ignore arguments just because we don't take any.

Change-Id: Ie1d97b1b8a8a87cc8298a6de417104db324e9b47
43641c4a9088e827c3dc44d56dcc7bfeebac71f1 11-Mar-2010 Elliott Hughes <enh@google.com> Merge "Tidy up java.lang.Math and java.lang.StrictMath." into dalvik-dev
4c00e9fca0cc1fb938d9445f07a4a7e2acbd4510 11-Mar-2010 Andy McFadden <fadden@android.com> Merge "Minor fixes." into dalvik-dev
bdfac75f74cc604281a24e53b8b55a6f658f82bb 11-Mar-2010 Elliott Hughes <enh@google.com> Tidy up java.lang.Math and java.lang.StrictMath.

Removes duplication, fixes typos, and removes some unnecessary object creation.
Note that otherwise-duplicated code that calls a native method needs to remain
duplicated, because the native methods have different implementations. Other
than that, it's not clear to me that the remaining textual differences (mainly
scalb and its implementation details) are meaningful, but it's not clear that
they're not, so I'm leaving them for now. We can always come back later.

This new code still passes all the junit and jtreg tests.

Change-Id: Ica28a01fd1469a162e05deccdb9e6f919246d9f3
288e7b5edf1a1d12abdabcf02979f3ba9aa77421 11-Mar-2010 Xavier Ducrohet <xav@android.com> am f854a794: Merge "remove System.*.println when ddm dispatch fails."

Merge commit 'f854a79457ca12a18acb76070c98e622e6c660c5' into dalvik-dev

* commit 'f854a79457ca12a18acb76070c98e622e6c660c5':
remove System.*.println when ddm dispatch fails.
2bc133fc46c07d1aa517bb8836648d594b88ef93 11-Mar-2010 Xavier Ducrohet <xav@android.com> Merge "remove System.*.println when ddm dispatch fails."
a6e47bd2b84accde3e37e9e9581f3df512227e1e 11-Mar-2010 Elliott Hughes <enh@google.com> Copy harmony's jdk6 Math and StrictMath.

There's some ugliness here I want to remove, but it'll be less confusing if
I commit the upstream code first without my changes...

...that said, I've reverted the upstream Math.pow change because it it's just
cruft; we already pass their tests and jtreg's more thorough pow tests (see
http://blogs.sun.com/darcy/entry/finding_a_bug_in_fdlibm). My guess is that
their real problem was that they were using the buggy fdlibm 5.2 until after
they made the Math.pow change. We've always used 5.3, so we were fine.

Change-Id: I5a6c080d9fd6b60dc7bf77ac10096a913766f512
a53c06b13f22ef27213a0c7e0ffa5353841ccacc 11-Mar-2010 Andy McFadden <fadden@android.com> Minor fixes.

Quieted a couple of warnings about constness.

Added "synchronized" to BootClassLoader.getInstance(), which creates the
instance on first use.

Change-Id: I4a521bb2c6853b1ad8a118aa53f697be18b69280
d41954fba414fd3865ad851ca98fae539a86faa7 10-Mar-2010 Elliott Hughes <enh@google.com> Escape ASCII NUL before trying to put it in XML, because XML can't cope.

Our sholes continuous build is having XML trouble with a FormatterTest
failure that outputs ASCII NUL. Ideally, our junit test runner would escape
all non-printable ASCII as \u escapes, but this seems like a minimal change,
and it's one we already have in the equivalent jtreg code.

Change-Id: Ib9b3219c25515fb358c204d45cb5064293a85b9f
bab10769f35681b5542c355d6a45cce9b9f43f00 10-Mar-2010 Xavier Ducrohet <xav@android.com> remove System.*.println when ddm dispatch fails.

Those messages are sometimes displayed to the user executing
the am command and can be really confusing (they are totally
benign)

Change-Id: I09c194a02ddc956ec52f19faa03ca9aa1eba604b
fe9a297eebdd6dff056969d106eb6c34c0123d06 10-Mar-2010 Andy McFadden <fadden@android.com> am 504af654: Merge "Rearrange the way SignalCatcher writes logs."

Merge commit '504af654f481ba978bbd2e216b3f05f9dfa55c00' into dalvik-dev

* commit '504af654f481ba978bbd2e216b3f05f9dfa55c00':
Rearrange the way SignalCatcher writes logs.
f15167d73c309f312381bc1d57632c4468ca7d39 10-Mar-2010 Andy McFadden <fadden@android.com> Merge "Rearrange the way SignalCatcher writes logs."
9c8a1ab9dde9c35913a6bb8b9d2beb932187d92a 10-Mar-2010 Andy McFadden <fadden@android.com> Rearrange the way SignalCatcher writes logs.

This is an attempt to reduce the amount of time that threads are suspended
while dumping stack traces in response to a SIGQUIT. This is primarily
for ANRs and bugreport generation, where many different apps may be trying
to write their stacks out concurrently.

Instead of grabbing the file with flock() and then printing the traces
to the file, we render the traces to memory and write them with a single
write() call to an O_APPEND fd. Also, the file access now occurs after
the VM threads have been resumed to avoid stalling on I/O.

No change was made to the format of the output.

For bug 2504471.

Also: did some rearranging in the file.

Change-Id: If505ec014237289a6cc86aa09bc66b3a126b345c
fd3dbbf33f135f06240ff786d607c0de965600f5 10-Mar-2010 Elliott Hughes <enh@google.com> Merge "Fix Issue 7036: java.math.BigInteger ctor accepts invalid input." into dalvik-dev
7303af557404c0b93a1e0366a1240c01d18761a8 10-Mar-2010 Elliott Hughes <enh@google.com> Fix Issue 7036: java.math.BigInteger ctor accepts invalid input.

OpenSSL's BN library accepts pretty much all input, so if we want to follow
Java's rules, we have to implement them ourselves.

(The FormatterTest change is unrelated and fixes outstanding build breakage
caused by me.)

Bug: http://code.google.com/p/android/issues/detail?id=7036
Change-Id: I0f5413b56fad9289644927672bebf7c3d57e8042
e5969864cdfd525f53edaa32f3b918ad0c68f01b 10-Mar-2010 Ben Cheng <bccheng@android.com> am 72621c9d: Pad the page containing ARM code in the JIT code cache to work around a CPU bug.

Merge commit '72621c9d3c175b0f9b239de5b0bcd83c7e5984e8' into dalvik-dev

* commit '72621c9d3c175b0f9b239de5b0bcd83c7e5984e8':
Pad the page containing ARM code in the JIT code cache to work around a CPU bug.
a4301d4e0f335bdcc935eddc426b12445ef9a648 10-Mar-2010 Ben Cheng <bccheng@android.com> Pad the page containing ARM code in the JIT code cache to work around a CPU bug.

Bug: 2501147

Verified with seeing the following line in the log. The 4096 number confirms
that the ARM handler code is using a full page.

D/dalvikvm( 369): 21 compilations using 4096 + 1288 bytes

Change-Id: I89e1473ce9a4353f58f740e1c86d358d3fec33b2
d50668651141ff2dcaf31462bfd5541aa2d107b9 10-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6 additions to Double, Enum, Float, and String.

I rewrote the documentation for Double, Enum, and Float, but the "code" is the
same as harmony's. I rewrote the String code and wrote some tests to ensure
that a malicious Charset can't subvert String immutability.

I've also extracted the Android-specific bits of StringTest (which weren't
testing String at all) and brought back the latest harmony StringTest.java.

(The Class and Package changes are just to placate our API comparison tools.)

Bug: 2497395
Change-Id: Id57bda806891c3c85adfcb3b85eea8a8fad2c7b4
5071b5ef57170ab47425a66f12f13a9596ae81b7 10-Mar-2010 Jesse Wilson <jessewilson@google.com> am 33a939f4: Merge "New tests for JSONObject and for JSON\'s self-use."

Merge commit '33a939f4c016698866b495c5e752e8c16ccef0b3' into dalvik-dev

* commit '33a939f4c016698866b495c5e752e8c16ccef0b3':
New tests for JSONObject and for JSON's self-use.
a31d0c070abfcf551bfcf90e2ea04d916c256535 10-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "New tests for JSONObject and for JSON's self-use."
78a374b5b15bdb6c22f63e4a75dca7636b12b6a6 10-Mar-2010 Jesse Wilson <jessewilson@google.com> New tests for JSONObject and for JSON's self-use.

Alongside development of these tests, I'm working on a new
cleanroom implementation. The self use test was written to
prevent me from self-using in a way that the original
implementation does not.

Change-Id: Ie617aca1978bd39d85b05e5c2c7bd657ed159dd6
0fb1c0cd6dcd2c07fd563e36b9286c906bf826d4 10-Mar-2010 Andy McFadden <fadden@android.com> am 77fbf5c2: Merge "If a finalizer wedges, raise prio and retry."

Merge commit '77fbf5c29a9dd62f64e8e98376724b86e79ae8f6' into dalvik-dev

* commit '77fbf5c29a9dd62f64e8e98376724b86e79ae8f6':
If a finalizer wedges, raise prio and retry.
6f096c60aaef969c2779778c76677b0564d5b997 10-Mar-2010 Andy McFadden <fadden@android.com> Merge "If a finalizer wedges, raise prio and retry."
c1e282f6477e6001e9a0f3492b5f6672be82eb09 10-Mar-2010 Elliott Hughes <enh@google.com> am 40bd3d28: Merge "Work around droiddoc bug http://b/2022288."

Merge commit '40bd3d28fb2f34f060e7413cc19eeeb195c0ff90' into dalvik-dev

* commit '40bd3d28fb2f34f060e7413cc19eeeb195c0ff90':
Work around droiddoc bug http://b/2022288.
bf022078000da3d351c14aac91a74506c44a9363 10-Mar-2010 Elliott Hughes <enh@google.com> Merge "Work around droiddoc bug http://b/2022288."
3d79ace3a3ef57e82dc4647d70b71104c5a0ca36 10-Mar-2010 Elliott Hughes <enh@google.com> Work around droiddoc bug http://b/2022288.

Change-Id: Ib46a260916dee99f190aa8b9465f4f2d3b04aa67
f46baa96ea87c594c4452b710e5de555f64628e9 10-Mar-2010 Ben Cheng <bccheng@android.com> am f9135f32: Merge "Align fake data in the same page offsets as those in the bugreport."

Merge commit 'f9135f326ac0556f1d6e8f9bcf161e4a6d618678' into dalvik-dev

* commit 'f9135f326ac0556f1d6e8f9bcf161e4a6d618678':
Align fake data in the same page offsets as those in the bugreport.
f6e304dad36b2f0205b8002ba2cc40e79cb68267 10-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Align fake data in the same page offsets as those in the bugreport."
3c3ed296530e855bf183f0d5fa2f366db979ced8 10-Mar-2010 Ben Cheng <bccheng@android.com> Align fake data in the same page offsets as those in the bugreport.

Sometimes the crash in the JIT'ed code is due to CPU bugs which are sensitive
to placement of the code.

Change-Id: I017ec3620f8172e2fac9e7abfa07f76b65db2306
ca7178b2275a85fe5fba01134e3ac2834f31f50d 10-Mar-2010 Elliott Hughes <enh@google.com> am 16e0f24a: Another go at making droiddoc as happy as javadoc...

Merge commit '16e0f24a8641d1cdf059ae15a5bf60a3e553ce1b' into dalvik-dev

* commit '16e0f24a8641d1cdf059ae15a5bf60a3e553ce1b':
Another go at making droiddoc as happy as javadoc...
419f8cdf446f99152b84618203ca7d9cd875e9b7 10-Mar-2010 Elliott Hughes <enh@google.com> Another go at making droiddoc as happy as javadoc...

Change-Id: I70dd8d57053a6e60b9be0cbe8a95d9937d9b00ef
ff70dba8a711bf56c76489f8d18a5d681feb9250 10-Mar-2010 Elliott Hughes <enh@google.com> am 1f6a0425: Fix javadoc errors.

Merge commit '1f6a0425433b4daca86cf4df5854b9dbc5ee57d7' into dalvik-dev

* commit '1f6a0425433b4daca86cf4df5854b9dbc5ee57d7':
Fix javadoc errors.
6a4afee87ff45eae0c5bd4f888151a0b19cbe07f 10-Mar-2010 Elliott Hughes <enh@google.com> Fix javadoc errors.

Change-Id: Ib3eb500006f5b4b1dadf959397fce7737fb53fe7
2eae61a44fcf996f558e204a26cd1879e007222d 10-Mar-2010 Jesse Wilson <jessewilson@google.com> am f5274f62: Merge "Print errors encountered while writing XML reports"

Merge commit 'f5274f62b9badf47965aed8382787273f1516859' into dalvik-dev

* commit 'f5274f62b9badf47965aed8382787273f1516859':
Print errors encountered while writing XML reports
1a79ee9bb6d486fc87e65144a57623b4f4ec4418 10-Mar-2010 Jesse Wilson <jessewilson@google.com> am 5c6839b2: Merge "Implement adoptNode() and importNode()."

Merge commit '5c6839b24356ec7e5aa93a8272472c26abd3df30' into dalvik-dev

* commit '5c6839b24356ec7e5aa93a8272472c26abd3df30':
Implement adoptNode() and importNode().
56d80b6430d3a88e4852b842b0f624812f4e0709 10-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Print errors encountered while writing XML reports"
47feca6b6c8778d7e360e7b1146e2b4cda3f6939 10-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Implement adoptNode() and importNode()."
2f67177130a45200c14c692ba7215c1174a74398 10-Mar-2010 Jesse Wilson <jessewilson@google.com> Implement adoptNode() and importNode().

importNode() shares all of its implementation with Node.clone();
the only areas they differ are the ones we don't support. The
shared code is in 2 new methods, shallowCopy() and cloneOrImportNode(),
both based on the old clone() method.

Also removing some unnecessary "throws DOMException" clauses.

The tests for the new methods are slightly cumbersome. Most move/copy
nodes to another document, serialize that, and compare.

Change-Id: Id9fb076e020d8327a8f70da401af9bd95d7a3d1b
9211e74640e900bf81dccabb483faa9dd417ae49 10-Mar-2010 Jesse Wilson <jessewilson@google.com> Print errors encountered while writing XML reports

Change-Id: I7fdf9f6989c94a3f0fd3ff93db3426a4d080120f
1552e05a5d2fc1ec893d3ef0c6899dc8cfddf509 10-Mar-2010 Andy McFadden <fadden@android.com> If a finalizer wedges, raise prio and retry.

The VM uses a watchdog mechanism to detect stuck finalizers. It appears
that, in some cases, the watchdog may be firing because the HeapWorker
thread in a background process doesn't get any CPU time after a
remotely-induced GC finishes. With this change, if the HeapWorker is
running at a reduced priority, we raise the priority and allow it to
try some more.

No attempt is made to put the thread priority back. (The HeapWorker
thread doesn't do anything in an idle process, and what it does do is
geared toward freeing one kind of resource or another.)

For bug 2492196.

Change-Id: Ic734c2e2819b9d60d20b2961f2a75085d5879495
7e031d08eb44120bc081a53d23425a83a1ba4bb4 09-Mar-2010 Elliott Hughes <enh@google.com> am a6d228d4: Merge "Minor documentation improvements."

Merge commit 'a6d228d44153ea2ee831eba1d41cd363989cdf7e' into dalvik-dev

* commit 'a6d228d44153ea2ee831eba1d41cd363989cdf7e':
Minor documentation improvements.
ab79046eb3eeb4a90be52923eaab1773b25033ed 09-Mar-2010 Elliott Hughes <enh@google.com> Merge "Minor documentation improvements."
e2a4810fc15f94492463758940df6f19a10a93f5 09-Mar-2010 Elliott Hughes <enh@google.com> Minor documentation improvements.

Based on user-submitted bugs that were just misunderstandings, plus
implementation bugs caused by the intended behavior being somewhat
subtle.

Change-Id: Ic2606b5e57dadc95a35c2d0a977c01434a2fa28a
8427968302d90371c40b5c171b937abf47d45b9b 09-Mar-2010 Brian Carlstrom <bdc@google.com> am a536d01c: Merge "Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)"

Merge commit 'a536d01c1c0119322d655a9ec35665a36abbed6d' into dalvik-dev

* commit 'a536d01c1c0119322d655a9ec35665a36abbed6d':
Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)
316804345ed61099f0546759d7661b8a8f6f2807 09-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)"
c6e4b2750b12ac3c811946d752b27b6904df7d8d 09-Mar-2010 Brian Carlstrom <bdc@google.com> Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)

Now if certimport.sh is run on a machine without the
BouncyCastleProvider installed, it will suggest how to apt-get install
the proper package.

At enh's suggestion, I tried running with out own local Bouncy Castle
classes to see what would happen, but the code ended up depending on
our NativeCrypto JNI code and there that isn't proper JNI code to be
loading into a RI JDK.

Also at enh's suggestion, we now prepend a JDK 1.6 bin directory to
the path for correctly correct default behavior. I do make sure it
exists and warn if it does not.

Change-Id: Ic936a6cc69fa3795e917c052ed79d19b2e66b5a1
d24dd150788fbc2c3140195322e61d79df9561d8 09-Mar-2010 Colin Cross <ccross@android.com> Add armv7-a-neon build target

Change-Id: I981d55b53f6b3c185fe93384924bdbe18057132c
0f7550ed07e1a4f543bc2e1f9d04c67f42ff65a0 09-Mar-2010 Carl Shapiro <cshapiro@google.com> am 699c9eb5: Merge "Hoist shape discrimination above thin lock owner test in the lock procedure. It is unsafe to reckon a thin lock owner without having first determined that the bit pattern of the lock word corresponds to that of a thin lock. Without proper orderin

Merge commit '699c9eb5630d4016a984f5b501a7171848e8daa9' into dalvik-dev

* commit '699c9eb5630d4016a984f5b501a7171848e8daa9':
Hoist shape discrimination above thin lock owner test in the lock
56f600bf5134547baaf3b03d7ecfb6595d63b593 09-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Hoist shape discrimination above thin lock owner test in the lock procedure. It is unsafe to reckon a thin lock owner without having first determined that the bit pattern of the lock word corresponds to that of a thin lock. Without proper ordering, a monitor lock can and will be created which, excluding the shape bit, corresponds to a lock owned by the calling thread."
1f7d115167cfc5bbdddb6546e09cd946d8d9f8f1 02-Mar-2010 Barry Hayes <bhayes@google.com> Change Class layout to allocate an array of StaticField objects
immediately after the ClassObject, rather than use calloc.

This has the rather surprising and pleasing effect of increasing
charing about 150K per zygote-launced application, as measured at
start-up, after waiting and no-touching.

Change-Id: I6a6c9079f946eb99111326ed45f13ecfe544e4bb
30448e82b561ec4f94b16a8d19593292a557a13b 09-Mar-2010 Barry Hayes <bhayes@google.com> Merge "Previous changes put unlinkedJavaLangClass on the heap. It makes HprofReader unhappy, because it has a NULL class. So now we won't dump objects with a NULL class. This also suppresses dumping of uninitialized objects." into dalvik-dev
cf19eda8a26cfc1d31e41b578f3a108a4637d074 09-Mar-2010 Elliott Hughes <enh@google.com> Fix a comment.

Change-Id: Iba79dbc04876d5c7cb93aba56541e7dda3c6f887
17a74f09c3539254dbf38019cf33ab8c330fb3c0 09-Mar-2010 Elliott Hughes <enh@google.com> Merge "Remove libcore-disabled." into dalvik-dev
505c2f6485ee2f38ef85d82a4d237017cc3361e3 09-Mar-2010 Jean-Baptiste Queru <jbq@google.com> am 3521d8c2: Add an empty CleanSpec.mk

Merge commit '3521d8c26899611b385c685fa903ae2c8f3e0d92' into dalvik-dev

* commit '3521d8c26899611b385c685fa903ae2c8f3e0d92':
Add an empty CleanSpec.mk
760c7cf8f2e0e4c05733871565d858d68de31431 09-Mar-2010 Jean-Baptiste Queru <jbq@google.com> Add an empty CleanSpec.mk

Change-Id: I43d2404e71aa2bc0d3d6aada35d613bb484129e7
6380a213f3ce34a7bf96332097abe14cd8e8f1ac 09-Mar-2010 Elliott Hughes <enh@google.com> Fix build (missing #include in sim build).

Change-Id: I8691db582f2d2d926da308a813d9f1864bedcd6d
52a77cf39dfc3d804bd9bb5bbf471fa68aacb8f0 09-Mar-2010 Elliott Hughes <enh@google.com> Remove libcore-disabled.

It's in revision control if we ever need it, and we won't.

Change-Id: I1f6f15b83047c266400ea5d7ab2f8fc51bf9e2b7
a34ae13c62a69971baeb8c4817ec7b94b8ff15d5 09-Mar-2010 Elliott Hughes <enh@google.com> Merge "Implement the Java 6 NetworkInterface/InterfaceAddress functionality." into dalvik-dev
6625803673df7abfe5ef9052cdae295a9320f251 05-Mar-2010 Elliott Hughes <enh@google.com> Implement the Java 6 NetworkInterface/InterfaceAddress functionality.

The Java bits are based on harmony's code (though only the bit that pulls
out the sub-interfaces is copied verbatim), but the native side is new
code, continuing our previous plan of (a) doing the least possible work
on the native side and (b) using the BSD getifaddrs(3) interface as our
portability layer.

This patch also updates our NetworkInterfaceTest to be the latest code
from harmony's java6 branch.

We pass all the harmony and jtreg tests, and visual inspection shows that
the untested (and hard to test) bits -- such as prefix length and hardware
address -- are correct.
8db7836eaf6a93a8d05d4fd1f35c4181bbd26c41 09-Mar-2010 Jesse Wilson <jessewilson@google.com> am 631bbbff: Merge "Adding support for getUserData() and setUserData() to DOM nodes."

Merge commit '631bbbff684e9fe41a5a08ffa3e13fa3bed01212' into dalvik-dev

* commit '631bbbff684e9fe41a5a08ffa3e13fa3bed01212':
Adding support for getUserData() and setUserData() to DOM nodes.
7f70d3555332978fbfe4fec67b60e12537d4b147 09-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding support for getUserData() and setUserData() to DOM nodes."
b81c0096995a8742de03f39f3a19c20ae515793d 09-Mar-2010 Jesse Wilson <jessewilson@google.com> Adding support for getUserData() and setUserData() to DOM nodes.

Also making sure both Document and DocumentType get assigned
a Document value when possible; this is necessary to store the
user data objects.
3251f789adc67af8d89337662cd29fd366ce928b 08-Mar-2010 Carl Shapiro <cshapiro@google.com> Hoist shape discrimination above thin lock owner test in the lock
procedure. It is unsafe to reckon a thin lock owner without having
first determined that the bit pattern of the lock word corresponds to
that of a thin lock. Without proper ordering, a monitor lock can and
will be created which, excluding the shape bit, corresponds to a lock
owned by the calling thread.

In addition, move compiler barriers so they immediately preceed base
address publication. Also, kill cargo-cult volatiles that confounded
my bug hunt.
3eb1f2afd37aec4971fefcff89ba041aef0e3914 08-Mar-2010 Barry Hayes <bhayes@google.com> Previous changes put unlinkedJavaLangClass on the heap. It makes
HprofReader unhappy, because it has a NULL class. So now we won't
dump objects with a NULL class. This also suppresses dumping of
uninitialized objects.

Change-Id: Ie6713d4e665ab6e518f13338367ee874903e2862
04c3dcfe14dbb8fa2c99c63c94fdb4dc2aee6999 08-Mar-2010 Elliott Hughes <enh@google.com> Merge "Support IPv4-compatible IPv6 addresses on IPv4 sockets." into dalvik-dev
019d6799e16ff0dae6d18a95e8ade02a83124cae 08-Mar-2010 Bill Buzbee <buzbee@google.com> am 2fc03c33: Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabled

Merge commit '2fc03c3399cc33dc1c7d669e8970a87144ec7b97' into dalvik-dev

* commit '2fc03c3399cc33dc1c7d669e8970a87144ec7b97':
Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabled
d93fe4df650c0713ae11564294b9531e9524a85b 08-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabled

As part of shutdown, the Jit needs to unchain all translations so that
they can respond to suspend requests. This change introduces a
dvmJitUnchainAll() into shutdown, and also removes some previous
housecleaning that freed our key tables. We can't actually free those
because suspended threads in the process of shutting down may hold
references.

Change-Id: I7aad332e7195a94970c25a25b2d9fda5607bec08
8217ea8aff78d4969b77de7eca4051e9177c3f6b 06-Mar-2010 Elliott Hughes <enh@google.com> Support IPv4-compatible IPv6 addresses on IPv4 sockets.

Bug: 2194581
Change-Id: I825835280e9d7d88a4db3fa817dfb4234fc19039
94af5f9627ac1e1cdedb64f12f0d4483d539e783 08-Mar-2010 Bill Buzbee <buzbee@google.com> am fc519dc8: Jit: Make most Jit compile failures non-fatal; just abort offending translation

Merge commit 'fc519dc8f4444f6d93806ec15ce7445b322070fd' into dalvik-dev

* commit 'fc519dc8f4444f6d93806ec15ce7445b322070fd':
Jit: Make most Jit compile failures non-fatal; just abort offending translation
6cee0225c3e7124651d64aec01feb40e2692ab7b 07-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Make most Jit compile failures non-fatal; just abort offending translation

Issue 2175597 Jit compile failures should abort translation, but not the VM

Added new dvmCompileAbort() to replace uses of dvmAbort() when something goes
wrong during the compliation of a trace. In that case, we'll abort the translation
and set it's head to the interpret-only "translation".
41754873147494f6cc2107af7c544f576723b20e 06-Mar-2010 Carl Shapiro <cshapiro@google.com> am 164d1279: Merge "Jit: Fix for issue 2487769, Simplify in-line thin lock release"

Merge commit '164d1279b67ec13061e473cb453b1ff24189e0e0' into dalvik-dev

* commit '164d1279b67ec13061e473cb453b1ff24189e0e0':
Jit: Fix for issue 2487769, Simplify in-line thin lock release
f8e93de449f9c480195e15694bff0a722eae39bc 06-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Jit: Fix for issue 2487769, Simplify in-line thin lock release"
f175a18f82eb108847bbfdb6dd461b7744ed491d 06-Mar-2010 Elliott Hughes <enh@google.com> Use a manually-synchronized HashMap instead of ConcurrentHashMap in LocaleData.

ConcurrentHashMap is our slowest choice at the moment:

ConcurrentHashMapGet 782 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HashMapGet 272 XXXXXXXXXX|||||||||||||||
HashMapGet_Synchronized 317 XXXXXXXXXXXX|||||||||||||
HashtableGet 325 XXXXXXXXXXXX||||||||||||||
LinkedHashMapGet 280 XXXXXXXXXX|||||||||||||||

The cost of some commonly-created temporary objects (such as
DateFormatSymbols) is dominated by the lookup of the locale data. This patch
takes "new DateFormatSymbols" from 3us to 2.3us on passion/froyo (a 23% drop).

Bug: 2492505
75947aa73a2e5a712e984ea43bc9be85fa988162 06-Mar-2010 Ben Cheng <bccheng@android.com> am f8069e84: Merge "Collect more JIT stats in the assert build."

Merge commit 'f8069e844054d29f320a9ece29fc638a884bbf69' into dalvik-dev

* commit 'f8069e844054d29f320a9ece29fc638a884bbf69':
Collect more JIT stats in the assert build.
9ef3396a498f613f78625a457c289e212788d342 06-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Collect more JIT stats in the assert build."
6934955a6281fcda46b24d8d254b0806e42a2233 06-Mar-2010 Ben Cheng <bccheng@android.com> Collect more JIT stats in the assert build.

New stuff includes breakdown of callsite types (ie monomorphic vs polymorphic
vs monoporphic resolved to native), total time spent in JIT'ing, and average
JIT time per compilation.

Example output:
D/dalvikvm( 840): 4042 compilations using 1976 + 329108 bytes
D/dalvikvm( 840): Compiler arena uses 10 blocks (8100 bytes each)
D/dalvikvm( 840): Compiler work queue length is 0/36
D/dalvikvm( 840): size if 8192, entries used is 4137
D/dalvikvm( 840): JIT: 4137 traces, 8192 slots, 1099 chains, 40 thresh, Non-blocking
D/dalvikvm( 840): JIT: Lookups: 1128780 hits, 168564 misses; 179520 normal, 6 punt
D/dalvikvm( 840): JIT: noChainExit: 528464 IC miss, 194708 interp callsite, 0 switch overflow
D/dalvikvm( 840): JIT: Invoke: 507 mono, 988 poly, 72 native, 1038 return
D/dalvikvm( 840): JIT: Total compilation time: 2342 ms
D/dalvikvm( 840): JIT: Avg unit compilation time: 579 us
D/dalvikvm( 840): JIT: 3357 Translation chains, 97 interp stubs
D/dalvikvm( 840): dalvik.vm.jit.op = 0-2,4-5,7-8,a-c,e-16,19-1a,1c-23,26,28-29,2b-2f,31-3d,44-4b,4d-51,60,62-63,68-69,70-72,76-78,7b,81-82,84,87,89,8d-93,95-98,a1,a3,a6,a8-a9,b0-b3,b5-b6,bb-bf,c6-c8,d0,d2-d6,d8,da-e2,ee-f0,f2-fb,
D/dalvikvm( 840): Code size stats: 50666/105126 (compiled/total Dalvik), 329108 (native)
e4012cd324c39604f2de002447da1df273cee9ab 06-Mar-2010 Costin Manolache <costin@google.com> am 1a29c735: Merge "Fix server side SSLEngine ServerKeyExchange signature."

Merge commit '1a29c735752f4082c8e32347f4a6b10c4fdeb1f5' into dalvik-dev

* commit '1a29c735752f4082c8e32347f4a6b10c4fdeb1f5':
Fix server side SSLEngine ServerKeyExchange signature.
159048f5aca2bb87d653c787f3a2a51f8d246bb8 05-Mar-2010 Costin Manolache <costin@google.com> Merge "Fix server side SSLEngine ServerKeyExchange signature."
df874be15ef484b8a0ca429e6d37f181d29dd80c 05-Mar-2010 Andy McFadden <fadden@android.com> Merge "Add instructions for volatile wide fields." into dalvik-dev
2aa7b1c27c01205eb5917f729e46e9bece5040c3 05-Mar-2010 Andy McFadden <fadden@android.com> Add instructions for volatile wide fields.

This adds four new instructions for accessing volatile wide fields (long
and double). The JLS requires that such accesses are atomic, but the
VM doesn't otherwise make guarantees about the atomicity of reads and
writes on 64-bit fields.

There are no behavioral changes. This just adds definitions for the new
instructions and a couple of tests. The current implementation is just
the non-volatile form of the instructions or a C stub, but since we're
not generating them it doesn't really matter yet.

Also:
- bumped Dalvik version to 1.3.0
- added a note to the x86-atom TODO list

For bug 1633591.
df876eb0100d738770d4a307c9bfc83a57422f28 05-Mar-2010 Barry Hayes <bhayes@google.com> Merge "Fix a broken assert and some broken comments about unlinkedJavaLangClass." into dalvik-dev
4a69328c42331aebd00d25f0429340af06fb742c 05-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Fix for issue 2487769, Simplify in-line thin lock release

The Jit was using ldrex/strex to clear an owned thin lock in the
fast path. This was not necessary - an integer store works and is
much faster.
3de056bd325f5ef30b15fd80c6e259b077bf3d64 05-Mar-2010 Jesse Wilson <jessewilson@google.com> am 101cbfe4: Merge "Implementing the Java 7 APIs for DeflaterOutputStreams."

Merge commit '101cbfe486ad1744f666e924f600dd1b8cdecea7' into dalvik-dev

* commit '101cbfe486ad1744f666e924f600dd1b8cdecea7':
Implementing the Java 7 APIs for DeflaterOutputStreams.
e7c4aa6f21fa3f37c31d8a5485ead36c70a4baa9 05-Mar-2010 Barry Hayes <bhayes@google.com> Fix a broken assert and some broken comments about unlinkedJavaLangClass.
6df01d1f5b11d43106ee3aba153a85691cc09fc6 05-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Implementing the Java 7 APIs for DeflaterOutputStreams."
dd85cda9970768cfbafbda8b201c01f8f9e3dc72 05-Mar-2010 Jesse Wilson <jessewilson@google.com> Implementing the Java 7 APIs for DeflaterOutputStreams.

See bug 1729487.
ecd62ee60bbb5f7919b74eb2671a9fefab035e21 02-Mar-2010 Costin Manolache <costin@google.com> Fix server side SSLEngine ServerKeyExchange signature.

Code using SSLEngine for non-blocking SSL can't talk with openssl as a client,
since the signature is computed on different content (and openssl checks it,
unlike java). The fix is to use strip the 0x00 prefix when signing - like
it is done when generating the message, refactored both to use a common
method. We also include the length in the signature, it was also missing.
430bd1784a6fe0746b3afa0db93b002b2e61d622 04-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Add messages to the ArrayStoreExceptions thrown by arraycopy()." into dalvik-dev
d12d593aec518210ab94a9b8aade6121919a8217 04-Mar-2010 Elliott Hughes <enh@google.com> am c9b3aeb6: Prevent java.text.Normalizer from getting a default constructor.

Merge commit 'c9b3aeb659ac420bdc3d3c550423ab1fec5fde4c' into dalvik-dev

* commit 'c9b3aeb659ac420bdc3d3c550423ab1fec5fde4c':
Prevent java.text.Normalizer from getting a default constructor.
682b2575ad4ca116a95aeb8781b0d0e767af185e 04-Mar-2010 Elliott Hughes <enh@google.com> Prevent java.text.Normalizer from getting a default constructor.

The dalvik continuous build's new jdiff run caught this.
7bfe9e4ed967b7a42334a3c1f8d3fe6135e9d53a 04-Mar-2010 Elliott Hughes <enh@google.com> am 042cc582: Merge "Don\'t call a method that can be overridden from File\'s constructors."

Merge commit '042cc58283c6a16db56fd758481388eee0f78619' into dalvik-dev

* commit '042cc58283c6a16db56fd758481388eee0f78619':
Don't call a method that can be overridden from File's constructors.
7a790aa49b6ad84ac188545fd6679f222dc84094 04-Mar-2010 Elliott Hughes <enh@google.com> Merge "Don't call a method that can be overridden from File's constructors."
0491a0f716c389a9c93c4985bd5c372133e7689e 04-Mar-2010 Andy McFadden <fadden@android.com> am 21cb2bea: Merge "Update local copy of getSchedulerGroup."

Merge commit '21cb2bead6020dfcb7c594638dddd36528b4ef41' into dalvik-dev

* commit '21cb2bead6020dfcb7c594638dddd36528b4ef41':
Update local copy of getSchedulerGroup.
7c9c4fde7e1e1ec7d754679664e6c9360743bdfb 04-Mar-2010 Andy McFadden <fadden@android.com> Merge "Update local copy of getSchedulerGroup."
8035e434dd35a095ba6fa9d125c72121147279d6 04-Mar-2010 Elliott Hughes <enh@google.com> Don't call a method that can be overridden from File's constructors.

Bug: 2486943
75ef14634bd85bd2a83e78952c6d9fd99e5c5a27 03-Mar-2010 Jesse Wilson <jessewilson@google.com> Add messages to the ArrayStoreExceptions thrown by arraycopy().

See bug 2396302.
e7c74cac4e7bf0aeaa6eda75efa9dfdd0fa905be 04-Mar-2010 Andy McFadden <fadden@android.com> Update local copy of getSchedulerGroup.

The getSchedulerGroup() in libcutils was updated, but for some reason we
have our own copy in the VM. This change brings it up to date so we
stop crashing every time something requests a virtual stack (e.g. with a
"kill -3 <pid>").

(The function is now an exact clone -- the previous version was slightly
modified.)
51d3434f44ac3c2e1a1312ed4a1718c7c10d4b92 04-Mar-2010 Bill Buzbee <buzbee@google.com> am 85a3fa26: Merge "Jit: Sapphire tuning - mostly scheduling."

Merge commit '85a3fa260497657c62de2186841b243e177330eb' into dalvik-dev

* commit '85a3fa260497657c62de2186841b243e177330eb':
Jit: Sapphire tuning - mostly scheduling.
40b81022367ebf7b5f4de36e1cefdf4d450b7398 04-Mar-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Sapphire tuning - mostly scheduling."
289a5d4bde723314bbd103dcc6ac5a44b9db9b2d 03-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Sapphire tuning - mostly scheduling.

Re-enabled load/store motion that had inadvertently been turned off for
non-armv7 targets. Tagged memory references with the kind of memory
they touch (Dalvik frame, literal pool, heap) to enable more aggressive
load hoisting. Eliminated some largely duplicate code in the target
specific files. Reworked temp register allocation code to allocate next
temp round-robin (to improve scheduling opportunities).

Overall, nice gain for Sapphire. Shows 5% to 15% on some benchmarks, and
measurable improvements for Passion.
9435318a751f8044b0a06c6193539fe2dfe92942 03-Mar-2010 Elliott Hughes <enh@google.com> am b99b5cd0: am b16b78db: am 275acdff: Copy Froyo\'s version of MulticastSocketTest to Eclair for CTS.

Merge commit 'b99b5cd0be8ab0d9791768c21ffd0d637b564df8' into dalvik-dev

* commit 'b99b5cd0be8ab0d9791768c21ffd0d637b564df8':
Copy Froyo's version of MulticastSocketTest to Eclair for CTS.
f15b32d0b60aec66061fc46202bf72220d77b277 03-Mar-2010 Elliott Hughes <enh@google.com> am b16b78db: am 275acdff: Copy Froyo\'s version of MulticastSocketTest to Eclair for CTS.

Merge commit 'b16b78db118036d7df2cf5705baa18f34bd42eec'

* commit 'b16b78db118036d7df2cf5705baa18f34bd42eec':
Copy Froyo's version of MulticastSocketTest to Eclair for CTS.
679ae446662bddafe6cc435d6f9f9349e001e0f0 03-Mar-2010 Elliott Hughes <enh@google.com> am 275acdff: Copy Froyo\'s version of MulticastSocketTest to Eclair for CTS.

Merge commit '275acdff64a58f407cec552e7027cb07414b48ef' into eclair-plus-aosp

* commit '275acdff64a58f407cec552e7027cb07414b48ef':
Copy Froyo's version of MulticastSocketTest to Eclair for CTS.
e4011bc76c27e1aa008e63f653b0570d47d1f9e1 03-Mar-2010 Elliott Hughes <enh@google.com> Improve error checking and error reporting in java.util.Formatter.

This causes three new harmony failures, in tests specifically designed to
probe exception priorities (despite the fact that the RI explicitly doesn't
define exception priorities).

Comically, this same change actually fixes 24 jtreg tests that were failing
because of differences in exception priorities between harmony and the RI.

What I care about is that the new code is way easier to understand, shouldn't
waste as much space in our puny instruction caches, should be a more tempting
JIT target, and lets the actual formatting code assume that it's only ever
called in a valid way.

Bug: 2477140
0e64704c30ab2247602f3c2bedddcef50399605d 03-Mar-2010 Elliott Hughes <enh@google.com> Copy Froyo's version of MulticastSocketTest to Eclair for CTS.

Partners are seeing test failures from the old tests, which were very bogus.
e97eaf3790762bbbf3702f31add468d62869ba99 03-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add (but @hide) String.isEmpty and Locale.ROOT." into dalvik-dev
8c06ba3f01773d48156b0b8c7daac780cba92c37 03-Mar-2010 Elliott Hughes <enh@google.com> Add (but @hide) String.isEmpty and Locale.ROOT.
d21ad28b71b9738f2493d6135c509222d2eab46a 03-Mar-2010 Andy McFadden <fadden@android.com> am d682adfa: Merge "Switch thread\'s cgroup during spin-on-suspend."

Merge commit 'd682adface0ef5679e0f272ad7f50deb713b6a5b' into dalvik-dev

* commit 'd682adface0ef5679e0f272ad7f50deb713b6a5b':
Switch thread's cgroup during spin-on-suspend.
bd36b049ac4d59cf64ad28fb965747a58d946f3b 03-Mar-2010 Andy McFadden <fadden@android.com> Merge "Switch thread's cgroup during spin-on-suspend."
5ad6932d7e86dac960c679f4d6a8d2055ad00867 03-Mar-2010 Carl Shapiro <cshapiro@google.com> am fb8eb6b1: Merge "Print the self thread id and the owning thread id in the description of the IllegalMonitorExcpetion throw by unlockMonitor."

Merge commit 'fb8eb6b1534c142ccc91844e6507a3f67d16a457' into dalvik-dev

* commit 'fb8eb6b1534c142ccc91844e6507a3f67d16a457':
Print the self thread id and the owning thread id in the description
571647ffa148c7da863091cd4c8f3eb571b70fb9 03-Mar-2010 Elliott Hughes <enh@google.com> am 59c1f5cb: Use assertEquals rather than assertTrue/assertFalse.

Merge commit '59c1f5cb8bea87144b473170adb0b0dae7267937' into dalvik-dev

* commit '59c1f5cb8bea87144b473170adb0b0dae7267937':
Use assertEquals rather than assertTrue/assertFalse.
15aa8e70a9aa8b27c5ee08986fc4840046a13a49 03-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Print the self thread id and the owning thread id in the description of the IllegalMonitorExcpetion throw by unlockMonitor."
07b0740415dbc5421ac9cf1ae1bc93586f8f5de2 03-Mar-2010 Elliott Hughes <enh@google.com> Use assertEquals rather than assertTrue/assertFalse.
ac836726a7622c31fe4f3efed771f83fb0f48b6b 02-Mar-2010 Andy McFadden <fadden@android.com> Switch thread's cgroup during spin-on-suspend.

Dalvik uses a safe-point suspend mechanism, in which threads are asked
to suspend and do so at their earliest convenience. The thread doing
the asking will sleep-spin until all threads have complied. If a thread
keeps on running, we get a "spin on suspend" situation.

The VM tries to correct matters by raising the priority of the spinning
thread if it's below normal. Until now it was just fiddling with the
"nice" value, but it appears that isn't enough (e.g. bug 2467653). We
now also change the thread's process group from "background" to
"foreground" in an attempt to get it some CPU.

Also includes some changes as part of the Log Reduction Act:

- Don't log the thread stacks on the first spin-on-suspend iteration.
The act of logging can itself be quite a drag.
- Removed the redundant and unnecessary "dumping state" line, as well
as some dead glibc-only code.
- While waiting for daemon threads to shut down, only show the "not
ready yet" message on the first iteration.
7919ae5051eb10baaa118932f689cffa0a605c43 02-Mar-2010 Elliott Hughes <enh@google.com> am 971b5067: Add our home-grown Normalizer tests.

Merge commit '971b50675ea0c140abb326ffb75fe79442eb6eec' into dalvik-dev

* commit '971b50675ea0c140abb326ffb75fe79442eb6eec':
Add our home-grown Normalizer tests.
1a106f933037c05009ea3a105aa5329cf571b529 02-Mar-2010 Brian Carlstrom <bdc@google.com> vogar should chdir to android_root

I often run vogar from various working directories but several
internal paths assume that it is run from the android_root.
ce7074ec13aa6a3b802583e1a16aab2e81042f76 02-Mar-2010 Elliott Hughes <enh@google.com> Add our home-grown Normalizer tests.

Originally https://android-git.corp.google.com/g/42517.
2aeeea0d3a2dbe59291c6ca09c832cfbdc9d87a6 24-Feb-2010 Barry Hayes <bhayes@google.com> Added assert to dvmInterpHandleFillArrayData.
Arrays of objects should never make it to there.
95d9f053662a4c9a01c9cc49e3c6b1043b03c910 01-Mar-2010 Barry Hayes <bhayes@google.com> Move allocation of the uninitialized class object on to the object heap.
ec6e4451b259c7f81378c845686bc8c8f5f66b93 02-Mar-2010 Elliott Hughes <enh@google.com> am 10ebc7d0: Merge "Implement (but @hide) java.text.Normalizer from Java 6."

Merge commit '10ebc7d0b84dcb98e1a7eeac96ef06acdfc8d184' into dalvik-dev

* commit '10ebc7d0b84dcb98e1a7eeac96ef06acdfc8d184':
Implement (but @hide) java.text.Normalizer from Java 6.
71ccfefe211c4fff7691c9c937ff312a16da32cb 02-Mar-2010 Elliott Hughes <enh@google.com> Merge "Implement (but @hide) java.text.Normalizer from Java 6."
012df6a148d672decbc7d44e635590c0a68fe00c 02-Mar-2010 Jesse Wilson <jessewilson@google.com> am acf4a11b: Merge "Implementing almost all of Document.normalizeDocument()."

Merge commit 'acf4a11bf201ccdf4a4d2b429d33757556cdc0ed' into dalvik-dev

* commit 'acf4a11bf201ccdf4a4d2b429d33757556cdc0ed':
Implementing almost all of Document.normalizeDocument().
e514500615084bec36a1042a98ccf645484f8cd0 02-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Implementing almost all of Document.normalizeDocument()."
211e8605bc1861e6a4684d31585b63793ffd41e7 02-Mar-2010 Jesse Wilson <jessewilson@google.com> Implementing almost all of Document.normalizeDocument().

This follows the rules specified by DOMConfiguration. In particular:
- replacing CDATA nodes with text
- splitting CDATA nodes
- merging text nodes
- stripping comments
- detecting invalid characters

I haven't added the normalization code for XML validation or namespaces.
7fa83e3a8960a89a1a0c74bee10bcc5ec078c827 02-Mar-2010 Elliott Hughes <enh@google.com> Implement (but @hide) java.text.Normalizer from Java 6.

Based on https://android-git.corp.google.com/g/42516.

Includes the harmony tests from their Java 6 branch.

Bug: 719001
c27cbfdd4aa55dcfb83aec7e5213b485d0aa4dbd 02-Mar-2010 David 'Digit' Turner <digit@google.com> am 98376a27: Merge "Allow unpriviledged gdbserver to attach to debuggable processes."

Merge commit '98376a27029e3ce4de36e5dc2379600be33ee4ae' into dalvik-dev

* commit '98376a27029e3ce4de36e5dc2379600be33ee4ae':
Allow unpriviledged gdbserver to attach to debuggable processes.
1f4bd15ae108b20c702e03fe24ae21ee8b13d905 02-Mar-2010 David 'Digit' Turner <digit@google.com> Merge "Allow unpriviledged gdbserver to attach to debuggable processes."
12deaa0ce5b659cf523d9be1e83033a4bacf0ad1 23-Feb-2010 David 'Digit' Turner <digit@google.com> Allow unpriviledged gdbserver to attach to debuggable processes.

This patch is used to allow an unprivileged gdbserver binary to
perform a ptrace attach to a debuggable process.

The kernel will only allow the attach to succeed under the following
conditions:

- gdbserver and the process are run under the exact same uids/gids
- the process is dumpable

The second condition requires this patch. The first one is ensured
by different changes to the platform (that don't directly touch Dalvik).

This is part of the work performed to allow native debugging of
applications on production devices.
41305617b364cfca6999eb63b89fa3639001add8 01-Mar-2010 Andy McFadden <fadden@android.com> am def26c1a: Merge "Added a simple check for stray tracked refs."

Merge commit 'def26c1aff8c80079ebfa766773f5405d054d901' into dalvik-dev

* commit 'def26c1aff8c80079ebfa766773f5405d054d901':
Added a simple check for stray tracked refs.
517fe76b446ca49970f6dde4f1fcf60f498f6308 01-Mar-2010 Andy McFadden <fadden@android.com> Merge "Added a simple check for stray tracked refs."
478932a4f02a2343c1983d0de24ba40520422ed9 01-Mar-2010 Andy McFadden <fadden@android.com> am 448cc386: Merge "Added an x86-atom "TODO" list."

Merge commit '448cc386f87564ce251407f7907b7855d317edb7' into dalvik-dev

* commit '448cc386f87564ce251407f7907b7855d317edb7':
Added an x86-atom "TODO" list.
afab152151f94fe7f87e155561a4596ca8a20a6a 01-Mar-2010 Andy McFadden <fadden@android.com> Merge "Added an x86-atom "TODO" list."
2dae3197644c2111c17e85864f56ec58c51b4c9a 01-Mar-2010 Andy McFadden <fadden@android.com> Added an x86-atom "TODO" list.

Besides the obvious things (unimplemented opcodes), this points out a
couple of changes that were made to the interpreter and require a
corresponding change for x86-atom.
0dbc6cde0203da5a07db2b909356f6ddf9efd238 01-Mar-2010 Elliott Hughes <enh@google.com> Add a missing android-changed marker, fix a half-finished one.
aea389917392d795c29371f9a32cca3770e31963 01-Mar-2010 Elliott Hughes <enh@google.com> Use more efficient idioms for converting types.

(Because we only include the Java 5 JDBC driver, there was less to fix than I
thought; this code is copy & pasted into the other drivers.)
ff2e5471f4b6b650ca99dd07279d4478ff62864b 01-Mar-2010 Andy McFadden <fadden@android.com> Added a simple check for stray tracked refs.

The idea is to make sure the main thread is getting through the VM init
process with an empty tracked references table. If we find any, we
print a warning and dump the table, but continue on anyway.

My test was a trivial dvmMalloc(), which turned up a flaw in the ref
table dump code: it didn't deal with "raw" dvmMalloc sections. So
that's fixed as well.
17d43d1c2eab8e168195374f3b58ea60593bfe9f 01-Mar-2010 Jesse Wilson <jessewilson@google.com> am ad71aa20: Merge "New implementation for DOMConfiguration."

Merge commit 'ad71aa2046502db784a8c861b30b11ddf88044f1' into dalvik-dev

* commit 'ad71aa2046502db784a8c861b30b11ddf88044f1':
New implementation for DOMConfiguration.
00d9eab4845e27fc71ab347a51dcac40b53f90dd 01-Mar-2010 Elliott Hughes <enh@google.com> am 16525029: Merge "Fix a FormatFlagsConversionMismatchException bug I introduced in Froyo."

Merge commit '165250293744f0aadcb0a0bfba1b53b8a4fb99b7' into dalvik-dev

* commit '165250293744f0aadcb0a0bfba1b53b8a4fb99b7':
Fix a FormatFlagsConversionMismatchException bug I introduced in Froyo.
ccf8601f848c03d141f1a4268ae08da67d9db429 01-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "New implementation for DOMConfiguration."
8e9416f4ddf3efd622b9bad4714df10f611a84d2 27-Feb-2010 Jesse Wilson <jessewilson@google.com> New implementation for DOMConfiguration.

This API is disgusting. Its not regular, not typesafe, sparsely
implemented and overly specific. I'm implementing the minimum I can
get away with - exactly the same route taken by the RI.

The Parameter stuff feels a little bit like overkill, but it allowed
me to group related chunks of code together and avoid long chains of
equalsIgnoreCase if statements.

This is necessary to implement Document.normalize(), one of the
last remaining APIs in DOMv3.

Also fixing our implementation of Node.normalize() and adding tests
to discover a bug in that code. Previously a document like this:
"<foo>abc<br>def</foo>"
Would be normalized to this:
"<foo>abcdef<br></foo>"
Which is a horrible bug! Yuck.

Implementation and tests for Document.normalize() are forthcoming.
d6453700361479ef6ab6c6335c786b10c1f41a65 01-Mar-2010 Elliott Hughes <enh@google.com> Merge "Fix a FormatFlagsConversionMismatchException bug I introduced in Froyo."
644f7f9eb5f224061b33482bd3726ee9bce15b30 01-Mar-2010 Andy McFadden <fadden@android.com> am fcc61ec2: Merge "Don\'t set x86 arch variant."

Merge commit 'fcc61ec20932de83d385131983b47f82a2008cd3' into dalvik-dev

* commit 'fcc61ec20932de83d385131983b47f82a2008cd3':
Don't set x86 arch variant.
8e2f870f5e623fa3ca783d3c0a74c49b1d949c33 01-Mar-2010 Jesse Wilson <jessewilson@google.com> am dd55f1bb: Merge "Adding tests to parse document attributes from the DOM."

Merge commit 'dd55f1bba1216e91206255f31de587062ed115b6' into dalvik-dev

* commit 'dd55f1bba1216e91206255f31de587062ed115b6':
Adding tests to parse document attributes from the DOM.
567882dc7836acdd7d5a55e64d753e76eacb344a 01-Mar-2010 Andy McFadden <fadden@android.com> am f109fc4a: Merge "Update a few things in x86-atom."

Merge commit 'f109fc4aa8b26984e135cb8321bdde69b64c7878' into dalvik-dev

* commit 'f109fc4aa8b26984e135cb8321bdde69b64c7878':
Update a few things in x86-atom.
f001d7e977230645d494f5f9d5066a021b284d58 01-Mar-2010 Ben Cheng <bccheng@android.com> am 40094c16: Tweak the interpreter entries and 2nd level trace filter to capture more traces.

Merge commit '40094c16d9727cc1e047a7d4bddffe04dd566211' into dalvik-dev

* commit '40094c16d9727cc1e047a7d4bddffe04dd566211':
Tweak the interpreter entries and 2nd level trace filter to capture more traces.
9021d63e464a9a74a0fe1c80800acd4ca548253c 28-Feb-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of e84bea92 to dalvik-dev
99cff91216226dfad12e0461641bc0b3f7f9608b 28-Feb-2010 Elliott Hughes <enh@google.com> Merge "Upgrade our sqlite JDBC driver to version 20100131." into dalvik-dev
63314cb83983cd9dd74cf80bc4538dd0a0925739 28-Feb-2010 Elliott Hughes <enh@google.com> Fix a FormatFlagsConversionMismatchException bug I introduced in Froyo.

We want to show the characters representing the flags, not the decimal
values of their ASCII representation. "Use overloading judiciously",
as the man says, or cause errors like this.

Seen in FRE56B (see https://android-git.corp.google.com/g/42528).
c09306a8a4e06be2b38e853a3254c68a4900a5c2 28-Feb-2010 Elliott Hughes <enh@google.com> am c85663a4: Merge "Fix a couple of typos in JIT function names."

Merge commit 'c85663a4856c476c4ead93bdf19e8a91b2d15e22' into dalvik-dev

* commit 'c85663a4856c476c4ead93bdf19e8a91b2d15e22':
Fix a couple of typos in JIT function names.
b629e59718693013a9089b93415d54c060fc379f 28-Feb-2010 Bill Buzbee <buzbee@google.com> am ac9f2112: Merge "Jit: fix typo that caused incorrect def mask for blr\'s."

Merge commit 'ac9f2112303e1353b875999d6481e2047789af9e' into dalvik-dev

* commit 'ac9f2112303e1353b875999d6481e2047789af9e':
Jit: fix typo that caused incorrect def mask for blr's.
2729eb358faf0ef81c8a91f7a4e4570f0f001d3c 28-Feb-2010 Elliott Hughes <enh@google.com> am f76b01c6: Merge "Document that Class.getSigners() always returns null."

Merge commit 'f76b01c6377ad4653dcdc37b2ca35db785219f80' into dalvik-dev

* commit 'f76b01c6377ad4653dcdc37b2ca35db785219f80':
Document that Class.getSigners() always returns null.
b8241bf922619dc25c32fa8b8afd7388512b0f8a 28-Feb-2010 Andy McFadden <fadden@android.com> am ca5ac879: Merge "Rearrange JDWP cleanup."

Merge commit 'ca5ac8792c0dc7cb33728ba3389fcc7d7b76772b' into dalvik-dev

* commit 'ca5ac8792c0dc7cb33728ba3389fcc7d7b76772b':
Rearrange JDWP cleanup.
2588cb6ed916db0a8ed38b675236d527d9193a19 28-Feb-2010 Elliott Hughes <enh@google.com> am 4d5e5a0f: Merge "Keep the order from getaddrinfo() unchanged if preferIPv6Addresses() is true."

Merge commit '4d5e5a0f65e3cca6662fac8e832712fba61b9d2c' into dalvik-dev

* commit '4d5e5a0f65e3cca6662fac8e832712fba61b9d2c':
Keep the order from getaddrinfo() unchanged if preferIPv6Addresses() is true.
fc734d45d21962fdf96dc5a48ac9bf9bd201aa45 28-Feb-2010 Ben Cheng <bccheng@android.com> am cbcd79b3: Merge "Print "JIT" in the thread dump if the top frame is in JIT\'ed code."

Merge commit 'cbcd79b31ddecad8ae38e5f45ac63e7225a877ff' into dalvik-dev

* commit 'cbcd79b31ddecad8ae38e5f45ac63e7225a877ff':
Print "JIT" in the thread dump if the top frame is in JIT'ed code.
8707bfc5b60308f5edfae1ae5f645e6842b00207 28-Feb-2010 Andy McFadden <fadden@android.com> am ae9cc0e6: Merge "Added printf attribute to exception function."

Merge commit 'ae9cc0e699cc680873b4fc72a020afd167722047' into dalvik-dev

* commit 'ae9cc0e699cc680873b4fc72a020afd167722047':
Added printf attribute to exception function.
ec3853d5f01233b7da0741e35ea95b82a46e7366 28-Feb-2010 Elliott Hughes <enh@google.com> am b4c05977: Optimize more easy multiplications by constants.

Merge commit 'b4c05977c28c38d2f81b48d0cb15559dc3d05564' into dalvik-dev

* commit 'b4c05977c28c38d2f81b48d0cb15559dc3d05564':
Optimize more easy multiplications by constants.
507daa0cc3aa40ceac52185f7700690775629476 28-Feb-2010 Ben Cheng <bccheng@google.com> am 88a0f970: Enhance the jit profiler to print more statistics and be more verbose.

Merge commit '88a0f970e47dc0091d2c9965aa9bd06667e5f4b7' into dalvik-dev

* commit '88a0f970e47dc0091d2c9965aa9bd06667e5f4b7':
Enhance the jit profiler to print more statistics and be more verbose.
a18038a05325f1f60c4475e959642b41f4ddfe3e 28-Feb-2010 Andy McFadden <fadden@android.com> am 59a007be: am cf4e8b02: Merge "This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this cod

Merge commit '59a007be670601e40f036f63904b3f51c91a4d95' into dalvik-dev

* commit '59a007be670601e40f036f63904b3f51c91a4d95':
This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expected that there will be a discussion on the potential merge of this code and similar efforts (i.e. the mterp/x86 directory first included with cupcake). While this code is intended to target ATOM and not a generic X-86 processor, we were able to show the following improvements over the c-portable interpreter using the simulator build:
272c909de27068501db167067f1295d58ffa484c 28-Feb-2010 Dan Bornstein <danfuzz@android.com> am 11834964: Clarify a few items in the dex spec.

Merge commit '118349640ffa44bbc55ed355d0aaa2b993de5e5b' into dalvik-dev

* commit '118349640ffa44bbc55ed355d0aaa2b993de5e5b':
Clarify a few items in the dex spec.
bbcacc047da4f06de6399c5e2dd406220a029d74 28-Feb-2010 Andy McFadden <fadden@android.com> am ba05d3b5: Merge "Add class init stats to alloc counters (API change)."

Merge commit 'ba05d3b507d5e1de794d00e7e634862c2a7cf8c2' into dalvik-dev

* commit 'ba05d3b507d5e1de794d00e7e634862c2a7cf8c2':
Add class init stats to alloc counters (API change).
9973c0198d6a6090181b566cefd4a01e8b274d2d 28-Feb-2010 Jesse Wilson <jessewilson@google.com> am 4795e033: Merge "Implementing still more DOM API for text nodes. - Text.isElementContentWhitespace() - Text.getWholeText() - Text.replaceWholeText()"

Merge commit '4795e033e5d93d72438d5004dd77ea82014f4657' into dalvik-dev

* commit '4795e033e5d93d72438d5004dd77ea82014f4657':
Implementing still more DOM API for text nodes.
dab711129d5bdcb97f1e3b2bb2f86dbae6c001e0 28-Feb-2010 Brian Carlstrom <bdc@google.com> am 60a65773: Minor fix for Adb.waitForNonEmptyDirectory so that waiting for /sdcard after reboot works again.

Merge commit '60a65773a7199f0a6b8f36bba00f11b84f8c0227' into dalvik-dev

* commit '60a65773a7199f0a6b8f36bba00f11b84f8c0227':
Minor fix for Adb.waitForNonEmptyDirectory so that waiting for /sdcard after reboot works again.
424974f18f80f59f88a31a9f891b435c121c0ed8 28-Feb-2010 Jeff Hao <jeffhao@google.com> am 01961a9d: Merge "Fixed bug 2438465, prevented blocks with move-result from being combined."

Merge commit '01961a9d1f152c308b0c372214a1f204b3c0a5cf' into dalvik-dev

* commit '01961a9d1f152c308b0c372214a1f204b3c0a5cf':
Fixed bug 2438465, prevented blocks with move-result from being combined.
e5b545f468f283b05894462507636d35b51a1006 28-Feb-2010 Brian Carlstrom <bdc@google.com> am d1ad6ae8: DalvikRunner --tee option to send output to a file or stdout at runtime

Merge commit 'd1ad6ae8509d5890a7175a1dcd0a3f7fceb75d23' into dalvik-dev

* commit 'd1ad6ae8509d5890a7175a1dcd0a3f7fceb75d23':
DalvikRunner --tee option to send output to a file or stdout at runtime
6903c0e33131a36b625e3cb5017610cc5bdb3a79 28-Feb-2010 jeffhao <jeffhao@google.com> am b0d01b01: Fixed bug 2438465, prevented blocks with move-result from being combined.

Merge commit 'b0d01b0178081c98b8cdb2fba2d84f275a0c595e' into dalvik-dev

* commit 'b0d01b0178081c98b8cdb2fba2d84f275a0c595e':
Fixed bug 2438465, prevented blocks with move-result from being combined.
6126f5506fee9cf5b96a1c5656a72852e974d6c4 28-Feb-2010 Dan Bornstein <danfuzz@android.com> am 05c9d91a: Add a test case for the jsr / invoke bug. (See the included info.txt for more details.)

Merge commit '05c9d91a7fd80fef3141b832fc8caeef44612c86' into dalvik-dev

* commit '05c9d91a7fd80fef3141b832fc8caeef44612c86':
Add a test case for the jsr / invoke bug. (See the included
5339e35af0b82a1198ebea0c452bd683a2fe1956 27-Feb-2010 Elliott Hughes <enh@google.com> Upgrade our sqlite JDBC driver to version 20100131.

This fixes a bunch of KnownFailures, and adds a bunch of new features. I've
updated the tests correspondingly (though doubtless we could add a lot more
tests now, if we wanted to).

I regenerated Constants.java manually, and explained how in its javadoc.

I've added the upstream VERSION file so it's easier to see what upstream
version we're at. (Constants now contains the version number too, but that's
less obvious.)

All our changes now have android-changed markers. I'll see about getting them
pushed upstream next week.

(This change best reviewed with "ignore whitespace". It looks like we made a
bunch of whitespace "corrections" when we imported this source, which just
makes it harder to stay in sync. I've taken the upstream copies of files that
only had whitespace differences.)
304ff5f10f3a31021df041691767551891b83d9c 26-Feb-2010 Elliott Hughes <enh@google.com> Break the sqlite JDBC driver out from our JDBC implementation.

The JDBC driver is from a different source
(http://www.ch-werner.de/javasqlite/overview-summary.html) and is only
really needed for testing.

Bug 2468870 asks that we don't eagerly register the native methods for
these classes. That bug is fixed by this change.

Bug 2198667 asks that we stop shipping this JDBC driver as part of the
base system. That bug is not addressed by this change: the classes and
native code are now in their own, separate, .jar and .so files -- so
they'll be easier to remove in future -- but for now those files are
still in /system/framework and /system/lib respectively.

Bug: 2468870
Bug: 2198667
51b6bea6a6efed5eb5723b8ce58211deac9288df 26-Feb-2010 Andy McFadden <fadden@android.com> Merge "Don't set x86 arch variant."
47c8721539bbbc76bda37ef2f392363ac12d0b6c 26-Feb-2010 Andy McFadden <fadden@android.com> Don't set x86 arch variant.

This was a workaround for a missing bit in the core build. No longer
needed.
40c1e8f4514adcc90e13ea592d396b0d7215ab65 26-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding tests to parse document attributes from the DOM."
125223bd0b6a0f4721cbd638e8ea2ae6033b3ea2 26-Feb-2010 Jesse Wilson <jessewilson@google.com> Adding tests to parse document attributes from the DOM.

This adds implementation and tests for these methods:
getInputEncoding(), getDocumentURI().

And tests for these methods:
getXmlEncoding(), getXmlVersion(), getXmlStandalone().
9caa83a096094372b6e05b23dec11cac16f5dee0 26-Feb-2010 Andy McFadden <fadden@android.com> Merge "Update a few things in x86-atom."
b360cb0090f8b71df8466ae29b7825f9619f2ce2 26-Feb-2010 Andy McFadden <fadden@android.com> Update a few things in x86-atom.

This replaced unuses opcodes EC and EF with C stubs for the breakpoint
and execute-inline/range instructions, which were added after the last
bunch of stuff we rolled out to eclair open-source. I also rebuilt the
"out" dir to pick up the various other changes.
3f227b873a2361ce9c109443f6ec3a81f8cdedd6 25-Feb-2010 Ben Cheng <bccheng@android.com> Tweak the interpreter entries and 2nd level trace filter to capture more traces.

Real changes:
1) Add a new entry point from JIT to the interpreter to request hot traces w/o
doing chaining.
2) Increase the granularity of the secondary profile filter to match 64-byte
chunks using 64 entries.

The remaining are just cosmetic changes.
f7d134b3f23b6ce0ab8fcfedd94e1535c03d3c88 26-Feb-2010 Brian Carlstrom <bdc@google.com> Merge "First pass at reorganizing org.apache.harmony.xnet.provider.jsse native code into a single file."
ce1a256c09cd00af6ade59d990bd32fa091e486c 26-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: fix typo that caused incorrect def mask for blr's." into dalvik-dev
1609fc54fac56df56a64413879a9e30e6e653067 26-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: fix typo that caused incorrect def mask for blr's.
6fa49091c7edb61c5dd20582ce025d311281f0cf 26-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix a couple of typos in JIT function names."
edc62530da4b25bda7cb79552151b26e8d8acd52 26-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Relocate function declaration out the GC and into the compiler." into dalvik-dev
b5aba9f6ed201797a099dfce82d7da2495cc0ac2 11-Feb-2010 Brian Carlstrom <bdc@google.com> First pass at reorganizing org.apache.harmony.xnet.provider.jsse native code into a single file.

At enh's suggestion, I'm consoldiating the OpenSSL related native code
into a single wrapper class NativeCrypto. This changes is the firs
step, combining the cpp code into a single NativeCode.cpp. The next
step will involved introducting a single SSL_CTX in NativeCode and
cleaning up SSL_CTX use. As part of this, I'll start moving the native
wrappers to from various OpenSSL*.java classes into NativeCode.
bff8dd1b35a045354a0407b4e0fa9af1c49f298c 26-Feb-2010 Carl Shapiro <cshapiro@google.com> Relocate function declaration out the GC and into the compiler.
915859ef6efe91984dcf51be16f862ac3d15da18 26-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: fix typo that caused incorrect def mask for blr's."
7e31a5479e1188798682fbbd257be12a5bd7c04f 26-Feb-2010 Elliott Hughes <enh@google.com> Fix a couple of typos in JIT function names.

(I saw these the other day, but preferred a separate patch.)
5966de34b547ab3e60b362fd03271a5333f24304 26-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: fix typo that caused incorrect def mask for blr's.
1838aa7d3a5bc210ebfc466c66b2210e4611ba70 26-Feb-2010 Carl Shapiro <cshapiro@google.com> Remove the sole use of WITH_HPROF_STACK_UNREACHABLE macro. This
feature never seems to have existed.
0af43c08021422c690351807d194776deb573c78 26-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Eliminate the unused hprof "unreachable" feature. This code dates back to the Perforce repository and has never been enabled. Nobody seems to know what it was once, if ever, used for so it may as well go." into dalvik-dev
2d6483d241e5638fbab704625a110c3c6c26636c 25-Feb-2010 Elliott Hughes <enh@google.com> Merge "Document that Class.getSigners() always returns null."
559eacb6c3fbb871e653de4900abb646f24f21b1 25-Feb-2010 Elliott Hughes <enh@google.com> Document that Class.getSigners() always returns null.

Bug: 1594865
Bug: http://code.google.com/p/android/issues/detail?id=1766
664c05fd6a75678e451a37861c230bbff3021996 25-Feb-2010 Carl Shapiro <cshapiro@google.com> Eliminate the unused hprof "unreachable" feature. This code dates
back to the Perforce repository and has never been enabled. Nobody
seems to know what it was once, if ever, used for so it may as well
go.
0815c2f1dcca3272222060c23155238b1c2cba24 25-Feb-2010 Andy McFadden <fadden@android.com> Merge "Rearrange JDWP cleanup."
e86aa7142afbd8c95ca020c77d128a18a7ac8459 25-Feb-2010 Andy McFadden <fadden@android.com> Rearrange JDWP cleanup.

This moves the "get rid of the breakpoints" part before the "tell the
rest of the VM that there's no debugger attached" part. Hitting a
breakpoint when there's no debugger attached is not expected.

For bug 2461667.
fe3453e2f6fdf0eeba33af7fe8cbd55dbf2f33ab 25-Feb-2010 Elliott Hughes <enh@google.com> Merge "Keep the order from getaddrinfo() unchanged if preferIPv6Addresses() is true."
b763ff6025cf1192fcdfec19297149ed6b67fbaf 25-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix a test by syncing with upstream." into dalvik-dev
e1bd569d0b662e3978876d455eb7e497cb27e215 24-Feb-2010 Carl Shapiro <cshapiro@google.com> Print the self thread id and the owning thread id in the description
of the IllegalMonitorExcpetion throw by unlockMonitor.
849ca193a3045cc175290e8dfbf8deb6ce50d287 24-Feb-2010 Carl Shapiro <cshapiro@google.com> Print the self thread id and the owning thread id in the description
of the IllegalMonitorExcpetion throw by unlockMonitor.
e06f0e28b05436bad310662facaf4518c5078f48 25-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Allocate an object and mark bitmap which span the entire virtual memory reservation of the heap. Eliminates indirection during the marking phase." into dalvik-dev
cc14444de7d88248567f9f3f3693ba5a3b16e33a 25-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Print "JIT" in the thread dump if the top frame is in JIT'ed code."
3b77fb84bdc76eda1822babbdd6f813e6747218e 25-Feb-2010 Andy McFadden <fadden@android.com> Merge "Added printf attribute to exception function."
5b583abe987d4fd5dd0c0d74b069395c2b194fc9 25-Feb-2010 Elliott Hughes <enh@google.com> Fix a test by syncing with upstream.

This test has been failing for us because of a local modification.
de8adde6e93abefc7b5f43666f0f0fafee05bc7b 25-Feb-2010 Ben Cheng <bccheng@google.com> Print "JIT" in the thread dump if the top frame is in JIT'ed code.
30c8f72b00710bf8e417d5dddeed4b305acd23e7 25-Feb-2010 Elliott Hughes <enh@google.com> If we're in an Android build tree, we should use core.jar as our "SDK".

This fixes running junit tests for non-public classes, since bdc's --sdk
change went in. While --sdk is perfect for real people, it's probably not
what we want to use ourselves. Since this script is already hard-coded
for use in an Android build tree, this seems like a reasonable place to
apply the fix.
6dc44dec4620976574b2d6821c9326dbb97ee4b9 25-Feb-2010 Elliott Hughes <enh@google.com> Optimize more easy multiplications by constants.

Rather than make these changes in the libraries (*10 being a common case),
let's do them once and for all in the JIT.

The 2^n-1 case could be better if we generated RSB instructions, but the
current "fake" RSB is still better than a full multiply.

Thumb doesn't support reg/reg/reg/shift instructions, so we can't optimize
the "population count <= 2" cases (such as *10) there.

Tested on sholes, passion, and passion-running-sapphire (and visually
inspected to check we weren't trying to generate Thumb2 instructions there).
Also tested with the self-verifier.
4fec006e624ec602ee9d6dc5fa38fdf3abf293b7 19-Feb-2010 Carl Shapiro <cshapiro@google.com> Allocate an object and mark bitmap which span the entire virtual
memory reservation of the heap. Eliminates indirection during the
marking phase.
9717cb37dfc550e992fc067cf4227ec594c9ab47 25-Feb-2010 Ben Cheng <bccheng@google.com> Enhance the jit profiler to print more statistics and be more verbose.

Specifically, the per-trace invocation percentage is printed now.

D/dalvikvm( 671): TRACEPROFILE 0x42b6eed8 15449863 2.13% [0(+2), 253] Ljava/nio/Buffer;position;()I
D/dalvikvm( 671): TRACEPROFILE 0x42b7b3ac 15410023 2.13% [0x4(+3), 450] Lorg/apache/xml/serializer/CharInfo;shouldMapTextChar;(I)Z
D/dalvikvm( 671): TRACEPROFILE 0x42b7b2cc 15346582 2.12% [0(+2), 449] Lorg/apache/xml/serializer/CharInfo;shouldMapTextChar;(I)Z
D/dalvikvm( 671): TRACEPROFILE 0x42b7b40c 15013650 2.07% [0xb4(+2), 1527] Lorg/apache/xml/serializer/ToStream;characters;([CII)V
D/dalvikvm( 671): TRACEPROFILE 0x42b7b4f0 14907957 2.06% [0xc7(+2), 1537] Lorg/apache/xml/serializer/ToStream;characters;([CII)V
D/dalvikvm( 671): TRACEPROFILE 0x42b7b308 14898588 2.06% [0xad(+3), 1525] Lorg/apache/xml/serializer/ToStream;characters;([CII)V
D/dalvikvm( 671): TRACEPROFILE 0x42b7b52c 14798762 2.04% [0xc4(+2), 1523] Lorg/apache/xml/serializer/ToStream;characters;([CII)V
D/dalvikvm( 671): TRACEPROFILE 0x42b7b570 14763770 2.04% [0xf3(+2), 1577] Lorg/apache/xml/serializer/ToStream;characters;([CII)V

And the top 10 traces will be recompiled in verbose mode to facilitate code
quality analysis.
5bdc45fc55f5b46218efe609f24058be12eb1387 24-Feb-2010 Andy McFadden <fadden@android.com> am cf4e8b02: Merge "This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expe

Merge commit 'cf4e8b02ecfb5ec17a27ed4188dd7a9db14ab7bf'

* commit 'cf4e8b02ecfb5ec17a27ed4188dd7a9db14ab7bf':
This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expected that there will be a discussion on the potential merge of this code and similar efforts (i.e. the mterp/x86 directory first included with cupcake). While this code is intended to target ATOM and not a generic X-86 processor, we were able to show the following improvements over the c-portable interpreter using the simulator build:
80165322b622b04c1af29160c4f0cca78be3e86c 24-Feb-2010 Dan Bornstein <danfuzz@android.com> Clarify a few items in the dex spec.

In particular, do a bit of "may" vs. "must" maintenance, and be specific
about references as arguments to filled-new-array.

Change-Id: Iae4cb734e05cd29230e2c9a343108bbfb3c20193
2c17896b00124fa4f901dad92083f477b8a3027c 24-Feb-2010 Andy McFadden <fadden@android.com> Added printf attribute to exception function.
9c5c1d6c1e75fd4dccfd034da443b7a92d0b7881 24-Feb-2010 Andy McFadden <fadden@android.com> Merge "Add class init stats to alloc counters (API change)."
5081e53d1a6b9e1be04671e7c999ac6c2a6d55a7 24-Feb-2010 Carl Shapiro <cshapiro@google.com> Remove a bogus assertion.
a715b593977977df8bb9e9c41b566a56d4a6c307 24-Feb-2010 Elliott Hughes <enh@google.com> Fix DalvikRunner on the dalvik-dev branch.

(Longer term, we want to package junit, but this gets us running again.)
a81b21cf743febd8d80d69a1aa88cc7a41d0be6d 24-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Implementing still more DOM API for text nodes. - Text.isElementContentWhitespace() - Text.getWholeText() - Text.replaceWholeText()"
933948d65631711b78d9a4dcc9deb8ab80c0f0ab 24-Feb-2010 Jesse Wilson <jessewilson@google.com> Implementing still more DOM API for text nodes.
- Text.isElementContentWhitespace()
- Text.getWholeText()
- Text.replaceWholeText()
a62fafdbfce810aafaeba707a420877d23cecf92 23-Feb-2010 Andy McFadden <fadden@android.com> Add class init stats to alloc counters (API change).

Add calls to retrieve class initialization stats via the allocation
count mechanism.

Also: deprecate a method that is never used, and a redundantly declared
default filename that begins with "/sdcard".

For bug 2461549.
5f975d4295302f37d9df36560b7e3037ebf700e9 24-Feb-2010 Brian Carlstrom <bdc@google.com> Minor fix for Adb.waitForNonEmptyDirectory so that waiting for /sdcard after reboot works again.
435f911bee576154d6ebcdbe31ca830af331b9ff 24-Feb-2010 Elliott Hughes <enh@google.com> Fix "HttpUrlConnection.addRequestProperty replaces existing properties instead of append them".

The bug was actually that the copy constructor wasn't reconstructing the 'props'
list correctly. Upstream has applied the same fix, so I'm also bringing my
earlier change into sync with theirs, whitespace-wise (and removing no longer
necessary 'android-changed' tags).

Bug: http://code.google.com/p/android/issues/detail?id=6722
df3f68407157fd9b32e7fe2180ccefbe7eb1a8b3 23-Feb-2010 Elliott Hughes <enh@google.com> Remove more useless annotations: logging, luni-kernel, and math.

(Plus a bonus item: one Android-written test under luni.)
137a5d4cd7d8f71efd8ba4cd9d7a0f9e1ff92745 23-Feb-2010 Jeff Hao <jeffhao@google.com> Merge "Fixed bug 2438465, prevented blocks with move-result from being combined."
c4ad3ff038e10b6216aedf6025f340618827d0f3 23-Feb-2010 Andy McFadden <fadden@android.com> Merge "This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expected that there will be a discussion on the potential merge of this code and similar efforts (i.e. the mterp/x86 directory first included with cupcake). While this code is intended to target ATOM and not a generic X-86 processor, we were able to show the following improvements over the c-portable interpreter using the simulator build: Build: TARGET_SIMULATOR: true TARGET_BUILD_TYPE: release TARGET_PRODUCT: sim Environment: Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz PI = Portable Interpreter IA = Fast IA Interpreter Embedded CaffeineMark: (IA-PI)/PI: Average of 70% improvement on overall score SPECjbb2000*: (IA-PI)/PI: Average of 37% improvement on raw score SPECjvm98*: (PI/IA) Speedup: Mtrt: 1.2; Jess: 1.34; Compress: 1.57; Db: 1.46; Jack: 1.28 * SPECjbb2000 - 1 warehouse. Noncompliant - modified to run on Dalvik * SPECjvm98 - Noncompliant - modified to run on Dalivk"
84126d33d42b12d0255485a446c2ba56d8ce314d 23-Feb-2010 Brian Carlstrom <bdc@google.com> DalvikRunner --tee option to send output to a file or stdout at runtime

Added --tee option so we can watch test output while the test is
running, as opposed to waiting until all the output is collected.

As part of this, Command.Builder can now optionally specifiy a
PrintStream via tee (name from tee(1)).

Added ADB.waitForFile to accompany ADB.waitForNonEmptyDirectory

Removed gross bash wait loop hack in Activity Mode by replacing
Mode.buildCommands with Mode.runTestCommand.

Fixed bug that out generated APK package names did not contain a
required "." in all cases.
ebb670c3915515951350ac33b1885fbd2e476150 23-Feb-2010 jeffhao <jeffhao@google.com> Fixed bug 2438465, prevented blocks with move-result from being combined.
32e0344509486158afed61fdfb57f14e5bedd6c5 23-Feb-2010 jeffhao <jeffhao@google.com> Fixed bug 2438465, prevented blocks with move-result from being combined.
ab1a6bc675f5ee66eb31f1b176a3c29044866ba6 07-Apr-2009 Johnnie Birch <johnnie.l.birch.jr@intel.com> This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expected that there will be a discussion on the potential merge of this code and similar efforts (i.e. the mterp/x86 directory first included with cupcake). While this code is intended to target ATOM and not a generic X-86 processor, we were able to show the following improvements over the c-portable interpreter using the simulator build:
Build: TARGET_SIMULATOR: true
TARGET_BUILD_TYPE: release
TARGET_PRODUCT: sim
Environment: Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
PI = Portable Interpreter
IA = Fast IA Interpreter
Embedded CaffeineMark: (IA-PI)/PI: Average of 70% improvement on overall score
SPECjbb2000*: (IA-PI)/PI: Average of 37% improvement on raw score
SPECjvm98*: (PI/IA) Speedup: Mtrt: 1.2; Jess: 1.34; Compress: 1.57; Db: 1.46; Jack: 1.28
* SPECjbb2000 - 1 warehouse. Noncompliant - modified to run on Dalvik
* SPECjvm98 - Noncompliant - modified to run on Dalivk
27537fa9d39b078f3df23a5694021b841645438b 23-Feb-2010 Elliott Hughes <enh@google.com> Remove useless annotation cruft from tests for: annotation, archive, concurrent, and suncompat.

22 files (and 4 modules) down, 1000 to go...
582b9a525ebe3a11b4ff58078c80e4b787ad2582 23-Feb-2010 Elliott Hughes <enh@google.com> Update run-core-tests' documentation, remove the leading : from the classpath, and add the json tests to the classpath.

(I did look at replacing this with a bash script we run on the host, but adb
turns out to have a command-line limit of 1024 bytes, and our classpath alone
is ~850 bytes long!)
e648370eb2d4e9b2d769aa18de0fe34d2ae7307b 23-Feb-2010 Dan Bornstein <danfuzz@android.com> Add a test case for the jsr / invoke bug. (See the included
info.txt for more details.)

Change-Id: I6ae5266e3f3371406c366d4f4644a445875adf95
501221b122dade6fac64478217ae47932c5fc094 23-Feb-2010 Elliott Hughes <enh@google.com> Fix a stupid mistake in my earlier change.

(I removed the unused parameter from the wrong macro!)
1be3857dfe7554ac10a660df0bfd1b70cc36ec39 22-Feb-2010 Elliott Hughes <enh@google.com> Adapt jesse's new json tests to the new build scheme.
f83c5ba264e2e60a7324399802b43e0589a35e63 22-Feb-2010 Elliott Hughes <enh@google.com> Merge remote branch 'goog/master' into mm

Conflicts:
libcore/JavaLibrary.mk
683da47a00b37a6b4c859be3156b7aef529ca1bf 22-Feb-2010 Elliott Hughes <enh@google.com> Merge "Resync a load of tests with upstream, make our build faster." into dalvik-dev
de8cc7335118bb8585e4f7edf99b638b4d30d568 22-Feb-2010 Barry Hayes <bhayes@google.com> Fix build breakage.
the "HeapChunk" abstraction was removed almost everywhere; but not here
until now.
1c894f1eb8dd26d8a60319caaba2a9f05ab4e34f 22-Feb-2010 Barry Hayes <bhayes@google.com> Merge " Add the "-Xgc:[no]overwritefree" flags. When set, the GC will clobber the memory of freed objects." into dalvik-dev
d64ff78408cf027908ec82ae19f219960fdbcc92 20-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing dead code from BigInt"
ffe6560e49f0ed1716cf2442b6fcd680684803cf 20-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "More XML DOM v3 APIs."
e1a65a58f92e3ae90f0ce61d19f8308a7d08576d 20-Feb-2010 Jesse Wilson <jessewilson@google.com> More XML DOM v3 APIs.

This adds the following APIs and tests:
- Node.isDefaultNamespace
- DomImplementation.hasFeature
- Node.isSupported
- Node.getFeature
- Node.isEqualNode
f273c72c4aa92a9403a1dd5ed18cd9911da40327 20-Feb-2010 Jesse Wilson <jessewilson@google.com> Removing dead code from BigInt
3270fd5dea44ac9294079b9fa3bb7d0f50c8a5e2 20-Feb-2010 Elliott Hughes <enh@google.com> Remove external/jsr305, external/guava, and external/caliper.
77ca63fb9607ad1a485701166f8b0a257821a606 20-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Disable JIT for armv5te for A/B tests."
0ae01731bef7babb93494afcc795ad4d0b4ca338 19-Feb-2010 Ben Cheng <bccheng@android.com> Disable JIT for armv5te for A/B tests.
0c7b6bef08f3c8b028d69cceb41daacb298d5b04 19-Feb-2010 Jesse Wilson <jessewilson@google.com> DOM setTextContent() tests and implementation fixes.
71632df0dad54daff63c1d8d038316c035c0c4ce 19-Feb-2010 Elliott Hughes <enh@google.com> Resync a load of tests with upstream, make our build faster.

I started off with a mission to remove uses of dalvik.annotation.* (stuff
like @TestTargetNew and other useless junk that just makes it harder to
stay in sync with upstream). I wrote a script to go through tests showing
me the diff between what we have and what upstream has, thinking that in
cases where upstream has also added tests, I may as well pull them in at
the same time...

...but I didn't realize how close we were to having dx fill its 1.5GiB heap.

After trying various alternatives, I decided to bite the bullet and break
core-tests up into one .jar per module. This adds parallelism back into this,
the slowest part of our build. (I can do even better, but I'll do that in a
separate patch, preferably after we've merged recent changes from master.)

Only a couple of dependencies were problematic: the worthless TestSuiteFactory
which already contained a comment suggesting we get rid of it, and the fact
that some tests -- most notably the concurrent ones -- also contained main
methods that started the JUnit tty-based TestRunner.

(In the long run, we want to be running the harmony tests directly from a
pristine "svn co" of upstream, using DalvikRunner. But this will be a big
help in the meantime, and starts the work of getting our current copy of
the tests into a state where we can start to extract any meaningful
changes/additions we've made.)
1f61f8ff91baab33d8991c65804dc9bdb724d50b 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing bogus check to permit on-host debugging."
41da5673531fd691a3eab3cf6e0b94e7453d8a45 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Removing bogus check to permit on-host debugging.
4c06c5587d9ea7c04adb33f6d1689c9c004f2ba3 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding JSON tests to the complete test suite."
452f8ccec233cb79c80178d7c88482851e3bc693 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Adding JSON tests to the complete test suite.
2a9852eb4dddfea650907c3d457e65f04c2a4859 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Filling in some gaps in our XML DOM v3 API."
3dbec008e6f9959e43c74ea2c264ffbd4a8be026 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Filling in some gaps in our XML DOM v3 API.

Specifically, these methods on Node:
- setTextContent()
- isSameNode()
- lookupPrefix()
- lookupNamespaceURI()
In order to implement the last 2 I needed to fix our KXml parser
to include namespace attributes (ie. xmlns) in the pulled document.
Previously these were being elided.

Added a new testcase to verify our behaviour. It passes the RI. On
Dalvik we have a small issue with entity declarations.

Added a new testcase to verify Node.getBaseURI(). This test fails
because the method isn't implemented. Part of this test required
moving a method out to Support_Resources.java; in order to verify
the BaseURI the XML must be read from a file and not a stream (so
that path information exists).

Also...
- Style cleanup: changing static calls to look like static calls.
- Efficiency: avoiding concatenating with "" when unnecessary
- Duplication: sharing prefix validation between attributes and elements
- Renaming NodeTests to NodeTest for vogar-friendliness

Outstanding:
- I need to write a test for setTextContent().
ae5923a44a86f7a45ece0f7572d6f66f1ca5359a 19-Feb-2010 Elliott Hughes <enh@google.com> More DalvikRunner cleanup.

Remove the now-unnecessary jsr305 and guava build dependencies.

Move TestActivity.java -- which is only needed at *run* time -- out into
lib/, which lets us simplify the makefile.

Pass the dalvik.annotation.* source files to javac(1) (at *run* time) so
we don't need the run-time dependency on core-intermediates [that I'd
already removed in a successful attempt to find out why we had the
dependency].

We need to remove all uses of those useless annotations from the harmony
tests so we can get back in sync with upstream, but now also so that we
can clean up this part of DalvikRunner.
39165df77e3f80da73b40e14020376f3bdb8c9ee 18-Feb-2010 Elliott Hughes <enh@google.com> Add a simple MD5-based cache to DalvikRunner.

This makes the new simpler scheme pretty much free.

I've also made a start on simplifying the make rules, though there's more we
can do, and I'll look at that next.
99304fc1af644ce84c3dfa91675b3a1608d2d283 18-Feb-2010 Elliott Hughes <enh@google.com> Merge "Make DalvikRunner work on production devices too."
cbea5bd017ef7e151d26d39cf039ba40d8c5d2e1 18-Feb-2010 Elliott Hughes <enh@google.com> Merge "Add a general-purpose scoped pointer for libcore JNI."
e6cdd638dfd1f457d10a67e28f899d1e8cad39e6 18-Feb-2010 Elliott Hughes <enh@google.com> Merge "HTTP headers should be case-insensitive but case-preserving." into dalvik-dev
055b5edc0b05247e3a3185b65dc455896a9c5851 18-Feb-2010 Elliott Hughes <enh@google.com> Make DalvikRunner work on production devices too.

Place pre-built .jar files in our lib/ directory, and dex/push them on demand.

Change DalvikRunner to somewhat reduce the number of different classpaths in
play. My feeling is that we just want one true classpath: we should build with
it on the host, we should run with it on the host, we should dex everything on
it, we should upload everything to the device, and we should run with it on the
device.

Also add a convenience script for running DalvikRunner. ("Vogar" is the
proposed open source name for DalvikRunner, which really isn't as
dalvikvm-specific as the name might imply.)

There's a noticeable performance regression here, so my next change will be to
add a cache.
6acf1c66d15c6cf3a1f485b0a381e13103d9bc36 02-Feb-2010 Barry Hayes <bhayes@google.com> Add the "-Xgc:[no]overwritefree" flags. When set, the GC will clobber the
memory of freed objects.
162b4e603144cb5458a7078bc6cfabd6ee638070 17-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Eliminate the heap chunk abstraction. This temporarily breaks the hprof feature that allows stack traces to be associated with objects." into dalvik-dev
4ebb5aedaff92fe90eb0d6deaed6209e19b23e83 17-Feb-2010 Carl Shapiro <cshapiro@google.com> Eliminate the heap chunk abstraction. This temporarily breaks the
hprof feature that allows stack traces to be associated with objects.
2897e311f75d65767ec99802bf6d9905dabf373e 17-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Detect system-wide safe mode and configure the VM accordingly." into dalvik-dev
78bc20f4838e81079be2f97d920b0443b077b031 15-Feb-2010 Ben Cheng <bccheng@android.com> Detect system-wide safe mode and configure the VM accordingly.

Use pthread_cond_wait instead of timed wait for the system_server process to
wait on the go-ahead JIT signal. If the phone is booted under system-wide safe
mode, such signal will never come so all VM instances (including the system
server) will run in the interpreter-only mode.

Bug: 2267590
da090f6fca6bfa9d0462f920c4105643bca00fa6 17-Feb-2010 Elliott Hughes <enh@google.com> HTTP headers should be case-insensitive but case-preserving.

Bug: http://code.google.com/p/android/issues/detail?id=6684
b32d8e34efb4bd877867c787ec7707ce435d6b1e 17-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Densely allocate mspaces. New heaps are started on the page following the break of the previously allocated heap. In addition, we shrink the reported size of the previous object bitmap so it covers only the committed range of the heap. We now separately track the size of the bitmap virtual memory reservation so we may unmap it all at shutdown time." into dalvik-dev
07cd034eae1705f1b6a9ca55a721ff26be16246a 17-Feb-2010 Jesse Wilson <jessewilson@google.com> Fixing packages for JSON tests
8485bb97db6adf8abe0754b7a66c9b7f2858486e 17-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "First round of tests for the subset of the org.json in Android."
8e94293810d9042dee8edf81a32e82a79d2239e1 16-Feb-2010 Jesse Wilson <jessewilson@google.com> First round of tests for the subset of the org.json in Android.
f29a20e7ca733715b34253c0a8a177316398ff51 12-Feb-2010 Steinar H. Gunderson <sesse@google.com> Keep the order from getaddrinfo() unchanged if preferIPv6Addresses() is true.
39c1f6f98b450f59f3e82c00764a1a17e5d7fb5a 17-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Detect system-wide safe mode and configure the VM accordingly."
0cee78ee3a1d11240484a1cf37e876c61f01db54 17-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing unnecessary org.w3c.dom subpackages"
805d1c54fdfd6eb8161642dfdf463f8b40aba937 16-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Monitor exit, possible fix for Issue 2396073

Two problems with monitor-exit:
1. The Jit code wasn't checking for exception thrown following
unlocks of fat locks using dvmUnlockObject().
2. The mterp interpreter unlock code branched to handle exceptions
thrown during dvmUnlockObject() with the wrong dalvik PC (the
dPC of the unlock, rather than the instruction following the unlock).

Similar issue with the x86 interpreter fixed. Also, deleted armv7-a
MONITOR_ENTER template, which turned out to be identical to the armv5te
one.
667f6e0d6faa5d652f477891900edc6a0e973151 12-Feb-2010 Jesse Wilson <jessewilson@google.com> Removing unnecessary org.w3c.dom subpackages
3e50ab7c57d1cd677687be6496a30bb552ced403 17-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Monitor exit, possible fix for Issue 2396073"
aedaa65771c57c29e15e8e79f519f2aae1208d7a 17-Feb-2010 Elliott Hughes <enh@google.com> Fix FindBugs' "high" warnings about java.lang.Class.
037753465840a86f4f117cfdce4f7727ed14a84d 16-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Monitor exit, possible fix for Issue 2396073

Two problems with monitor-exit:
1. The Jit code wasn't checking for exception thrown following
unlocks of fat locks using dvmUnlockObject().
2. The mterp interpreter unlock code branched to handle exceptions
thrown during dvmUnlockObject() with the wrong dalvik PC (the
dPC of the unlock, rather than the instruction following the unlock).

Similar issue with the x86 interpreter fixed. Also, deleted armv7-a
MONITOR_ENTER template, which turned out to be identical to the armv5te
one.
aed9a97a84fb0f1aef2cb4cded0e7f01ce492f91 15-Feb-2010 Ben Cheng <bccheng@android.com> Detect system-wide safe mode and configure the VM accordingly.

Use pthread_cond_wait instead of timed wait for the system_server process to
wait on the go-ahead JIT signal. If the phone is booted under system-wide safe
mode, such signal will never come so all VM instances (including the system
server) will run in the interpreter-only mode.

Bug: 2267590
f72b493ea2941fc111b166f803e9d4879e8e7835 16-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Reverting our test runner's background building behaviour."
b7213c1b5aa912f64398b7f7f93f1751788066f0 16-Feb-2010 Jesse Wilson <jessewilson@google.com> Reverting our test runner's background building behaviour.

Our continuous build has been failing to complete lately. See:
http://jwilson.mtv.corp.google.com:8080/job/master_passion/274/consoleFull

In addition to this problem the continuous build is compiling many
more tests ahead-of-time than we were originally - previously we
would only have up to 4 tests ready-to-run at any given time. With
this change the ExecutorCompletionService was building and installing
all of the tests eagerly.

I believe the problem might be a mismatch between how the BlockingQueue
and the ExecutorCompletionService select which order to return futures.
By removing the ExecutorCompletionService I remove the opportunity for
such a conflict!
96170fbd87ac7dc34f81606d0993da4d7ef2d347 16-Feb-2010 Andy McFadden <fadden@android.com> Flan -> Froyo
fec9175f6b683f609b7ffbfc02d490065ede0922 15-Feb-2010 Carl Shapiro <cshapiro@google.com> Densely allocate mspaces. New heaps are started on the page following
the break of the previously allocated heap. In addition, we shrink
the reported size of the previous object bitmap so it covers only the
committed range of the heap. We now separately track the size of the
bitmap virtual memory reservation so we may unmap it all at shutdown
time.
5b70741df6b8944e8c2bc0d09737353009d061e5 15-Feb-2010 Carl Shapiro <cshapiro@google.com> Eliminate unused variable warnings in the alloc code. In the places
where unused attributes have been added, arguably, the return code
should be passed up to the caller or, if the return code indicates an
error, we should fast-fail.
fed73f36be3570eb956c27af1279a4b612ba10da 13-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix a few of our FindBugs "high" warnings." into dalvik-dev
759d9de6b4f13b9a4dcbe31aa90c1ac282e1663b 13-Feb-2010 Elliott Hughes <enh@google.com> Fix a few of our FindBugs "high" warnings.

RuleBasedBreakIterator was breaking the equals/hashCode contract.

Various classes were calling toString on arrays, which isn't very useful.

GregorianCalendar was missing a null/instanceof check. (FindBugs complained about
the former, but the super.equals would actually take care of that. The lack of
the explicit "instanceof" did mean that we could throw ClassCastException if you
had a Calendar that wasn't a GregorianCalendar, though. [Not easily testable,
and I hope we'll replace our calendars with ICU4J's before we actually have
another Calendar subclass.])

Collator's cache was broken, but luckily never had anything inserted into it
anyway.
16c7db7bdb9f9ee0dcf85b7f4f01436e94b7df68 13-Feb-2010 Elliott Hughes <enh@google.com> Merge "Use one method to create a Locale from a String." into dalvik-dev
173e73d9a4b9411926abf505c3450b33d238eba4 13-Feb-2010 Elliott Hughes <enh@google.com> Throw IllegalArgumentException if Currency.getInstance is given an invalid currency code.

This fixes an existing harmony DecimalFormatSymbolsTest failure, but I've added
an explicit test for clarity (and to reduce the likelihood of regression).
5e229f1adc6d20da5c9b99c74ca478ca1019e0e7 13-Feb-2010 Elliott Hughes <enh@google.com> Use one method to create a Locale from a String.

Bug: 2392157
f80a1eacd234aabcbbcf838a059c9caf69e177aa 12-Feb-2010 Elliott Hughes <enh@google.com> Merge "Remove some potential test flakiness." into dalvik-dev
379afb015f982d97eb96d0a94369d6299cb8050b 12-Feb-2010 Elliott Hughes <enh@google.com> Remove some potential test flakiness.

Bug: 2441548
7a06ea098db3a42f28253488f6467f1b656f3dc2 12-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Do not include assert.h in places where it may shadow the definition provided by Common.h if WITH_DALVIK_ASSERTS is defined. The include from HeapBitmap.h was notable as it redefined the Dalvik friendly assert macro with the useless libc macro across all of the GC sources." into dalvik-dev
573e2ed7291b4c23fec4043eb4d032ff2680fcd3 12-Feb-2010 Dan Bornstein <danfuzz@android.com> Use HAVE_ANDROID_OS to conditionally include files on a device target.
fa8f8486dc620ffbdb85156c68cdd57e44004a37 12-Feb-2010 Carl Shapiro <cshapiro@google.com> Do not include assert.h in places where it may shadow the definition
provided by Common.h if WITH_DALVIK_ASSERTS is defined. The include
from HeapBitmap.h was notable as it redefined the Dalvik friendly
assert macro with the useless libc macro across all of the GC sources.
46c65088d9e709dde77341483cda5e3cc856bf9a 12-Feb-2010 Ben Cheng <bccheng@android.com> Use ashmem to create the JIT code cache.
0737bd49d745f6d0d8fce8e26934b25cffa1eb5d 11-Feb-2010 Ben Cheng <bccheng@android.com> Free memory associated with the trace descriptor of ALL dropped JIT work orders

To further reduce the memory consumption only enable the method vs trace
compile size stats when WITH_JIT_TUNING is configured.
db04a0e6356a7123d273e65a6cfbe06cc968d56d 12-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Support per-application switch to execute the VM in safe mode." into dalvik-dev
fd2b7124b35b1a7a1af9f674b3eb04d1cea1ab91 12-Feb-2010 Andy McFadden <fadden@android.com> Merge "Minor dexdeps touchups."
5c4c583fb4b3ce6da6c10320713e955d520097b3 09-Feb-2010 Andy McFadden <fadden@android.com> Minor dexdeps touchups.

Made XML output the default.
Added a couple of blank lines in the "brief" output.
Added version number (1.1) and a copyright one-liner.
960da6e0e7cd8b1bb2010e06291baad39499ee4e 12-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Use ashmem to create the JIT code cache."
de57b7009d695d16611595ae76d6899c88d74cd2 12-Feb-2010 Ben Cheng <bccheng@android.com> Use ashmem to create the JIT code cache.
c14fbc32b5b76f43b4a8a7f7b7bd1d5652b1ae27 11-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Minor codegen tuning.
60816e40ff5cf4d5a5d612f4c6e43226e86d7851 11-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Minor codegen tuning."
b33e929cf732e876ac7ab6039498398dca986644 11-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Allocate a contiguous region of virtual memory to be subdivided among the various heaps managed by the garbage collector. Because we cannot tell how far the break has been advanced by morecore, we over allocate virtual memory and grain each heap on a multiple of the maximum heap size. If we could reckon the position of the break, we could allocate just as many pages as required. This requires exporting more state from mspace.c, a refinement I will reserve for a future change list." into dalvik-dev
036736c0464365b2841869ded9c186532815326c 11-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Minor codegen tuning.
457773d6835f81b0e6d18eea3de0fba9f1f8bf8e 11-Feb-2010 Jesse Wilson <jessewilson@google.com> Fixing problems with the test runner's ability to parse expected results files.

It appears that the original authors of this testing framework didn't really
know whether these files were supposed to be XML or HTML, UTF-8 or UTF-16, and
so there's quite a mess of processing in order to canonicalize them.
3fa5f250c0b6ca2620c037f79cba0735cbcc28c7 11-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing some of our XSLT implementation issues."
75d1e095bc9f1352e6828dfaa383d11bd21ed971 11-Feb-2010 The Android Open Source Project <initial-contribution@android.com> am a38780c9: merge from open-source master

Merge commit 'a38780c9858aee807a52ad5615da4d32a4bafca0'

* commit 'a38780c9858aee807a52ad5615da4d32a4bafca0':
Fix a couple minor bugs (bug 2404859) in TraceDump.c
Added support for filter in dmtracedump tool, along with some test cases.
Fix for unmatched entry/exit points in test traces
a8861b821beef6a15fc7430b7f54865ab3e2c1a8 11-Feb-2010 Brian Carlstrom <bdc@google.com> Make DalvikRunner more resilient to running immediately after device reboot

Changed EnvironmentDevice.prepare to waitForDevice and
waitForNonEmptyDirectory("/sdcard") before proceeding to fix problem with
running immediately after "fastboot flashall"

dalvik/libcore/tools/runner/java/dalvik/runner/EnvironmentDevice.java

Added Adb.waitForDevice and Adb.waitForNonEmptyDirectory

dalvik/libcore/tools/runner/java/dalvik/runner/Adb.java

Added Command.executeWithTimeout based on code refactored from Mode.java

dalvik/libcore/tools/runner/java/dalvik/runner/Command.java
dalvik/libcore/tools/runner/java/dalvik/runner/Mode.java
29d0e9983e88d68b0bd2b4a1fd9e497715478473 10-Feb-2010 Carl Shapiro <cshapiro@google.com> Allocate a contiguous region of virtual memory to be subdivided among
the various heaps managed by the garbage collector. Because we cannot
tell how far the break has been advanced by morecore, we over allocate
virtual memory and grain each heap on a multiple of the maximum heap
size. If we could reckon the position of the break, we could allocate
just as many pages as required. This requires exporting more state
from mspace.c, a refinement I will reserve for a future change list.
866b7049d21b1c75d9af68c17d8900b8db137fa1 10-Feb-2010 jeffhao <jeffhao@google.com> Added LDMIA/STMIA support to Self Verification mode.
22837a47a65c17fd50fec697e0ba70535e33d7b5 11-Feb-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master
e2be4f4d2be356d0b16d62bd61e8d3d88456a61c 03-Feb-2010 Elliott Hughes <enh@google.com> Add a general-purpose scoped pointer for libcore JNI.

This is a functional equivalent of C++0x's std::unique_ptr.

(I'm not planning to use this in froyo, but I want it there in case I have to
backport changes from dalvik-dev.)
344d0858b26cb562258a3afcd4264515ab4228a2 09-Feb-2010 Ben Cheng <bccheng@android.com> Support per-application switch to execute the VM in safe mode.

This is the implementation on the VM side to consume the android:safeMode=true
attribute and force the application to run in interpreter-only mode (the
current safe mode).

Bug: 2267583
1a040a4491e226337e10ee70705a9f0c1edef127 11-Feb-2010 Ben Cheng <bccheng@android.com> Free memory associated with the trace descriptor of ALL dropped JIT work orders

To further reduce the memory consumption only enable the method vs trace
compile size stats when WITH_JIT_TUNING is configured.
26f06c0388d38f6ab8dd56d6e48e862ab533aa97 09-Feb-2010 jeffhao <jeffhao@google.com> Added missing break statements and improved debugging in SelfVerification.
7c82fcffead2dbe7b4aa23c16a115aa8d1cc38a2 02-Feb-2010 Jesse Wilson <jessewilson@google.com> Fixing some of our XSLT implementation issues.

These changes move our XSLT code to passing 1898/3173 of the OASIS tests.
To contrast, the RI passes 2105/3173 tests.

Highlights:
- Implementing getTextContent() for nodes
- Removing validation during transforms. We don't support validation!
- Fixing attribute constraints to match the spec
- Fixing test suite to not confuse BaseURI from NamespaceURI
9ea8a5a5cd43e41cd8ebc20d5e0b0123b4a7eee1 10-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Support per-application switch to execute the VM in safe mode."
a84a8756630a4a76fe7ed0f7903b9a57f277519b 10-Feb-2010 Jeff Hao <jeffhao@google.com> Merge "Added LDMIA/STMIA support to Self Verification mode."
9d6bf9d8b9c9a1c2dbe91963cadc12ce0da647d0 10-Feb-2010 Dan Egnor <egnor@google.com> Merge "Add a setHandshakeTimeout() to OpenSSLSocketImpl, which sets a read timeout that only applies to the SSL handshake step."
b0908f166ab7021beff5cb35c9164970875755cc 10-Feb-2010 Dan Egnor <egnor@google.com> Add a setHandshakeTimeout() to OpenSSLSocketImpl, which sets
a read timeout that only applies to the SSL handshake step.

Bug: 2362543
0c31a7b6ea04157b988e84d43de8a85ce54c39e7 10-Feb-2010 Brian Carlstrom <bdc@google.com> Fix NamingPatternCodeFinder to detect final classes
db9a653296d57936d9d16109df7713acdbb1ffab 09-Feb-2010 Ben Cheng <bccheng@android.com> Support per-application switch to execute the VM in safe mode.

This is the implementation on the VM side to consume the android:safeMode=true
attribute and force the application to run in interpreter-only mode (the
current safe mode).

Bug: 2267583
00c13ee7352d72ebd0bc8d95f9a833cee0c98f5c 10-Feb-2010 jeffhao <jeffhao@google.com> Added LDMIA/STMIA support to Self Verification mode.
7cabde823e8b6c8ae5c7070c777b6efb10871e97 10-Feb-2010 Brian Carlstrom <bdc@google.com> Merge "Remove TestRunner.success field / Make postCompileTest return void"
ac60b837825872371ffebbf130160b9fe8dbeb6e 10-Feb-2010 Brian Carlstrom <bdc@google.com> Remove TestRunner.success field / Make postCompileTest return void

SUMMARY:
- Change TestRunner subclasses to instead implement a Runner interface
- Cleanup runtime classpath generation
- Misc improvements

DETAILS:

Change TestRunner subclasses to instead implement a Runner interface

*Runner classes now implement the new Runner interface instead of
extending TestRunner. prepareTest/test now take a "Class
testClass" instead of accessing a "String testClass" from the
superclass. This also means that all their "static void main"
methods are removed and replaced with a single main method in
TestRunner. TestActivity can now instantiate a TestRunner and call
its "boolean run()" method to execute tests and retrieve their
SUCCESS/FAILURE status via the return value, allowing the removeal
of TestRunner.success. Mode now needs to explicitly include
TestRunner.java in the list of code to compile because it no
longer is implicitly found by compiling its former subclasses.

java/dalvik/runner/TestRunner.java
java/dalvik/runner/Runner.java
java/dalvik/runner/CaliperRunner.java
java/dalvik/runner/JUnitRunner.java
java/dalvik/runner/JtregRunner.java
java/dalvik/runner/MainRunner.java
java/dalvik/runner/Mode.java

CodeFinder.getRunnerClass now returns a Runner, not a TestRunner

java/dalvik/runner/CodeFinder.java
java/dalvik/runner/JUnitFinder.java
java/dalvik/runner/CaliperFinder.java
java/dalvik/runner/JtregFinder.java
java/dalvik/runner/MainFinder.java

Similarly, TestRun.runnerClass is now a Runner, not a TestRunner

java/dalvik/runner/TestRun.java

Move logic to run a test based on TestProperties.RUNNER_CLASS from
TestActivity to TestRunner since its now used in all cases, not
just the Activity case. TestActivity.ActivityRunner remains the
one subclass of TestRunner, accessing the TestRunner.run(...)
logic via super.run(...), allowing it to maintain its special
result file writing logic.

java/dalvik/runner/TestActivity.java
java/dalvik/runner/TestRunner.java

Moved writing of TestProperties.RUNNER_CLASS from ActivityMode now
that it is used for all Modes.

java/dalvik/runner/ActivityMode.java
java/dalvik/runner/Mode.java

Since CaliperRunner now has a "Class testClass", it uses the more
strongly typed Runner.main(Class<? extends Benchmark>, ...) API.

java/dalvik/runner/CaliperRunner.java

Fixing javadoc TestRunner->Runner
java/dalvik/runner/TestProperties.java

Adding new Runner class to the build.

Android.mk

Cleanup runtime classpath generation

Changed Mode.postCompileTest to return void instead of Classpath
to match Most.postCompileTestRunner. Removed passing test
classpath from compile to run via TestRun.testClasspath. Instead,
Vm.getRuntimeSupportClasspath now is used to compute full
classpath, instead of using the old TestRun.getTestClasspath in
Mode. Mode.compileTest now uses a boolean to indicate compilation
success, instead of null/non-null Classpath. TestRun.testClasspath
is now replaced with TestRun.testCompiled which is used to track
compilation success. In retrospect, it seems like using the
absense of a Classpath as an indication of compilation
success/failure seems like somewhat of a hack.

java/dalvik/runner/Mode.java
java/dalvik/runner/ActivityMode.java
java/dalvik/runner/DeviceDalvikVm.java
java/dalvik/runner/JavaVm.java
java/dalvik/runner/TestRun.java

New deviceDexFile to make sure dex file name generation stays
consistent between build time and compile time.

java/dalvik/runner/DeviceDalvikVm.java

Changed MainRunner implementation to more closely match JtregRunner
java/dalvik/runner/MainRunner.java

Misc improvements

Changed TestActivity to use a shutdown hook to catch when a test
calls System.exit so we can be sure to write a result file and not
simply wait for the timeout to catch our failure to return.

java/dalvik/runner/TestActivity.java

Changed Mkdir.mkdirs to use new Command().execute to get automatic
logging of command execution with --verbose

java/dalvik/runner/Mkdir.java

Improved javadoc

java/dalvik/runner/Mode.java

Fixed apparently misplaced @SuppressWarnings("unchecked")
java/dalvik/runner/OptionParser.java

Enabling warnings as errors and turning on unchecked warnings.

Android.mk

Made sure test script works with fresh device and improved logging

test-dalvik-runner.sh
ff87a80454bc72a03e43db7d2c96a689b3fbb6f5 09-Feb-2010 jeffhao <jeffhao@google.com> Added missing break statements and improved debugging in SelfVerification.
0024060b559d385fd0ffa0d2e847e4d134cbd14d 29-Jan-2010 Jack Veenstra <veenstra@google.com> Fix a couple minor bugs (bug 2404859) in TraceDump.c

1. A switch statement was missing a "break" after option letter "f".
2. The heavily-used function "lookupMethod()" had an expression using mod (%) instead of bitwise-and (&).
aebc0b705fa88ef11100d86c15bb549a6c9ca17b 18-Dec-2009 Rodrigo Ipince <ipince@google.com> Added support for filter in dmtracedump tool, along with some test cases.

Some corner cases are still not handled in the code, but will be eventually.
89c4ebf70e0f89448fe197af1aa3d6338ea214a2 22-Oct-2009 Rodrigo Ipince <ipince@google.com> Fix for unmatched entry/exit points in test traces

Added support for the creation of test traces with unmatched entries/exits (current implementation segfaulted in some cases)
14365897407bc33822e61c5bea51ecb3791a8b26 09-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Phase 1 of register utility cleanup/rewrite - the great renaming

Renaming of all of those register utilities which used to be local because
of our include mechanism to the standard dvmCompiler prefix scheme.
8afa845254a44b64be3d432e0dd9900d1a754cc6 09-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Phase 1 of register utility cleanup/rewrite - the great renaming"
eb61dfa592ee9719dc49c981c2ac69aae2ad2c31 09-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Phase 1 of register utility cleanup/rewrite - the great renaming

Renaming of all of those register utilities which used to be local because
of our include mechanism to the standard dvmCompiler prefix scheme.
f14faf49f8ec101e051540d9ae9f65fe293ae2de 09-Feb-2010 Brian Carlstrom <bdc@google.com> Merge "DalvikRunner can run a test as an android.app.Activity & PathClassLoader.toString change"
b5b17923c3aa73a3e39dc98bacb137bc68ec76df 05-Feb-2010 Brian Carlstrom <bdc@google.com> DalvikRunner can run a test as an android.app.Activity & PathClassLoader.toString change

SUMMARY:
- PathClassLoader.toString prints path
- DalvikRunner --mode activity now working
- new DalvikRunner --no-clean vs --no-clean-after behavior

DETAILS

Dalvik runtime change
Changed PathClassLoader.toString to print the class loaders path
Also fixed variable name in commented out debug code
libcore/dalvik/src/main/java/dalvik/system/PathClassLoader.java

Dalvik Runner changes

Mode is the new abstract superclass of the existing Vm
class. ActivityMode is for the new Mode of running as a Activity
on the device. Vm is now a subclass of Mode and its JavaVm and
DeviceDalvikVm still exist although some code has been refactored
into the new Environment clases (see below)

libcore/tools/runner/java/dalvik/runner/Mode.java
libcore/tools/runner/java/dalvik/runner/ActivityMode.java
libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
libcore/tools/runner/java/dalvik/runner/JavaVm.java
libcore/tools/runner/java/dalvik/runner/Vm.java

Environment and its subclasses EnvironmentHost and
EnvironmentDevice allow us to reuse some common code between the
two different device modes (ActivityMode and
DeviceDalvikVm). Basically code that was more about where and how
to do things based on where the code was running as opposed to how
the code was running moved to the Environment classes. For
example, prepare() logic for /sdcard/ and ADB code in general.

libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
libcore/tools/runner/java/dalvik/runner/Environment.java
libcore/tools/runner/java/dalvik/runner/EnvironmentDevice.java
libcore/tools/runner/java/dalvik/runner/EnvironmentHost.java
libcore/tools/runner/java/dalvik/runner/JavaVm.java
libcore/tools/runner/java/dalvik/runner/Vm.java

Adding new files
libcore/tools/runner/Android.mk

Aapt is a wrapper for "aapt" similar to Adb and Dx
libcore/tools/runner/java/dalvik/runner/Aapt.java

Added Adb.install and Adb.uninstall methods
Changed from using File.toString to File.getPath for clarity
libcore/tools/runner/java/dalvik/runner/Adb.java

CodeFinder has been extended so that Driver can ask finders what
they need to build and run, specifically through the new
getRunnerJava and getRunnerClasspath. (As part of this
NamingPatternCodeFinder's runnerClass was changed to
getRunnerClass for consistency with the superclass.) This was
important for running as an Activity because we want to minimize
what we pack into the APK file because of the "dx --dex" runtime
and not just pull in all possible runners and supporting
libraries. TestRun objects also hold onto this information from
their finders.

libcore/tools/runner/java/dalvik/runner/Driver.java
libcore/tools/runner/java/dalvik/runner/CodeFinder.java
libcore/tools/runner/java/dalvik/runner/CaliperFinder.java
libcore/tools/runner/java/dalvik/runner/JUnitFinder.java
libcore/tools/runner/java/dalvik/runner/JtregFinder.java
libcore/tools/runner/java/dalvik/runner/MainFinder.java
libcore/tools/runner/java/dalvik/runner/NamingPatternCodeFinder.java
libcore/tools/runner/java/dalvik/runner/TestRun.java

TestRunner TestRunner's className is now testClass to clarifiy it
from the runnerClass.

libcore/tools/runner/java/dalvik/runner/TestRunner.java
libcore/tools/runner/java/dalvik/runner/CaliperRunner.java
libcore/tools/runner/java/dalvik/runner/JUnitRunner.java
libcore/tools/runner/java/dalvik/runner/JtregRunner.java
libcore/tools/runner/java/dalvik/runner/MainRunner.java

Classpath now has a Collection.of and Collection.addAll that take
a Collection<File> instead if just a File...

libcore/tools/runner/java/dalvik/runner/Classpath.java

Added Command.args(File arg) to avoid a lot of
args(file.getPath())

libcore/tools/runner/java/dalvik/runner/Command.java

Option --clean has expanded to --clean-before, --clean-after, and
--clean. Now --no-clean will remove nothing as Elliot
requested. --no-clean-after is now what is useful for
DalvikRunner debuggin. Default is still to clean before and
after.

libcore/tools/runner/java/dalvik/runner/DalvikRunner.java

Moved Vm.DALVIK_RUNNER_HOME to DalvikRunner.HOME.
/tmp/<UUID> paths are now /tmp/dalvikrunner/<UUID> paths are easier cleanup.

libcore/tools/runner/java/dalvik/runner/DalvikRunner.java

Driver was changed to use a ExecutorCompletionService around the
ExecutorService so that exceptions from the execute threads could
be reported on the main thread.

libcore/tools/runner/java/dalvik/runner/Driver.java

We now build the testrunner before the test so that its classes
will be around to be packed into APK files.

libcore/tools/runner/java/dalvik/runner/Driver.java

Dx.dex now takes File arguments instread of Strings. Dx.dex also
needs to pass additional memory arguments to not run out of memory
building the big dex for the APK. The values I used where from the
build/core/definitions.mk

libcore/tools/runner/java/dalvik/runner/Dx.java

postCompile was split into postCompileTestRunner and
postCompileTest because the packaging requires are very different
in each case for ActivityMode. Specifically, the test runner is
not post-packaged seperately, but packaged in the APK with each
test.

libcore/tools/runner/java/dalvik/runner/ActivityMode.java
libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
libcore/tools/runner/java/dalvik/runner/JavaVm.java
libcore/tools/runner/java/dalvik/runner/Vm.java

Changed testClass to test to avoid collision with new superclass field

libcore/tools/runner/java/dalvik/runner/JtregRunner.java
libcore/tools/runner/java/dalvik/runner/MainRunner.java

Added @SuppressWarnings("unchecked")

libcore/tools/runner/java/dalvik/runner/OptionParser.java

New android.app.Activity based on Elliot's TestAPK. It encapsulates an
ActivityRunner that invokes the appropriate TestRunner based on test.properties.

libcore/tools/runner/java/dalvik/runner/TestActivity.java

New class that shared contains (old and some new) between the
DalvikRunner and the TestRunner.

libcore/tools/runner/java/dalvik/runner/TestProperties.java

Regression test script for debugging the matrix of various
DalvikRunner modes and test types:

libcore/tools/runner/test-dalvik-runner.sh
993c2a84c74b66d997633ed62ee42a8b0dd79b2b 06-Feb-2010 jeffhao <jeffhao@google.com> Cleaned up uninitialized variable use warnings in Self Verification mode.
999df484c2e5e732c79db9d043941b3b73ea8f6a 09-Feb-2010 Ben Cheng <bccheng@android.com> Free the memory associated with the trace descriptor of dropped JIT work orders.
0f7ac37537f34d2ff748810bab7ff0d148efafd7 05-Feb-2010 Ben Cheng <bccheng@android.com> Enable JIT parameters to be initialized in an architecture dependent way.

The search for optimial value is still ongoing. The current settings are:

v5 v7
JIT profile table 512 2048
JIT code cache 512K 1M
JIT threshold 200 40
95e15938adb46c07cfe6e3148581e0ae8ebccc2c 09-Feb-2010 Ben Cheng <bccheng@android.com> Free the memory associated with the trace descriptor of dropped JIT work orders.
cbf14adce7bcefcceb539e8aaf5d4585567825ef 09-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Startup/Shutdown cleanup

A legacy of early parallel Jit development was separate Startup & Shutdown
code for the interpreter half of the jit (dvmJitStartup/dvmJitShutdown)
and the compiler half (dvmCompilerStartup/dvmCompilerShutdown). This cl
eliminates the dvmJit pair. Additionally, guard coded added to the
framework callback to return immediately if the Jit isn't active.
3c65db201a5ed5d4d2488c19f38e86a6886c9ea6 09-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Startup/Shutdown cleanup

A legacy of early parallel Jit development was separate Startup & Shutdown
code for the interpreter half of the jit (dvmJitStartup/dvmJitShutdown)
and the compiler half (dvmCompilerStartup/dvmCompilerShutdown). This cl
eliminates the dvmJit pair. Additionally, guard coded added to the
framework callback to return immediately if the Jit isn't active.
6b098c2c5bd60f8e907786379920d6a146d5e05b 08-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Remove references to interpState from C interpreter

Fix for Issue 2157987:
Eventual isssue with interpState->jitState in <dalvik/vm/mterp/c/header.c
4fbc7b04eb7bd79a64955c9af87ef25c0cebc2f4 08-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Remove references to interpState from C interpreter

Fix for Issue 2157987:
Eventual isssue with interpState->jitState in <dalvik/vm/mterp/c/header.c
3bd4f4c734d310b80fed96edfeeacb95428d799f 06-Feb-2010 Elliott Hughes <enh@google.com> Fix a bug I introduced to SimpleTimeZone with my Calendar.setTimeZone fix.

Our implementations of SimpleTimeZone and Calendar became mutually recursive
for custom time zones when I changed GregorianCalendar.computeFields to use
TimeZone.inDaylightTime --- SimpleTimeZone's implementation of inDaylightTime
creates a GregorianCalendar leading to a stack overflow looking something
like this...

at java.util.SimpleTimeZone.inDaylightTime(SimpleTimeZone.java:599)
at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:595)
at java.util.Calendar.complete(Calendar.java:819)
at java.util.Calendar.setTimeInMillis(Calendar.java:1319)
at java.util.GregorianCalendar.<init>(GregorianCalendar.java:339)
at java.util.GregorianCalendar.<init>(GregorianCalendar.java:325)
at java.util.SimpleTimeZone.inDaylightTime(SimpleTimeZone.java:599)

I've cut the knot by introducing "Grego" from ICU4J, and rewriting our
SimpleTimeZone.inDaylightTime in the style of ICU4J's implementation.

Maybe we'll be using the ICU4J calendar implementation sooner than I thought!
8c66bb7d6ea695b6d743209bf23a8fc22db8d5f0 06-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "JIT: Replace missing ending comment marker MONITOR_ENTER template" into dalvik-dev
345af66b55e27c45688df6f57d4e0e8eb68bb270 06-Feb-2010 Bill Buzbee <buzbee@google.com> JIT: Replace missing ending comment marker MONITOR_ENTER template

...which, luckily, was followed by a debug version of the same handler
so everything magically worked anyway. I should buy a lottery ticket today.
2867fb43acaec67cecee40865e797e8ba0f77492 06-Feb-2010 Elliott Hughes <enh@google.com> Merge "Track upstream fixes to two broken tests." into dalvik-dev
147182a0f437700775fff7cee9fa61e4a5b92250 05-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Start the Jit when framework signals on first screen draw

Cleanup of delayed start - introduce dvmRelativeCondWait in Sync.c.
Additionally, support for deadman timer to start Jit when no screen draws
happen, and to start immediately when running stand-alone.

Fixed bug in assert variant of libdvm - recent MONITOR change had neglected
to add a new type of exit to the exit stats.
737721badc81d76400d1abb75bd23f28f6a5079c 05-Feb-2010 Ben Cheng <bccheng@android.com> Enable JIT parameters to be initialized in an architecture dependent way.

The search for optimial value is still ongoing. The current settings are:

v5 v7
JIT profile table 512 2048
JIT code cache 512K 1M
JIT threshold 200 40
f92f9ca513358c84654df27b62a53e7ee29a863e 06-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "JIT: Replace missing ending comment marker MONITOR_ENTER template"
8fee19109bebb8daec95458210b88778b9d00b4e 06-Feb-2010 Bill Buzbee <buzbee@google.com> JIT: Replace missing ending comment marker MONITOR_ENTER template

...which, luckily, was followed by a debug version of the same handler
so everything magically worked anyway. I should buy a lottery ticket today.
611d92206cb917d189a5335cb91eaba7e4e339b8 05-Feb-2010 Carl Shapiro <cshapiro@google.com> Eliminate the post-zygote heap and reuse the zygote allocation heap
for application allocations. Previously, applications were given
their own heap separate from the zygote. However, the zygote never
allocates more than 10s of objects most of which quickly become
garbage. After an application fork, these objects are reclaimed,
dirtying the pages they and their malloc structures reside on. This
is a further win for the GC as it results in one fewer mspace to
considered for range checks and bitmap traversals.
b1a070cd48ea5ae9b0f2cce2ec1eefdca2f6a293 06-Feb-2010 Jeff Hao <jeffhao@google.com> Merge "Cleaned up uninitialized variable use warnings in Self Verification mode."
945c418bf552bca59edb85b120bf7031f134e4d7 06-Feb-2010 jeffhao <jeffhao@google.com> Cleaned up uninitialized variable use warnings in Self Verification mode.
ac773f6982ac2ca3414a03c4eff8d281ed956145 06-Feb-2010 Andy McFadden <fadden@android.com> Merge "Improve dexdeps output."
1ed67a062be9a61e8653946877600ce7fc39ea2d 06-Feb-2010 Andy McFadden <fadden@android.com> Improve dexdeps output.

This adds the list of referenced classes to the output. Previously it
only emitted fields and methods, so classes that were referenced by type
only (e.g. some dalvik annotation classes) weren't visible.

The XML output now more closely resembles the API files, having
distinct package/class tags. We no longer emit a return type for
constructors.
07f47881596346e3aacbc96e6f001726fef0a7c7 05-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Start the Jit when framework signals on first screen draw

Cleanup of delayed start - introduce dvmRelativeCondWait in Sync.c.
Additionally, support for deadman timer to start Jit when no screen draws
happen, and to start immediately when running stand-alone.

Fixed bug in assert variant of libdvm - recent MONITOR change had neglected
to add a new type of exit to the exit stats.
4b9724831ebdc991b6078b41c196788baf75f536 05-Feb-2010 The Android Open Source Project <initial-contribution@android.com> am adbe0586: am 217f8ef4: reconcile main tree with open-source eclair

Merge commit 'adbe0586957a71d2aa9f100646882dbca1c78f12'

* commit 'adbe0586957a71d2aa9f100646882dbca1c78f12':
android-2.1_r1 snapshot
ad7bfd7a701416629e13fc84850779db4ff06fed 05-Feb-2010 Elliott Hughes <enh@google.com> Track upstream fixes to two broken tests.
9768ca16f9448cfd4e08749c84d4a6f59188aef3 05-Feb-2010 The Android Open Source Project <initial-contribution@android.com> am 217f8ef4: reconcile main tree with open-source eclair

Merge commit '217f8ef4c1c151c63382dc0785edd960c233f62e' into eclair-plus-aosp

* commit '217f8ef4c1c151c63382dc0785edd960c233f62e':
android-2.1_r1 snapshot
e3f8800c583ed7528292822c9d8bbaab8da12aef 05-Feb-2010 The Android Open Source Project <initial-contribution@android.com> reconcile main tree with open-source eclair
d7a0273a39a02549a4d14c80cb2c02cb0ea87700 05-Feb-2010 Elliott Hughes <enh@google.com> Fix accidental API pollution in java.util.zip.

Package-private interface ZipConstants turns out to be implemented by
all the public Zip* classes in the package, so they can uselessly
expose duplicate copies of the constants. This means I can't add my
own constants there because they'll leak.

This didn't break the build because we lose the "implements ZipConstants"
and ZipConstants.class somewhere around the apicheck part of the build.
See http://b/2421864 for that.

Anyway, let's mop up the spill before anyone can see it...
ac0ce69c50fd6800edaa0e4a285b0e6bd16b9f6f 05-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix decoding of filenames in zip files, when read by ZipFile." into dalvik-dev
95bd0f20cdbec7e58ea0d78976a1f22524fd7873 05-Feb-2010 Elliott Hughes <enh@google.com> Fix decoding of filenames in zip files, when read by ZipFile.

Java always writes UTF-8 filenames in zip files, but harmony cunningly
always reads them back as ISO-8859-1. Fix that, and also set the flag
that says "these filenames are UTF-8" (the RI will do this from Java 7
on).

Note that this patch doesn't actually touch ZipFile because the bug is
in the package-private ZipEntry constructor that's used by
ZipFile.readCentralDirectory.

Bug: http://code.google.com/p/android/issues/detail?id=4690
a333adc684c4d5cb8ed3b84d69085e6f0ede4e5b 03-Feb-2010 jeffhao <jeffhao@google.com> Made Self Verification mode's memory interface less intrusive.
7130c41215e945e1cbfeb1bd016078ee7505c4a0 05-Feb-2010 Jeff Hao <jeffhao@google.com> Merge "Made Self Verification mode's memory interface less intrusive."
de1589bb6241f30bc52ef7f9a95340ec0d8b3904 03-Feb-2010 jeffhao <jeffhao@google.com> Made Self Verification mode's memory interface less intrusive.
777b7e2de1a5a513c3706710d84e3cd35b602ffe 04-Feb-2010 Elliott Hughes <enh@google.com> Merge "Minimal fix for Calendar.setTimeZone." into dalvik-dev
a1509a7e5b38041dd7e3185e23324bf967306d2d 04-Feb-2010 Elliott Hughes <enh@google.com> Minimal fix for Calendar.setTimeZone.

The interpretation of Calendar's competing member variables when the time,
time zone, and fields[] don't agree is confusing, and led to
Calendar.setTimeZone having no effect. I've improved the documentation
based on my reverse-engineering and fixed this bug. I noticed a lot of
other code that looks incorrect though, and I've raised http://b/2419810
suggesting that we switch to icu4j's calendars in the longer term.

Bug: http://code.google.com/p/android/issues/detail?id=6184
cebb30a02c3233126064a731de2764480f07630c 04-Feb-2010 Nagendra Modadugu <ngm@google.com> Merge "Add two TrustCenter roots: - TC TrustCenter Class 2 CA II - TC TrustCenter Universal CA I"
4b6ffd0ba0ef8c0029e5a9fdfcf286c0181f6000 04-Feb-2010 Nagendra Modadugu <ngm@google.com> Add two TrustCenter roots:
- TC TrustCenter Class 2 CA II
- TC TrustCenter Universal CA I
bec5e8ba0abd21a163a9b291c6c5144e8d9566a5 04-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Fix deadlock in method tracing.
c9d43a78d41ee48add61197417c1d3d4dd646434 04-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Fix deadlock in method tracing.
c82e2d4972875cf4343fba067ee31a486e07af54 27-Jan-2010 Ben Cheng <bccheng@android.com> Fix performance issues related to chaining and unchaining.

1) Patching requests for predicted chaining cells (used by virtual/interface
methods) are now batched in a queue and processed when the VM is paused for GC.

2) When the code cache is full the reset operation is also conducted at the
end of GC pauses so this totally eliminates the need for the compiler thread
to issue suspend-all requests. This is a very rare event and when happening it
takes less than 5ms to finish.

3) Change the initial value of the branch in a predicted chaining cell from 0
(ie lsl r0, r0, #0) to 0xe7fe (ie branch to self) so that initializing a
predicted chaining cell doesn't need to suspend all threads. Together with 1)
seeing 20% speedup on some benchmarks.

4) Add TestCompability.c where defining "TEST_VM_IN_ECLAIR := true" in
buildspec.mk will activate dummy symbols needed to run libdvm.so in older
releases.

Bug: 2397689
Bug: 2396513
Bug: 2331313
e48a8e1af5c21b315c5cf92ef30ed6ce7fcb417b 04-Feb-2010 Elliott Hughes <enh@google.com> Merge "Remove obviously bogus @KnownFailure annotations." into dalvik-dev
ca04f5cfc88bad1b9b2ac08e074763c794a97f5b 04-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Rework monitor enter/exit to simplify thread suspension" into dalvik-dev
0b58292ff0d810a70867f74514c297609d94da55 04-Feb-2010 Elliott Hughes <enh@google.com> Remove obviously bogus @KnownFailure annotations.

We've already agreed @KnownFailure Must Die (to be replaced by expectations for
DalvikRunner), but some are -- I think -- obviously in need of investigation.
This patch removes @KnownFailure for all cases where the reason looks bogus.
I've left the @KnownFailure annotations in cases where I it looks "reasonable"
in that we simply haven't implemented the functionality (pack200, say), and
a few other cases. Those should probably be done in a separate patch that adds
expectations at the same time.

But these ones, I think, all need investigating. (There's a scary number of
Arabic-related bugs in here, given that we're supposed to be shipping Arabic
in froyo.)
bb3d085be0fc65a3dee33bfd4f4356fd2e506a56 04-Feb-2010 Elliott Hughes <enh@google.com> Remove a workaround for an openssl bug that's been fixed upstream.

The >= versus > bug was fixed in openssl somewhere between .98g and .98k (we
don't have _all_ versions conveniently lying around), and our removal of
the disjunct was irrelevant. Call the now-correct upstream code instead of
manually inlining and hacking it.

Also rename BN_lshift to BN_shift, since it handles both left and right shifts.
25008a7eff22a09c61de2a42ed6aeeca6c8df603 02-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Rework monitor enter/exit to simplify thread suspension

The Jit must stop all threads in order to flush the translation cache (and
other tables). Threads which are blocked in a monitor wait cause some
headache here because they effectively hold a references to the translation
cache (though the return address on the native stack). The new model
introduced in this CL is that for the fast path of monitor enter, control
is allowed to resume in the translation cache. However, if we need to do a
heavyweight lock (which may cause us to block) control does not return to the
translation cache but instead bails out to the interpreter. This allows us to
safely clear the code cache even if some threads are in THREAD_MONITOR state.
d3b68e92353cef6316191ebfc857c27a04964e7e 03-Feb-2010 Andy McFadden <fadden@android.com> Increase the size of the stack reserved area.

This increases the size of the "reserved" area, used for handling stack
overflows, from 512 to 768 bytes. There will be a corresponding
reduction in the amount of stack space available to interpreted threads
(which currently default to 12KB).

It turns out 512 bytes isn't quite enough space when class lookup throws
an exception while resolving "catch" block classes during a stack
overflow error.

For bug 2398031.
fae07c44b7f42fa4f8b071528a7b5bbe8455b0da 03-Feb-2010 Andy McFadden <fadden@android.com> Fix stack overflow edge case.

When a stack overflows, Dalvik allows the stack to expand into a
"reserved" area, so that it has enough room to create and initialize the
StackOverflowError object. While the stack is expanded we also do the
search for an appropriate "catch" block, which may require resolving
some exception classes.

As it happens, things go badly when the "catch" resolution throws an
exception. The VM tries to shrink the stack back down after the second
exception is finished, rather than waiting for the initial SOE to
finish. Since we still have some additional frames on the stack, we're
still occupying the "reserved" area, and the VM aborts when it detects
the situation.

This changes the stack cleanup to wait until the SOE is being dealt
with.

For bug 2398031.
5af0350d419c732d918f349684d1d54a11f65081 27-Jan-2010 Ben Cheng <bccheng@android.com> Fix performance issues related to chaining and unchaining.

1) Patching requests for predicted chaining cells (used by virtual/interface
methods) are now batched in a queue and processed when the VM is paused for GC.

2) When the code cache is full the reset operation is also conducted at the
end of GC pauses so this totally eliminates the need for the compiler thread
to issue suspend-all requests. This is a very rare event and when happening it
takes less than 5ms to finish.

3) Change the initial value of the branch in a predicted chaining cell from 0
(ie lsl r0, r0, #0) to 0xe7fe (ie branch to self) so that initializing a
predicted chaining cell doesn't need to suspend all threads. Together with 1)
seeing 20% speedup on some benchmarks.

4) Add TestCompability.c where defining "TEST_VM_IN_ECLAIR := true" in
buildspec.mk will activate dummy symbols needed to run libdvm.so in older
releases.

Bug: 2397689
Bug: 2396513
Bug: 2331313
8c43079e0d137c4c2120294e8bcaa5cc1b55e2d4 03-Feb-2010 Elliott Hughes <enh@google.com> Fix two compiler warnings.

Signed/unsigned comparison in "File.cpp", and && and || without parentheses
in "OpenSSLSocketImpl.cpp". There's another signed/unsigned comparison in
"ifaddrs-android.h" but that isn't fixable (http://b/2417132), which is
going to stand in the way of turning on -Werror.
3816eb892cbebf41f882fc608955a9a3fe1d3f4d 03-Feb-2010 Elliott Hughes <enh@google.com> Remove RuleBasedNumberFormat from our icu4jni fork, since we don't need it.

This is ICU API not used by Java, so there's no point pretending to maintain it.

Bug: http://b/2377457
c6bfe71064179c4135a56209a54c33d9021c600e 03-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Rework monitor enter/exit to simplify thread suspension"
d4e602f6314259929b98f2dbcc70c030b42ff58a 03-Feb-2010 Elliott Hughes <enh@google.com> Silence "note: the mangling of 'va_list' has changed in GCC 4.4".

Not strictly necessary for turning on -Werror for libcore, but worth doing
anyway.
eb401fd15cd0803a1fad56b0a1ef9801d95607e9 03-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Fix a long standing bug within dvmHeapSourceGetObjectBitmaps. All callers of this function assign the return value to an unsigned value even though this function returns -1 in the error case. This causes the error checks to succeed in cases where it should otherwise fail. Rather than return -1 on error, I have elected to return 0 instead which just happens to be compatible with all current uses."
817bc9d8f5e4a058239bb0fd2eea3a5e0ea9b77e 02-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Rework monitor enter/exit to simplify thread suspension

The Jit must stop all threads in order to flush the translation cache (and
other tables). Threads which are blocked in a monitor wait cause some
headache here because they effectively hold a references to the translation
cache (though the return address on the native stack). The new model
introduced in this CL is that for the fast path of monitor enter, control
is allowed to resume in the translation cache. However, if we need to do a
heavyweight lock (which may cause us to block) control does not return to the
translation cache but instead bails out to the interpreter. This allows us to
safely clear the code cache even if some threads are in THREAD_MONITOR state.
59debb4c54f7d8cb1c775266492e2de4b148c378 02-Feb-2010 Carl Shapiro <cshapiro@google.com> Fix a long standing bug within dvmHeapSourceGetObjectBitmaps. All
callers of this function assign the return value to an unsigned value
even though this function returns -1 in the error case. This causes
the error checks to succeed in cases where it should otherwise fail.
Rather than return -1 on error, I have elected to return 0 instead
which just happens to be compatible with all current uses.
ff4311d3eeb66053fe8a0db2e7790c34fca2c89a 02-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "A new test suite for our XSLT transforms."
4dd998e0805ffd7ae58a1a00ee515dd86c84d294 02-Feb-2010 Jesse Wilson <jessewilson@google.com> A new test suite for our XSLT transforms.

Currently the test suite isn't wired-in to run automatically. Before
that can happen I need to devise a way for the device to grab the
OASIS test .zip from the Internet (or distribute it with Android).

In the interim the test can be run by hand by manually copying the
test suite to the device ("adb push") and running the test suite's
main method. This approach might be workable in our continuous
build.

Note that the RI does horribly at this test suite - in my run it
reports the following:
FAILURES!!!
Tests run: 3173, Failures: 338, Errors: 730
1db0c0b25877687b5450282f1514faf1a16a732d 02-Feb-2010 Jesse Wilson <jessewilson@google.com> Restore our ability to parse an XML Document given a File argument
directly, rather than via a stream.

When I updated DocumentBuilder but not its subclass DocumentBuilderImpl,
some of the assumptions by DocumentBuilderImpl were violated.
829aaf46534517030c02670a176636b803d28459 02-Feb-2010 Elliott Hughes <enh@google.com> Merge "Move a test I wrote under our wing."
9a5ec8fe9f4ebf438ea7049cdcb9fa2384a571de 02-Feb-2010 Andy McFadden <fadden@android.com> Reduce VM shutdown verbosity.

Adds -verbose:shutdown flag, defaulted to "false". Cuts out most of the
log noise associated with shell commands.
4e72b4046110c48879a877f238148f9dd066a207 02-Feb-2010 Elliott Hughes <enh@google.com> Move a test I wrote under our wing.

I put this in amongst the harmony tests before we started our own little
tree of tests.
79e92ab6945c261ccdce7e8af84f99e49e803955 02-Feb-2010 Elliott Hughes <enh@google.com> Add a missing "static", found by FindBugs.
73c442d8436a103407c7d9dad061005a68f34178 02-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix BigDecimalTest.test_stripTrailingZero."
052d27cafe864275faef028fa877b76a7d5026bf 02-Feb-2010 Elliott Hughes <enh@google.com> Fix BigDecimalTest.test_stripTrailingZero.

jessewilson reverted an upstream change (https://issues.apache.org/jira/browse/HARMONY-4623)
that caused an RI incompatibility. Although it seems like the RI behavior is
wrong, the poor design of BigDecimal.equals (which checks both value *and*
scale) probably means we should remain compatible.

This patch changes the test expectation to match the RI's behavior and adds
a comment in both the code and its test explaining that this is deliberate.
48821a91f4e4bc0b137a8bf92d0fee9a0afadbe9 02-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: MethodTrace + Jit fix"
d64d3a9ef021e0dbcce49d88c2f5dbb4845cc815 02-Feb-2010 Elliott Hughes <enh@google.com> Merge "Remove @KnownFailure from tests that now pass."
201cd8efb9296930bf4646c43ff9976ae9d2c94d 02-Feb-2010 Elliott Hughes <enh@google.com> Merge "FindBugs didn't like setInternalField, and neither do I."
735b4299991d7fae50ba399063306ae89524f594 02-Feb-2010 Elliott Hughes <enh@google.com> Remove @KnownFailure from tests that now pass.

One of these tests still doesn't pass, but for a different reason know the
known failure is fixed, so I've removed that test's annotation too:

16) test_parseLjava_io_InputStreamLorg_xml_sax_helpers_DefaultHandlerLjava_lang_String(tests.api.javax.xml.parsers.SAXParserTest)junit.framework.AssertionFailedError
at tests.api.javax.xml.parsers.SAXParserTest.test_parseLjava_io_InputStreamLorg_xml_sax_helpers_DefaultHandlerLjava_lang_String(SAXParserTest.java:680)
at java.lang.reflect.Method.invokeNative(Native Method)
at com.google.coretests.CoreTestRunnable.runInternally(CoreTestRunnable.java:129)
at com.google.coretests.CoreTestRunnable.run(CoreTestRunnable.java:92)
at com.google.coretests.CoreTestResult.runProtected(CoreTestResult.java:148)
at com.google.coretests.CoreTestSuite.run(CoreTestSuite.java:278)
at com.google.coretests.CoreTestRunner.doRun(CoreTestRunner.java:141)
at com.google.coretests.CoreTestRunner.start(CoreTestRunner.java:317)
at com.google.coretests.CoreTestRunner.main(CoreTestRunner.java:110)
at com.google.coretests.Main.main(Main.java:45)
at dalvik.system.NativeStart.main(Native Method)
3a97f00210137e4868777bf8eac5ca9e25b01641 02-Feb-2010 Elliott Hughes <enh@google.com> FindBugs didn't like setInternalField, and neither do I.

"Exception is caught when Exception is not thrown in java.text.DecimalFormat$1.run()"

Since it will always fail anyway, because those fields don't exist, let's
just junk it.

It turns out that getInternalField is similarly useless, so junk it too.

I've tidied the whole readObject method so it's somewhat readable now.

I also fixed this FindBugs warning in passing:

"Method java.text.DecimalFormat.parse(String, ParsePosition) invokes inefficient
new Long(long) constructor; use Long.valueOf(long) instead"
ecdaa277e3c80af382e1e6a7cae785f5955705ac 02-Feb-2010 Andy McFadden <fadden@android.com> Merge "Minor clarification."
b8673d0a150954ffed7b43d32109b234dafe6527 01-Feb-2010 Andy McFadden <fadden@android.com> Minor clarification.

People seem tempted to skip past the introductory material and jump
straight to the meaty bits, but the introduction tells you some
important things (like how you need to stop/start the framework).
d3f2995f3c6216319f2ce7dae22fbad7fcc99215 01-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: MethodTrace + Jit fix

Add checks for debug & trace mode to avoid re-entering Jit'd code.
This is the conversative solution - we'll eventually want the Jit
to integrate support for tracing and debug into Jit'd code.
bc2cfa9ba1579f78823df953722e2399fd79edbe 01-Feb-2010 Andy McFadden <fadden@android.com> Merge "Bump up the max stack depth."
6b8a5a3f0812239807e3c60e71f7778ecda979c5 01-Feb-2010 Andy McFadden <fadden@android.com> Bump up the max stack depth.

This increases the maximum stack depth in the DDMS "allocation tracker"
tab from 8 to 16. Adds about 32KB to the static size, plus a variable
amount as the data is prepared for transmission to DDMS.

For bug 2345675.
239b6f88b71eac0805a2d17df05a80104149d598 01-Feb-2010 Andy McFadden <fadden@android.com> Merge "Update with froyo change."
30fca7760f67cfb79886a7b49cae160a092e5205 01-Feb-2010 Elliott Hughes <enh@google.com> Fix "unmappable character for ascii" warnings in libcore tests.

The libcore "core" and "core-test" builds are now warning-free. (For Java.)
b42e169c354274d54ec04033bb616fa44534be80 01-Feb-2010 Elliott Hughes <enh@google.com> Fix varargs warnings in libcore tests.
0babc307ebe97fd2c13b7e36fea2910941944f02 01-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix warnings in the new XML code."
05459e6e0fa8dc4d9c76cfff3d94d430c8cb4fb0 01-Feb-2010 Elliott Hughes <enh@google.com> Fix warnings in the new XML code.
78059b782a07be488d8355e05df693ada3e503d0 01-Feb-2010 Andy McFadden <fadden@android.com> Update with froyo change.

This refers to Froyo as "2.x", because nobody seems to know what the
actual numbering will be.
f0431a3b425ce61f2a2eceb46b2a0684eb186069 30-Jan-2010 Elliott Hughes <enh@google.com> Fix fallback in Currency.getSymbol(Locale).

If ICU doesn't have any localized symbol for a currency, we're supposed to
return the currency code, not null.

I introduced this bug in my recent changes. The Currency tests don't find it,
but DecimalFormatTest.test_setCurrencyLjava_util_Currency does, by accident.
I've added an explicit test.
624a895cf4790a839af331aebe13e450c046aabb 30-Jan-2010 Elliott Hughes <enh@google.com> Fix more harmony tests.

"HMG" means "heure du méridien de Greenwich" to the French. ICU thinks --
and the web seems to agree -- that the French actually say UTC instead.
(And you'd hope so, after it was called UTC instead of the more sensible UCT
just to keep them happy!) The RI thinks the French say "PST" rather than
"UTC-08:00", but that's hard to believe, and means that this test was never
testing RI compatibility anyway.

Relatedly, ICU thinks that "heure normale du Pacifique" is more French than
"Heure normale du Pacifique", and who am I to argue?

Fixing these turns up a real bug in TimeZone; this patch contains a fix to
the exception thrown by the test case, but not a fix for the bug (which is
overflow in inDaylightTime for the year 292278994, so there's plenty of
time to fix that one).
ad869b76682cd72ce572cd3be833df630f0e8d17 30-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix all the harmony java.util.Formatter tests."
26db0aa6eb0874c56f3e197ab72d5d7ebcb4c140 30-Jan-2010 Elliott Hughes <enh@google.com> Fix all the harmony java.util.Formatter tests.

ICU thinks that German short weekday names should be "So." et seq rather than
"So". This brings us into line with frameworks/base, which I'm depressed to find
has its own copy of the CLDR data in XML form (and its own date/time
formatters).

Also fix TestEnvironment to not clobber "user.name", which we need in order to
set our expectations in cases where being root affects what we can/can't do.
(This also fixes a few other harmony tests.)
a2846acf450cd27be50281f193eaba3ab2d26f0b 30-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing a critical regression in our SAX parsing."
b41bd91853a1f7aad276338fc9a7038c1dfd1d74 30-Jan-2010 Jesse Wilson <jessewilson@google.com> Fixing a critical regression in our SAX parsing.

We weren't correctly covering the case where namespaces were off, but
elements contained namespaces. See bug 2400596.
ffb5c00426cec26fe2d8a67142213a242ec8d8b6 30-Jan-2010 Andy McFadden <fadden@android.com> Merge "Add support for streaming hprof dumps."
c2942d2d9d6bca764ab584081f02b757663bc4e6 30-Jan-2010 Brian Carlstrom <bdc@google.com> Merge "Change DalvikRunner to use newly added OptionParser."
aa84637344ddac8027bdf6ec4e12d0936ff66563 29-Jan-2010 Brian Carlstrom <bdc@google.com> Change DalvikRunner to use newly added OptionParser.

--skip-clean is now --no-clean
--java-home now defaults to 1.5
--mode is now used to specify to run on host's java-home

DalvikRunner page examples are updated with new --mode and --java-home

Fixes junit tests to work on host by using changing classpath to be absolute paths

Some minor scaffolding to prepare for running tests within an android.app.Activity.

(Patchset 2 adds default --java-home location to usage output)
(Patchset 3 address reviewer comments, mostly newbie style issues)
(Patchset 4 address enh OptionParser issues, adds short/byte as well)
(Patchset 5 address enh OptionParser issues, work with "java" from PATH, change deviceRunnerDir to File)
1e2c22e41a98aa7dc745e0f76427cd24ab17ba9c 30-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Remove an obsolete assertion."
26dd9eb95d7de715482216cbf0ea5871f1f3fc6c 29-Jan-2010 Elliott Hughes <enh@google.com> Merge "Change NumberFormatTest to match ICU's behavior."
c33e9a448a97ae7d56661b0913e052b1ccbc2d50 29-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Fix for [Issue 2406862] Compiler thread preventing VM from shutting down"
f17f36cf82079ca9abc142530fa91222dcb8c2aa 29-Jan-2010 The Android Open Source Project <initial-contribution@android.com> reconcile android-2.1_r1 snapshot
5be5d509fa9fce36f94a1efb42eefd69871c337c 29-Jan-2010 Elliott Hughes <enh@google.com> Change NumberFormatTest to match ICU's behavior.

ICU uses a non-breaking space after the euro sign in its currency formats,
where the RI uses ASCII space. ICU's behavior seems more reasonable (to
the extent that any kind of space after a currency symbol is reasonable).

Also uncomment the Arabic tests --- I fixed right-to-left number formats
a few weeks ago.
5673838fd1abd7f4858dafa73e802e1204c082b8 29-Jan-2010 Bill Buzbee <buzbee@google.com> Jit: Fix for [Issue 2406862] Compiler thread preventing VM from shutting down

Replace placeholder sleep with timed condition wait that will start
the jit either when the framework signals that the first screen has been
drawn or a fixed time has elapsed.
cf775b6ee813b3663a30592f2e3e4be553ca25ea 29-Jan-2010 Andy McFadden <fadden@android.com> Add support for streaming hprof dumps.

This adds the dumpHprofDataDdms method, which generates the hprof dump
in RAM and then spits the whole thing at DDMS. The idea is to avoid
touching /sdcard, since not all apps have permission to do that.

This rearranges hprofShutdown() a fair bit. It used to re-use a context
struct, saving interesting bits to local variables before zapping it;
now we just create a second context struct and free both at the end.

For bug 2092855.
2756e820baac661eb059bc32cfa97f828598e5d4 29-Jan-2010 Elliott Hughes <enh@google.com> Fix tests.api.java.io.SerializationStressTest3.test_18_116_writeObject.

The dead field 'minExponentDigits' was of type 'byte', not 'int'.

Also add detail to serialization exception messages (this isn't just test code ---
ObjectInputStream calls this).
9a6f2b217c75fe347bd0b4b981e3009134a0c788 29-Jan-2010 Carl Shapiro <cshapiro@google.com> Remove an obsolete assertion.
7c347fab92f5fab5220012fbf6c8c8a41047cae0 29-Jan-2010 Elliott Hughes <enh@google.com> Fix a Formatter test that I checked in broken.

There's really no excuse for this with DalvikRunner, but I copy and pasted this
from a mail, and didn't run it until after it had been committed. I mean, who
puts untested code in a mail? ;-)
61469a6a0337cd62b6964a9bf700a1c453329e8b 29-Jan-2010 Elliott Hughes <enh@google.com> Merge "Use DecimalFormatSymbols' new default constructor for speed."
beafaba4b6043408577f37b02c74cf14b84356a4 29-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Fix register usage bug (driveabout failure)"
278e93849add576b21af44fd3ad02faeb4257a54 29-Jan-2010 Bill Buzbee <buzbee@google.com> Jit: Fix register usage bug (driveabout failure)

Some of the execute-inline templates were using r4, which wasn't in the
save set for templates. The failing traces expected it to be live across
the template call.
fb2bc6f62354e5e0fa8ed90d5df8f7476a9984f0 29-Jan-2010 Elliott Hughes <enh@google.com> Use DecimalFormatSymbols' new default constructor for speed.

This brings "new DecimalFormat" down to ~80us (from ~260us before this patch,
or ~600us this time last week). Also remove some dead code and tighten up some
accessibility.

Depends on https://android-git.corp.google.com/g/38877.
d782526ab2fdf2d1bddf04141b15d0965ce37dbb 29-Jan-2010 Ben Cheng <bccheng@google.com> Follow the coding style to rename startJITCompilation to startJitCompilation.
c056af309bccdbee17e659566464b16c09d462c0 29-Jan-2010 Jack Veenstra <veenstra@android.com> Merge "Fix a couple minor bugs (bug 2404859) in TraceDump.c"
1bafe4fc515ef7af7cf24b795594902468913287 29-Jan-2010 Carl Shapiro <cshapiro@google.com> Fix an off-by-one error when releasing thread ids. This is the result
of an oversight in my change that eliminated the LSB set constraint on
assigned thread ids.
107ea12f13c288c56d3fd8b39ff2d643641514c9 29-Jan-2010 Jack Veenstra <veenstra@google.com> Fix a couple minor bugs (bug 2404859) in TraceDump.c

1. A switch statement was missing a "break" after option letter "f".
2. The heavily-used function "lookupMethod()" had an expression using mod (%) instead of bitwise-and (&).
fb91a925e54f4447702548302314af5f984f60ef 28-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Add a callback for the framework to explicitly enable the JIT compiler."
09fddcb9a918a142f2fd7c652ee64e0cfe0cffcd 28-Jan-2010 Ben Cheng <bccheng@google.com> Add a callback for the framework to explicitly enable the JIT compiler.

Dalvik_dalvik_system_VMRuntime_startJITCompilation ()V it is.
9c686d025dc746b310219fada4bfdd03a9c020fb 28-Jan-2010 Jack Veenstra <veenstra@android.com> Merge "Added support for filter in dmtracedump tool, along with some test cases."
f90bd56b2bc79efcc0d065be4c70953ab28de947 28-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix jniThrowRuntimeException for C callers, add jniThrowNullPointerException."
376770c664b1a51962551e480064a0132df22205 28-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing duplicate classes from our tests. These are obsolete with our DOMv3 support."
fe336cad68c6c4189b5e4c0c5edf36cbf2d0a887 28-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Rework delayed start plus misc. cleanup"
75ffd2b5bb47762403cef1c3e3922e2c79890c0a 28-Jan-2010 Elliott Hughes <enh@google.com> Fix jniThrowRuntimeException for C callers, add jniThrowNullPointerException.

...and switch all NPE throwers over to the helper.
1abc0af0f5dcbab67fd09511a77dc211eddc50e4 28-Jan-2010 Bill Buzbee <buzbee@google.com> Jit: Rework delayed start plus misc. cleanup

Defer initialization of jit to support upcoming feature to wait until
first screen is painted to start in order to avoid wasting effort on
jit'ng initialization code. Timed delay in place for the moment.
To change the on/off state, call dvmSuspendAllThreads(), update the
value of gDvmJit.pJitTable and then dvmResumeAllThreads().
Each time a thread goes through the heavyweight check suspend path, returns
from a monitor lock/unlock or returns from a JNI call, it will refresh
its on/off state.

Also:
Recognize and handle failure to increase size of JitTable.
Avoid repeated lock/unlock of JitTable modification mutex during resize
Make all work order enqueue actions non-blocking, which includes adding
a non-blocking mutex lock: dvmTryLockMutex().
Fix bug Jeff noticed where we were using a half-word form of a Thumb2
instruction rather than the byte form.
Minor comment changes.
d095c4afc8b3fa425ba3836080841f8a9c954c23 28-Jan-2010 Elliott Hughes <enh@google.com> Merge "Double the speed of DecimalFormat creation."
adacf2820ad4df5cdcb3f97d94243dfb4ee8f9fd 28-Jan-2010 Andy McFadden <fadden@android.com> Merge "Sneak a method-find feature into dexlist."
24e53d9bb62b166a9c531fcdfa9b9d4eb0d03312 28-Jan-2010 Ben Cheng <bccheng@google.com> Fix broken build.
242cbcc2cf383fbd2b8746bbe8e4ea03d6e390fb 28-Jan-2010 Andy McFadden <fadden@android.com> Sneak a method-find feature into dexlist.

The "dexlist" command is used with "emulator -trace" to generate a large
list of methods. I frequently use it to figure out which DEX file a
method is coming from (especially with the mysterious jars of google
code). This adds an undocumented "--method" argument to make the method
search easier.
7b265afe1504f8980d13dcbaa68873170c8cc9db 28-Jan-2010 Andy McFadden <fadden@android.com> Merge "Added note about NewStringUTF."
f982d7f81b8803b8b123fc3e6ecad4b0c198b458 28-Jan-2010 Andy McFadden <fadden@android.com> Added note about NewStringUTF.

Calling NewStringUTF with non-UTF data is a common mistake. This adds
a note to the JNI Tips document.
e5ec23d5d34d8a83b8cb3ff181c46efbc865800f 28-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Add a poor-man's disassembler to inspect crashes in JIT'ed code."
061a7d865556a15c632111cb971e6250ba49230f 28-Jan-2010 Ben Cheng <bccheng@google.com> Add a poor-man's disassembler to inspect crashes in JIT'ed code.
1a57939f7cbaf1948cec5484aa1772ce6a9ded67 28-Jan-2010 Elliott Hughes <enh@google.com> Double the speed of DecimalFormat creation.

Our calls to unum_setSymbol were making us O(n^2); switching to the C++ API
and doing a bulk update is a huge win. (ICU is really a C++ library with a
C wrapper. It's always going to be slightly wasteful to go via C, but here
it's especially harmful.)

The new ScopedJavaUnicodeString provides a best-of-breed bridge between Java
strings on the Java heap and the UnicodeString type that ICU wants. I'll come
back and switch more of our ICU JNI over in a later patch.
76ef11b6ae707b8a726ecbc62699b9cf289c99e0 28-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing dead code from our copy of Xalan."
170d24b76fe0b51e88b02b61d24b59cc22457afa 28-Jan-2010 Jesse Wilson <jessewilson@google.com> Removing duplicate classes from our tests. These are obsolete with our DOMv3 support.
60bdbc9c1188f96455b1d781ac7f8f139acdaf0c 28-Jan-2010 Andy McFadden <fadden@android.com> Merge "Add streaming method profiling support."
b1aaf9bf7f0da95bac42e8c2b95cf4878a8f1179 28-Jan-2010 Jesse Wilson <jessewilson@google.com> Removing dead code from our copy of Xalan.

The trace package isn't accessible via our public API, so I've removed it.
Exception localization isn't worthwhile.
The Exslt code is a third-party extension that isn't necessary for the spec.
Several other classes and methods were unused; I used IntelliJ to find and remove these.

There's more that can go, but this is a fine first step.
684584824f1c97ae05705be67bc2e3a069521ccd 28-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Bring our XML APIs up to date with Java 5."
fd705e3cb5b57c87afd6d1fa529aa0d92256d495 28-Jan-2010 Brett Chabot <brettchabot@android.com> am ffea5ceb: am 0e9d568e: Merge "Mark libcore cert tests using expired certs as known failures." into eclair

Merge commit 'ffea5cebcb45bb58d61b903f4e04c45f48442c86'

* commit 'ffea5cebcb45bb58d61b903f4e04c45f48442c86':
Mark libcore cert tests using expired certs as known failures.
c852bfbf6445e6d638f79ad5f44a764a2fc76d84 27-Jan-2010 Jesse Wilson <jessewilson@google.com> Bring our XML APIs up to date with Java 5.

New packages for Java 5 compatiblity:
- javax.xml.datatype
- javax.xml.namespace
- javax.xml.parsers (updated)
- javax.xml.transform
- javax.xml.transform.dom
- javax.xml.transform.sax
- javax.xml.transform.stream
- javax.xml.validation
- javax.xml.xpath
- org.w3c.dom (updated)
- org.w3c.dom.events
- org.w3c.dom.ls (load/save)
- org.w3c.dom.traversal
- org.w3c.dom.views

Omitted packages (that otherwise exist in Java 5)
- org.w3c.dom.bootstrap. This package facilitates pluggable implementations of DOM.
I'm not including this because there's little need for it in practice; and
because it adds an unnecessary layer of complexity. This decision is also
reflected in TransformerFactory.newInstance(), SAXParserFactory.newInstance(),
and DocumentBuilderFactory.newInstance().

New packages that pseudo-exist in Java 5
- org.w3c.dom.traversal
This package is referenced by Java 5's org.w3c.dom.ls.LSSerializerFilter, but
isn't included in the Javadoc API. Their spec isn't self-consistent.
- org.w3c.dom.views
This package is referenced by Java 5's org.w3c.dom.events.MouseEvent, but
isn't included in the Javadoc API. Another spec that isn't self-consistent.

This upgrades DOM from v2 to v3. http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/
This includes some API-incompatible changes; notably introducing new methods
into interfaces. I believe this is still safe, and Java made a similar backwards
incompatible change when they upgraded DOM from v2 to v3 between Java 1.4 and
Java 5.0.

Source for the new APIs comes from Apache XML commons.
http://svn.apache.org/repos/asf/xml/commons/trunk rev 901014.

This code currently contains several gaps in its implementation. In particular,
the impelementations of the DOM model classes (AttrImpl, ElementImpl, NodeImpl)
have DOM v3 methods that throw UnsupportedOperationExceptions. I intend to
address this problem in an immediate follow-up CL. All gaps are marked with TODO
comments, and they all live in the org.apache.harmony.xml.dom package.

To implement these APIs, I've included Apache Xalan. In a follow-up change
I intend to remove most of the code we don't actually need. I'm using their
pristine copy from SVN so Git can track our local modifications.
http://svn.apache.org/repos/asf/xalan/java/trunk rev 889881.
4a1a4a8adc913ae0f5bc6d3fa3f1901fdb865b8f 28-Jan-2010 Brett Chabot <brettchabot@android.com> am ff3a96c9: am c4f93305: Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object

Merge commit 'ff3a96c9055888140893158fff8b33831b949e49'

* commit 'ff3a96c9055888140893158fff8b33831b949e49':
Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object
0253246f31c17edb7eb245cd03424a94219819bb 28-Jan-2010 Elliott Hughes <enh@google.com> Remove commented-out code.

Mistakenly left in my previous change when I wasn't certain it was dead.
8eadedab481c488ebb9ef3f20da36269b394e5a7 28-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix NumberFormat's behavior with BigInteger and custom Number subclasses."
4746d9a73d9d31503046fa380cb8ef5217fcb070 28-Jan-2010 Elliott Hughes <enh@google.com> Fix NumberFormat's behavior with BigInteger and custom Number subclasses.

Also remove a few bits of cruft I ran across, and stop duplicating the
documentation between NumberFormat and DecimalFormat.

Bug: 2387934
b07685fdf104859cad2adb946960993700f54b17 28-Jan-2010 Brian Carlstrom <bdc@google.com> Merge "Spelling fixes"
2398bf6351d97189732a7d93aec030e751a408ea 28-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Fix INSTANCE_OF corner case."
2593276b2ff32169624a96ad6564af74ecdf113b 28-Jan-2010 Bill Buzbee <buzbee@google.com> Jit: Fix INSTANCE_OF corner case.
5cae1cad8756d3cfc55b04c82fea363c10b44ec8 23-Jan-2010 Andy McFadden <fadden@android.com> Add streaming method profiling support.

The goal is to allow DDMS to start/stop method profiling in apps that
don't have permission to write to /sdcard. Instead of writing the
profiling data to disk and then pulling it off, we just blast the whole
thing straight from memory.

This includes:

- New method tracing start call (startMethodTracingDdms).
- Rearrangement of existing VMDebug method tracing calls for sanity.
- Addition of "vector" chunk send function, with corresponding
update to the JDWP transport function.
- Reshuffled the method trace start interlock, which seemed racy.
- Post new method-trace-profiling-streaming feature to DDMS.

Also:

- Added an internal exception-throw function that allows a printf
format string, so we can put useful detail into exception messages.

For bug 2160407.
04c6d35e0fdd5823076810272a1c0aa7dff1770f 27-Jan-2010 Elliott Hughes <enh@google.com> Rename icu4jni's DecimalFormat to NativeDecimalFormat, to reduce confusion.
d1a0519b10d4f35cb841d197caee821840f99dd0 27-Jan-2010 Elliott Hughes <enh@google.com> Gut NativeDecimalFormat in favor of icu4jni.DecimalFormat.

(I'll come back and rename icu4jni.DecimalFormat to NativeDecimalFormat and
remove all the fully-qualified names that distinguish between java.text's
DecimalFormat and icu4jni's DecimalFormat.)
85f62e2d3a53b4fb8a3f45d72277579fc8816831 27-Jan-2010 Elliott Hughes <enh@google.com> Add a java.util.Formatter test suggested by egnor months ago.

...and add comments to existing tests.
fe895660bc29f91821328c760d13b5c3064b7c00 27-Jan-2010 Elliott Hughes <enh@google.com> Merge "Add a cache to Currency.getInstance(Locale)."
9d6e86c31aba6e29612f22edb8a41b72d684fa4b 27-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Eliminate the constraint that thread ids must have an LSB of 1. This doubles the space of thread ids and will break any code that assumes thread ids are odd numbered."
a7546decd45fc1bf027a82c3e5a2d86c861cf1cd 27-Jan-2010 Brian Carlstrom <bdc@google.com> Spelling fixes
60511127d8526756a2fa3e55d22eb76df336a70e 27-Jan-2010 Elliott Hughes <enh@google.com> Add a cache to Currency.getInstance(Locale).

Statically there are lots of calls to Currency.getInstance(String) in the
core libraries and only one to Currency.getInstance(Locale). This might
be why the former has a cache but the latter doesn't. Dynamically, looking
up Currency by Locale is a common operation because that one caller --
DecimalFormatSymbols -- is widely used, and it sets up its currency data
eagerly. (Which might be worth coming back and also fixing later.)
4d4b0b8d2124abf208841a424a0a47acef09283c 27-Jan-2010 Elliott Hughes <enh@google.com> Merge "Simplify our DecimalFormat."
447afdddd93c46ba768b4b676fab0a1134fe036f 27-Jan-2010 Carl Shapiro <cshapiro@google.com> Eliminate the constraint that thread ids must have an LSB of 1. This
doubles the space of thread ids and will break any code that assumes
thread ids are odd numbered.
2aa67f289a4c0c8db3cb61f8cac3b3c4b2f678b4 27-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix spelling of explicitly"
97b2a848ca3f713c046b2d7a80324d2bf87aa197 27-Jan-2010 Jesse Wilson <jessewilson@google.com> Fix spelling of explicitly
fd323b491eaa272bfb0a30fad020b57f30d39707 26-Jan-2010 Elliott Hughes <enh@google.com> Simplify our DecimalFormat.

Both the is-a and has-a hierarchies for our DecimalFormat implementation were
over-complicated. This patch starts to address that, and makes cloning twice
as fast (50us versus 100us), but not as fast as I'd like (<10us), and without
making much of a dent in the time it takes to create a new NumberFormat (550us
versus 600us).

The speed of cloning is important because Formatter has a hack that uses it,
and I want to change NumberFormat so that it always hands out clones... at
least until I have time to make "new NumberFormat" acceptably fast.

Also fixes DecimalFormat.applyLocalizedPattern (which used to behave as if
you'd called applyPattern).
a2fd53375e6cf73cae0b48aa362eef4a3582dae2 26-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Test the lock shape before falling into the thin lock code. The original formulation of this code relied on the subtly that the low bit of a thread id is always 1 and so the shape bit was punned with LSB of the thread id. This got us two tests for the price of one. When this code was moved forward to the new lock encoding scheme, we did not crack the test in two. This should correct the oversight."
b556100adb89071f7f0a9722c4b31434da71f72f 26-Jan-2010 Carl Shapiro <cshapiro@google.com> Test the lock shape before falling into the thin lock code. The
original formulation of this code relied on the subtly that the low
bit of a thread id is always 1 and so the shape bit was punned with
LSB of the thread id. This got us two tests for the price of one.
When this code was moved forward to the new lock encoding scheme, we
did not crack the test in two. This should correct the oversight.
e1f60c08a155846124dc5d4536da4b752cfd17d8 26-Jan-2010 Dan Bornstein <danfuzz@android.com> Merge "Cause dex verification to fail if the class_defs section contains more than one definition for any given class."
1c4b096dda5a97336d3c35b57e0a054886f9c794 26-Jan-2010 Dan Bornstein <danfuzz@android.com> Cause dex verification to fail if the class_defs section contains more
than one definition for any given class.

Bonus: Killed off a bunch of trailing whitespace, to reduce the gerrit
bloodbath.

Change-Id: Idc599364f1a38887fb4b9f91dc91b9b53343ca03
Bug: 2382215
eccbe20564bee7528496d47d5956608c14ab8784 26-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Including proper prefixes and qualified names in the Expat parser. Also changing our SAX codepath to always include values for optional parameters."
c10fb177eeb39bdb311bc846bb383cf7879edd7f 23-Jan-2010 Jesse Wilson <jessewilson@google.com> Including proper prefixes and qualified names in the Expat parser.
Also changing our SAX codepath to always include values for optional parameters.

In testing Xalan's javax.xml.transform packages with the Expat source code, the
emitted documents were malformed. The underlying problem was that Xalan was
expecting optional parameters to be populated, but Expat was not populating them.

The spec says,
"Any or all of these may be provided, depending on the values of the http://xml.org/sax/features/namespaces and the http://xml.org/sax/features/namespace-prefixes properties:
* the Namespace URI and local name are required when the namespaces property is true (the default), and are optional when the namespaces property is false (if one is specified, both must be);
* the qualified name is required when the namespace-prefixes property is true, and is optional when the namespace-prefixes property is false (the default).

Although Xalan is technically at fault here, it may take forever to find all of
the places where these optional parameters are assumed to be present. Instead,
I'll just supply them which adds little overhead anyway.

See http://code.google.com/p/android/issues/detail?id=990
c8da9cb3591a165d61492e0dd57cdaef1abd360a 25-Jan-2010 Carl Shapiro <cshapiro@google.com> Restore the lock owner ahead of calling waitSetRemove.
532942e304b7b99079f974897ae6de6a9bd88d96 25-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Move the waitSetAppend subroutine call ahead of clearing the monitor owner. We want waitSetAppend to check the invariant that the monitor must be owned by the calling thread. Clearing the owner field prior to the call breaks this invariant and causes a assertion to fail."
db8d380ed9a5d82d8fefc87e3c66794a3d19f79c 25-Jan-2010 Carl Shapiro <cshapiro@google.com> Move the waitSetAppend subroutine call ahead of clearing the monitor
owner. We want waitSetAppend to check the invariant that the monitor
must be owned by the calling thread. Clearing the owner field prior
to the call breaks this invariant and causes a assertion to fail.
7d5b2cad9d48ab1d2e765f7cf0476e566f6e3833 25-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Tighten the safe points for code cache resets to happen."
789274f56703fcfb62ebd7ef8933e81ef8ac6443 23-Jan-2010 Ben Cheng <bccheng@android.com> Tighten the safe points for code cache resets to happen.

Add a new flag in the Thread struct to track the whereabout of the top frame
in each Java thread. It is not safe to blow away the code cache if any thread
is in the JIT'ed land.
ced3bd59cc08f2ad3cde26091197c49143adc861 25-Jan-2010 Elliott Hughes <enh@google.com> Fix @link and @see tags.
3fc7e751c64572e2b05ef0919e3da7460dc0e0b8 23-Jan-2010 Elliott Hughes <enh@google.com> Merge "java.util.Formatter javadoc fix."
3d4b35d125e7fa6c9e829e7c440a32acb4a2fbdf 23-Jan-2010 Elliott Hughes <enh@google.com> Merge "Switch our ICU JNI over to C++ and tidy up a little."
2c487316eba024bce63f71682b87c05a30dce6fa 23-Jan-2010 Elliott Hughes <enh@google.com> java.util.Formatter javadoc fix.
91b84d673f7b482dd612b5929019f58d95c6e173 23-Jan-2010 Elliott Hughes <enh@google.com> Fix java.util.Formatter "%tz".

Found by jtreg.
a81c0d888374d234ea3255859c6f43a24e25d9e7 23-Jan-2010 Elliott Hughes <enh@google.com> Merge "Rewrite java.util.Formatter documentation."
226f3c3ccf2f52d8f5966d0972ec01611aeba055 23-Jan-2010 Elliott Hughes <enh@google.com> Switch our ICU JNI over to C++ and tidy up a little.

The big ugly files (implementing NativeCollation and NativeConverter), I've
just done the minimum necessary for them to compile under a C++ compiler. For
the small ones, I've been through them more thoroughly, removing duplication
and the like.

I only came across one bug; a failure path in BidiWrapper that would have
leaked.
7d277d39f0c071c4391f00851251cffecd306f9f 23-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Update the hash state bits when an identity hash code is computed."
26aa97adebbddd60dbb46488ada84ed640ccc5cb 22-Jan-2010 Elliott Hughes <enh@google.com> Rewrite java.util.Formatter documentation.

Some guy on the internets pointed out that our documentation of argument
indexes was garbled. I fixed that, and then noticed that pretty much all
the documentation was close enough to be convincing but wrong enough to
not be very useful.

I've fixed everything I've found. The result isn't perfect, but it's good
enough that I could stand to use it myself now.
4e2bb8ae995742536d46a567edba81beb1035fba 22-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding support for arbitrary VM args in dalvik runner."
e279928fce794bf85e6e2084d41dc7bae49a7d83 22-Jan-2010 Andy McFadden <fadden@android.com> Merge "Move VM feature strings (used by DDMS) into VM."
e21dc16124e9520198beb78c94a560ad0519867c 22-Jan-2010 Andy McFadden <fadden@android.com> Move VM feature strings (used by DDMS) into VM.

Until now, we used a place-holder in frameworks/base.

Removed cruft.
0e2f1bb05e6f509d3dc0c1eaf66e4231a9279ee2 14-Jan-2010 Carl Shapiro <cshapiro@google.com> Update the hash state bits when an identity hash code is computed.
a61d4eb0c35abdb84a4c14c7c998fb1abfa50355 22-Jan-2010 Jesse Wilson <jessewilson@google.com> Adding support for arbitrary VM args in dalvik runner.
9e271daf116d46d361196c0cc9700ec315b38e9f 21-Jan-2010 Jesse Wilson <jessewilson@google.com> Teaching DalvikRunner to run arbitrary classes with main() methods.

This came up for the XML test suite, which isn't JUnit but a bunch
of main methods (that ask you to verify their output independently; ugh)

Also setting up the current working directory of the forked process.
This only works for local VMs; setting the working directory for
device VMs causes the "adb shell" call to crash.
0865a747d81249b9966e0833fa4647893e7e128c 22-Jan-2010 Elliott Hughes <enh@google.com> Merge "Minor tidy-up of some of the ICU interface."
f4363707de11cce9a703b6c9f056f1fcd0e6b15c 22-Jan-2010 android-build SharedAccount <android-build@sekiwake.mtv.corp.google.com> Revert "Temporarily disable JIT for performance A/B tests."

This reverts commit ff5363b061bea49f3fcc2afb251866c13d7c86f1.
ba79773206ac238ebda3c1eb1d07c7c99ab8330c 22-Jan-2010 Elliott Hughes <enh@google.com> Minor tidy-up of some of the ICU interface.

Dead code, a class that shouldn't be instantiated, work that's probably
better done all on the native side, and some slightly improved error
reporting.
320f9d1d71a4dab9b019fa7e8023fbfd3d024a2e 22-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Temporarily disable JIT for performance A/B tests."
477e9cfe2d1cbfab332326615ff2c9546152e5ed 22-Jan-2010 Ben Cheng <bccheng@google.com> Temporarily disable JIT for performance A/B tests.

Per jparks' request.
78c46aecb61fc1369671177fe6768bfcf0fbd5c8 22-Jan-2010 Nagendra Modadugu <ngm@google.com> Merge "Remove StartCom MD5 root which is no longer in use: - Free SSL Certification Authority"
bcc985a59e5c87af035a6168dc9fcd12e83e60d0 22-Jan-2010 Nagendra Modadugu <ngm@google.com> Remove StartCom MD5 root which is no longer in use:
- Free SSL Certification Authority
8c316fcad2c13ba2b17904b962044752608e351f 22-Jan-2010 Brett Chabot <brettchabot@android.com> am 0e9d568e: Merge "Mark libcore cert tests using expired certs as known failures." into eclair

Merge commit '0e9d568ec6b946e77bc0ec1903acac1ef916e6d1' into eclair-plus-aosp

* commit '0e9d568ec6b946e77bc0ec1903acac1ef916e6d1':
Mark libcore cert tests using expired certs as known failures.
026e85538b6a4cf46f8f9303977f66d2fb4a3f1c 22-Jan-2010 Brett Chabot <brettchabot@android.com> Merge "Mark libcore cert tests using expired certs as known failures." into eclair
6c0e9c646069ef257ffe6bed650b94cc4194c581 22-Jan-2010 Brett Chabot <brettchabot@android.com> Mark libcore cert tests using expired certs as known failures.

Bug 2322662

Change-Id: If35a5a75f664535bd4eb97cf11a6afe5b0e5b4a9
4cbfc9f67e9fdd1cb3e67da28377d62e5df41201 21-Jan-2010 Brett Chabot <brettchabot@android.com> am c4f93305: Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object

Merge commit 'c4f93305d1fe3d31660af2b47a90d2ebbc6d58f9' into eclair-plus-aosp

* commit 'c4f93305d1fe3d31660af2b47a90d2ebbc6d58f9':
Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object
6ab2eb2eddad04f7c2656443d50c3d132d2b7172 21-Jan-2010 Brett Chabot <brettchabot@android.com> Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object

Add additional logic to skip checks that require specific locales.

Bug 2386416

Change-Id: Icc30e04d393a22b272966555e617598323aefa0b
cff608e5d0e388637568e03a428e8d18d54ba1f2 21-Jan-2010 Elliott Hughes <enh@google.com> Improve the DecimalFormat JNI.

We don't need two identical copies of the code for double and long; ICU uses
overloading, and we should take advantage of that. We can also improve the code
to remove unnecessary heap allocation, remove unnecessary temporary copies, and
only make JNI calls and ask for the attribute data when necessary.

I've also switched the code from the thread-unsafe strtok(3) to strtok_r(3).

I've also removed unnecessary temporary char[]s and copying in DecimalFormat.

I've also fixed another instance of the "if (doubleValue == longValue) longPath"
anti-pattern that gets -0.0 wrong. (It's also worth noting that caliper says
the difference between the double and long paths is very small, on the order
of 2us.)

(The new code takes about 20us per call compared to 60us for the old code,
measured on passion-eng.)
428a4a812a35470b0c8c2060475929466075234d 21-Jan-2010 Elliott Hughes <enh@google.com> Fix String.format("%d", null) and relatives.

Must have been asleep at the wheel when I mistranslated this.

We need to get the number of test failures down so we don't have to rely
on our memories of how many test failures we're expecting to see.
2ea45ede6d733d505360451b0a92fdc776f83954 21-Jan-2010 Elliott Hughes <enh@google.com> Merge "More java.util.Formatter performance work."
f31a6e043887678be020d84293ddb707ae508c02 21-Jan-2010 Elliott Hughes <enh@google.com> More java.util.Formatter performance work.

I got distracted into doing a bit more here, mainly speeding up the slow path
for integers. I've started to pull out some of the error checking too. We could
do a lot more along those lines, but then we'd fail even more jtreg tests which
assume a specific order in which checks are made. (I don't think we should
worry about that; I'm stopping here because this isn't what I wanted to do
today, not because I don't think we should press on. There's plenty of more
important stuff to look at first.)
9347928285518d3a03f14c2d25c3565f46cea3ab 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Merge "Remove expired root CAs: - IPS SERVIDORES/emailAddress=ips@mail.ips.es - Secure Server Certification Authority"
b236bb75dc16d291867dfb399c563bec493649eb 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Remove expired root CAs:
- IPS SERVIDORES/emailAddress=ips@mail.ips.es
- Secure Server Certification Authority
7bc01237cc49a48241564046daf7e504a345c881 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Merge "Add StartCom CA certificates: - StartCom Certification Authority - StartCom Extended Validation Server CA"
30cb06da1fa8552de761837bc410fce6b80b45ae 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Add StartCom CA certificates:
- StartCom Certification Authority
- StartCom Extended Validation Server CA
731d0b31051b683a0b35e2eddc49617b6f063f31 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Merge "Add two Verisign Root CA certificates: - VeriSign Class 3 Extended Validation SSL SGC CA - VeriSign Class 3 Public Primary Certification Authority - G5"
cbfb0ed1448b6c51739c2d882069662c54a18f7e 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Add two Verisign Root CA certificates:
- VeriSign Class 3 Extended Validation SSL SGC CA
- VeriSign Class 3 Public Primary Certification Authority - G5
be2853bc210c0be2101e4808096b00ab4a711097 20-Jan-2010 Ben Cheng <bccheng@google.com> Temporarily disable code cache reset.
a46278825c945825c1c16af4ed6ded150f680221 20-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Eliminate unused variables."
3f53503a1a1e8a78d3c1f2907c6f7349c6faa220 20-Jan-2010 Carl Shapiro <cshapiro@google.com> Eliminate unused variables.
ffd23c5e1d42ea2e0c7e185a5c37f08ca600eae2 20-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Scrubbing some jtreg bugs."
41aa13abb1f5dfddf5d8cebb32b50fc52371e041 20-Jan-2010 Jesse Wilson <jessewilson@google.com> Scrubbing some jtreg bugs.
872ecce17bd08732a776db885cbab2f255725f1c 20-Jan-2010 Elliott Hughes <enh@google.com> One true way to query "java.net.preferIPv6Addresses".

Also stop querying and passing this boolean to code that doesn't care. (We
sort our InetAddress[]s appropriately, so most code doesn't need to worry
about this.)

Bug: http://code.google.com/p/android/issues/detail?id=5903
8fa376a4b332967be8bccb7524b05b1dc30970f9 16-Jan-2010 Elliott Hughes <enh@google.com> Rewrite InetAddress' DNS cache.

Replace harmony's two 5-element linked lists with a single 512-element
LinkedHashMap. Greatly reduce the time we spend under locks (and no network
I/O is done under a lock any more!). Take advantage of various properties
of how the cache is used to avoid having to do much explicit work to handle
expiry.

I've also optimized the usual no-SecurityManager/no custom system properties
configuring cache TTLs case (without making the slow path much slower than it
already was).

I've also updated the native method names to correspond to the C functions
they're really wrapping (rather than completely different IPv4-only ones
they probably used to wrap long ago).

I've also improved the InetAddress documentation.

Bug: 2320435
90000eedd1b964e310209901b396ab9bcfc1fd30 16-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Fix chaining offset mis-calculation for translations w/ large switch statements."
1f407cef48daa19d0fdf77d620d1515296712b0c 16-Jan-2010 Ben Cheng <bccheng@android.com> Fix chaining offset mis-calculation for translations w/ large switch statements.

Bug: 2369821

There are 12 bytes of additional code after the 65th chaining cell. So if a
switch statement with more than that many cases is translated by the JIT, it
will run fine until the next unchaining event, which will patch the wrong code
and lead to all kinds of unexpected crashes.
4ffd784d7c300570e05cab26e5c137cf0b1f8f65 15-Jan-2010 Elliott Hughes <enh@google.com> Fix Formatter's behavior with %% and %n.

Yesterday's fix to the behavior with genuine null arguments didn't take into
account that we have format specifiers that don't take arguments. Fix the fix,
and add an explicit test.
583bd722400343d40eba78c0ffe0c91443a14bef 15-Jan-2010 Elliott Hughes <enh@google.com> Merge "Speed up Character."
5217465511a3c443ffea23200e8da78581450b85 15-Jan-2010 Ficus Kirkpatrick <ficus@android.com> Fix a NPE in java.util.Formatter.

A recent optimization to simple '%s' and '%d' formats was
failing to format null as "null". Also add a test.
6e6060149ebcb57902271820b6eb36974dcc6455 14-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Fix bad long negate; bug 2373405 - EnumSetTest failure with JIT today"
c9c95bd3323d57fd84824ac3230723fd1623f047 14-Jan-2010 Bill Buzbee <buzbee@google.com> Fix bad long negate; bug 2373405 - EnumSetTest failure with JIT today
660da4de5631df28e322fd977b1a6d004fcab5c1 14-Jan-2010 Elliott Hughes <enh@google.com> Speed up Character.

Remove a useless layer of indirection in UCharacter (which is the bridge
between java.lang.Character and ICU). We're not at the stage where the
JIT can do this for us, and even if it could, why give it extra work to
do? Also fix the incorrect copyright header which was probably copied from
a file where it made sense.
7f336389c64e6b440490ccf3c940d5c78f5a0b3d 14-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix Date.toString."
faa18ba0ef584dbaf1c8d8ea3dadc3e717d651c0 14-Jan-2010 Elliott Hughes <enh@google.com> Fix Date.toString.

Date.toString was using the TimeZone id ("America/Los_Angeles") rather than
the time zone short name ("PDT" or "PST", depending on time of year). The
naive fix made things 5x slower, so I improved Resources.getDisplayTimeZone
so the fixed Date.toString is only 2x slower. This could be improved further
with a faster getDisplayTimeZone.

I hoped to replace the body of Date.toString with a call to SimpleDateFormat,
but that turns out to be 40x slower. This patch also optimizes SimpleDateFormat
to bring the gap down to 8x by using Resources.getDisplayTimeZone instead of
asking for all the strings.

(Note that these improvements refer to the hopefully common case of localized
strings for the default locale. If you have the misfortune to need strings for
other locales, the new code will be more like 600x faster. At 0.5s a call on
the fastest current hardware, I hope no-one's actually doing that.
Dalvik Explorer -- available on the Market -- needs to do it when generating
summary reports, and it is indeed ridiculously slow. It uses two
SimpleDateFormat objects per locale, so it takes 1s per locale, for about 60
locales. I've tested Dalvik Explorer with this patch, and it does fix that
pathological behavior.)

Also fix a bug I introduced in https://android-git.corp.google.com/g/36242 that
meant that our zone names String[][] contained incorrect values (accidentally
concatenating each successive value in a row), found by existing tests now we
use more of those values.

Also replace a couple of "new Integer" calls with Integer.valueOf for a modest
speedup.

Also factor out some duplication.

Bug: http://code.google.com/p/android/issues/detail?id=6013
b78d6d644d87e5d7aa841c0f926ee1b9d1309191 14-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Restore threshold to 200 as a temporary workaround"
aaa0a1e6ec02988433b46467c7f3f92f9c2a2e67 14-Jan-2010 Elliott Hughes <enh@google.com> Merge "Remove the last bits of the ICU ResourceBundle hack."
654d23f837d6d61786f55eeaa6f438e9b76a2cd5 14-Jan-2010 Bill Buzbee <buzbee@google.com> Restore threshold to 200 as a temporary workaround

Also, fix blocking mode initialization.
ea79e59c18c74c1d0a69d8349c6e3470c0440bf7 14-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Separately sweep the monitor list before sweeping the heap. Required for the copying collector so we can abandon objects without examining their headers. There is a liminal reduction in sweep time when using the non-moving collector. In addition, this change uncomments a call to free to reclaim the monitor when its owning object is unmarked."
f8abd23473b4664ec438e7089c54f1ffb57f6621 13-Jan-2010 Elliott Hughes <enh@google.com> Remove the last bits of the ICU ResourceBundle hack.

This patch switches us over to calling ICU directly for localized currency
symbols, and then removes all the mechanism for sneaking fake ResourceBundle
implementations in. The code's a lot simpler too, because ICU's default
behavior is what we want anyway.
17f9d0916f8b4f5b28ffa94dac50cc189c8a15b5 13-Jan-2010 Andy McFadden <fadden@android.com> Support primitive array elements in annotations.

Annotations that include primitive array elements are stored internally
as arrays of boxed primitives. The VM didn't know how to un-box them
when somebody requested the contents.

For bug 2370144.
dce5668fa5802f0a921b5940460623ee4328cbf5 13-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix a comment."
73830886c3eaa68e88f526c7e64aefc254d9751c 12-Jan-2010 Ben Cheng <bccheng@google.com> Integrate call-graph information into JIT method blacklist.

The new flag is -Xjitcheckcg which will crawl the stack frame of the
translation requesting thread.

Bug: 2368995
d4fe0303209096838cb46c04a95fd6434d3a8aed 13-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Performance tweak for Jit lookup & adjust table sizes for better performance"
8fd8e226368dc44a88ac47aa263397f621e64dc5 13-Jan-2010 Elliott Hughes <enh@google.com> Fix a comment.
dc241cda930acf47ed239f8173182f3ac812c095 13-Jan-2010 Elliott Hughes <enh@google.com> Make Formatter %d cost about the same as %s (i.e. 60% faster).

Fast-path "%d" and "%s", the only two cases that matter, so they don't have to
go through all the flags, width, and precision machinery unless flags, widths,
or precisions are actually specified.

This makes "%s" slightly but not significantly faster -- because I'd already
optimized that code for the default case pretty well -- but makes a huge
difference to "%d", which wasn't as amenable to general optimization.

I've also improved the identifiers and comments surrounding the date suffix,
after TraceView misled me into attempting to optimize this non-hotspot (though
to be fair, I'm only benchmarking on passion-eng with JIT; TraceView might be
telling the truth for a G1 without JIT).

TraceView also misled me into trying to optimize away the check for uppercase
conversion types at the end of Transformer.transform (by adding different bodies
to the uppercase entries in the switch directly above it), but that made no
convincing difference on passion-eng.

Bug: 2272346
09c730360284056cc9455cac5d38a7edd81a43b8 13-Jan-2010 The Android Open Source Project <initial-contribution@android.com> android-2.1_r1 snapshot
046e3d5639dcac32b6654186358f4783989f8344 12-Jan-2010 Bill Buzbee <buzbee@google.com> Performance tweak for Jit lookup & adjust table sizes for better performance

Also, move setting of Jit table parameters to architecture-specific init
funciton.
8308d8a442d8cb040d225997ccbcb4857d4023c4 12-Jan-2010 Elliott Hughes <enh@google.com> Show DalvikRunner test output even on success when given --verbose.
5416b42b6934544bf027dd3346b32e9fc754850d 12-Jan-2010 Elliott Hughes <enh@google.com> Merge "Shave another 10%-25% off Formatter."
84e90ff4704e785f69f94bdf8a5b3d05e4627ba0 12-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Fix for 2367397 - Runtime reset with threshold lowered to 20."
19264b3d3080e15a9c08493c46278568364bf619 12-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Delete remaining FANCY_REFERENCE_SUBCLASS code. According to find and grep, this is the last use of that macro in Dalvik."
0c40b3b874493b1fe4a1b3597635503c86d188f6 12-Jan-2010 Bill Buzbee <buzbee@google.com> Fix for 2367397 - Runtime reset with threshold lowered to 20.

This was a bug in the def tracking - or more specifically neglecting to
reset tracking at a possible rollback location.
8174ea1d434275dca2de2310ea87a3e322395f97 12-Jan-2010 Carl Shapiro <cshapiro@google.com> Delete remaining FANCY_REFERENCE_SUBCLASS code. According to find and
grep, this is the last use of that macro in Dalvik.
f87956e313a1351dc007dfa9f1428d2934325a73 08-Jan-2010 Carl Shapiro <cshapiro@google.com> Separately sweep the monitor list before sweeping the heap. Required
for the copying collector so we can abandon objects without examining
their headers. There is a liminal reduction in sweep time when using
the non-moving collector. In addition, this change uncomments a call
to free to reclaim the monitor when its owning object is unmarked.
98ddc870d6ac89fafdd6e39a3842c8a7f6f6b4b0 12-Jan-2010 Brett Chabot <brettchabot@android.com> am 82e86144: am 56176a05: Fix ScannerTest failures.

Merge commit '82e86144b0ccd04282249012130ec0f6101d1e32'

* commit '82e86144b0ccd04282249012130ec0f6101d1e32':
Fix ScannerTest failures.
b4b7ffee762638119a7767e2d41d1ae5f06e171b 12-Jan-2010 Brett Chabot <brettchabot@android.com> am 56176a05: Fix ScannerTest failures.

Merge commit '56176a05205eaf469469c26988e99077aed0d7e7' into eclair-plus-aosp

* commit '56176a05205eaf469469c26988e99077aed0d7e7':
Fix ScannerTest failures.
bdc7485a1846e757d2a2c1dd26e99e02b155c169 12-Jan-2010 Elliott Hughes <enh@google.com> Shave another 10%-25% off Formatter.

Array indexing might be fast, but String.charAt is pretty fast, and
String.indexOf is pretty fast too, while String.toCharArray is really
rather expensive.

For a format string with no format specifiers, this is 25% faster. For
a format string with a single %s or %d format specifier (the common
cases in the Android codebase), this is about 10% faster.
4c668681ed899dd2a10228239f528c8351555ebe 11-Jan-2010 Brett Chabot <brettchabot@android.com> Fix ScannerTest failures.

Skip more tests if required locales are not present.

Change-Id: I562da3222bccd6f264714d10f8db57e087e2561a
021cbbebba33e4070a7e93cef4f5457d68d71882 11-Jan-2010 Elliott Hughes <enh@google.com> Set peer for new SSLSessionImpl instances.

Bug: http://code.google.com/p/android/issues/detail?id=4914
84f28b18044ca062ab9592a863eebc6f1164064c 11-Jan-2010 Brett Chabot <brettchabot@android.com> am eb9ea32d: am 53a6c01c: Fix DecimalFormatTest#test_serializationHarmonyRICompatible.

Merge commit 'eb9ea32d1468cf753dc0091dd7e639b6bd0cbd0b'

* commit 'eb9ea32d1468cf753dc0091dd7e639b6bd0cbd0b':
Fix DecimalFormatTest#test_serializationHarmonyRICompatible.
74854cb67a276eac682ee8dff1b0781e4e02e3ca 11-Jan-2010 Brett Chabot <brettchabot@android.com> am 53a6c01c: Fix DecimalFormatTest#test_serializationHarmonyRICompatible.

Merge commit '53a6c01cd8c8560b8eef891871c7260f6cbe71d9' into eclair-plus-aosp

* commit '53a6c01cd8c8560b8eef891871c7260f6cbe71d9':
Fix DecimalFormatTest#test_serializationHarmonyRICompatible.
94cc056ab050ebc4054210770f736dc318828871 11-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing our default HTTP Accept header to be spec-compliant."
fab8e408317f3d2667d724e469a0f170de1696ce 11-Jan-2010 Elliott Hughes <enh@google.com> Support non-default negative patterns in NumberFormat.getIntegerInstance.

Spotted while rewriting the associated JNI recently.
5ee93ed513c81b822b22da86f067ade78b7c6ea8 11-Jan-2010 Elliott Hughes <enh@google.com> Merge "Allow DalvikRunner to run tests in core library packages."
dbf9930f31afda9fcd462e6744c492a1b9b1d57f 09-Jan-2010 Brett Chabot <brettchabot@android.com> Fix DecimalFormatTest#test_serializationHarmonyRICompatible.

Skip the test if required Locale is not present.

Bug 2343677

Change-Id: I0f2672bd4b56cc1685e7368921aaa1e9d4492cf0
e43d4c9186ca37d28d24c25c4a6e6987e278db7f 09-Jan-2010 Romain Guy <romainguy@android.com> Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
d14d4308b509072959f06e83a515f1af9b4968a6 07-Jan-2010 Jesse Wilson <jessewilson@google.com> Fixing our default HTTP Accept header to be spec-compliant.

See bug http://code.google.com/p/android/issues/detail?id=5843

Also fixing a bug in the test webserver, where we weren't formatting
the headers properly. I'm dumbfounded how the tests passed previously;
although I fear that omitting the @TestTargetNew annotation might mean
that they weren't being run. I'll investigate that in a follow up.
fe8a7b7e8664b15e39dc8ef25f1a5d6745c67980 08-Jan-2010 Elliott Hughes <enh@google.com> Allow DalvikRunner to run tests in core library packages.

This is a bit of a hack, but I think it's not unreasonable, given the purpose
of this tool (and the fact that we both favor writing our tests in the package
they're testing).

Bug: 2362187
44d8f557dbeb367433ec9a5151f076ce937c0219 08-Jan-2010 Jesse Wilson <jessewilson@google.com> The SecurityManager doesn't work, so advertise that shouldn't be used.
c3cf0e3e913161cfd2545ba790e958dce758f866 08-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix a typo in "dalvikvm --help" output."
272c64088cbf1f6fddfd259139ba454db89be2f5 08-Jan-2010 Elliott Hughes <enh@google.com> Fix a typo in "dalvikvm --help" output.
6f46470cf97abcc50e422a51e000adb349ff4c8d 07-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Tear down the code cache when it is full and restart from scratch."
80d595be7c436f8b78a7cdd5a0ce3901fe0d0c48 04-Jan-2010 Ben Cheng <bccheng@google.com> Tear down the code cache when it is full and restart from scratch.

Because the code cache may be wiped out after safe points now the patching of
inline cache for predicted chains is done through the compiler thread's work
queue.
3b1cd08bc977799d7f3532e3553d9244167f4984 06-Jan-2010 Elliott Hughes <enh@google.com> Fix String.toLowerCase/toUpperCase for Azeri, Greek (all locales), and Turkish.

This patch fixes Greek final sigma in all locales, treats Azeri locales like
Turkish locales, and fixes our dotted/dotless-i/I behavior in Turkish locales
(and thus now Azeri locales too).

Still broken: behavior in Lithuanian locales, supplementary characters.

I've also removed String's own optimized-for-ASCII toLowerCase(char) and
toUpperCase(char): we've optimized Character's methods and don't want another
copy. I've removed the unused String.getValue which provided access to the
underlying char[] --- this wasn't used, and wouldn't work anyway without
some way to access String's 'offset' and 'count' fields too.
f93b0a6a6af1285ed1c4bc3e5b870ce22e68b26d 06-Jan-2010 Carl Shapiro <cshapiro@google.com> Invert a conditional to make it correctly specified. Without this
inversion the errant conditional would cause waitSetCheck to return a
false positive for certain non-circular lists that, in turn, lead to
VM aborts in builds with assertions enabled.
3a1c6ba23113c1091e98c0364b5b16eecf0424ce 05-Jan-2010 Elliott Hughes <enh@google.com> Last bunch of NumberFormat speedups.

Don't mess around with setCurrency in DecimalFormat.copySymbols when we're
going to override any effect that call will have had in the next few lines:
we always call setCurrencySymbol and setInternationalCurrencySymbol, so
setCurrency is just wasting time.

Replaces the NativeDecimalFormat.UNumberFormatSymbol enum -- which was only used
for getting ints to pass to native code, using Enum.ordinal -- with ints.

Adds a constructor to the java.text DecimalFormat so we can avoid cloning the
DecimalFormatSymbols object we create for its private use.

This is another 10% shaved off.

I've also removed an unused local from the icu4jni DecimalFormat, so I can
remove a then-unused getLocale method from the ICU DecimalFormatSymbols.

I've rewritten the icu4jni DecimalFormatSymbols.clone to remove the scary
constructor that took an arbitrary int and treated it as a uintptr_t when
talking to native code.
2a03fc31fed44ba2534b36bd8f050a11c8c98e2d 05-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Remove references to the old wait implementation in various comments. Also, move the waitMutex above the values it guards to improve the readability of the Thread structure."
8b51eff70fe27609867b48bc0a3d1e4e5a12fcb8 05-Jan-2010 Elliott Hughes <enh@google.com> Fix a broken test.

This test assumed Integer.toString has no caching.
f2be8859bde31228e00c09a3b64083198f19cd79 05-Jan-2010 Elliott Hughes <enh@google.com> Merge "Speed up DecimalFormatSymbols."
37dcd9b749ee24fc17171b7d2c30f8d8a3cc36fc 05-Jan-2010 Carl Shapiro <cshapiro@google.com> Remove references to the old wait implementation in various comments.
Also, move the waitMutex above the values it guards to improve the
readability of the Thread structure.
b503ea6f86bc34f0689c2925957a9106534d08e3 05-Jan-2010 Elliott Hughes <enh@google.com> Speed up DecimalFormatSymbols.

We don't need to create temporary String objects; we can just pass a char
directly. We also don't need to initialize aspects of our native peer if
we know we're going to overwrite them straight away, and making copying
into ICU the responsibility of the icu4jni class rather than the java.text
is slightly cleaner.

Together, these changes make creating a new NumberFormat about 20% faster.
6349a20a5f37a3203723a0e28f742056beea0541 05-Jan-2010 Barry Hayes <bhayes@google.com> Merge "Remove the case where we make it hard to tell that a GC takes a long time."
e1b0b27f1ede255627db3ea5185bdcac9fbe4851 05-Jan-2010 Barry Hayes <bhayes@google.com> Remove the case where we make it hard to tell that a GC takes a long time.
b34239aebceb29cadc84e6081bb4be555005abb6 05-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "New implementation of wait, notify, and notifyAll. Uses an explicit queue to represent the wait set instead of the implicit queue within the monitor condition variable."
8574aabe9c33c43b7b857990d2502050a75a155b 05-Jan-2010 Barry Hayes <bhayes@google.com> Merge "Percolate the reason for a GC up far enough to print out in logging messages."
941788220595ffafc0f5bc353f26d2b35dd39284 04-Jan-2010 Barry Hayes <bhayes@google.com> Percolate the reason for a GC up far enough to print out in logging messages.
8fe8cf6beee2dc39e943833d8c71ed1912636564 25-Dec-2009 Carl Shapiro <cshapiro@google.com> New implementation of wait, notify, and notifyAll. Uses an explicit
queue to represent the wait set instead of the implicit queue within
the monitor condition variable.
505aa2678c5fbfb0bdb8d71d8ad1fa9fa2493069 04-Jan-2010 Elliott Hughes <enh@google.com> Fix build (accidental API leak).

Move a couple of methods into LocaleData -- where they should have been from
the beginning -- so they're automatically hidden from our users.
44cfed938008c1430050539cc82bf2a0bae12e3e 04-Jan-2010 Elliott Hughes <enh@google.com> Merge "Stop using ResourceBundle for locale data."
9b0568209029dd46e4dd05e67aea2a066d6ea17e 23-Dec-2009 Elliott Hughes <enh@google.com> Stop using ResourceBundle for locale data.

This offers an additional speed increase and gets rid of a lot of native code.
ab98e559cc9e7c285dea18af28f739be135f14e4 23-Dec-2009 Carl Shapiro <cshapiro@google.com> I did not reconcile my change to remove the Lock structure from Object
after the JIT code generator was updated to accomodate the new format
of the lock work. This change incorporates the changes that should
and would have gone it had I merged everything correctly.
fc70650240532f7e7c062eb5b063094ae6fd5c38 22-Dec-2009 Carl Shapiro <cshapiro@google.com> Supersede the Lock union type with a word-sized integer in the object
instance header. An object's lock member is now just a bit-field.
534817c1267893e49c7ec2335c404efcb5ff51df 23-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I71938023

* changes:
Assert that the incoming thread and monitor objects are not NULL. The old implementation allowed monitors to be NULL when they were unlocked and otherwise unowned. With the new lock word format, a NULL monitor object can only mean that an invariant has been lost. Also, nix some trailing whitespace that crept into a comment.
784ea1f5e888812c17ffbf3fab916f72af5b89b4 23-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic4433c3d

* changes:
Jit: Update monitor lock/unlock to reflect thinlock changes (I34b20f49)
c1ab0a1904f9accd8d7f308b4f6ef492ff1a95fe 23-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Update monitor lock/unlock to reflect thinlock changes (I34b20f49)
691f80a18f8b8e209302f977524cc2a3d4617e04 23-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I47ec52f4

* changes:
The FANCY_REFERENCE_SUBCLASS code is based on a misconception of what the VM is permitted to do, and it would be buggy to ever turn it on.
e952509e99895899f500cd3e48b66c998b593077 22-Dec-2009 Brett Chabot <brettchabot@android.com> am d3b06457: am 6cdbef55: Merge change I1d9b205f into eclair

Merge commit 'd3b0645772fd3364575b93c74428ae19f88c4238'

* commit 'd3b0645772fd3364575b93c74428ae19f88c4238':
Skip locale dependent libcore tests if required locales are not present.
07a2ea92a1ab7e441ed4ade4b6a3859d3bca37de 22-Dec-2009 Brett Chabot <brettchabot@android.com> am 6cdbef55: Merge change I1d9b205f into eclair

Merge commit '6cdbef55a948dffbeff211fb4e78066c053ecc2e' into eclair-plus-aosp

* commit '6cdbef55a948dffbeff211fb4e78066c053ecc2e':
Skip locale dependent libcore tests if required locales are not present.
411fe29cd8139758f29d96aaa6cb8826d34f1d64 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1d9b205f into eclair

* changes:
Skip locale dependent libcore tests if required locales are not present.
1f9a23734278e74a20f27ab93e3e3ede2b6c244e 22-Dec-2009 Carl Shapiro <cshapiro@google.com> Assert that the incoming thread and monitor objects are not NULL. The
old implementation allowed monitors to be NULL when they were unlocked
and otherwise unowned. With the new lock word format, a NULL monitor
object can only mean that an invariant has been lost. Also, nix some
trailing whitespace that crept into a comment.
0a9c1b6f587ee9591bfe880c3b9eb3970652cb17 19-Dec-2009 Brett Chabot <brettchabot@android.com> Skip locale dependent libcore tests if required locales are not present.

Previously these tests were marked as KnownFailures - which is undesirable since
they can pass if the right Locale's are present on target.

Bug 2335906

Change-Id: I1d9b205f740b71880c57b48f069c302c5cec8792
b9dfa425e864d1a6cb3b9e1c98e3fcf16df07b29 22-Dec-2009 Barry Hayes <bhayes@google.com> The FANCY_REFERENCE_SUBCLASS code is based on a misconception of what the VM
is permitted to do, and it would be buggy to ever turn it on.
ee3252f388cc79717251d08d8983cae3d0e8c71e 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I23ada0f9

* changes:
More ICU cleanup.
601d941f1ff84566b873095c373ffaec02dab90b 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I06f254ec

* changes:
Clean up some misunderstanding about what mspaces are: They are already pointers.
aaf9ec43ef0dd3f875e538d318ee120f836b7087 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I72a49a6f

* changes:
Initialize the arg variables to avoid an uninitialized use compiler warning. While this effects performance, with the native interpreter the speed of the portable interpreter is of diminished importance.
a8e6a831952298791c27f39bb34423da4c75f650 22-Dec-2009 Carl Shapiro <cshapiro@google.com> Initialize the arg variables to avoid an uninitialized use compiler
warning. While this effects performance, with the native interpreter
the speed of the portable interpreter is of diminished importance.
5268bf8c57ffa2c2a2b7488ea7fefef4805b04bc 22-Dec-2009 Elliott Hughes <enh@google.com> More ICU cleanup.

Don't duplicate SimpleDateFormat.patternChars in native code when we can just
access it directly.

Also remove a bit more duplication in the native code, and remove the early
scope closure in getCurrencyCodeNative. If we're going to waste space in
that function, let's waste it on an explanation of why a seemingly useless
assignment is actually totally necessary.
f079e7726943d985fe36019e21e2ad21d68b7b9b 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I88786692

* changes:
Fix leaks in ICU JNI.
5a757e2dbcb97410de7da96f71057517af2cb8d8 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8cf2b8be

* changes:
Remove dead code from the garbage collector. A previous commit eliminated all of the referencing code.
6be75e1ce65f8cc8eabc4798f5d5c42b63d52340 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6f22b22e

* changes:
Fixing BigDecimal.stripLeadingZeroes on "0e100", as discovered by jtreg.
790133a68613ed5c1ff7ee889fc61776c433ca63 22-Dec-2009 Carl Shapiro <cshapiro@google.com> Remove dead code from the garbage collector. A previous commit
eliminated all of the referencing code.
a0a9c70076be834cce5abdccaee91a73abc3fbc1 22-Dec-2009 Jesse Wilson <jessewilson@google.com> Fixing BigDecimal.stripLeadingZeroes on "0e100", as discovered by jtreg.

Plus other jtreg test scrubbing.
23aaa74911b26c715bf86c2a641789583a6ae7c4 22-Dec-2009 Carl Shapiro <cshapiro@google.com> Remove conditionally compiled code for monitor-only locks.
a98ea070dc9f1017b5d17017bd9f9434f4662aa6 22-Dec-2009 Elliott Hughes <enh@google.com> Fix leaks in ICU JNI.

Consistently use RAII to ensure we always clean up our UResourceBundle*s.

Remove redundant allocation/copying from the UnicodeString to jstring
conversion.

Also simplify a few other repetitive bits of code.

Note that getContentImpl is still in the old style because that function
contains gotos. The right fix for that function involves changing the Java
side to work with a class containing a field for each item, rather than the
current Object[].
8c349cddf9def0e643529c37fccca6ada9134a51 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I34b20f49

* changes:
Repurpose bits 1 and 2 of the lockword for encoding the hash state of an object. Invert the meaning of the shape bit to match the encoding scheme described in Bacon's paper. Consequently, monitor pointers must have the lower 3 bits stripped before they may be dereferenced.
407603fc39671513048d9821b0011c45f3246980 21-Dec-2009 Carl Shapiro <cshapiro@google.com> Repurpose bits 1 and 2 of the lockword for encoding the hash state of
an object. Invert the meaning of the shape bit to match the encoding
scheme described in Bacon's paper. Consequently, monitor pointers
must have the lower 3 bits stripped before they may be dereferenced.
eea8551854aa7d3b981d2905dc9a2a5c05da8906 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iaa2af1ad

* changes:
Speed up the way we access ICU's locale data.
18627b2f8b0cf4f40116b44992382b5016d29851 21-Dec-2009 Elliott Hughes <enh@google.com> Speed up the way we access ICU's locale data.

This patch makes creating a new NumberFormat or new SimpleDateFormat 2x faster.

Basically, the ResourceBundle mechanism is really expensive in several ways:

1. The two-level caching is unnecessary for locale data, and expensive because
it burns through a lot of temporary objects.
2. The PrivilegedAction stuff is unnecessary and expensive because it too burns
quite a few temporary objects (including an ArrayList for each call; should
we consider removing support for SecurityManager so we can remove this cruft
from our code?).
3. The caching in most cases doesn't cache anything useful; the ResourceBundles
simply forward all questions straight to native code anyway, all we're
caching is an unnecessary forwarding object (in a cache where lookups cost
more than just creating a new unnecessary forwarding object would cost).

I've left CurrencyResourceBundle on the slow (ResourceBundle.getBundle) path
because I'm not yet sure how much of that path's semantics it relies on.

I still return LocaleResourceBundle instances (albeit via a much faster path)
but we should fix that. The native code returns an array which ResourceBundle
stuffs into a Hashtable and the calling code accesses via hash table lookups.
This despite the fact that the keys are a small fixed set known in advance.
We could make the native layer and the calling layer simpler and faster by
using a "struct", and doing so would make the middle layer go away completely.
c20527bae861b4bb16e856f758dd94fa1f9f1d76 21-Dec-2009 Scott Main <smain@google.com> resolved conflicts for merge of 4923840c to master
a0e13e50589e3bc650b7a264d168cce1df37a835 21-Dec-2009 Scott Main <smain@google.com> resolved conflicts for merge of ed7b1e77 to eclair-plus-aosp
e2236294bf07d18e2e4585fd6e13101f0e0160dc 21-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0ffa1dd4 into eclair

* changes:
doc change: fix a broken link in class summary
fff8c79202ead552d4d18470191e0cc83344877d 21-Dec-2009 Scott Main <smain@google.com> doc change: fix a broken link in class summary
2f13af5b284b10c9bcfd297657bf1705a763ce49 21-Dec-2009 Jesse Wilson <jessewilson@google.com> More expectations for our test runs
e0fbeff462b15d4d72f70f7f5cf649a2cc15c7ff 20-Dec-2009 Jesse Wilson <jessewilson@google.com> Fixing the XML emitter to honor the expectations file.
902670fab5db0f01e02c2018cfca3c8819b59c34 20-Dec-2009 Elliott Hughes <enh@google.com> Fix CurrencyTest's expectation for CAD in fr_FR.

Fix this harmony test which we've been failing since our ICU update:

Default Locale is: ja_JP. For locale fr_FR the Canadian Dollar currency
returned $CA. Expected was one of these: [CA$, CAD, $, Can$, $Ca]

The upstream harmony test (which has diverged quite a bit) tests for "$CA"
instead of "$Ca".
532a781b68cc8d036eea2681ac2d248fc308b13f 20-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic3780383

* changes:
Fix Long.toBinaryString, Long.toHexString, and Long.toOctalString for negative values.
7fd08d3316732a1474879dd2a0381404c7318db4 20-Dec-2009 Jesse Wilson <jessewilson@google.com> Fixing a busted regex in the expectations file. Also doing regex checking upfront.
4d1a569e585759e8c737e16e9a60771f89da882c 20-Dec-2009 Elliott Hughes <enh@google.com> Fix Long.toBinaryString, Long.toHexString, and Long.toOctalString for negative values.

Although (int) -1 == (long) -1, Integer.toXString produces a shorter result than
Long.toXString should.
67a2ce5efe21e2de7976199ef47c063d13185794 18-Dec-2009 Rodrigo Ipince <ipince@google.com> Added support for filter in dmtracedump tool, along with some test cases.

Some corner cases are still not handled in the code, but will be eventually.
4539ba9f7db670c24c6201f92b1ecc463b2bf286 19-Dec-2009 Jesse Wilson <jessewilson@google.com> Adding expectations for a bunch of jtreg tests.

Although tedious, we found a real bug in the mix. This also removes some
of the noise from our test results.
d8c5f67b9fb96160fc70603eecfa0efaa30de32e 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1e941570

* changes:
Depessimize string conversions.
6ae1acef4d752184f4980123c1b41fce5e137afb 18-Dec-2009 Elliott Hughes <enh@google.com> Depessimize string conversions.

Why does this idiom persist? It's ugly, and it's the least efficient way to do
it. (I found the ones in DecimalFormatSymbols while invesigating why
"new SimpleDateFormat()" burns through so many StringBuilders. grep(1) found
the rest.)

The DocumentBuilderImpl removes an unnecessary level of indirection, since we
implement Character.toString in terms of String.valueOf. (I wouldn't have
bothered except this was the only use of Character.toString in the core
libraries, and I added it myself a few weeks ago.)
7d91b1add263e96d8aa5170a406a3cf7b1b51080 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I60383632

* changes:
Update luni package to Harmony r888752.
6a778eb6d678fb8021c17c5e01b1de64fc6bde22 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1ecd9dcd

* changes:
Use writev() for DDMS packets.
27fbc7e1316b23e7ac677daf16d0a00ce99f1697 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I83849e4a

* changes:
Improve our java.util.Locale documentation.
3d90694fc411cbd5dbcaf03d90483e2c6e7ee6c6 17-Dec-2009 Elliott Hughes <enh@google.com> Improve our java.util.Locale documentation.

Bug: http://code.google.com/p/android/issues/detail?id=5476
e1cd41ea39b5c41885ca7a7f936da010e6f03ac7 18-Dec-2009 Jesse Wilson <jessewilson@google.com> Rename dalvik_jtreg to dalvik_runner.

Now that it runs caliper and JUnit, the old name was awful clumsy.
74b44cee505831d26879d6b8ef864b95a53546f6 18-Dec-2009 Jesse Wilson <jessewilson@google.com> Fixing clean to use rm -rf so it won't fail if the directory wasn't ever created.

Adding a --skip-clean option.
Adding a --device-runner-dir option to run off the SD card
efffc2318a4ba286e20c4b74606069a466584257 18-Dec-2009 Andy McFadden <fadden@android.com> Use writev() for DDMS packets.

The code was using the JDWP "expanding buffer" stuff, which is fine for
4-byte status messages but will be terrible for buffers of tracing and
profiling data. Now we construct the header in a separate buffer.
4f9eecfa7d148b216328f4beb485e9257d819812 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib1d8044e

* changes:
Jit: Briefly delay start of Jit'ng in attempt to avoid compiling init code
5fa160651bab10f2a9ce6fe4f05112281055dcc3 17-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Briefly delay start of Jit'ng in attempt to avoid compiling init code

Via subjective manual side-by-side testing of jit vs. no-jit, the mterp
version looked like it tended to reach first screen on application launch
very slightly before the Jit version. This change adds an old and
commonly-used Jit trick to delay jit startup in an attempt to avoid wasting
effort compiling initialization code.

Also, deletes some code no longer in use.
0091236b5e438fdad94cc00d4418568026e7044d 17-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iac175b4f

* changes:
Two minor JNI fixes.
9bb86388d2316b5366454d43471f3d678cbceaea 17-Dec-2009 Andy McFadden <fadden@android.com> Two minor JNI fixes.

(1) In the CheckJNI return type scanner, don't assume that the caller's
class loader is already listed as an initiating loader for the type
being returned.

(2) Make sure the PlatformAddress class is initialized before calling
one of its static methods from NewDirectByteBuffer.
5f623ffa7cac6d882af46938179a3192081cd550 17-Dec-2009 Jesse Wilson <jessewilson@google.com> Cleaning up after each test to avoid exhausting disk space.
Moving tests to the local sdcard.
121bdd5165a621ad5806fa90db1352ce6036696e 17-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ice913bbd

* changes:
Make java.lang.Character fast.
2b18b9140d61c59e1dede2b06228a82712f3649a 17-Dec-2009 Elliott Hughes <enh@google.com> Make java.lang.Character fast.

This patch reinstates some of the upstream ASCII fast paths, adds some new
ones, and forwards all char overloads to the int methods (placing the fast
paths in the int overload), so using the int overload isn't automatically
3x slower than the char overload even for the same characters.

See the bug for benchmark results. The ASCII speedups are between 2x and 4x.

Bug: 2295801
a4c3723b401ad19887d1bbd250de00caa32549e8 17-Dec-2009 Joshua Bloch <jjb@google.com> Fixed a bug int the new version of Long.reverse introduce in change Id6bd7c81.
The corresponding code in Hacker's Delight is written in C, which supports
unsigned numbers. In Java, it's essential to use explicit unsigned shifts,
but I neglected to do so. This bug was caught by jtreg test
java.lang.Long.BitTwiddle (which I wrote in 2003). This preexisting
test serves as the regression test for this change.
b7a2f2d0c78016d8901843008335d5c3bb184526 17-Dec-2009 Barry Hayes <bhayes@google.com> Clean up some misunderstanding about what mspaces are:
They are already pointers.
1f2e3328d87811b6ca3719d529fcdaec0bd65d83 17-Dec-2009 Jesse Wilson <jessewilson@google.com> Adding some debugging to help figure out why our tests aren't completing.
ac6ab84e0ea8d75d80f38586f52017503243b9a9 16-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I24ac537c

* changes:
Move VFP register save/restore routines from template to codegen.
111f33505b8e4b3a719af206f46c9b3bcfbc71e6 16-Dec-2009 Ben Cheng <bccheng@google.com> Move VFP register save/restore routines from template to codegen.

Code in the template directory will occupy space in the code cache and is
invoked from JIT'ed code. Since these routines are only invoked from statically
compiled functions we can move them to the codegen directory which also has
arch-variant configurations.
5b602e326949fbd16d08a34dafa02279e7395771 16-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id6bd7c81

* changes:
Rewrote all the toString and bit twiddling code in Integer and Long using state-of-the-art recipes. The resulting code is much faster than what it replaced, as well as being more concise. While I was in the neighborhood I also cleaned up a few other things in the boxed primitives (TYPE fields, small-value caches, etc.).
8cc952eeae8c4bc515dca5ab7681493bee370624 16-Dec-2009 Jesse Wilson <jessewilson@google.com> Making helper threads daemons in the jtreg runner.

Fixing a bug where we were attempting to execute errord out tests. And
renaming the testClasses to a testClasspath.
81b799f1d28d821c94c535f47d843bed7db77359 16-Dec-2009 Jesse Wilson <jessewilson@google.com> Update luni package to Harmony r888752.

Conflicts:
libcore/luni/META-INF/MANIFEST.MF
libcore/luni/make/findbugs-exclude-filter.xml
libcore/luni/src/main/java/java/io/BufferedOutputStream.java
libcore/luni/src/main/java/java/io/BufferedReader.java
libcore/luni/src/main/java/java/io/CharArrayReader.java
libcore/luni/src/main/java/java/io/StringReader.java
libcore/luni/src/main/java/java/lang/StrictMath.java
libcore/luni/src/main/java/java/lang/ref/ReferenceQueue.java
libcore/luni/src/main/java/java/net/Inet4Address.java
libcore/luni/src/main/java/java/net/InetAddress.java
libcore/luni/src/main/java/java/util/ArrayList.java
libcore/luni/src/main/java/java/util/EnumSet.java
libcore/luni/src/main/java/java/util/HugeEnumSet.java
libcore/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyConstantPool.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/AbstractMemorySpy.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/DebugMemorySpy.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/Endianness.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/IFileSystem.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/IMemorySystem.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/INetworkSystem.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/IPlatformConstants.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/OSFileSystem.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/OSMemory.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/OSNetworkSystem.java
libcore/luni/src/main/java/org/apache/harmony/luni/util/InputStreamExposer.java
libcore/luni/src/main/native/hyzip/shared/zipcache.c
libcore/luni/src/main/native/hyzip/shared/zipsup.c
libcore/luni/src/main/native/include/jni.h
libcore/luni/src/main/native/include/jni_types.h
libcore/luni/src/main/native/include/jvmti.h
libcore/luni/src/main/native/include/jvmti_types.h
libcore/luni/src/main/native/launcher/unix/main_hlp.c
libcore/luni/src/main/native/luni/shared/OSNetworkSystem.c
libcore/luni/src/main/native/luni/shared/file.c
libcore/luni/src/main/native/luni/windows/makefile
libcore/luni/src/test/api/unix/org/apache/harmony/luni/tests/java/io/UnixFileTest.java
libcore/luni/src/test/java/tests/api/java/io/BufferedOutputStreamTest.java
libcore/luni/src/test/java/tests/api/java/io/BufferedReaderTest.java
libcore/luni/src/test/java/tests/api/java/io/SerializationStressTest.java
libcore/luni/src/test/java/tests/api/java/net/SocketTest.java
libcore/luni/src/test/java/tests/api/java/util/ArrayListTest.java
libcore/luni/src/test/java/tests/api/java/util/EnumSetTest.java
libcore/luni/src/test/java/tests/api/java/util/TimerTest.java
d7e1cbca4d5677aae8bd950aa8ab7a5f4c0a1d18 16-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iadae8af9

* changes:
Updating Caliper runner to correspond with caliper r20091215
7c451f5ee3fa9c88a774054002712098ff60e061 16-Dec-2009 Jesse Wilson <jessewilson@google.com> Updating Caliper runner to correspond with caliper r20091215
927bd7ba1ec68f27b8c7cec31a4b616bbfce46fa 15-Dec-2009 Joshua Bloch <jjb@google.com> Rewrote all the toString and bit twiddling code in Integer and Long using
state-of-the-art recipes. The resulting code is much faster than what it
replaced, as well as being more concise. While I was in the neighborhood
I also cleaned up a few other things in the boxed primitives (TYPE fields,
small-value caches, etc.).

Addressed review comments.
df4d17d15f96db264f80eaa5b092e7d2775c0494 16-Dec-2009 Elliott Hughes <enh@google.com> Fix our test runner to look inside source files for package declarations.

The relevant libcore .java files were all under test/java/ directories, but
that's not generally true, and not true in the specific case of caliper's
benchmarks.
3dbe83fad32dc64f7c291b79878ccdd2f59067f6 16-Dec-2009 Elliott Hughes <enh@google.com> Fix dalvik_jtreg build.

Use the same technique frameworks/base uses when building external/apache-http
to build the dalvik_jtreg dependencies. This is ugly, but seems to keep the
host and device builds off each others' toes.
95094e33a4c078b5066441dd6b15ea146db0cbd6 16-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I326caaa3

* changes:
Fix our SSLSession implementations to call valueUnbound on remove.
93f07303ed7b5739d2f5014519a390302131b0dc 16-Dec-2009 Elliott Hughes <enh@google.com> Fix our SSLSession implementations to call valueUnbound on remove.

This addresses the other problem from the following abandoned change:
https://android-git.corp.google.com/g/4743
2f9c3127e23f83498d3fe4d42eae6d332a3721b2 16-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id2be5eb7

* changes:
Eclipse doesn't like that this class' directory didn't match its package.
b810204874f460ed2969869527cf3d6ebfc7d2b2 16-Dec-2009 Brett Chabot <brettchabot@android.com> am 61fdb24e: (-s ours) am 173411f7: Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.

Merge commit '61fdb24e732f0effb72c70491845a497e99faae1'

* commit '61fdb24e732f0effb72c70491845a497e99faae1':
Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.
9dfd2cc52d3885a34146076c9e94aa79d530e26f 15-Dec-2009 Elliott Hughes <enh@google.com> Eclipse doesn't like that this class' directory didn't match its package.

Resolve in favor of the package declaration.
24d5314058995ae9b611675ac20e81045d43e51d 15-Dec-2009 Elliott Hughes <enh@google.com> Fix OpenSSLSessionImpl.getCreationTime and getLastAccessedTime.

This addresses one part of this abandoned change from ursg:
https://android-git.corp.google.com/g/4743

I've also tidied up the native method names to use the harmony "-Impl"
convention, removed useless methods that just forward to a native method,
and removed dead code. I've canonicalized some of the duplication too,
but I want to go through the rest of out OpenSSL code before I really start
trying to remove the duplication.

When this is submitted, I'll fix the other (unrelated) bug the abandoned
change addressed.
2ad160dd2f0a60a77386e339d0b749e9e3fa153b 15-Dec-2009 Brett Chabot <brettchabot@android.com> am 173411f7: Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.

Merge commit '173411f7a11c81bef07adc28c66ce4c417df67ff' into eclair-plus-aosp

* commit '173411f7a11c81bef07adc28c66ce4c417df67ff':
Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.
80906c0063b2f6dfe95afdc85755d1b100ad6365 15-Dec-2009 Android Git Automerger <android-git-automerger@android.com> Merge commit 'goog/eclair-plus-aosp'
c3c693f47dfac9d072f987c1acd17677b7dabd1a 15-Dec-2009 Brett Chabot <brettchabot@android.com> Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.

Bug 2155700

Change-Id: Ib0f9d363842d713ce3e07cdd303078c5c3e518c9
7c7b4f0eea0913ddf50ea3ed3ade23894fe777cd 14-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1d96b51e

* changes:
Merge branch 'archive_888752' into archive_dalvik
7fc04c1ba1a240a58bc6af1fbf13dc5c98a1ec33 14-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Icf57d5da

* changes:
Merge branch 'logging_888752' into logging_dalvik
00e9933d5a622daef42821eca0c74085aae894e1 14-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie84afdff

* changes:
Support running caliper with the jtreg runner. This is an early first look; we'll need to fix a few things before the UI for this is nice.
cbe71b11345d190ad4fa336f81777fe64d68a8ae 10-Dec-2009 Jesse Wilson <jessewilson@google.com> Merge branch 'logging_888752' into logging_dalvik

Conflicts:
libcore/logging/META-INF/MANIFEST.MF
libcore/logging/src/main/java/java/util/logging/LogManager.java
libcore/logging/src/main/java/java/util/logging/Logger.java
libcore/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
ca8ae34e7ad5ea08aec7de04cca051f79eb084d8 05-Dec-2009 Andy McFadden <fadden@android.com> Don't assume debugger wants all exceptions.

The JDWP implementation in the VM keeps a list of the objects that the
debugger knows about, and prevents the GC from collecting them (which
isn't strictly necessary, but it's a whole lot easier than doing it
right). Because of the way it's implemented, it actually ended up
keeping track of all thrown exceptions, even if the debugger wasn't
interested in hearing about them.

With this change we now do a "late" registration of the exception
object, preventing exception-happy code from filling memory when the
debugger is attached.
e60b467448a65186e431f90bc72663947303a9df 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I11aa1bb5

* changes:
Jit: Fix 083-jit-regressions test to omit non-deterministic output
02d80736b879127a66f7907dc3d5e64167a75ab6 11-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Fix 083-jit-regressions test to omit non-deterministic output
5387da6d3194f877887732c685b41592030d19ed 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4c691d1a

* changes:
Minor CheckJNI tweak.
8bed9bccb424067dbedb2978a0aad75ea73f3f65 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I909ce240

* changes:
Iterate in JNI thread exit check.
ff887855e125a676b21302fab33cadc6d345ee23 09-Dec-2009 Jesse Wilson <jessewilson@google.com> Support running caliper with the jtreg runner. This is an early first look;
we'll need to fix a few things before the UI for this is nice.
9ae7f00bd959afb3e711b6bc6a3aa70558bd8890 11-Dec-2009 Andy McFadden <fadden@android.com> Iterate in JNI thread exit check.

The Dalvik VM includes a helpful check that kicks and screams if a thread
exits without detaching from the VM first. It manages this with a pthread
TLS destructor. This is handy, but it will interfere with anyone who
wants to use a TLS destructor to initiate the thread detach.

With this change, we now iterate a couple of times to allow other
destructors a chance to detach the thread before we get snippy.

For 2319072.
447a46f696dc0c95965773b8ea18c48d4b329d9d 11-Dec-2009 Andy McFadden <fadden@android.com> Minor CheckJNI tweak.

Check for "L;" class names, e.g. "Ljava/lang/String;", in CheckJNI. If
we see one passed in, give a specific failure message instead of just
allowing the inevitable NoClassDefFoundError to propagate back.

Also, add a message string to the pre-formed NoClassDefFoundError used
by the bootstrap class loader so that it's obvious where it comes from.
34e603e66d79bb76c609231abcf93f367dd5615a 11-Dec-2009 Dan Bornstein <danfuzz@android.com> am 2859440d: am c51439a5: Fix a bug where, in static synchronized methods that had no other uses of registers (no locals, no parameters, no method calls with arguments), v0 would be used both to hold the object being synchronized on and to hold a caught exception.

Merge commit '2859440d31dcb5de958d32a6012c1f8b3c509344'

* commit '2859440d31dcb5de958d32a6012c1f8b3c509344':
Fix a bug where, in static synchronized methods that had no other uses
9993ee8e6be25d4baf42ba3f4d30f12170d8e898 11-Dec-2009 Dan Bornstein <danfuzz@android.com> am c51439a5: Fix a bug where, in static synchronized methods that had no other uses of registers (no locals, no parameters, no method calls with arguments), v0 would be used both to hold the object being synchronized on and to hold a caught exception.

Merge commit 'c51439a513d4cc3c2be4a7cce7b3e9ae480fd5c2' into eclair-mr2-plus-aosp

* commit 'c51439a513d4cc3c2be4a7cce7b3e9ae480fd5c2':
Fix a bug where, in static synchronized methods that had no other uses
390bd340f3ffd90d8db186cd0e84a9e8bfcd23a5 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9388fbfd

* changes:
More java.io.File cleanup.
ada415e83cb8e2a7eb8c20ccee3385700b994e72 10-Dec-2009 Elliott Hughes <enh@google.com> More java.io.File cleanup.

Make File.list (and friends) cost one JNI call instead of four,
and move the conversion of UTF-8 byte sequences into the JNI, so
it returns String[] instead of byte[][].

Switch to readdir_r(3) so we don't need the JNI to be "static
synchronized".

Remove fixed-length buffers from the native code.

Fix leaks by introducing a "proper" native container (similar to
std::forward_list). We should still investigate either using
std::vector or passing in an ArrayList<String> and using JNI to
call ArrayList.add, but this is a step forward from the old
code anyway.

Bug: 2281992
d053a029af06e5e7fdfba6e50ef84953398e7bd5 10-Dec-2009 Dan Bornstein <danfuzz@android.com> am 78199efa: am 39c5899d: Preflight cleanup of Ropper.java for style, whitespace, etc., before doing some more drastic modifications. Also, bumped up the version number, rather than making changes first and then forgetting that important detail.

Merge commit '78199efa7615ac896c9a116737bb87f3724ead0b'

* commit '78199efa7615ac896c9a116737bb87f3724ead0b':
Preflight cleanup of Ropper.java for style, whitespace, etc., before doing
4cc42a9b1716c70b0bba8b0177df32df43881d1e 10-Dec-2009 Dan Bornstein <danfuzz@android.com> Fix a bug where, in static synchronized methods that had no other uses
of registers (no locals, no parameters, no method calls with arguments),
v0 would be used both to hold the object being synchronized on and to hold
a caught exception.

The result was code that, if an exception was thrown through it, would
in turn throw an IllegalMonitorStateException, as the vm would be
asked to monitor-exit the exception object and not the monitor-entered
class.

Dx test 062 has a couple new cases to cover this case as well as the
parallel instance method case (not that the latter was problematic,
but I like the symmetry).
6f3eca98a6bcceec670b7ece1e5215e62911b6c1 10-Dec-2009 Dan Bornstein <danfuzz@android.com> am 39c5899d: Preflight cleanup of Ropper.java for style, whitespace, etc., before doing some more drastic modifications. Also, bumped up the version number, rather than making changes first and then forgetting that important detail.

Merge commit '39c5899d0359c386815f5f72991a3a2573135dbd' into eclair-mr2-plus-aosp

* commit '39c5899d0359c386815f5f72991a3a2573135dbd':
Preflight cleanup of Ropper.java for style, whitespace, etc., before doing
69650ce531f4edc8b645cc3e8811f9bc7c208c9c 10-Dec-2009 Dan Bornstein <danfuzz@android.com> Preflight cleanup of Ropper.java for style, whitespace, etc., before doing
some more drastic modifications. Also, bumped up the version number, rather
than making changes first and then forgetting that important detail.
a49f488114fbe8de6ba090dfa080978e89d9bff7 28-Oct-2009 Barry Hayes <bhayes@google.com> The disabled code was too late to make eclair, and there were some
bugs on x86, now fixed.

Let's get this into master for some burn-in.
8df4a5472cbaa368be649a79ec4ada29b9d5132c 30-Oct-2009 Barry Hayes <bhayes@google.com> Remove arrayClass from ClassObject. It seems to get only dozens of hits in
all of Zygote start-up.

There doesn't seem to be a measurable difference in the time printed in:
I/Zygote ( 2247): ...preloaded 1147 classes in NNNNms.
1cb26daf04f53f2e9b196233ebadd4ad3f8dd1b2 10-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5f6d073a

* changes:
Jit: Save/restore callee-save floating point registers at interpreter entry/exit
3e75cf8c7f91bdf0a20bfd5ce21a41036fff4da4 08-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Save/restore callee-save floating point registers at interpreter entry/exit
6c4b80874e012fd0b06946bd4084cd3e732b0b99 10-Dec-2009 Andy McFadden <fadden@android.com> am b2c70f2c: (-s ours) am 4d9f9384: DO NOT MERGE - Reduce spin-on-suspend complaints.

Merge commit 'b2c70f2cb70cd3dbdd12b2581447ed1e70a30992'

* commit 'b2c70f2cb70cd3dbdd12b2581447ed1e70a30992':
DO NOT MERGE - Reduce spin-on-suspend complaints.
553d1f2346b84b62b0a33ce1e78f753352d7fde3 10-Dec-2009 Elliott Hughes <enh@google.com> am 0f6512c7: am 3f77d012: Merge change I2ca00c90 into eclair-mr2

Merge commit '0f6512c7b4dd17177a7fdb521ca440d87b4230ad'

* commit '0f6512c7b4dd17177a7fdb521ca440d87b4230ad':
Fix dalvik test 063.
71b5415e1582dfb0921ad8260b651eba455dae36 10-Dec-2009 Jesse Wilson <jessewilson@google.com> Merge branch 'archive_888752' into archive_dalvik

Conflicts:
libcore/archive/build.xml
libcore/archive/src/main/java/java/util/jar/JarFile.java
libcore/archive/src/main/java/java/util/zip/GZIPInputStream.java
libcore/archive/src/main/java/java/util/zip/Inflater.java
libcore/archive/src/main/java/java/util/zip/InflaterInputStream.java
libcore/archive/src/main/java/java/util/zip/ZipEntry.java
libcore/archive/src/main/java/java/util/zip/ZipFile.java
libcore/archive/src/main/java/java/util/zip/ZipInputStream.java
libcore/archive/src/main/java/org/apache/harmony/archive/internal/nls/Messages.java
libcore/archive/src/main/java/org/apache/harmony/archive/internal/nls/messages.properties
libcore/archive/src/main/native/archive/unix/exports.txt
libcore/archive/src/main/native/archive/unix/makefile
libcore/archive/src/main/native/archive/windows/makefile
libcore/archive/src/main/native/archive_copyright.c
libcore/archive/src/main/native/jarfile.c
libcore/archive/src/main/native/java_util_zip_Deflater.c
libcore/archive/src/main/native/zip.c
libcore/archive/src/main/native/zipcache.c
libcore/archive/src/main/native/zlib/unix/makefile
libcore/archive/src/main/native/zlib/windows/makefile
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/AllTests.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarFileTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarInputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarOutputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/ManifestTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/Pack200Test.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/DeflaterOutputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/InflaterInputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/InflaterTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipEntryTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipInputStreamTest.java
b953aea6f6d4124c9f073ca124f2b27b150d5b0d 10-Dec-2009 Elliott Hughes <enh@google.com> Implement DTDHandler support for ExpatParser.

Every time a third-party developer gets their DefaultHandler method signatures
wrong (making it impossible for us to call them), they see this in the log and
complain that SAX parsing is broken on Android:

WARN/ExpatReader(704): DTD handlers aren't supported.

This patch adds that support -- even though no-one wants it -- so we can get
rid of the irrelevant log message.
8927f035030de29b131e7941c69f6be44b9948db 10-Dec-2009 Andy McFadden <fadden@android.com> am 4d9f9384: DO NOT MERGE - Reduce spin-on-suspend complaints.

Merge commit '4d9f9384999b14acc996ed621e1205b389845f13' into eclair-mr2-plus-aosp

* commit '4d9f9384999b14acc996ed621e1205b389845f13':
DO NOT MERGE - Reduce spin-on-suspend complaints.
9275683be3ef7e4bec01a5a8079fb7cfb789068f 10-Dec-2009 Elliott Hughes <enh@google.com> am 3f77d012: Merge change I2ca00c90 into eclair-mr2

Merge commit '3f77d0127a34798cfede935331c10c1e57ec0ff7' into eclair-mr2-plus-aosp

* commit '3f77d0127a34798cfede935331c10c1e57ec0ff7':
Fix dalvik test 063.
7deabec4644e9de9473aaff512b9c3d5480d175e 09-Dec-2009 Elliott Hughes <enh@google.com> Fix java.util.Formatter formatting of -0.0.

The active ingredient here is the two changes to stop comparing longValue
with doubleValue and formatting the long if the two compare equal. This
causes us to lose the sign of 0 (because there's no long -0, but -0.0d == 0).
Instead, we explicitly test for boxed Double and Float arguments (because
the number of integral types is larger, they get the "else" clause).

The other changes are just minor cosmetic changes made as I followed the code.

Bug found by jtreg, so no new test.
de077bbe1a9d7709cc1717c30aead3f8204d4d07 03-Dec-2009 Andy McFadden <fadden@android.com> DO NOT MERGE - Reduce spin-on-suspend complaints.

The first complaint is popping up too quickly, and the pile of log
messages it emits aren't helping the process do real work. This
skips the complaining if we just finished the first (0.25 sec) sleep.

(merged back from master)
abe08cd360ba02bddf25cb1f8c9bad50dbbc852c 09-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7bdddfb1

* changes:
Improve the FileNotFoundExceptions thrown by OSFileSystem.open.
39177de5811f876d249676574a22c7ee43a0157b 09-Dec-2009 Elliott Hughes <enh@google.com> Improve the FileNotFoundExceptions thrown by OSFileSystem.open.

When I improved the internals of java.io.File, I failed to keep
OSFileSystem.open (which uses the internals of java.io.File) in
sync, leading to misleading error reporting. java.io.File's
internals now include a trailing NUL, which is useful for the
native code but confuses Java if it tries to decode the byte[]
as a UTF-8 sequence.

This patch fixes the bug and also improves OSFileSystem.open's
error reporting to include the reason for the failure.

Bug: 2313271
2874aeb937668f38495becba995a45a18c6b313c 08-Dec-2009 Dan Bornstein <danfuzz@android.com> am 66cbe5b1: am bf1bb914: am 4a888b09: Two exception-related tweaks: (1) Make the dynamic exception construction mechanism be able to handle exception constructors that take Object instead of String. (2) Add a convenience in JNIHelp to throw RuntimeExceptions.

Merge commit '66cbe5b10e3bd9f7b3c262a2ec8a3c11087baa80'

* commit '66cbe5b10e3bd9f7b3c262a2ec8a3c11087baa80':
Two exception-related tweaks: (1) Make the dynamic exception construction
f607f2ed4473cba77d28fcf903c8bcac08433de1 08-Dec-2009 Elliott Hughes <enh@google.com> Fix build.
d3e8a845a20af8a4ddd67705a485c41d21d6e091 08-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8cdf9790

* changes:
Take Locale into account in java.util.Formatter uppercase conversions.
005f448e6e507a2e9a6cbc074d5e571bafda8c32 08-Dec-2009 Elliott Hughes <enh@google.com> Take Locale into account in java.util.Formatter uppercase conversions.

(This is an RI incompatibility, but Sun accepts that the RI's behavior is a
bug.)

Bug: 2301938
d3f99acc3d504fa16158866290a3f18928056090 08-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id40223ec

* changes:
Convert an assert() into a real test.
b96de0039b26db2cb6ef1fa5264f8b8df4ac11e6 08-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I2ca00c90 into eclair-mr2

* changes:
Fix dalvik test 063.
517a0b197506cceaf5d762c35c3a4ec2d671f043 08-Dec-2009 Elliott Hughes <enh@google.com> Fix dalvik test 063.

Avoid a race by sleeping so the code we're examining gets to run before we
query its state.

Bug: 2310700
03777965a180bc4b3b0fd18aa138d83683739d2a 08-Dec-2009 Dan Bornstein <danfuzz@android.com> am bf1bb914: am 4a888b09: Two exception-related tweaks: (1) Make the dynamic exception construction mechanism be able to handle exception constructors that take Object instead of String. (2) Add a convenience in JNIHelp to throw RuntimeExceptions.

Merge commit 'bf1bb914a62c65eb8304ce1d86e8ff2dd4f5c79b' into eclair-mr2-plus-aosp

* commit 'bf1bb914a62c65eb8304ce1d86e8ff2dd4f5c79b':
Two exception-related tweaks: (1) Make the dynamic exception construction
d11fa733523c89dece52f7bbc802ada294d75d62 08-Dec-2009 Dan Bornstein <danfuzz@android.com> am 4a888b09: Two exception-related tweaks: (1) Make the dynamic exception construction mechanism be able to handle exception constructors that take Object instead of String. (2) Add a convenience in JNIHelp to throw RuntimeExceptions.

Merge commit '4a888b09be2ade9fc5bb0137f702b3be889679a9' into eclair-plus-aosp

* commit '4a888b09be2ade9fc5bb0137f702b3be889679a9':
Two exception-related tweaks: (1) Make the dynamic exception construction
394da1d1b303049ce1b39c3d8a69a61aa2338d3c 08-Dec-2009 Dan Bornstein <danfuzz@android.com> am 4a888b09: Two exception-related tweaks: (1) Make the dynamic exception construction mechanism be able to handle exception constructors that take Object instead of String. (2) Add a convenience in JNIHelp to throw RuntimeExceptions.

Merge commit '4a888b09be2ade9fc5bb0137f702b3be889679a9' into eclair-mr2

* commit '4a888b09be2ade9fc5bb0137f702b3be889679a9':
Two exception-related tweaks: (1) Make the dynamic exception construction
7241ccb51bbd2e6132d661c5832dd373f8fb5397 08-Dec-2009 Dan Bornstein <danfuzz@android.com> Two exception-related tweaks: (1) Make the dynamic exception construction
mechanism be able to handle exception constructors that take Object instead
of String. (2) Add a convenience in JNIHelp to throw RuntimeExceptions.

Change-Id: Ie5ce680c30043a4b186e59d7c8883666648b2c87
efcfe79fe9f6f7c4e5d37cbf702a5b922e7dba66 08-Dec-2009 Andy McFadden <fadden@android.com> Convert an assert() into a real test.

We occasionally see an assertion failure on some debug builds that
indicates a thread is being examined by the GC while still running.
This turns the assertion into an always-enabled test with verbose
logging and a VM abort.
9f97baae40791e25607163aba0d94a1e184b8af7 07-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I78b1acb6

* changes:
More java.io.File cleanup.
69bd950b96b757a766a2d0f0bf1112b8125f4db6 06-Dec-2009 Elliott Hughes <enh@google.com> More java.io.File cleanup.

Remove the duplication between the various list and listFiles methods.
This also makes the variants that take a filter no less efficient than
those that don't, for the special case of the null filter.

The upstream code sometimes assumed returned filenames were UTF-8, and
at other times assumed returned filenames were in the platform encoding.
The new code always uses UTF-8, to match filenames sent to the operating
system, which were and are always sent as UTF-8 byte sequences.

This patch does not alter the native listImpl method. That's for the
next patch.

A couple of unrelated cosmetic changes have been made in this patch:
declarations of native methods have been moved next to the methods
they implement, and a minor simplification has been made to the
documentation of isAbsolute.

Bug: 2281992
9fee14feb2875bd73fb02d8408f01122f876099a 07-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I01c5bfe3

* changes:
Jit: 2nd attempt at fix for [Issue 2302318] Crash during spin-on-suspend
efdaef75ca8f458c5e96693187d7d05bd03b776f 04-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: 2nd attempt at fix for [Issue 2302318] Crash during spin-on-suspend

Logic on the 1st attempt was a little off, preventing some invokes from
getting chaining cells.
fd8820d173f8768c263fe7792af859bcaabba23b 06-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I76f1dbe7

* changes:
More java.io.File cleanup.
645155e9ec751dcb8c9be534a83d5642118d1430 05-Dec-2009 Elliott Hughes <enh@google.com> More java.io.File cleanup.

Mostly cosmetic: improve documentation, factor out the code to join two
strings into a path, put fields in canonical order, defer to String (which
might be able to perform optimizations we can't), simplify the path
cleaning code.

Also remove more unused Windows support (since our File is already totally
broken on Windows anyway).

Bug: 2281992
f08bcd9541c18d5064ede93ef8262a682c3d642a 05-Dec-2009 Elliott Hughes <enh@google.com> Improve TimeZone documentation.

We can't do anything about the RI's unfortunate choice of method names,
but improving our documentation might help reduce the confusion they
cause.

Bug: 2244560
420c3980bc53398c2dd6f4fd13a5ad0c9a9d0847 05-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I97af6ec8

* changes:
More java.io.File cleanup.
5a37efcb488a80d4f8be085330444b43063e9666 05-Dec-2009 Elliott Hughes <enh@google.com> More java.io.File cleanup.

Two changes:

1. Change the createNewFile JNI to match the Java interface, so we can lose the
glue. (Also make the Java/JNI names match, and sort the table of native method
names alphabetically.)

2. Fix the caching of the path byte sequence so we're caching the exact byte
sequence we want to hand to JNI. Also switch to caching the byte[] at
construction time, rather than hiding it behind an accessor.

There's a deliberate functional change here too: previously we were inconsistent
about which encoding was in use. Sometimes it was explicitly UTF-8, other times
the default platform encoding (which happens to be UTF-8 on Android). Now we
always use UTF-8. (But note that the File.list methods, which I haven't got to
yet, still return a mix of UTF-8 and platform-encoded strings.)

Bug: 2281992
fccb0393b14a10e3512b42586ecec8738edd1b62 05-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia8ff1644

* changes:
Fix two trivial Formatter bugs (found by jtreg).
90266d7b38ed27e6accb946c6cd9a429de60622b 04-Dec-2009 Elliott Hughes <enh@google.com> Fix two trivial Formatter bugs (found by jtreg).

jtreg complains that we allow "%<%" and "%<n". This patch disallows
the special "last argument" case to conversions that don't take
arguments.

We also reject explicitly-numbered arguments such as "%123$n" or
"%123$%" (whether or not a corresponding argument was provided) though
the RI ignores such errors. I've modified the harmony tests to stop
passing unused argument indexes to %n and %%.

This fixes about 80 jtreg complaints (the java/util/Formatter/Basic test is
generated by shell script and seems to accidentally repeat many of the same
tests over and over).

This patch also includes a little more tidying for readability, but
no other functional changes.
4f79d6ba0b2a546ebf410ed2fb5b1bb4aa8f402a 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9bb3f193

* changes:
Add new(-ish) Dalvik opcodes to Opcodes.java.
fdb27f8d05f7d719ab20d4533d7b16297227ceba 04-Dec-2009 Andy McFadden <fadden@android.com> Add new(-ish) Dalvik opcodes to Opcodes.java.

This is a public API change.
e7a47e0d278de90a4abbfe1baaa83ed28a79d60e 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I85442b60

* changes:
Android ICU4.2.1 upgrade. For detail of dalvik changes, please see: https://docs.google.com/a/google.com/View?docid=0AfZlO7RuiBh5Y2NmMjdndmJfNDVmNWM2cGY0NQ&hl=en
110587e8aeaae493ab3de3294f6c0a7a20025a95 04-Dec-2009 Bill Buzbee <buzbee@google.com> Reverting [master] Change I85dd4a66: (platform/dalvik)
f0082e67174d2385224603c9e982ff6e14e56734 04-Dec-2009 Andy McFadden <fadden@android.com> am ca77c603: am a7745f97: Remove "unused" opcodes from API.

Merge commit 'ca77c6035fcce6ed9653ee1bed1753bff99e3d89'

* commit 'ca77c6035fcce6ed9653ee1bed1753bff99e3d89':
Remove "unused" opcodes from API.
b03d01d127ca2215b1b4235777673da37f4d3de1 04-Dec-2009 Elliott Hughes <enh@google.com> am b90871f4: (-s ours) am 5d26339a: DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes.

Merge commit 'b90871f4c638ce83137adea74b66dd3eca907cfe'

* commit 'b90871f4c638ce83137adea74b66dd3eca907cfe':
DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes.
2cacb8a63ca2fc5255095b2f7fcd18b895edd315 04-Dec-2009 Andy McFadden <fadden@android.com> am a7745f97: Remove "unused" opcodes from API.

Merge commit 'a7745f9734870e8750d8488b6563f80e0ecdcdcf' into eclair-mr2-plus-aosp

* commit 'a7745f9734870e8750d8488b6563f80e0ecdcdcf':
Remove "unused" opcodes from API.
b605953a3e3968c274f673f5f0bb3aa371f36307 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I85dd4a66

* changes:
Jit: Fix for [Issue 2302318] Crash during spin-on-suspend testing
c6ae4503d91d5c7575a14f40e4c6cd890438777e 04-Dec-2009 Andy McFadden <fadden@android.com> Remove "unused" opcodes from API.

There's no need to have constants like OP_UNUSED_FF in the API. They
serve no purpose, and it makes life confusing when an opcode is defined
(does the "unused" one go away, breaking the API? do we have the real
definition and the "unused" definition simultaneously?).

Discussed / approved by API council.
96be26d842772fe03bd5352eef5fd9422ffe845f 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7d18e38e

* changes:
Added additional DEX checksum.
94db83799ecba6e31cfbb07d5ac5bd04c096cfd9 04-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Fix for [Issue 2302318] Crash during spin-on-suspend testing

This was an amusing bug: the test case simulated a daemon by falling
into an empty loop-forever. The trace selector treats unconditional
branches as NOPs, and proceeded to repeatedly add the same "branch to self"
instruction to the trace until it reached max trace size. The compiler
got confused, and died.
17ad1d1afded7f616963fc9da2c7d836ac782627 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6d8a640c

* changes:
Make java.util.Formatter perform acceptably (and fix two jtreg failures).
8b51c1ce53e279334be320324c77c54a5b80448b 04-Dec-2009 Andy McFadden <fadden@android.com> Added additional DEX checksum.

We have a checksum on the base DEX data, but not on the stuff that
dexopt appends. If a flash block goes "funny" we might not be able to
detect the problem. This change adds a checksum field to the
"optimized" header.

The new checksum is verified under the same circumstances as the base
DEX checksum: when you use "dexdump", and when you enable additional
checking with -Xcheckdexsum (or the property dalvik.vm.check-dex-sum
is set to "true").

For bug 2255640.
fe6d6d6df603ceb43f6985146d36fd447e25e6d3 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1ede83b7

* changes:
Reduce spin-on-suspend complaints.
a83cde5c7153b5040769b564e14dd922071b170f 02-Dec-2009 Elliott Hughes <enh@google.com> Make java.util.Formatter perform acceptably (and fix two jtreg failures).

Here are the slowdowns compared to hand-written StringBuilder.append code,
for three cases: a long format string with no format specifiers, a long
format string with a single %d, and a long format string with a
single %s (in that order):

passion-old: 54x 40x 10x
sim-new: 1.7x 3.4x 5.3x
passion-new: 9.2x 2.2x 1.8x

Formatter has been changed to use a less expensive mechanism for parsing
the format string, to not create expensive temporary objects unless they're
actually needed (particularly strings used only in error messages), to not
create a temporary StringBuilder in every transform* method, and to not
charge for padding (or truncation) unless actually required.

As Stroustrup would say, "you don't pay for what you don't use".

Other changes:

AbstractStringBuilder adds a special case for appending one StringBuilder to
another, similar to its existing special case for String (because we do a
much better job of copying a char[] with System.arraycopy than iterating over
a CharSequence).

Character reinstates the ASCII-range optimizations for isDigit and
isUpperCase, both of which are used by Formatter. Bug 2295801 covers
reinstating the rest of Character's special cases.

String loses the unused inner class ConsolePrintStream, which isn't actually
relevant to this change, but offended me greatly.

CharBuffer gets a rewritten toString that's less inefficient. (This doesn't
matter to us because the new Formatter doesn't use CharBuffer, but one
shouldn't leave broken glass on the lawn.)

The change to Formatter.close fixes a jtreg failure (and brings our
implementation in line with our documentation, which already stated that
multiple calls to Formatter.close only close the underlying Closeable
once).

The change to Formatter.format(Locale, ...) fixes a jtreg failure: any
Formattable we call out to needs to be able to use Formatter.locale to
find out the locale it's formatting for. I've reworded the documentation
so that it's clearer (it was already correct, but ambiguous).

Bug: 2272346
95657b62d3153d4775aaee03e06a3dd6b5a2cae4 03-Dec-2009 Andy McFadden <fadden@android.com> Reduce spin-on-suspend complaints.

The first complaint is popping up too quickly, and the pile of log
messages it emits aren't helping the process do real work. This
skips the complaining if we just finished the first (0.25 sec) sleep.
cdbf2c5537fed0365cf1ca46bcde92cf9cd861b3 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I909b4182

* changes:
Jit: Fix for 2187020, bad exception recovery from native invoke static
107403312a38e7376aaa31a77c770f7d5fbeb244 03-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Fix for 2187020, bad exception recovery from native invoke static
3ade94b32a78dd017afca265e8e0e3d87fb16b08 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I352c5d87

* changes:
Rudimentary JNI method arg checking.
9bec244a031702f3fa383596753de513033cbad3 03-Dec-2009 Jesse Wilson <jessewilson@google.com> More jtreg+JUnit love. Getting JUnit to work off-device.

Also fixing the number of threads used by the driver.
1a6de5ef00aae0f26c3ea71219f2100f7720b377 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I147cfdcf

* changes:
JUnit support for jtreg runner. This makes it so that a single command will compile a focused set of tests, install them on the device, and run them.
0834b68aa260300595db61ba160a0485544b89d2 02-Dec-2009 Jesse Wilson <jessewilson@google.com> JUnit support for jtreg runner. This makes it so that a single command
will compile a focused set of tests, install them on the device, and
run them.

There are still some features missing in the current test runner:
- it requires JUnit to be compiled manually "mmm external/junit". I'm
trying to figure out why our build system cannot find it.
- it requires the full test suite already be on the device. This is
necessary for the support test files and annotations. I intend to
create a follow up change to move those into a smaller target.
For now "mmm dalvik snod" will build these.
- JUnit test expectations are at the class level, not the method level.
I don't yet have a mechanism to introspect the .java file from JUnit
to get its method-level detail.
- jtreg tests can only be run as a directory, not as a single test.
e4496d93992440e480306576f51c7b69bd43b952 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I310502fa

* changes:
Enable CheckJNI on core tests.
08482567c040d2f25221d6ea7e69627b1bf225d0 03-Dec-2009 Andy McFadden <fadden@android.com> Enable CheckJNI on core tests.

This adds -Xcheck:jni to the core test command line. The tests will run
a bit more slowly when native code is involved, but I don't think we're
doing any performance testing in here, and the extra JNI testing is
useful.
e50469045dc7492c20b866019fc1accbceda1538 02-Dec-2009 Andy McFadden <fadden@android.com> Rudimentary JNI method arg checking.

This adds basic checking of reference arguments passed to interpreted
methods from native code when CheckJNI is enabled. The various
method calls and NewObject variants are checked.

Currently only tests to see if objects are valid references; does not
attempt to verify that the objects are of the correct type.

Also: renamed checkCallCommon for clarity.
43ab593fbdb4bd6a9a6cfd0b8dad76e8a53593b7 02-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I45d6e22b

* changes:
Jit: shift bug fix - 2296099
0374708a54c336538148598f042c0c9ead0717fb 01-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: shift bug fix - 2296099
4e0adcb32ec13b461a6aff47e723abf1d3b14fb5 02-Dec-2009 Claire Ho <chinglanho@gmail.com> Android ICU4.2.1 upgrade.
For detail of dalvik changes, please see:
https://docs.google.com/a/google.com/View?docid=0AfZlO7RuiBh5Y2NmMjdndmJfNDVmNWM2cGY0NQ&hl=en

Bug: 1823720
Reviewed-by: jessewilson@google.com,enh@google.com
CC:
Signed-off-by:
a71bdc2c4ac237fd91008247969d509f105379dc 02-Dec-2009 Andy McFadden <fadden@android.com> Update makefile comments.

The "make clean" note was out of date -- it only cleaned one of our four
targets.
423aa4d36b3a0540de1b6c391650d193cebf9d5a 01-Dec-2009 Elliott Hughes <enh@google.com> am 5d26339a: DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes.

Merge commit '5d26339aed33942ba82bfdb79e1b7e9a832c96a7' into eclair-mr2-plus-aosp

* commit '5d26339aed33942ba82bfdb79e1b7e9a832c96a7':
DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes.
dd122f494c943d8d77d840860137fcfb6fb88b9f 01-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I47b9b7f9

* changes:
DPQ Comment cleanup (and a few very minor code changes)
9b6b40ce4769df3fc9f409aea1da4d33362ff5b3 01-Dec-2009 Joshua Bloch <jjb@google.com> Replaced all versions of binarySearch with better versions.
For float[] and double[], the new versions should run significantly faster than the old.
Removed some obsolete helper methods.
1bf69aea0458f4afdc914124b47f0ba782762b9a 01-Dec-2009 Joshua Bloch <jjb@google.com> DPQ Comment cleanup (and a few very minor code changes)
7fd91921007a5bd0abcee22f91d538af7eba8a42 30-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9d0bdb0b

* changes:
Update docs for debugger change.
e9bc0d6d5481f0127233013fb6cb500f5ca0e082 30-Nov-2009 Andy McFadden <fadden@android.com> Update docs for debugger change.

Update notes re: breakpoint implementation (changed Oct 28, 96516932).
9e0a17d3d4a1e46b508d439b230884f9d8ec2024 30-Nov-2009 Elliott Hughes <enh@google.com> More java.io.File improvements.

Three themes to this change: not making unnecessary native calls (like the
pointless "exists" check in canWrite), being consistent in our
treatment of the empty path, and removing unnecessary cruft from the native
code.

I'm sure there must be a better implementation for handling the empty
path (the few methods for which it *isn't* invalid should be the special
cases, not every single method), but in this patch I'm just interested
in correctness.

With this patch, we pass the jtreg empty path test (which we previously
failed) and we pass my more complete test (added to FileTest.java in this
patch).

Bug: 2281992
7b4571713ee1b823e4a8614fc4cfb5dcb41ffb5d 26-Nov-2009 Elliott Hughes <enh@google.com> DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes.

This is a backport of the minimal changes from master (flan) to fix IPv6
multicasting. Specifically, it fixes NetworkInterface to report IPv6 addresses,
it fixes GenericIPMreq so we pass the interface indexes down to native code,
it replaces our old copy of harmony's MulticastSocketTest with the current
upstream version (to avoid bogus failures), and it brings back one small
"unrelated" fix to OSNetworkSystem.cpp that's necessary to prevent failures
in later parts of tests we used to fail too early to notice secondary
problems.

This passes all the (fixed) MulticastSocketTest tests, causes no regressions
in the whole net.AllTests suite, and fixes the user-submitted application
that started the investigation.

Bug: 1750581
ebd609f6c39cc434f96334ccf1e674f4683f9937 26-Nov-2009 Elliott Hughes <enh@google.com> Fix File.isHidden and File.listRoots.

Not only were the old implementations of these methods over-complicated, they
were both incorrect. We now pass all our existing tests plus the jtreg tests.

Bug: 2281992
5c9c450455593e0b94499ee979dd365b5064eeb2 25-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5ec3a381

* changes:
Changing JtregRunner to support running tests off device.
cc06a5cfd45dea683b2e86b59032d7863be31055 25-Nov-2009 Jesse Wilson <jessewilson@google.com> Changing JtregRunner to support running tests off device.
90dbf7b7a524b7fb0100435a02805fbd98855885 25-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I869898f1

* changes:
Fix an assertion.
becfbade2c0ea36ccb08b9b84ab74776e315158c 24-Nov-2009 Andy McFadden <fadden@android.com> Fix an assertion.

The assertion probably dated from before the binary-search path existed.
2300b42232f70cdbd37ccb703a7f86d1eaf3f96b 24-Nov-2009 Elliott Hughes <enh@google.com> am e732bb04: am 1c7705b6: Merge change I96996494 into eclair-mr2

Merge commit 'e732bb040be84bd2ac652ca53330b80367a65725'

* commit 'e732bb040be84bd2ac652ca53330b80367a65725':
Fix browser crashes if server certificates have > 32 subjectAltNames.
33790bdc1e6c241a2d4745031679188af3018852 24-Nov-2009 Elliott Hughes <enh@google.com> am 1c7705b6: Merge change I96996494 into eclair-mr2

Merge commit '1c7705b6066ea57109557fc1cb0609991ac0af24' into eclair-mr2-plus-aosp

* commit '1c7705b6066ea57109557fc1cb0609991ac0af24':
Fix browser crashes if server certificates have > 32 subjectAltNames.
fd24dcbbd586bdbfc9409698b49d7886d738ddf8 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I96996494 into eclair-mr2

* changes:
Fix browser crashes if server certificates have > 32 subjectAltNames.
938f31a9849cea43961144986c2ec6ba7d926143 24-Nov-2009 Elliott Hughes <enh@google.com> Fix browser crashes if server certificates have > 32 subjectAltNames.

Android-only changes added an arbitrary limit that upstream doesn't have.
This limit-free implementation is still more efficient than upstream (which
always allocates three Vectors).

Dr No: danfuzz
Bug: 2281869
0079be6721f63d0a115dae2e29d8b27b0b9812d3 24-Nov-2009 Jesse Wilson <jessewilson@google.com> A few notes on why we don't cache canonical paths.
7aeecd0d746179be90580b31aaf81368f9d8d24f 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I518925b0

* changes:
Fix windows SDK build.
7b76e5a12ed5c5c29f7cf3ba2b8a1d4a7826af32 24-Nov-2009 Jesse Wilson <jessewilson@google.com> am 683daacf: (-s ours) am d1aead76: Merge change Ie21b2327 into eclair-mr2

Merge commit '683daacf21830a0b0510320c735485c75749c4f1'

* commit '683daacf21830a0b0510320c735485c75749c4f1':
DO NOT MERGE: Removing the use of FileCanonPathCache.
5665d2cd8978ea760edc4d3c58d2499621be325f 24-Nov-2009 Jesse Wilson <jessewilson@google.com> am d1aead76: Merge change Ie21b2327 into eclair-mr2

Merge commit 'd1aead768d5c6e4aa18c4f43e6be97f8a40fbf84' into eclair-mr2-plus-aosp

* commit 'd1aead768d5c6e4aa18c4f43e6be97f8a40fbf84':
DO NOT MERGE: Removing the use of FileCanonPathCache.
67587bd4455b523f2c8f4965caf460170dae3215 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie21b2327 into eclair-mr2

* changes:
DO NOT MERGE: Removing the use of FileCanonPathCache.
0693aa24cb96cbe3e1ed39a1eba436c7c6525588 24-Nov-2009 Jesse Wilson <jessewilson@google.com> DO NOT MERGE: Removing the use of FileCanonPathCache.

Aside from being an unjustified optimization, users have reported
problems with this in the wild. This cache has already been removed
in master.
68e5978b70300a25644c013b558c843af5e915e6 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9189bd9d

* changes:
Fix java.io.File's JNI's fixed-length buffers.
7ce06ca2661d2df92f929542c581a37594405922 21-Nov-2009 Elliott Hughes <enh@google.com> Fix java.io.File's JNI's fixed-length buffers.

I've also removed most of the duplication, simplified a lot of the
implementation, and added loads of TODOs now it's possible to see
what's going on under all the obfuscation. (The native code is
roughly half its previous size, but more functional.)

I want to stop here rather than start fixing any of the TODOs
because this change is already large enough and the history will
be clearer if unrelated changes are kept separate (easy though many
of them are).

Strictly speaking, I haven't removed all the fixed-length buffers:
the File.list implementation still uses fixed-length buffers, but
as the new TODOs point out, I think we want to rewrite that code
to better match its callers, and doing so will make the fixed-length
buffers go away. There's no point polishing code that's already
scheduled for deletion.

Add a couple of basic tests, one that assumes that if Path copes
with long paths in a couple of File's methods, it works in all of
them; another that singles out our readlink(2) wrapper because
that's the only place so far where we cope with arbitrary-length
paths moving in the opposite direction (from kernel to JNI to Java).
26b6fbb42accd69bba776896eba7942a4ddf358e 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iff90b1aa

* changes:
Explicitly ignore non-IPv4/IPv6 addresses from IFA_ADDRESS.
5d742dd4dcd439e4275b2e67da488d6279384553 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I72b1f303

* changes:
Add a comment.
ee0baf2132a4f1bb7fde562d9fec4e6560cbb58a 24-Nov-2009 Andy McFadden <fadden@android.com> Fix windows SDK build.

Broken by 96516932f1557d8f48a8b2dbbb885af01a11ef6e.
5fc1be902a327919ea533e01d365cb60588603e7 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4bd6f817

* changes:
Replaced primitive sorts with Iaroslavski, Bentley, and Bloch's Dual Pivot Quicksort. The originals were based on Bentley and McIlroy's "Engineering a Sort Function." The original floating point sorts suffered from poor performance due to the use of a naive comparison function. In round numbers, the new version is 1.5x as fast as the old one on integers and twice as fast on floating point numbers (on the latest Android build running on Sholes). On some data sets (e.g., nearly sorted data, the new version is substantially faster.
25f6f7a6cd95145953e5e5fcfc0d77f4920d45c0 12-Nov-2009 Joshua Bloch <jjb@google.com> Replaced primitive sorts with Iaroslavski, Bentley, and Bloch's Dual Pivot Quicksort.
The originals were based on Bentley and McIlroy's "Engineering a Sort Function."
The original floating point sorts suffered from poor performance due to the use
of a naive comparison function. In round numbers, the new version is 1.5x as fast
as the old one on integers and twice as fast on floating point numbers (on the
latest Android build running on Sholes). On some data sets (e.g., nearly sorted data,
the new version is substantially faster.

Now, with added performance tweaks from Jesse and Bob!! With these tweaks, the sort
is 70% faster than the original sort on integers and over twice as fast on doubles.
None of the optimizations are Dalvik-specific, and we may be able to make it even
faster by adding Dalvik-specific optimizations.

Also added beefier tests.
c0c5c83880f36a0bbd31e67de9e59439f6248493 23-Nov-2009 Elliott Hughes <enh@google.com> Add a comment.
0542154b8f5396220988a9131fa1a82a2ac89c14 23-Nov-2009 Elliott Hughes <enh@google.com> Explicitly ignore non-IPv4/IPv6 addresses from IFA_ADDRESS.

I don't think this can happen (some other calls return hardware addresses too,
but I've never seen a hardware address in an IFA_ADDRESS message), but netlink
is badly documented, and it's better to be safe than sorry.
311bfee0cda5f99ead79537d4c4aa78dde00f7db 21-Nov-2009 Bill Buzbee <buzbee@google.com> Jit: Support for inline-execute/range [issue 2268232]
6e7035fbd43d541440659e68ac279822700d3ac6 22-Nov-2009 Bill Buzbee <buzbee@google.com> Jit: Misc fixes, move_exception, blocking mode, self-cosim

OP_MOVE_EXCEPTION handler was neglecting to reset.
Blocking mode was failing to signal empty queue in some cases
Self-cosim was including operations in traces that can't be done twice
Added OP_MOVE_EXCEPTION to self cosim's no-replay ops (it has side effects)
Restored threshold of 1 to self-cosim (now able to boot device with self-cosim)
When threshold < 6, disable 2nd-level translation filter
2ee7ce1521c5bd516f6b88828238e817c0982366 23-Nov-2009 Ben Cheng <bccheng@google.com> Restructure the codegen to make architectural depedency explicit.

The original Codegen.c is broken into three components:

- CodegenCommon.c (arch-independend)
- CodegenFactory.c (Thumb1/2 dependent)
- CodegenDriver.c (Dalvik dependent)

For the Thumb/Thumb2 directories, each contain the followin three files:

- Factory.c (low-level routines for instruction selections)
- Gen.c (invoke the ISA-specific instruction selection routines)
- Ralloc.c (arch-dependent register pools)

The FP directory contains FP-specific codegen routines depending on
Thumb/Thumb2/VFP/PortableFP:

- Thumb2VFP.c
- ThumbVFP.c
- ThumbPortableFP.c

Then the hierarchy is formed by stacking these files in the following top-down
order:

1 CodegenCommon.c
2 Thumb[2]/Factory.c
3 CodegenFactory.c
4 Thumb[2]/Gen.c
5 FP stuff
6 Thumb[2]/Ralloc.c
7 CodegenDriver.c
0d845305ec51dc9e325c0bd4e141686b7cf1cd69 21-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9fa3ef2c

* changes:
Rewrite NetworkInterface's JNI for IPv6.
a8be17906093a8c3cf8f7c34aa06831e480aad5c 21-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I2807742e

* changes:
Switch java_io_File.c over to C++.
f88f45fd7195cf5c7d4a9c1447d571e780baaa82 21-Nov-2009 Elliott Hughes <enh@google.com> Switch java_io_File.c over to C++.
01bfa75b74e82ea2370bc90fafc238bf25e7863b 21-Nov-2009 Dan Egnor <egnor@google.com> am 070dbac8: am 0dfef7bc: Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects

Merge commit '070dbac882856834111bc0e766224ee53c8d5471'

* commit '070dbac882856834111bc0e766224ee53c8d5471':
Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects
07e16b1c3af1adab90d19a12a556bdca625e7fb8 21-Nov-2009 Dan Egnor <egnor@google.com> am 0dfef7bc: Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects

Merge commit '0dfef7bc223f18a1372b4c44c822b9cdc5d5f741' into eclair-mr2-plus-aosp

* commit '0dfef7bc223f18a1372b4c44c822b9cdc5d5f741':
Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects
6f3ae5532404bd7ae02b63f0f0ec1cac0de622a8 21-Nov-2009 Dan Egnor <egnor@google.com> Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects
79db2a1bfb6d8daa6a8c7915507ae4f6d80ed044 20-Nov-2009 Elliott Hughes <enh@google.com> Rewrite NetworkInterface's JNI for IPv6.

The old ioctl SIOCGIFCONF implementation of getNetworkInterfaces only returns
IPv4 addresses. Now we've switched everything over to IPv6, that's not good
enough. This change (a) implements glibc/BSD-like getifaddrs(3)/freeifaddrs(3)
for Android, and (b) rewrites our getNetworkInterfaces to use that method. Of
particular note is that we now do more of the work in Java. The JNI hands back
a Java equivalent of getifaddrs(3)'s linked list of ifaddrs structs. The new
package-private java.net.InterfaceAddress class serves as Java's "struct
ifaddrs".

The old implementation was also broken: SIOCGIFCONF doesn't actually return
interface indexes from the kernel as the old code believed, so we were
pulling the address family out of the IPv4 address it returned, leading
us to assign the index 2 to all network interfaces. This caused all kinds of
weird behavior later.

I also had to fix GenericIPMreq so that its interface index field is actually
set. The native code gets passed one of these objects when setNetworkInterface
is called, so it's kind of important that the object identify which interface
it's supposed to correspond to.

I've also added missing copyright headers.

This fixes all of the harmony tests on the simulator and on the device. It
fixes several but not all of the jtreg MulticastSocket and IPv6 tests.
b89e3d978040792ffb7afbdbfa06dcc6e3bf4206 21-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I952e8040

* changes:
Implement ZoneInfo.toString for debugging convenience.
1c1f84394526860b6e12ab13fbdf4db0c0b57caf 20-Nov-2009 Elliott Hughes <enh@google.com> Implement ZoneInfo.toString for debugging convenience.

Bug: 2276903
777fa8caf1ff730b610fce3166f8708d1f46c024 20-Nov-2009 Andy McFadden <fadden@android.com> Fix heap profiling doc.

The DDMS "get hprof dump" button doesn't show up until 2.0.
2ac33e2ca4c82cd4ff74641f098ee5ec47991778 19-Nov-2009 Andy McFadden <fadden@android.com> Add execute-inline/range instruction.

Like "execute-inline", this is an instruction generated by dexopt that
replaces a method invoke instruction. It's useful for small, frequently
called methods in the core libs.

As with execute-inline, we allow at most 4 arguments, but with /range
we're no longer limited to the low 16 registers.

Also: marked execute-inline as being able to throw an exception.

Needed: native x86 implementation; support in JIT.

For bug 2268232.
4d6a7246776342b6eb4660ce423360a5c4160756 19-Nov-2009 Bill Buzbee <buzbee@google.com> Jit: fix for string/indexOf handler.
927d8e29299ad234b1c1eaae73c1d2c602e8c998 18-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8cd9a083

* changes:
Fix KXmlSerializer so it won't generate invalid XML.
a647820d8a9234396fe2bb62c543f7f8f83a50c0 18-Nov-2009 Elliott Hughes <enh@google.com> Fix KXmlSerializer so it won't generate invalid XML.

We were allowing arbitrary characters to be output (which, surprisingly,
XML does not), and we weren't correctly escaping CDATA sections that
contained "]]>".

Pull out some of my test helpers from DocumentBuilderTest into Support_Xml,
because they're more generally useful when writing tests involving XML.

Also correct a bunch of spelling mistakes in XmlSerializer's javadoc, since
I happened to be reading through.
f892c322111229ac850d60584fc6a1cbeaa466ba 18-Nov-2009 Jesse Wilson <jessewilson@google.com> Don't ignore errors on expected result, compile, or install in jtreg runner.
11359b746d11e0d3535224e0cd54e199b445ca10 18-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id856eca6

* changes:
protect use of SMALL_BUFFERS and HANDSHAKE_CUTTHROUGH
fd7dfcaf5012739ae8335d7a1b1036a508fcc4ab 18-Nov-2009 Dan Egnor <egnor@google.com> am 50f82ad4: am 08e0023c: Merge change I42d17725 into eclair-mr2

Merge commit '50f82ad4f2c4047382029560fd09d1907518adc8'

* commit '50f82ad4f2c4047382029560fd09d1907518adc8':
Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal,
cfa12c289493711664098cedb143c9ae51540e18 18-Nov-2009 Elliott Hughes <enh@google.com> am 239e94f6: am 28ac5b8c: Merge change I77af8135 into eclair-mr2

Merge commit '239e94f6a7d54bf13c78171d841582557b5fdd38'

* commit '239e94f6a7d54bf13c78171d841582557b5fdd38':
Fix Formatter.format's handling of Formattable.
16539cd376ffb0c6e21ae15d12daf17e1ab7df7c 18-Nov-2009 Dan Egnor <egnor@google.com> am 08e0023c: Merge change I42d17725 into eclair-mr2

Merge commit '08e0023c59828a443d993c7e6cb43bf9d197506a' into eclair-mr2-plus-aosp

* commit '08e0023c59828a443d993c7e6cb43bf9d197506a':
Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal,
3b825ba8f11751d3ab6808813113a513e9e09d0a 18-Nov-2009 Elliott Hughes <enh@google.com> am 28ac5b8c: Merge change I77af8135 into eclair-mr2

Merge commit '28ac5b8cfd52d1902a132a5faf8f102a8b33d6c2' into eclair-mr2-plus-aosp

* commit '28ac5b8cfd52d1902a132a5faf8f102a8b33d6c2':
Fix Formatter.format's handling of Formattable.
4f5a258a47b28ab4bb8466fab0e4f7bbad5a7317 18-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I42d17725 into eclair-mr2

* changes:
Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal, so they can be reused between multiple instances of Formatter on the same thread. This speeds up my unscientific benchmark (a number of printouts involved in a debugging diagnostics output) by 3x, and should have a similar impact on anyone who uses String.format(), PrintWriter.format(), and the like.
0903e60e72acc78496e9c94d072557878c6a00ac 18-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I77af8135 into eclair-mr2

* changes:
Fix Formatter.format's handling of Formattable.
891c253db8dea2145b65ddb3f677e360b66d060c 18-Nov-2009 Elliott Hughes <enh@google.com> am 52d2e5f4: am 08c24984: Merge change I0ee370b9 into eclair-mr2

Merge commit '52d2e5f4e7f75e3a2b38b0373158b7dff13e72cf'

* commit '52d2e5f4e7f75e3a2b38b0373158b7dff13e72cf':
Consistently use Formatter's cached NumberFormat.
51d6dfb060ece9004ceeb49c5aa4488b649f3817 18-Nov-2009 Elliott Hughes <enh@google.com> am 08c24984: Merge change I0ee370b9 into eclair-mr2

Merge commit '08c24984fd3cb3e927c9a97b8413843b4b215dc5' into eclair-mr2-plus-aosp

* commit '08c24984fd3cb3e927c9a97b8413843b4b215dc5':
Consistently use Formatter's cached NumberFormat.
04f6188a7348cbab1dd9e226a6fdc5668b5b5d32 18-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0ee370b9 into eclair-mr2

* changes:
Consistently use Formatter's cached NumberFormat.
ae0dff1423756c75d10c145fc5b1ef0956e3e2a4 18-Nov-2009 Jean-Baptiste Queru <jbq@google.com> protect use of SMALL_BUFFERS and HANDSHAKE_CUTTHROUGH
98b30a277e2dddf118b3acca714dbe07595bf2d9 18-Nov-2009 Dan Egnor <egnor@google.com> Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal,
so they can be reused between multiple instances of Formatter on the
same thread. This speeds up my unscientific benchmark (a number of
printouts involved in a debugging diagnostics output) by 3x, and
should have a similar impact on anyone who uses String.format(),
PrintWriter.format(), and the like.
62a869d08c141d1b5ee9ba4110804ae3f0b47635 18-Nov-2009 Andy McFadden <fadden@android.com> am d3864b20: am dced7947: Reduce logging.

Merge commit 'd3864b207e6f6b090accd41a977ad23e18bdcf01'

* commit 'd3864b207e6f6b090accd41a977ad23e18bdcf01':
Reduce logging.
d682943506ba79623e3361fd7465db141ae72233 22-Sep-2009 Elliott Hughes <enh@google.com> Fix Formatter.format's handling of Formattable.

This doesn't make much difference to performance, but it is
slightly faster and I think it reads better too. Proof of the
latter is the fact that the rewritten form accidentally fixed
bug 1767: the old code was storing up literal text until after
handling the next format specifier, which is wrong if the
format specifier has side effects caused by the use of
Formattable.

(I don't plan on doing any more on the performance bug for now,
though I note that %g allocates and manipulates BigDecimal
instances, which would be worth looking at when we get round to
the bug that causes it to fail a harmony test.)

Bug: 1476, 1767
b1f4eac743b1128b5085c8cc4da726bc440ecd2f 21-Sep-2009 Elliott Hughes <enh@google.com> Consistently use Formatter's cached NumberFormat.

%f is a lot more expensive than it should be because we're not using the cached
NumberFormat (as we are for %d). Running the microbenchmark I added to the
bug (times in ms, on a Cortex A8):

old new
new Formatter %f 1732 811
String.format %d 635 651
String.format %f 1752 900
reuse Formatter %f 1521 188
Double.toString + 149 148
Double.toString append 33 33
StringBuilder.append 143 139

Bug: 1476
50099db41b9c29d736ba24f6ebc02706d5e38bf7 17-Nov-2009 Andy McFadden <fadden@android.com> am dced7947: Reduce logging.

Merge commit 'dced79474902ffa57fbd48121eb794aad7d24ddc' into eclair-mr2-plus-aosp

* commit 'dced79474902ffa57fbd48121eb794aad7d24ddc':
Reduce logging.
de9d73068c4dc097ca1dfd5d92b5f9c8c82fc716 17-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I49b05da2

* changes:
Various XML fixes.
82761755c203aa56f41946662a992cef20efb85a 17-Nov-2009 Andy McFadden <fadden@android.com> Reduce logging.

This cuts out some unnecessarily verbose dalvikvm chatter, notably:

Trying to load lib /system/lib/librs_jni.so 0x0
Added shared lib /system/lib/librs_jni.so 0x0

These messages can be useful for people trying to get their apps to
work with the NDK, so I'm only suppressing them when the path starts
with "/system". The result is that you can boot the system and run all
standard apps without seeing them, but we'll still see app-private libs
being loaded.

Also LOGI->LOGV for "Debugger thread not active, ignoring DDM send",
which seemed to be firing on startup for APp NaMe events. Ditto for
"Splitting out new zygote heap", which only happens once, but doesn't
strike me as a particularly useful thing to log.
9ba381831c2198cf652d123095bed49d0893043b 17-Nov-2009 Elliott Hughes <enh@google.com> Various XML fixes.

Add tests for bug 2487, exploring the situations where "]]>" is and isn't
allowed. Fix the bug by changing KXmlParser so it pays attention to
whether it's dealing with normal text or text in an attribute value and
reports errors appropriately.

In order to pass the new tests, we also need to fix DocumentBuilder to
pay attention to its DocumentBuilderFactory's "coalescing" setting: whether
or not adjacent text/CDATA nodes should be coalesced.

This in turn fixes a @KnownFailure in DocumentBuilderFactoryTest: previously
we didn't allow the caller to turn "coalescing" off (though until my
previous patch, we didn't actually coalesce anyway). Now we support both,
and I've made coalescing the default, because bug reports tell us that's
what users want. It's how the RI behaves, too.

Bug: 2487
3b2c15c9e0985c598773a2bf85059cd9fb900c9c 17-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I117408b2

* changes:
Restore support for DEX on FAT.
ed0a5fea9432735c5f6c1bb088ea6dbea013e85a 17-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id8a539c6

* changes:
Suppressing an invalid test that's checking implementation details.
b410226faaabb078f0730fbb8798a7ab69082770 17-Nov-2009 Jesse Wilson <jessewilson@google.com> Suppressing an invalid test that's checking implementation details.
4f63d8815db2aaac5022086de631cfa1c3715243 17-Nov-2009 Andy McFadden <fadden@android.com> Restore support for DEX on FAT.

The recent change to mmap(read-write)+mprotect(read-only) doesn't seem
to work on FAT filesystems like /sdcard. This caused problems for the
code that opens Zip files and the code that opens DEX files.

This change splits the "map file" function into "read only" and
"writable read only" versions, using the former for Zip and the latter
for DEX. Further, failure to mprotect(read-only) is now considered a
soft failure and only causes a warning.

The only apps that will be affected by this are those using /sdcard to
hold optimized DEX data for "plugin" APKs.

Also: moved the non-HAVE_POSIX_FILEMAP implementation of file mapping
into a shared function. (Could probably go away entirely.)

Also: fixed the expected output for test 071.
b3cb3b624321df2c4fdea569ee2313e2044a403d 17-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4c0dedfd

* changes:
Jit: string's compareTo performance improvement.
7d4c37452208c722a39d2b1cf1fb386c2d69389e 16-Nov-2009 Jesse Wilson <jessewilson@google.com> Specifying the /tmp directory and other properties for test runs.

This fixes 2 broken tests in RandomAccessFile, and possibly others.
52852b2c517faf609c11e57a69871bd8b648704e 16-Nov-2009 Bill Buzbee <buzbee@google.com> Jit: string's compareTo performance improvement.

Changed compareTo handler to call __memcmp16() for strings >= 32 chars.
However, even for those strings, the first two chars are done in the
handler (to catch early-out cases).

Comparisons were done with micro-benchmarks comparing 10 and 200-char
strings.

The strings were:
equal -> Q
not equal at start -> S
not equal at end -> E

The test configurations were handler (H) [the previous handler], subroutine (S)
[memcmp16()} and blended (B) [this commit]

H S B
10E 60 138 65
10S 32 70 30
10Q 9 9 9
100E 745 708 716

In short, the small string cases were twice as fast with the existing
handler compared to memcmp16, but memcmp16 was ~5% faster for long
strings.
0c13d14b3315422010acce069589a1c76f4c5f1f 29-Oct-2009 Andy McFadden <fadden@android.com> Change the way breakpoints work.

This replaces the breakpoint mechanism with a more efficient approach.
We now insert breakpoint instructions into the bytecode stream instead of
maintaining a table. This requires mapping DEX files as private instead
of shared, which allows copy-on-write to work. mprotect() is used to
guard the pages against inadvertent writes.

Unused opcode EC is now OP_BREAKPOINT. It's not recognized by dexdump or
any interpreter except portdbg, but it can be encountered by the bytecode
verifier (the debugger can request breakpoints in unverified code).
Breakpoint changes are blocked while the verifier runs to avoid races.

This eliminates method->debugBreakpointCount, which is no longer needed.
(Also, it clashed with LinearAlloc's read-only mode.)

The deferred verification error mechanism was using a code-copying
approach to modify the bytecode stream. That has been changed to use
the same copy-on-write modification mechanism.

Also, normalized all PAGE_SIZE/PAGESIZE references to a single
SYSTEM_PAGE_SIZE define.

Simple Fibonacci computation test times (opal-eng):
JIT, no debugger: 10.6ms
Fast interp, no debugger: 36ms
Portable interp, no debugger: 43.8ms

ORIG debug interp, no breakpoints set: 458ms
ORIG debug interp, breakpoint set nearby: 697ms

NEW debug interp, no breakpoints set: 341ms
NEW debug interp, breakpoints set nearby: 341ms

Where "nearby" means there's a breakpoint in the method doing the
computation that isn't actually hit -- the VM had an optimization where
it flagged methods with breakpoints and skipped some of the processing
when possible.

The bottom line is that code should run noticeably faster while a
debugger is attached.
1c2ce45de5d163ae124cd4ee4b6c079eb37a9ea5 16-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I690f0051

* changes:
Fixing a simple concurrency issue in the jtreg runner.
9439e9935fe1f0e4e6d8d00446b679b77177d16b 16-Nov-2009 Jesse Wilson <jessewilson@google.com> Fixing a simple concurrency issue in the jtreg runner.
2a30cbc6e426bfaaa7f7e16bacc17c08edbd6da6 16-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change If8e2929a

* changes:
Don't allocate arbitrary-length buffers on the stack.
10327965456439a08d8b60df568cccb92a3d604f 16-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id979947d

* changes:
Remove org.kxml2.wap.
b9075a26d048a76cbc7b0cc8274cdfccdfec5942 16-Nov-2009 Jean-Baptiste Queru <jbq@google.com> am d829c399: merge from open-source master

Merge commit 'd829c39941df81efe05eb3e974cfc048ce2d47f2'

* commit 'd829c39941df81efe05eb3e974cfc048ce2d47f2':
eclair snapshot
38be3cc0571f219076c29535fb4b9f3b0845118d 15-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
dcf40afc6dea887e54e8d49d8e92edaae84d283b 15-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master

Merge commit 'goog/stage-korg-master' into HEAD
fc63a37c9aa834d5d227157b4786d135a64fa4c1 15-Nov-2009 Bill Buzbee <buzbee@google.com> Jit: fix for compareTo handler.

Note to self: Units tests are much more effective when the test main actually
calls them.
04399c622b96997d2ca49f48b1982c9d8cadc908 15-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from eclair
aa3f749e451e273ec4b90db907ca4b86a6a3099c 15-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I07accb25

* changes:
Fix CHECK_CAST problem in the Jit.
1e9d2925347b296e1fa273ce16430a2980e3cfd7 13-Nov-2009 Bill Buzbee <buzbee@google.com> Fix CHECK_CAST problem in the Jit.

The Jit has previously (and wrongly) assumed that because any CHECK_CAST
operation had previously succeeded in the interpreter, that the class
that check cast's object was being check against would already be resolved.
However, if the object being checked is NULL, no attempt is made to resolve
the class. First bug flushed out by the Jit's stress mode (woohoo).
975468493c5733a5488b88af701a6c90c5939b12 14-Nov-2009 Elliott Hughes <enh@google.com> Remove org.kxml2.wap.

(Not to be submitted before d2944c35 in packages/apps/Email.)

Bug: 2249953
a167c2a54ff546d98f135ee0b9d54fcb649b3ace 14-Nov-2009 Elliott Hughes <enh@google.com> Don't allocate arbitrary-length buffers on the stack.

A new LocalArray C++ class lets us specify a "reasonable" amount of stack to
use, but transparently fall back to using the heap if we need more space.

The three places I've chosen to use LocalArray in this patch are fairly
random; all they have in common is that they're the places where we call
GetStringUTFRegion. There are more places LocalArray will be useful: the
java.io.File JNI in particular.

Bug: 2257819
6d757b178e2cba024472026831a6c6c9784ac56d 13-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I716b2844

* changes:
Suppressing BufferedReader jtreg tests we're better off not passing.
2e8ffef8ad4eee425bd92091cbb737f8d0220706 13-Nov-2009 Jesse Wilson <jessewilson@google.com> Suppressing BufferedReader jtreg tests we're better off not passing.
ea52662bf6b73a048387001059199282c687b147 13-Nov-2009 Elliott Hughes <enh@google.com> If we have a Class object in the "monitors held:" output, show which class.

Bug: 2187020
ca3720fc3020a5ec9bb56a490de2568cd9ae9245 13-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iaf8fd5ec

* changes:
Fix HttpURLConnection's chunked encoding behavior.
01a812eb8209671ca137dc4a4ade45a95deda0ea 12-Nov-2009 Elliott Hughes <enh@google.com> Fix HttpURLConnection's chunked encoding behavior.

A third-party developer who wasn't reading to the end of the stream found that
their next connection would return junk, which turned out to be the tail of
the first response (thanks to connection recycling). Make sure we clean up
a chunked-encoding stream before allowing the connection to be reused.

Enhance our test web server to implement chunked encoding properly, with
configurable chunk sizes, rather than just responding with a single chunk.

Bug: http://code.google.com/p/android/issues/detail?id=2939
5a12c04d0119733d480905291cc138fb34b5cbd7 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
914b2170b0df6fb4497d3e5a4f1359305d6a62b2 13-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I200886b4

* changes:
Make cacerts.bks available to the simulator too.
74b11334cb27617f2522a36133604577d515fc1f 12-Nov-2009 Elliott Hughes <enh@google.com> Make cacerts.bks available to the simulator too.

This lets you successfully run more tests on a sim-eng build than otherwise,
by bringing us in line with the normal on-device configuration.
d97f2b57b85bfe51304be8e9adc0d131337ccffb 12-Nov-2009 Elliott Hughes <enh@google.com> Remove OSNetworkSystem.oneTimeInitialization.

Do this work at JNI registration time, as we do for almost everything else.
(I did this to rule out a warning from the dalvikvm deadlock prediction
code, which doesn't like the unusual lock ordering at initialization time,
and although it didn't make any difference to that, I prefer to have a
defined static order of initialization.)
587f4cefe2189213f86382bf4ba6f668a96849b2 12-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ica2d0b8c

* changes:
Fix a buffer overrun in OSNetworkSystem.
eddd356865a1d1c21d8ee7951309c84edb5b7731 12-Nov-2009 Elliott Hughes <enh@google.com> Fix a buffer overrun in OSNetworkSystem.

Given an IPv6 address in a non-standard (Java-specific) form, we used to
overrun an on-stack buffer that was assuming the standard (shorter) form.
Make the buffer large enough for both forms, and reject anything that's
still too large.

Found by Inet6AddressTest.
d6bd7c28c3e3b7f598173bd887ac1d86fec0a500 12-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id726991b

* changes:
Jit stress mode: translate everything we can and self verify.
95c454e15a038836cdccd1ec4135b5ef6bd61fb5 12-Nov-2009 Elliott Hughes <enh@google.com> Fix typos in the XmlPullParser documentation.
65023640dcc2408edd0e573db6d164af88670652 10-Nov-2009 Bill Buzbee <buzbee@google.com> Jit stress mode: translate everything we can and self verify.

This represents a general clean-up of some existing command-line
options: -Xjitthreshold:num and -Xjitblocking. The jit threshold
controls how quickly we treat a Dalvik address as a potential trace
head. Normally this is set around 200 (and the range is 0..255, where
0 is in effect 256 and 1 means begin trace selection on first visit).

-Xjitblocking forces the system to pause execution whenever a translation
request is made and resume when that translation is complete. Normally
the system make a request but continues execution (to avoid jitter).

Additionally, if WITH_SELF_VERIFICATION is defined, we force blocking
to be true, and set the threshold to 1. And finally, we treat
threshold==1 as a special case and disable the 2nd-level trace-building
filter - which causes the system to immediately start trace selection.
d6e3e109762095639555fd6163d2454332a98933 10-Nov-2009 Elliott Hughes <enh@google.com> Fix DOM parsing of character references/entities.

Our DOM parser didn't support &#123; or &#x9a; character references,
and didn't merge adjacent text nodes into one (so "a&amp;b" would be
three text nodes rather than one; SAX allows the former, but DOM
guarantees the latter).

This patch fixes both bugs, and adds tests.

Bug: 2607 (and duplicates)
65def344bc5593992d4442e04ba4ba5bf2a7c203 10-Nov-2009 Elliott Hughes <enh@google.com> Bring our kxml2 up to date with upstream.

Much of this is spurious whitespace changes, but there's some increased
"relaxation". I deliberately lost the Android-specific change that was
avoiding Runtime, since we do now have Runtime. I've added an Android-specific
change to comment out some System.out logging that's been added upstream.

I'd tell you the upstream revision number, but they're still using CVS, so
there isn't one.
adddc81c6f3f26cf189fbedac45097774621105c 09-Nov-2009 Brett Chabot <brettchabot@android.com> am 216438fc: (-s ours) am 83859891: am 3dc6a811: (-s ours) DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.

Merge commit '216438fc405d78069b1042cc21fc43dc85f860a9'

* commit '216438fc405d78069b1042cc21fc43dc85f860a9':
DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
df5d3481a4973914efb07ef568b27955306a0093 09-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie65d9758

* changes:
Introduce "just interpret" chainable pseudo-translation.
52f08dac43cdbd1f5d35db853ed5bd4f07fbb3e2 08-Nov-2009 Bill Buzbee <buzbee@google.com> Introduce "just interpret" chainable pseudo-translation.

This is the first step towards enabling translation & self-cosim stress modes.
When trace selection begins, the trace head address is pinned and
remains in a limbo state until the translation is complete. Previously,
if the trace selected aborted for any reason, the trace head would remain
forever in limbo. This was not a correctness problem, but caused some
small performance anomolies and made life more difficult for self-cosimulation
mode.

This CL introduces a pseudo-translation that simply routes control to
the interpreter. When we detect that a trace selection attempt has
failed, the trace head is associated with this fully-chainable
pseudo-translation. This also has the benefit for self-cosimulation that
we are guaranteed forward progress.
1d2bc805d5382b8b5aa068d4a3ff5477059bc1e4 09-Nov-2009 Brett Chabot <brettchabot@android.com> am 83859891: am 3dc6a811: (-s ours) DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.

Merge commit '838598912874c49de45aba3baac644d177920115' into eclair-mr2-plus-aosp

* commit '838598912874c49de45aba3baac644d177920115':
DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
a764789d8a0b5f7e3c11f133be6722f23cca9657 09-Nov-2009 Brett Chabot <brettchabot@android.com> am 3dc6a811: (-s ours) DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.

Merge commit '3dc6a81182178a8ac9570a7679cf24b6a2665a0b' into eclair-mr2

* commit '3dc6a81182178a8ac9570a7679cf24b6a2665a0b':
DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
7d2d38b84c21131dcf81c621675bb1e7cac852de 09-Nov-2009 Brett Chabot <brettchabot@android.com> am 3dc6a811: DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.

Merge commit '3dc6a81182178a8ac9570a7679cf24b6a2665a0b' into eclair-plus-aosp

* commit '3dc6a81182178a8ac9570a7679cf24b6a2665a0b':
DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
69915d6ac69886b4761a1da33f666ea915d046bf 09-Nov-2009 Dan Bornstein <danfuzz@android.com> List -lcrypto when building for host darwin-x86, as that's part of
OpenSSL (in addition to -lssl, which was already listed).

Change-Id: Iddc53ee474dae030755395266a35f472f9b568b5
f2fefbd67dc0ea28848d4bf8a794c52e117fd35d 05-Nov-2009 Brett Chabot <brettchabot@android.com> DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
16d59d36528ab018fe6f1754119c642efd102ffa 06-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I16a7c847

* changes:
Our XML serializer permits \0, resulting in malformed documents.
aad179db711a0588bde613ce233d358fd69b7abe 06-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I52b6299c

* changes:
Sanitize text before emitting to XML.
51eab65085b684bc31cfe0ae3c277b75d70609a8 06-Nov-2009 Jesse Wilson <jessewilson@google.com> Sanitize text before emitting to XML.

This is the absolute least amount of sanitization that will work.
I'll consider adding more as necessary; currently I'm not too
interested in spending the time to make this perfect.
1551957002a22b3ac2df69ada2c9a888be1bbadf 06-Nov-2009 Jesse Wilson <jessewilson@google.com> Our XML serializer permits \0, resulting in malformed documents.

This failing test demonstrates the problem. It also adds AllTests
plumbing for this test and some missing ones.
8cb0ab3ad7e66e3ceeaa1edcd1c84cd188228445 06-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I2d4116b7

* changes:
Clean up sieb.[ch], including changing a reference to <malloc.h> to instead be the more standard <stdlib.h>.
115c2318327212e1c483996c473492c94afd83d7 06-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I364c9428

* changes:
Remove 'GTE CyberTrust Root', which expired on 2/23/06.
b9adaafc8cf350453728302abcbc8de951c33b10 06-Nov-2009 Nagendra Modadugu <ngm@google.com> Remove 'GTE CyberTrust Root', which expired on 2/23/06.
fb4d110488e4da0f07f04b970e2846516fb67bb3 06-Nov-2009 Dan Bornstein <danfuzz@android.com> Clean up sieb.[ch], including changing a reference to <malloc.h> to instead
be the more standard <stdlib.h>.

I have no idea what "sieb" means (stands for?), and it looks like these
files may want to be placed in the nearest recycling receptacle, but I'm
not ready to go there today.

Change-Id: I2d4116b742e61018fdbea127070154545ff82dbd
13b160e41d4706b09fb12793f8ebf1b4c6dc6134 05-Nov-2009 Elliott Hughes <enh@google.com> More OSNetworkSystem cleanup.

Handle select(2) errors by throwing exceptions from native code (which is
simpler and provides more useful detail messages).

Factor out exception throwing commonality. This is probably ready for JNIHelp.h
now.

Remove sockSelect. Simplify selectWait by observing that it's only ever called
with a "read" fdset.

Remove a little more SOCKERR_* cruft.

Remove a few unused #defines.
cb62c828a14d7870f724402ede909a619412facc 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5cae54d2

* changes:
More OSNetworkSystem cleanup.
535ea9261ea99d51500c599b670c0a2a22f6e8cf 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iefbd3c5e

* changes:
Fix DEADLOCK_DETECTION mode for the Jit.
b3b8958d3dca117a99ab5591657e00c25d6223dd 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7b302183

* changes:
Remove cruft in the default libdvm.so and add 3 more special targets.
9c8017978efb53dcd4a0651cd6b912d0ea13032b 05-Nov-2009 Elliott Hughes <enh@google.com> More OSNetworkSystem cleanup.

Fix danfuzz's BSD woes by removing uses of non-standard s6_addr32,
replace isMappedAddress with IN6_IS_ADDR_V4MAPPED, and change
convertMappedToIpv4 to reduce duplication in its callers.

Remove the TODO suggesting we consider inet_ntop instead of
getnameinfo; Ulrich Drepper says there's never any reason to
do that: http://people.redhat.com/drepper/userapi-ipv6.html

Remove our last use of sockaddr_in in favor of sockaddr_storage,
so we never have to wonder "is that big enough?" again.

Explain why we convert IPv4-mapped addresses to IPv4 addresses
when there's no obvious reason to do so.

Fix another user of the SOCKERR_* cruft.

Address the FD_ISSET and what-exception-to-throw-on-BSD comments
from danfuzz's last patch.
8c22797ac3320354a2a2458243ee915430e517e7 05-Nov-2009 Bill Buzbee <buzbee@google.com> Fix DEADLOCK_DETECTION mode for the Jit.
5ef9705c46e8e54906a6c480fb7bd696cb24fc70 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic5176ecb

* changes:
Remove deadlock-prone thread pool.
d4d94c5b38e02ff594c35b8101103df96a1dbf64 05-Nov-2009 Elliott Hughes <enh@google.com> Remove deadlock-prone thread pool.

This is only test code, so let's not make it any more complicated than it
needs to be.

(The code sometimes locked the Vector before the individual Worker, and
sometimes the other way round.)
d53ae33770caeefbd48779cb9eedc44420e08e83 05-Nov-2009 Dan Bornstein <danfuzz@android.com> Only compile in multicast support on Linux, for the time being.

The calls and structs provided by the underlying platform for
multicast aren't yet exactly well-established POSIX standards, and the
current Linux code is still not considered to be super-robust, and as
such it isn't a good idea to try to duplicate its functionality for
other platforms. We will revisit the issue once the Linux side has
matured a bit.

Change-Id: I630086e22f6980726fd4523cb60dfc8c9fb9b011
7177ea61aae8686affb75979a05584aa9acc02d9 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id9fcfa6d

* changes:
Fix for inline string indexof; added regression tests
e503274022c403886bd4156907fec5189a00f93e 04-Nov-2009 Bill Buzbee <buzbee@google.com> Fix for inline string indexof; added regression tests
f4e09218d00c818e5fd3176a6883a1d09c993af5 04-Nov-2009 Ben Cheng <bccheng@google.com> Remove cruft in the default libdvm.so and add 3 more special targets.

The idea is similar to having libc.so as the default/optimal build and
libc_debug.so at a handy place.

libdvm.so : default build to be installed with JIT on and assertion off.
libdvm_interp.so: JIT statically compiled out and assertion off.
libdvm_assert.so: assert/JIT-tuning enabled.
libdvm_sv.so : assert/JIT-self-verification enabled.

Compile time of "mmm dalvik" from clean build with -j1:

real 2m36.144s
user 2m23.029s
sys 0m12.253s

Compile time of "mmm dalvik" from touching Interp.c with -j1:

real 0m8.493s
user 0m7.416s
sys 0m1.280s

Code size:

638152 Nov 3 16:17 libdvm.so
785604 Nov 3 16:17 libdvm_assert.so
556888 Nov 3 16:17 libdvm_interp.so
793804 Nov 3 16:17 libdvm_sv.so
7b574d7b294e368378efe90f0add2c78dce781fc 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib62b9223

* changes:
Emitting JUnit+Ant style XML from the jtreg test runner.
1221f33521d1bf1bc652591f0d57c3ee762549c9 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6b080ffc

* changes:
Another couple of tweaks to deal with the ragged end of standardization.
b0cfa51273a7deda06f7e96ad2f0f7d79ea70510 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7e695ea9

* changes:
Remove duplication in OpenSSLSocket/OpenSSLServerSocket.
70a29a58c635c3f85f5374e2617706b723a1dbb5 04-Nov-2009 Dan Bornstein <danfuzz@android.com> Another couple of tweaks to deal with the ragged end of standardization.

Change-Id: I6b080ffcc1832a902e21f5137f42e4d860c407f0
43031a7aa28afde1d7dd290fb64bb868f5ee5b80 04-Nov-2009 Jesse Wilson <jessewilson@google.com> Emitting JUnit+Ant style XML from the jtreg test runner.

This change adds some unfortunate code duplication between
the jtreg runner and the CoreTestSuite runner. I'd like to
eventually loop back and create a unified test runner for
either type of test.
32ebf38793646839eea6a9f9ad8bbe1a0d96587d 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I71684d91

* changes:
CharsetDecoderICU/CharsetEncoderICU should take arrayOffset into account.
db5a69b3eff82c702f6cebcfca0e819c329d14fa 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic80147bd

* changes:
Adding timeouts to jtreg runner.
82a4682b18350767221fd815fa679e8883910935 04-Nov-2009 Jesse Wilson <jessewilson@google.com> Adding timeouts to jtreg runner.

Also fixing some problems with the Android.mk which was
pointing at an old version of the Run class.
879d55e987d50fee87a1c405ef9954bc572071af 04-Nov-2009 Elliott Hughes <enh@google.com> Remove duplication in OpenSSLSocket/OpenSSLServerSocket.
a286475ec811eeaa7854d1c910f9dba8b0d8ad14 04-Nov-2009 Elliott Hughes <enh@google.com> CharsetDecoderICU/CharsetEncoderICU should take arrayOffset into account.

CharsetDecoderICU and CharsetEncoderICU special-case array-backed ByteBuffers
and CharBuffers for performance reasons, but they shouldn't assume that the
backing array always has offset 0.

An external user hit this while using the jAudioTagger library.

Test cases from user submission:
http://code.google.com/p/android/issues/detail?id=4237

See also: 2234697
32d0ff029f06c4302f24eb0d661eb041a649efe9 03-Nov-2009 Elliott Hughes <enh@google.com> Remove more @KnownFailures now I've run tests.AllTests.

A lunchtime run of the full suite turned up more.
cd3a8aa08e6a60e990e6b119001abda2b9f73c4f 03-Nov-2009 Ben Cheng <bccheng@google.com> Hide JIT-specific constants when JIT is not configured.
a081d3084f332b9257d58711f1877e1e435f9bb3 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia61d31e2

* changes:
Remove @KnownFailure from a bunch of tests that now pass.
f507049baee96141b5bda55d5a1fbfd71aedfbc5 03-Nov-2009 Elliott Hughes <enh@google.com> Remove @KnownFailure from a bunch of tests that now pass.

Looks like we got some of our Locales back.
f5cebb5110a8eef43e267204390b9516301af159 29-Oct-2009 Ben Cheng <bccheng@google.com> Implement chaining up to the first 64 cases in a switch statement.
fafa4a1246e530115cca610d31d8b655ab10f964 03-Nov-2009 Bill Buzbee <buzbee@google.com> Back out inline string optimizations until cause of instability tracked down.
1f3c91f0f2fe07bf294f9aeca63f5f2181dfd808 03-Nov-2009 Elliott Hughes <enh@google.com> Ensure dalvikvm sets "user.name" to "root" for our tests.

dalvikvm sets "user.name" to $USER, but that environment variable isn't set
when we run the tests. I was looking at our DatagramSocketTest failure, and
it turns out it's another instance of "root can do stuff other users can't".
The typical way harmony tests check whether they're running as root is to
compare "user.name" against "root", but from run-core-tests they see "".
d010a34b95e3a90ca4cdc2397f70927366d444d6 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I22212019

* changes:
Kill OSNetworkSystem.inheritedChannelImpl.
00027c6a415c696bc679ea6b9716ce79879d7dd3 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I57dd1032

* changes:
Supporting expected results for the jtreg test runner.
f26910571aeb59ba48c72d5881fdb73538e8520a 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie098e2fa

* changes:
Fixing PipedWriters/PipedOutputStreams silent failures during close().
cf16d8f367d90f7ed027b34de114cce22b4cc33e 03-Nov-2009 Elliott Hughes <enh@google.com> Kill OSNetworkSystem.inheritedChannelImpl.

This code is broken (and more broken than upstream), and not obviously relevant
to our platform. Let's make it clear that all this currently does is return
null.

The changes in the Java side bring us back in sync with upstream.
e8fadd805e9972e2849b75641948ba46ec65fd7b 02-Nov-2009 Jesse Wilson <jessewilson@google.com> Fixing PipedWriters/PipedOutputStreams silent failures during close().

See bug 2224903 and jtreg test java.io.BufferedWriter.Cleanup.
78eeae09619c7349aa1fbe3cdcdb382d3102fe38 02-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I04f3b02b

* changes:
Jit - optimized inline string compareto, indexof; fill_array_data bug fix
c2c42c56aeaab8d650714698a9f0de6b27d6b604 29-Oct-2009 Dan Bornstein <danfuzz@android.com> Some more adjustments to deal with building for a BSD(-like) target.

Change-Id: I5e33c3db160ae3af6e324492e0b6a7a0dfb9719b
698e3cf401dc2d61bebd0f17063bc82fefa7d409 02-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I318b1449

* changes:
More OSNetworkSystem cleanup.
f08050ba9cde2e4101441f991c01ce333df4b994 31-Oct-2009 Elliott Hughes <enh@google.com> More OSNetworkSystem cleanup.

valgrind didn't like what we were doing here, specifically the way we
were setting ss_family to AF_INET if getsockopt IP_MULTICAST_IF didn't
return an AF_INET address, and ignoring the fact that the rest of
the sockaddr_storage doesn't necessarily correspond to an AF_INET address.
Linux seems to return an AF_UNSPEC address (rather than INADDR_ANY) if we
haven't set a multicast interface, so we have to do the conversion ourselves.

More disturbingly (and unfixed by this patch) we sometimes see ss_family
come back as 127 (when AF_MAX is 32 on our system). My guess is that the
kernel is just handing back bad data we gave it earlier, but I'll come back
to see about fixing multicast properly later.

I've inlined socketAddressToString into osNetworkSystem_byteArrayToIpString,
its only caller, because it's clearer that way now we've simplified the
division of error handling between the two.

I've brought getSocketLocalAddressImpl and getSocketLocalPortImpl in line
with each other and changed them to at least log errors. I've also added
a new test that fails, to demonstrate that this implementation is broken
as designed.

I've changed the name of JAVASOCKOPT_IP_MULTICAST_IF to match the Java
constant.

I've fixed the exception we throw if we're asked to convert a bad address
family's address from code that can't throw IOException --- AssertionError
doesn't have a String constructor. Really, we need to kill this code, so
I've added a TODO.

I've also made a real push to get rid of most of the SOCKERR_*-based error
reporting. (I had a transient failure with a meaningless error message
that sent me to the source to work out which errno it was actually
trying to report.)

I've changed setTTL to call setTimeToLive, and change the implementation
of the latter to pass Integer rather than Byte to the native implementation,
since that's what the native code needs anyway and native Byte support was
only for TTL.

Bug: 2225748
c1a33751f692843147928403a786caf1623b7022 02-Nov-2009 Bill Buzbee <buzbee@google.com> Jit - optimized inline string compareto, indexof; fill_array_data bug fix

Added flushAllRegs() prior to C handlers in preparation for upcoming support
for holding live/dirty values in physical registers.
d614951b8eb5c87bdda45337a077cbaa1a25b7d7 31-Oct-2009 Jesse Wilson <jessewilson@google.com> Supporting expected results for the jtreg test runner.

This is necessary to suppress false positives when dalvik
intentionally differs from the RI. This came up in the fix
for issue 2224903.

Also adding additional features to the jtreg runner to make
it useful as an iterative development tool:
- debugger support, to debug through running tests
- verbose output, to aid in diagnosing hangs

Also adding a few ".expected" files for known test failures.
Hopefully this is scalable.

Renaming Run to TestRun and extracting Result as a top-level enum.
6a15ef1d3696aee898bab7e67c51afdc2f71fb5d 02-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I88e8376e

* changes:
Update logging to r820767
5a28729725302c753cdd596873eec813791e19b8 31-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id46d9a48

* changes:
Fixing 1 of the 4 BufferedReader test failures in bug 2224903.
f65c718e214e0108939384ba0c7b0769f1aa852a 30-Oct-2009 Jesse Wilson <jessewilson@google.com> Fixing 1 of the 4 BufferedReader test failures in bug 2224903.

This CL includes the following functional changes:
- changing read to not clear the mark upon reading EOF
- changing read(char[], int, int) to use the 'read
directly from the source stream' shortcut when the
mark has exceeded its limit. Previously we took the
shortcut only when the mark was unset.

And these nonfunctional changes
- rewrote read(char[], int, int) dramatically. The new
revision contains only one call to 'System.arrayCopy'
and the related bookkeeping. Previously there was one call
before the loop, and another call in the loop.
- renamed markpos to mark
- renamed marklimit to markLimit
- renamed count to end (it isn't a count, it's a position)
- simplifying conditions that used >= when > was impossible
- reducing the number of field reads where convenient
1097de2d16d5fa3c4afb8c8597b0c0023a2926ca 30-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I474dc860

* changes:
Rewrite NativeBN_twosCompFitsIntoBytes.
c104dde07417e7189b914ee172238897a89e5513 30-Oct-2009 Bill Buzbee <buzbee@google.com> Fixed typo introduced during comment reformatting.
f9a54add2a9e83b4b78cd31c3f23496fa158908d 30-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib000d44f

* changes:
Major registor allocation rework - stage 1.
509ee5c60cc264ea330feb7e0730551c50d98687 24-Sep-2009 Bill Buzbee <buzbee@google.com> Major registor allocation rework - stage 1.

Direct usage of registers abstracted out.
Live values tracked locally. Redundant loads and stores suppressed.
Address of registers and register pairs unified w/ single "location" mechanism
Register types inferred using existing dataflow analysis pass.
Interim (i.e. Hack) mechanism for storing register liveness info. Rewrite TBD.
Stubbed-out code for linear scan allocation (for loop and long traces)
Moved optimistic lock check for monitor-enter/exit inline for Thumb2
Minor restructuring, renaming and general cleanup of codegen
Renaming of enums to follow coding convention
Formatting fixes introduced by the enum renaming

Rewrite of RallocUtil.c and addition of linear scan to come in stage 2.
05fdf87dfc875045c7c547408a97f633f5b7036e 30-Oct-2009 Elliott Hughes <enh@google.com> Rewrite NativeBN_twosCompFitsIntoBytes.

valgrind complains about invalid 4-byte reads, caused by "case 8" in the
BNInterface.c function I'm removing here, which assumed that if we're checking
whether a BIGNUM fits in 8 bytes, it must require more than 4 bytes (and so
accessing d[1] is acceptable).

We can implement this in Java using the existing BigInteger.bitLength
method (which may call down to native code, but that native code looks okay).

Also remove a related commented-out method.

Bugs: 2223213, 2225642
b8485a5eb5c600d2327d80f458323756b0e052cf 29-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I006c279b

* changes:
Remove broken .so and fix bogus test.
e2ff5703f5e0dbd839a82fb9c967007f03fa80c3 29-Oct-2009 Elliott Hughes <enh@google.com> Remove broken .so and fix bogus test.

valgrind doesn't like this because the .so *only* exists for x86 (contrary to
the claim in the @AndroidOnly annotation) but it's broken there, returning
a char* instead of a jstring.

I'm not really sure what they were trying to test here, but let's assume it
was that Runtime.getRuntime().load behaves like System.load, and fix the
tests that way.

Bug: 2223234
16089123b73fe2d83df19f7114e5d8cdde8b4926 29-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4a356627

* changes:
Change the jtreg tool to perform both building and running steps.
0f1a5c23b5b7f6c62350f846be8657770fb17a56 29-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8fa1a78a

* changes:
Make run-core-tests with no arguments equivalent to tests.AllTests.
074e7497dd5e01e38129565c4659655b17d348c8 29-Oct-2009 Jesse Wilson <jessewilson@google.com> Change the jtreg tool to perform both building and running steps.
8fe069938a48f296cf22d824a9410796ed247204 29-Oct-2009 Elliott Hughes <enh@google.com> Make run-core-tests with no arguments equivalent to tests.AllTests.

Previous behavior would run the same set of tests, but without going through
the regular pre- and post-processing, and without initializing the command-line
flags to their default values.
97f3e04493f9a9ba1a4818b6d9b93bc60520b929 28-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id7694644

* changes:
Script for compiling and dexing jtreg tests for Dalvik.
6726ed8922ada910b572b2cbbad46845b0063f9d 28-Oct-2009 Jesse Wilson <jessewilson@google.com> Script for compiling and dexing jtreg tests for Dalvik.
978a09a6c472527e3face1480780bd3a42aa3949 28-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8c671e53

* changes:
Implement ProcessBuilder.redirectErrorStream.
8e94c783e9bb39ab24026d498875807a824e5985 27-Oct-2009 Elliott Hughes <enh@google.com> Implement ProcessBuilder.redirectErrorStream.

Also simplify and correct the security to ensure that the user can't modify
the command to be executed after the SecurityManager has approved it.

Bug: 2180063
49a19525543bc88db7054439d99aa283693701e1 28-Oct-2009 Elliott Hughes <enh@google.com> Fix a few FindBugs warnings in code that isn't upstream.

Bugs: 2099642, 2099637
5f8672bea2169d0733dfb280665a7347347e71bb 27-Oct-2009 Jesse Wilson <jessewilson@google.com> Update logging to r820767
bddbbff4a4d47690d25d4cb2d262eece90d4d6b1 27-Oct-2009 Elliott Hughes <enh@google.com> Remove OSNetworkSystem.sendStream and all use of ErrorCodeException.

Removing OSNetworkSystem.sendStream brings us in line with harmony. I've
also rewritten writeSocketImpl to not make a temporary copy of the data it's
going to send.

The weird code in writeSocketDirectImpl that threw ErrorCodeException turns out
to be a very awkward way of returning zero to the only two callers that are
paying attention. (Harmony actually calls the equivalent of this code every
time it throws SocketException from native code, but these two callers were
the only places that checked for the special case.)
72ffd12f6d415aadef726af61151b4ca95b20759 27-Oct-2009 Dan Bornstein <danfuzz@android.com> The officially sanctioned way to get memcpy() is to #include <string.h>.

Change-Id: Ie157d9305df5f9b86a09ea2224666fd2c054cda4
bba0e7cd056eaef72d2b8657b5239d86a3d52c18 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4c4d050d

* changes:
Clone TEMP_FAILURE_RETRY in JNIHelp.h, to make up for (take your pick) laggard libc implementations not keeping up with the times or (perhaps) agressively modern libc implementations too eagerly expanding upon the standard.
4e19e8f5f674325f1b42806301c68c2c2840d65b 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibc04ef43

* changes:
Remove dead native org.apache.harmony.nio.AddressUtils code.
8e56d2a7d193e7c8bd4f776f10fe796c21401467 26-Oct-2009 Dan Bornstein <danfuzz@android.com> Clone TEMP_FAILURE_RETRY in JNIHelp.h, to make up for (take your pick)
laggard libc implementations not keeping up with the times or
(perhaps) agressively modern libc implementations too eagerly
expanding upon the standard.

Change-Id: I4c4d050d15a00f4e82f8beb2b9c386b7c652f495
5d3e9d781d505dcf9e7491f4853d44860398bf5e 26-Oct-2009 Elliott Hughes <enh@google.com> Remove dead native org.apache.harmony.nio.AddressUtils code.

This code is dead at the moment, and were it ever to become live, I'm pretty
sure we'd want to start again from scratch rather than do whatever the author
of this had in mind.
41e7d0e023a096ad88cc6b7d16e1e5f3bb521263 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8a7a4c56

* changes:
Split libcore/Android.mk into two files, one for Java code and one for native code, and make each have a set of rules for building on the host.
cda0b36624171e2ad096d1518fd2fddf9389387a 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibebb78b6

* changes:
Switch ProcessManager and System over to C++.
34b598a4c0f01301ea89ba5ebdee68cef4914459 26-Oct-2009 Elliott Hughes <enh@google.com> DeleteLocalRef the result of GetObjectClass more consistently.

Should fix VM crashes in tests.java.sql.StressTest, which can now be
re-enabled.

I've also added a "throwoom" to the one place where this code
calls malloc but doesn't check the result.

Bug: 2213053
713e35e43d604d2f2b4c299246b4e173ac8f0a1e 25-Oct-2009 Dan Bornstein <danfuzz@android.com> Split libcore/Android.mk into two files, one for Java code and one for
native code, and make each have a set of rules for building on the host.

I also tightened up how sub.mk processing works and documented it
a little better.

Change-Id: I8a7a4c5697b2f22c4d69941dba381d6452200911
e9be14d696ca905b5b7aa0e1fb6a0747ab5917f8 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I66e35647

* changes:
A new hygenic way for tests to clean up before or after execution.
07927b1b35a259739ec8ca94d1d615cdf6473dea 24-Oct-2009 Jesse Wilson <jessewilson@google.com> A new hygenic way for tests to clean up before or after execution.

This replaces PrefsTester and is more general purpose.
50d549a03e5d6d66f4adcd770abc2a3473d71c2e 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I968363e2

* changes:
Suppressing StressTest which is causing our continuous build to fail.
ed288e0377550bd42de227db23381882b57527b5 25-Oct-2009 Jesse Wilson <jessewilson@google.com> Suppressing StressTest which is causing our continuous build to fail.

We're tracking this under issue 2213053.
fecedfdf5e15660bf8c360dba97688bd0eaf9230 24-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibf565c9c

* changes:
Change the host build to include whole static libraries, and to name them "*-host".
e08f21b60cfd9ab16a28e62b3fbec9e66d73c254 24-Oct-2009 Dan Bornstein <danfuzz@android.com> Change the host build to include whole static libraries, and to name
them "*-host".

Change-Id: Ibf565c9c4b0709eb25edd71786b269895a1616a4
36e6a2ca022da100bd6b306330f75acafd38416d 24-Oct-2009 Elliott Hughes <enh@google.com> Switch ProcessManager and System over to C++.

Bug 2180063 will require changes to ProcessManager, so now's a good time
to make the switch in this directory.
4b1d02d33aa9f8034c9ca84b5c052905a8bc6c67 24-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I410514c5

* changes:
Expose hooks for more efficient log handling in Android apps.
5c4920b3242e6c23ffbbf43eea89653cfd8fe12f 23-Oct-2009 Dan Bornstein <danfuzz@android.com> Sort out libnativehelper, and make related comments less redundant.

Change-Id: If25babc7b3232449a3ba8503431865273d4f481a
5b3496ee6b747aa7f67d9391970b2c3ce9a00539 23-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I3628c655

* changes:
OSMemorySystem.mmap fixes.
ad2219248d196308d7f65f09d88d3afd9d971cc4 23-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I834d8b2c

* changes:
Remove OSNetworkSystem.receiveStream.
e6918f21a5b390c1941881f2454d4f148699f06c 23-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Idb16cc7f

* changes:
Add a reference table dump call.
7cb6e6d6345783e46b240696ab620e2ab875b9ef 22-Oct-2009 Jesse Wilson <jessewilson@google.com> Expose hooks for more efficient log handling in Android apps.

This change introduces a new interface, DalvikLogHandler. Log
handlers that implement it opt-in to more efficient log handling
for common-case log messages. The API requires far fewer objects
to be allocated to log a message.

A related change in frameworks/base adopts this optimization
in the built-in AndroidHandler.

This optimization resulted in a 2.75x improvement on my device:
from 154ns to 56ns per message.
14b65f8f894c788dc83dbf235558505aa0f169dc 23-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I93fe0d1b

* changes:
Re-enable SSL handshake cutthrough support (and fixed unittest)
c84d0c784fbac4219c1abdde629e60c0df665294 23-Oct-2009 Andy McFadden <fadden@android.com> Add a reference table dump call.

This adds a hidden method to android.os.Debug that causes the contents
of various reference tables to be dumped. Currently it's the local,
global, and pinned array tables from JNI.

Bug 2075355
f39c4b9cdfa515fe4179ed92772b3b80b51c1fa5 23-Oct-2009 Elliott Hughes <enh@google.com> OSMemorySystem.mmap fixes.

Stop silently truncating the arguments to mmap. Check they're actually valid.

Fix mmap to actually throw IOException on error, as it claimed to do.

Correct parameter name 'alignment' to 'offset'.

Remove dead code (getPageSize).
591adf0a3a31059860cb8ccb95b6961c9f831ee8 23-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia1dc94d5

* changes:
Encode recommended practice wrt libffi in comments, and attempt to actually follow those recommendations.
20946446a954d20b39aa16c959ea46331f2315f5 22-Oct-2009 Elliott Hughes <enh@google.com> Remove OSNetworkSystem.receiveStream.

Harmony removed this some time ago, and -- if we change our read/readDirect
implementations slightly -- we can too.

I've also added some bounds checking in the Java so we don't ask native code
to perform a buffer overrun for us.

I've also rewritten the native readSocketImpl to use GetByteArrayElements and
ReleaseByteArrayElements rather than its own custom stack/heap allocation and
arbitrary 64KiB limit. (As far as I can tell from the harmony history, the
limit dates from when they always read into an on-stack buffer, and was never
removed.)

I've also brought us in line with harmony so we only pass 'address' to
readDirect, rather than 'address' and 'offset'.

I've changed SocketTest to match upstream and -- since they pulled out some
of the tests into a new file -- I've added their UnixSocketTest so we don't
miss out. Our old SocketTest's test_getInputStream is the only test my new
code doesn't pass, but I think the old SocketTest was broken and the new
SocketTest/UnixSocketTest is correct.

I've also brought us back into line with harmony's MulticastSocketTest. With
the up-to-date tests, the new code behaves the same as the old code. (With
our old tests, the new code fails the joinGroup test with a
NullPointerException instead of a junit comparison failure.)
b82b54613439726f7c406e0682adc8d09c5041ad 23-Oct-2009 Dan Bornstein <danfuzz@android.com> Encode recommended practice wrt libffi in comments, and attempt to actually
follow those recommendations.

Change-Id: Ia1dc94d50158e322d4dc96fc8528c408f2a3be1c
dfbe057d05895366a373a61b1278e6b117b74ebd 22-Oct-2009 Rodrigo Ipince <ipince@google.com> Fix for unmatched entry/exit points in test traces

Added support for the creation of test traces with unmatched entries/exits (current implementation segfaulted in some cases)
efd172f15bfb4e9ba14dd57a7fdaa1484cb04c34 22-Oct-2009 Nagendra Modadugu <nagendra@android.com> Re-enable SSL handshake cutthrough support (and fixed unittest)
3c886d8fd8f2cc52cf1eef169192e8915aba867d 22-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibeb7d4a2

* changes:
Cleaning up synchronization in Logger.
de817ed69a13a5d4002e3ff1d31ce096ea34afb4 21-Oct-2009 Jesse Wilson <jessewilson@google.com> Cleaning up synchronization in Logger.

Formerly any logged message would require synchronization on the shared
global lock to access the root logger's handlers. This change replaces
synchronization on loggers with a combination of copy-on-write and
volatile fields.

Also moving handler initialization from lazy to eager - the code has
moved from initHandlers() to setManager().

Also tidying up the info(), severe() type methods to delegate to avoid
unnecessary duplication.
af7d664b8cd45fe8095adc529331745d2d8ecea9 22-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I3d8565f0

* changes:
Collation.getSortKey returns keys generated by a different algorithm
395c5f762caa68fb9fb78d79755cbb23103ffc90 22-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5ea630ca

* changes:
Use a binary search for sparse switch statements.
dd81d7dd127006c1bf95445e0621707fcac5d983 22-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id1f4cf7b

* changes:
Clear pending exception before throwing a new one.
331c517d61e7833f34fc35142e28c259de6868e8 22-Oct-2009 Andy McFadden <fadden@android.com> Use a binary search for sparse switch statements.

Added a couple of edge cases to test 015.

For bug 2119870.
5b13057bd2c218f6af6d4625b7ba0804eb9928cd 22-Oct-2009 Andy McFadden <fadden@android.com> Clear pending exception before throwing a new one.

The JNI helper function that throws an exception calls FindClass, which
isn't allowed if an exception is currently pending. Some of our code
called this when an operation failed without noting that the thing that
failed already threw an exception; this caused the VM to blow up in a
rather unhelpful way.

We now log the class name and optional message from the original
exception, clear it, and then allocate & throw the new one.

For bug 2141867.
240aa81069117623652ae2f377223f05f8c97949 21-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id434c469

* changes:
More OSNetworkSystem cleanup.
d24e9b5709ed0f30c1de84222f5161bc26980b84 21-Oct-2009 Elliott Hughes <enh@google.com> More OSNetworkSystem cleanup.

Rewrite OSNetworkSystem.connect in terms of connectStreamWithTimeoutSocketImpl
in Java rather than in native code. Remove OSNetworkSystem.connectSocketImpl.
Make INetworkSystem.connect void, since the return value is always 0.

Use TEMP_FAILURE_RETRY rather than explicit do loops to retry interrupted
system calls.

Fix peekDatagramImpl to actually update the byte[] in the passed-in
InetAddress.

Stop pulling the int fd out of the FileDescriptor each time round the loop
in sendStreamImpl and sendDatagramImpl2.

More tiny steps towards eliminating the SOCKERR_ nonsense in favor of errno.

Prefer sizeof(variable) to sizeof(type).

Remove a few more superfluous "struct" keywords.
c504288ffc78d2020856c54176aa287d325c76eb 21-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iacd79b8a

* changes:
Avoid shadowing fields from the superclass testcase.
e1109a6bc8f80798c30bf14b44cbfd6fb651921e 21-Oct-2009 Jesse Wilson <jessewilson@google.com> Avoid shadowing fields from the superclass testcase.
da590611dcee2ff55f4dd74622b72db24d75fad4 21-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I54b596ca

* changes:
Expose the portable "strerror_r" used by jniThrowIOException.
ff1f187f6cff3f722fbefdd818116e22cb54fa92 21-Oct-2009 Elliott Hughes <enh@google.com> Expose the portable "strerror_r" used by jniThrowIOException.

Also add one example caller I used to test this, and update the
libnativehelper README file.
3a3fb103ade852ae895995674d32debf2f88e657 21-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib28d3a82

* changes:
Don't over flush the code cache at startup time.
069a5cca5180a25e97fe92e659f46114179634f3 21-Oct-2009 Ben Cheng <bccheng@google.com> Don't over flush the code cache at startup time.

Suspected that the kernel is having issues flushing cachelines for mmapped
pages that haven't been written to.
ff0126b4c3e4c5f7f247ca662cbb94482ff5c21c 21-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iadbb9163

* changes:
Implement JNI "weak global" references.
94a07fc103eda3bfdfc66f9209b78c2c8ceb2810 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia8e64a7c

* changes:
Fix an invoke-interface bug that manifests itself with thread state warnings.
5f7d4ad6582f4c740545fc3fc769a9494cd5a1fc 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9b12eeb5

* changes:
Applying PrefsTester to PreferenceChangeEventTest to manage side effects.
bbd8cf6a1bd7859a37f8964f3787f8a1cac34112 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id752d5fb

* changes:
Including cert store location for test runner.
81acda8050d63db00016447100dcd8aa4551c23f 20-Oct-2009 Ben Cheng <bccheng@google.com> Fix an invoke-interface bug that manifests itself with thread state warnings.

r12 is a scratch register and apparently gcc 4.4 starts to actively use it in
dvmFindInterfaceMethodInCache, the very function that the original live value
is being protected around. This results in useless values setup in the chaining
cell and increases the chances to patch the cell (thus the suspend-all
requests).

Add verbose names for new JIT-related suspend reasons.

With all these changes, the thread state warning will still occur but much less
frequently.

bug 2194174.
8d598adf67960784466d8f0482b8c9756fa75d1f 25-Sep-2009 Andy McFadden <fadden@android.com> Implement JNI "weak global" references.

The VM now supports the NewWeakGlobalRef and DeleteWeakGlobalRef calls,
which create a kind of weak reference that's directly visible to native
code. While the JNI spec says that these can be used directly, the only
safe way to use them is to convert them to a strong local or global
reference first, so this is enforced.

The net result is very similar to manually creating a global reference to
a WeakReference object and manipulating it with method calls from native
code, but the JNI calls are faster and more convenient.
910941a80c8a9b08571d20bcde755322e0329660 20-Oct-2009 Jesse Wilson <jessewilson@google.com> Including cert store location for test runner.

This helps to avoid bad interactions between tests that rely
on the "java.home" property for different things. Preferences
tests tend to change it (to the writable temp directory), but
the certs tests fall back to it for the trust store.

See also TrustManagerFactoryImpl.java.
377fd8c6aeb115571006330351be9888a43894aa 16-Oct-2009 Dan Bornstein <danfuzz@android.com> Another couple of tweaks in my attempt to make a sane host build.

Change-Id: I49938c6aa933cca19874432b127ad9b1b49e3e79
afbb663e5b3aade38c1297dac671b9787efdd367 20-Oct-2009 Jesse Wilson <jessewilson@google.com> Applying PrefsTester to PreferenceChangeEventTest to manage side effects.
2785364813a735b331d9fd7a3cd37ed1d07cf351 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I73fd1714

* changes:
Fix OSNetworkSystem.acceptImpl error handling; additional clean-up.
9e16f35748ba42c4695ab749eac9d52dffaebcd1 08-Sep-2009 Urs Grob <ursg@google.com> Collation.getSortKey returns keys generated by a different algorithm

This test tested implementation details. This change makes the test only check specified behavior.

Note: The resulting key is incompatible with a key returned by the RI. that's the downside of using icu.
But there's also an upside: ICU compresses the sorting key that gets returned. This increases performance
when comparing the keys.

BUG=1635900
68382fa19215cd580bb161e4b6d82a305b2af825 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7cc0fe4d

* changes:
rightsize StringBuilders for arrays; see bug 2135223
f428a824aa196ffe9311502e937851a1af51f700 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ice8c6c56

* changes:
Removing caching of file canonical path caching, and fixing NIO tests.
4091cde3152f8818ea0214c66ef623ea8a20f159 20-Oct-2009 Jesse Wilson <jessewilson@google.com> Removing caching of file canonical path caching, and fixing NIO tests.

I checked in some regressions in the NIO test cases with the NIO patch;
this addresses those problems.
7bf14855fcfe242832feda414d931be2c7f687f7 20-Oct-2009 Elliott Hughes <enh@google.com> Fix OSNetworkSystem.acceptImpl error handling; additional clean-up.

The main reason for this patch is that acceptImpl was checking the wrong
return code.

I've also removed the BADSOCKET and UNKNOWNSOCKET errors because they were
being used interchangeably with the BADDESC error and weren't genuinely
meaningful.

I've also removed the bogus checks for 0 as a file descriptor, which is
perfectly valid (if unlikely).

I've factored this common snippet out.
e94ee3cf2c8349d744e3d38118c9a7387d9325c6 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I36117487

* changes:
Tidy up Logger in preparation for optimizations.
3fa961b5bbd5f74f3ef249c1113613a6d6c8bdb5 20-Oct-2009 Jesse Wilson <jessewilson@google.com> Tidy up Logger in preparation for optimizations.

Highlights:
- Clean up documentation. Moved internal docs from variable use site
to declaration site, especially for special cases around null.
- Move default variable values to declaration
- Move methods requiring LogManager synchronization to LogManager.
This includes setLevelImpl(), forceChildsToInherit(),
internalSetParent() and getLoggerWithRes().
- flip "if (null == foo)" to "if (foo == null)" for readability
- Rename updateResourceBundle to initResourceBundle. Made method
non-static.
- Rename initHandler to initHandlers; changed the method to
short circuit on negative 'handlerInited' cases.
- Flipped "internalIsLoggable" methods to short-circuit.
- Expose variables used by LogManager as package-private. For example,
the childs variable is only used by LogManager, but previously it
went through the Logger class each time it was used.
921819b77d4473ae29c250727e785b716e1dbded 19-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1f575e9e

* changes:
Improve error handling in InetAddress native code.
22b3e50f7bf6404c7b4e58182cd2ea9625dde333 17-Oct-2009 Elliott Hughes <enh@google.com> Improve error handling in InetAddress native code.

Fix a bug where we changed the return values of functions such
as byteArrayToSocketAddress without changing the logic in the
callers that's supposed to distinguish success and failure.
For simplicity, I've switch all of these functions over to
returning bool, and I've gone through all the callers to ensure
we're using the right check now. (This is the majority of the
diff.)

Also switch to throwing IllegalArgumentException instead of SocketException
when we find ourselves with a bad byte[] --- before we were throwing
a checked exception we weren't allowed to (from native code, which
can't actually be checked statically) and then trying to cover up
in Java.

I've also simply removed one case where we were trying to mask an
OutOfMemoryError with a SocketException.

I also removed dead code in socketAddressToString: this function's
sole caller always passed false for withPort. This makes the
temporary variable and the copying (which was unsafe) unnecessary.

In instances where I was already changing the code, I've removed
bogus "handle == 0" failures, but I'll come back and remove all
the other instances in another patch.

Since I was in connectSocketImpl, I've removed the dead second half
of that method.
9b40f97f054852aa64585cde50306caf74a8693f 16-Oct-2009 Jesse Wilson <jessewilson@google.com> rightsize StringBuilders for arrays; see bug 2135223
b4a7a0d16002467d26446dcc2e9633606b408271 16-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I2e354493

* changes:
Update NIO and NIO char packages to Harmony 802921.
50e828888298053754ae801a1bfb54237437e5d8 16-Oct-2009 Jesse Wilson <jessewilson@google.com> Update NIO and NIO char packages to Harmony 802921.

Notable changes:
- We don't use Harmony's new indexing for SelectorImpl. See the long bug
thread on Harmony's site, https://issues.apache.org/jira/browse/HARMONY-6312
This patch includes the latest Harmony changes to SelectorImpl, which
have been optimized since this patch was first created.
- Several uses of StringBuffer updated to use StringBuilder
- CharBuffer.read implementation changes
- Additional checking in CharsetEncoder
- Some inner classes made static
- Harmony changed their Charset impl from ICU to Java. We're sticking with ICU.
- Harmony added support for epoll. We're sticking with standard 'poll'.

commit 2ed6cb602a52f4681afbf1348928f1b0c36d914d
Merge: 8a74fca bcc5ec7
Author: Jesse Wilson <jessewilson@google.com>
Date: Fri Aug 14 15:14:10 2009 -0700

Merge branch 'nio_802921' into nio_dalvik

Conflicts:
libcore/nio/.classpath
libcore/nio/META-INF/MANIFEST.MF
libcore/nio/build.xml
libcore/nio/make/exclude.linux.x86.drl
libcore/nio/make/exclude.linux.x86.ibm
libcore/nio/make/exclude.linux.x86_64.drl
libcore/nio/src/main/java/java/nio/BaseByteBuffer.java
libcore/nio/src/main/java/java/nio/Buffer.java
libcore/nio/src/main/java/java/nio/BufferOverflowException.java
libcore/nio/src/main/java/java/nio/BufferUnderflowException.java
libcore/nio/src/main/java/java/nio/ByteBuffer.java
libcore/nio/src/main/java/java/nio/ByteOrder.java
libcore/nio/src/main/java/java/nio/CharArrayBuffer.java
libcore/nio/src/main/java/java/nio/CharBuffer.java
libcore/nio/src/main/java/java/nio/CharSequenceAdapter.java
libcore/nio/src/main/java/java/nio/CharToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/DirectByteBuffer.java
libcore/nio/src/main/java/java/nio/DirectByteBuffers.java
libcore/nio/src/main/java/java/nio/DoubleArrayBuffer.java
libcore/nio/src/main/java/java/nio/DoubleBuffer.java
libcore/nio/src/main/java/java/nio/DoubleToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/FloatArrayBuffer.java
libcore/nio/src/main/java/java/nio/FloatBuffer.java
libcore/nio/src/main/java/java/nio/FloatToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/HeapByteBuffer.java
libcore/nio/src/main/java/java/nio/IntArrayBuffer.java
libcore/nio/src/main/java/java/nio/IntBuffer.java
libcore/nio/src/main/java/java/nio/IntToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/InvalidMarkException.java
libcore/nio/src/main/java/java/nio/LongArrayBuffer.java
libcore/nio/src/main/java/java/nio/LongBuffer.java
libcore/nio/src/main/java/java/nio/LongToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/MappedByteBuffer.java
libcore/nio/src/main/java/java/nio/MappedByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/ReadOnlyBufferException.java
libcore/nio/src/main/java/java/nio/ReadOnlyCharArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyDirectByteBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyDoubleArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyFloatArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyHeapByteBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyIntArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyLongArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyShortArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteCharArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteDirectByteBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteDoubleArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteFloatArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteHeapByteBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteIntArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteLongArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteShortArrayBuffer.java
libcore/nio/src/main/java/java/nio/ShortArrayBuffer.java
libcore/nio/src/main/java/java/nio/ShortBuffer.java
libcore/nio/src/main/java/java/nio/ShortToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/channels/AlreadyConnectedException.java
libcore/nio/src/main/java/java/nio/channels/AsynchronousCloseException.java
libcore/nio/src/main/java/java/nio/channels/ByteChannel.java
libcore/nio/src/main/java/java/nio/channels/CancelledKeyException.java
libcore/nio/src/main/java/java/nio/channels/Channel.java
libcore/nio/src/main/java/java/nio/channels/Channels.java
libcore/nio/src/main/java/java/nio/channels/ClosedByInterruptException.java
libcore/nio/src/main/java/java/nio/channels/ClosedChannelException.java
libcore/nio/src/main/java/java/nio/channels/ClosedSelectorException.java
libcore/nio/src/main/java/java/nio/channels/ConnectionPendingException.java
libcore/nio/src/main/java/java/nio/channels/DatagramChannel.java
libcore/nio/src/main/java/java/nio/channels/FileChannel.java
libcore/nio/src/main/java/java/nio/channels/FileLock.java
libcore/nio/src/main/java/java/nio/channels/FileLockInterruptionException.java
libcore/nio/src/main/java/java/nio/channels/GatheringByteChannel.java
libcore/nio/src/main/java/java/nio/channels/IllegalBlockingModeException.java
libcore/nio/src/main/java/java/nio/channels/IllegalSelectorException.java
libcore/nio/src/main/java/java/nio/channels/InterruptibleChannel.java
libcore/nio/src/main/java/java/nio/channels/NoConnectionPendingException.java
libcore/nio/src/main/java/java/nio/channels/NonReadableChannelException.java
libcore/nio/src/main/java/java/nio/channels/NonWritableChannelException.java
libcore/nio/src/main/java/java/nio/channels/NotYetBoundException.java
libcore/nio/src/main/java/java/nio/channels/NotYetConnectedException.java
libcore/nio/src/main/java/java/nio/channels/OverlappingFileLockException.java
libcore/nio/src/main/java/java/nio/channels/Pipe.java
libcore/nio/src/main/java/java/nio/channels/ReadableByteChannel.java
libcore/nio/src/main/java/java/nio/channels/ScatteringByteChannel.java
libcore/nio/src/main/java/java/nio/channels/SelectableChannel.java
libcore/nio/src/main/java/java/nio/channels/SelectionKey.java
libcore/nio/src/main/java/java/nio/channels/Selector.java
libcore/nio/src/main/java/java/nio/channels/ServerSocketChannel.java
libcore/nio/src/main/java/java/nio/channels/SocketChannel.java
libcore/nio/src/main/java/java/nio/channels/UnresolvedAddressException.java
libcore/nio/src/main/java/java/nio/channels/UnsupportedAddressTypeException.java
libcore/nio/src/main/java/java/nio/channels/WritableByteChannel.java
libcore/nio/src/main/java/java/nio/channels/spi/AbstractInterruptibleChannel.java
libcore/nio/src/main/java/java/nio/channels/spi/AbstractSelectableChannel.java
libcore/nio/src/main/java/java/nio/channels/spi/AbstractSelectionKey.java
libcore/nio/src/main/java/java/nio/channels/spi/AbstractSelector.java
libcore/nio/src/main/java/java/nio/channels/spi/SelectorProvider.java
libcore/nio/src/main/java/org/apache/harmony/nio/AddressUtil.java
libcore/nio/src/main/java/org/apache/harmony/nio/FileChannelFactory.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/DatagramChannelImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/DirectBuffer.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/FileChannelImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/FileLockImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/IOUtil.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/MappedByteBufferFactory.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/ReadOnlyFileChannel.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/ReadWriteFileChannel.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/SelectorImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/SelectorProviderImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/SocketChannelImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/WriteOnlyFileChannel.java
libcore/nio/src/main/native/nio/shared/DirectBufferUtil.c
libcore/nio/src/main/native/nio/unix/exports.txt
libcore/nio/src/main/native/nio/unix/makefile
libcore/nio/src/main/native/nio/windows/makefile
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/BufferOverflowExceptionTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/BufferUnderflowExceptionTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/CharBufferTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/FloatBufferTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/InvalidMarkExceptionTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/MappedByteBufferTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/ReadOnlyBufferExceptionTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/DatagramChannelTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/FileChannelLockingTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/FileChannelTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/FileChannelWin32OnlyTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/FileLockTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/ServerSocketChannelTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/SocketChannelTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/spi/AbstractSelectableChannelTest.java
libcore/nio_char/.classpath
libcore/nio_char/META-INF/MANIFEST.MF
libcore/nio_char/build.xml
libcore/nio_char/src/main/java/java/nio/charset/CharacterCodingException.java
libcore/nio_char/src/main/java/java/nio/charset/Charset.java
libcore/nio_char/src/main/java/java/nio/charset/CharsetDecoder.java
libcore/nio_char/src/main/java/java/nio/charset/CharsetEncoder.java
libcore/nio_char/src/main/java/java/nio/charset/CoderMalfunctionError.java
libcore/nio_char/src/main/java/java/nio/charset/CoderResult.java
libcore/nio_char/src/main/java/java/nio/charset/CodingErrorAction.java
libcore/nio_char/src/main/java/java/nio/charset/IllegalCharsetNameException.java
libcore/nio_char/src/main/java/java/nio/charset/MalformedInputException.java
libcore/nio_char/src/main/java/java/nio/charset/UnmappableCharacterException.java
libcore/nio_char/src/main/java/java/nio/charset/UnsupportedCharsetException.java
libcore/nio_char/src/test/java/org/apache/harmony/nio_char/tests/java/nio/charset/CharsetDecoderTest.java
libcore/nio_char/src/test/java/org/apache/harmony/nio_char/tests/java/nio/charset/CharsetEncoderTest.java
libcore/nio_char/src/test/java/org/apache/harmony/nio_char/tests/java/nio/charset/CharsetTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/ASCCharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/CharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/CharsetEncoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/CharsetProviderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/CharsetTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/GBCharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/GBCharsetEncoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/ISOCharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTF16BECharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTF16CharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTF16CharsetEncoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTF16LECharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTFCharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTFCharsetEncoderTest.java

commit 8a74fca0d85c82a9d02a83d00fd028d9b09755f7
Author: Jesse Wilson <jessewilson@google.com>
Date: Thu Aug 13 16:03:25 2009 -0700

Dalvik Nio, Nio char

commit bcc5ec78806787fbecab742e716fc0d63bcece5c
Author: Jesse Wilson <jessewilson@google.com>
Date: Thu Aug 13 16:01:06 2009 -0700

Nio, nio char 802921

commit fc1e09e74aec8e49e0e23f13643deed1e9112af4
Author: Jesse Wilson <jessewilson@google.com>
Date: Thu Aug 13 15:48:17 2009 -0700

Nio, nio char 527399
fbf6206c83b12749ba2fec0fda994ab0e2f36037 16-Oct-2009 Jesse Wilson <jessewilson@google.com> Respond to impossible CloneNotSupportedExceptions with AssertionErrors.

See bug 2183132.
9d95bae0f8623d0e1c582885078c29e9f6320117 16-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id26b232b

* changes:
Fix Float.valueOf(String) OutOfMemoryExceptions.
ad606cacb67faa3b6c893a68318e9e3b69963610 16-Oct-2009 Elliott Hughes <enh@google.com> Fix Float.valueOf(String) OutOfMemoryExceptions.

Apply http://issues.apache.org/jira/browse/HARMONY-6261, which was missed in
our recent luni merge.

Bug: 1957904
1cc00ecb9affe78d96614a6909d8f597d52d7584 16-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iccd6c010

* changes:
Make the traige process for self-verification found divergence easier.
afd1d5ba83c584f74f614272f97cb471d8ed6b61 15-Oct-2009 Ben Cheng <bccheng@google.com> Make the traige process for self-verification found divergence easier.

1. Automatically replay the code compilation with verbose mode turned on for
the offending compilation.
3. Mark the registers with divergence explicitly.
2. Print accurate operand names using the dataflow attributes. Constant values
are still printed for reference only.
3. Fixed a few correctness/style issues in self-verification code.
2cae45e90c1db279718212182a032c4aca5f5742 15-Oct-2009 Jesse Wilson <jessewilson@google.com> am 8673ee75: am 9a35ef1b: Guarantee deflaters get cleaned up, even if subclassed.

Merge commit '8673ee75052e7398aa6f5925e968d6a0b2419be8'

* commit '8673ee75052e7398aa6f5925e968d6a0b2419be8':
Guarantee deflaters get cleaned up, even if subclassed.
87e28f488c4034d57fc289eb7672c78e8699455e 15-Oct-2009 Jesse Wilson <jessewilson@google.com> am 9a35ef1b: Guarantee deflaters get cleaned up, even if subclassed.

Merge commit '9a35ef1b4b196f0479054993ab0eabac416c5214' into eclair-mr2-plus-aosp

* commit '9a35ef1b4b196f0479054993ab0eabac416c5214':
Guarantee deflaters get cleaned up, even if subclassed.
edbf1a8af451e2372bfb7d7aa1526c0f0cbea706 15-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I581bed77

* changes:
Add a memory barrier.
0372b6bbe234b653b725c8cfa6cac6195b0601db 15-Oct-2009 Jesse Wilson <jessewilson@google.com> Guarantee deflaters get cleaned up, even if subclassed.

See bug 2186927
59dea703e942da494b65d9fb285b415342ec8c6a 15-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I11b31b39

* changes:
Fix icu4jni Resources ("Locale") to not expose its internals.
0bff8eeef296f26f91b7331c5136a436b547cc55 15-Oct-2009 Andy McFadden <fadden@android.com> Add a memory barrier.

Looks like an appropriate place for one.
4ea30b1fb14b80c453e684b327f95ca68b5486f0 15-Oct-2009 Elliott Hughes <enh@google.com> Fix icu4jni Resources ("Locale") to not expose its internals.

We shouldn't expose internal arrays without copying.

Bug: 2102273
5d3bb5f8576799a27d7f35d008c1b676559c9e47 15-Oct-2009 Jean-Baptiste Queru <jbq@google.com> am c1d492ca: merge from open-source master

Merge commit 'c1d492ca536a3acf4156d06ce01c932b8b762cb9'

* commit 'c1d492ca536a3acf4156d06ce01c932b8b762cb9':
9b3e640816689827da328074f4116c7cdf989329 15-Oct-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
ff0e027e24292edd36454f23c24e4e94b8c586d7 14-Oct-2009 Elliott Hughes <enh@google.com> Fix build.

Add missing files from https://android-git.corp.google.com/g/29998.
e48c383223b2921fd75aefd50474c3a550f73fd1 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic8d6b3cb

* changes:
Fix Constructor and Method to not expose their internals.
1ccf764f794c260156de86ee626170439b1136ea 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia0e7b60d

* changes:
Remove incorrect definition of nested local variables.
c76ae7c0603730b5b50b31af50f20741ebd0503f 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0e52b194

* changes:
Bug fixing for NumberFormat and BigDecimal.
50cfddd4f20f195273a74a45101fdb816d4d8511 14-Oct-2009 Elliott Hughes <enh@google.com> Fix build.

Work around apicheck bug.
71f634756c63a91dc9df3799c8a0a84ca065642f 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I3a0b1f8c

* changes:
Update libcore/security to Harmony r823222.
29b771b4fb5d4622cc3979e7da690d5fe4e7bcfe 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic89dfdd8

* changes:
Bump "public" version from 1.1.0 to 1.2.0.
4fdb58de42e8483a78df4fa38de10e64ccd03158 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0d6fff2d

* changes:
Avoid JDWP hang on nested thread suspension.
e18b4e8b8f6e7310dc7d9ffff11ac3c30c1c4d74 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9297389b

* changes:
Udating luni to Harmony r823222.
ccb0b7eda4e3004c753a36734f4ac1d0518eeace 14-Oct-2009 Ben Cheng <bccheng@google.com> Remove incorrect definition of nested local variables.
83df3eb8eee9c8b4bfe6713f0e85f22a4774115a 10-Oct-2009 Elliott Hughes <enh@google.com> Update libcore/security to Harmony r823222.

Squashed commit of the following:

commit e3083dde77b71fa817c8a52d9edafcb6325cfc25
Author: Elliott Hughes <enh@google.com>
Date: Fri Oct 9 13:10:11 2009 -0700

security_dalvik

commit 0fc0101e5dbfb3e3044702579ab8087a4e07984a
Author: Elliott Hughes <enh@google.com>
Date: Fri Oct 9 13:09:48 2009 -0700

security_527399
96cb50805098b74d5010ed5d2cea054d03b1c870 14-Oct-2009 Elliott Hughes <enh@google.com> Fix Constructor and Method to not expose their internals.

We shouldn't expose internal arrays without copying. Behavior confirmed
by testing against RI.

Also connect up the dalvik ThreadsTest test that had fallen by the wayside.

Bug: 2102273
b7275f502c3997a54156e3002bdee222f1ce5199 14-Oct-2009 Andy McFadden <fadden@android.com> Bump "public" version from 1.1.0 to 1.2.0.

Also, send correct version in JDWP VirtualMachine.Version packet.
46deb1def7a06ad328d4bef7a3606bde95c7160f 14-Oct-2009 Andy McFadden <fadden@android.com> Avoid JDWP hang on nested thread suspension.

With jdb, you can suspend a thread multiple times. If you try to
execute a method -- which requires resuming a thread that has been
stopped at a breakpoint -- the VM currently only does a single "resume",
which means the thread is still suspended, and the JDWP thread hangs
waiting for it.

This adds a check to prevent the hang.

For bug 2183735.
b95914b2728bceb1b9f49da7f410420e528962b2 13-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ied79ff0c

* changes:
Accept JitOff as a legal state in the debug interpreter when JIT is configured.
8efa396512a9bee0da2ea0ca598bf3d31f4afcea 13-Oct-2009 Ben Cheng <bccheng@google.com> Accept JitOff as a legal state in the debug interpreter when JIT is configured.
88879ddb5430566933f6c80979449e5e3a0257e2 13-Oct-2009 Andy McFadden <fadden@android.com> Add JDWP ReferenceType.ClassObject handler.

For bug 2157236.
17426b0761af02bbe486ef543efd873b8358346f 13-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I60282050

* changes:
Add implementation of JDWP ClassType.NewInstance
d30782f96a9f78d53b8d9b63f093891e011a9aa9 13-Oct-2009 Brett Chabot <brettchabot@android.com> am fef7556f: am 3238cc2a: am 32f89821: Merge change 26044 into donut-gms

Merge commit 'fef7556f058d0d17b30180c03387558bc59d3105'

* commit 'fef7556f058d0d17b30180c03387558bc59d3105':
Remove tests.api.java.io.FileTest#test_delete as known failure.
ec3461974a60dbfc8f781fac8df9c23b8c9efdf5 13-Oct-2009 Brett Chabot <brettchabot@android.com> am 4ebfaec4: am 98f0612b: am c4d33d9d: Fix ClassLoaderTest to work on DEXPREOPT builds.

Merge commit '4ebfaec453ae79e3ac1d7ff30cbc9f2d3beef2d1'

* commit '4ebfaec453ae79e3ac1d7ff30cbc9f2d3beef2d1':
Fix ClassLoaderTest to work on DEXPREOPT builds.
54b98c4530cc4cc17cfe99c67a4eb90e36739287 03-Oct-2009 Andy McFadden <fadden@android.com> Add implementation of JDWP ClassType.NewInstance

Add a handler for the ClassType.NewInstance request, and some bits of
plumbing to go with it.

For bug 2157236.
5432dac5b68b58e0b24cc92bd6e2c5f86eb6a9b6 12-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8f61592d

* changes:
Set the debug interpreter entry point properly on the self-verification path.
7dc84a2a9fe0327e7385f25bad9970cbac13cab0 12-Oct-2009 Jesse Wilson <jessewilson@google.com> Bug fixing for NumberFormat and BigDecimal.

1. Fixed the bug that DecimalFormat does not handle multiplier.
2. Fixed the bug that DecimalFormat does not handle precision.

This is a copy of the original Eclair change,
https://android-git.corp.google.com/g/26297

Bug: 1897917.
dfaf79e3fbcdee41c6fed6a0c3e95c55af74c837 12-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6618182f

* changes:
Fix CoreTestRunner to not run filtered-out tests.
ed22595158bf4b11b33cad8642d77c5aebee6928 12-Oct-2009 Ben Cheng <bccheng@google.com> Set the debug interpreter entry point properly on the self-verification path.

Also fix the encoding for SFP/DFP register names to make self-verification
happy on FP benchmarks.
3d2ca053902c201a709026a6dcb4f5e2f3e2d4ed 12-Oct-2009 Elliott Hughes <enh@google.com> Fix CoreTestRunner to not run filtered-out tests.

https://android-git.corp.google.com/g/29284 broke test filtering by accidentally
passing the unfiltered test suite to super.doRun.
c6ff365af3070cbfe87709178e3539452b0064f2 12-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1acdca65

* changes:
Fix memory corruption.
14ad2b830458c3ea16278a24644b603c48532635 12-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iff8a3e91

* changes:
Adding timeouts to HttpsURLConnectionTest.
366c3d1943e5450b3735693c1164ceaa88939d22 12-Oct-2009 Jesse Wilson <jessewilson@google.com> Adding timeouts to HttpsURLConnectionTest.

See bug http://b/issue?id=2180571
8b0ef2f2bc9b5e408a00b4ea59db7db116cd28df 12-Oct-2009 Jesse Wilson <jessewilson@google.com> Fix memory corruption.
0c3548929667d73b5d851f6b04a0fc5e88a39ad0 12-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am e652b123: Make sure res is NULL if getaddrinfo fails.

Merge commit 'e652b123d2d65d40e5f51c0145cc453ea88631dc'

* commit 'e652b123d2d65d40e5f51c0145cc453ea88631dc':
Make sure res is NULL if getaddrinfo fails.
f5971ca642a9287b5915dfc6fa9420b424081d56 10-Oct-2009 Jesse Wilson <jessewilson@google.com> Adding a timeout for standard out as well as standard error.
6981c0066a0b9ca8177134110106276cf1d5f2d2 10-Oct-2009 Jesse Wilson <jessewilson@google.com> Udating luni to Harmony r823222.

Highlights:
- InputStream.skip concurrency issue
- "better" messages in bound exceptions for streams and arrays
- prefer fewer writes to underlying streams (using byte[] buffers)
- Rename subclasses to not reuse names from their superclasses
- PlatformAddressFactory.allocMap bugfix

Plus some spelling fixes, style fixes, serial version UIDs and other
boilerplate improvements.
b7de9a40ec932024f63b8edf11405f7153187bf7 10-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I164613f2

* changes:
Rewrite Support_Exec to support timeouts on waiting processes.
aa91b2ca8f7b82a743b32c6d6fc9f5d6fef00362 10-Oct-2009 Jesse Wilson <jessewilson@google.com> Rewrite Support_Exec to support timeouts on waiting processes.

Also rewriting SupportExec to use ProcessBuilder rather
than Runtime.exec(). Changed callers to use the ProcessBuilder
directly rather than calling-through chained methods.
ea627cd5a8948e1e100e00f91de2036d51c39ed3 10-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic98d470a

* changes:
Remove the intermediate representation in getNetworkInterfaces.
65c42efd5aa1850b8b7fe3a9d5fa0b0a60411375 10-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6239d93b

* changes:
Fix the docs for the no-arg Random() constructor to better reflect reality, and make the constructors more resilient with respect to subclassing by using System.identityHashCode() instead of Object.hashCode(), and also by not calling overridable methods.
f267927c201bbbdfa6342f5e7d6bee9ec86b5adc 09-Oct-2009 Dan Bornstein <danfuzz@android.com> Fix the docs for the no-arg Random() constructor to better reflect reality,
and make the constructors more resilient with respect to subclassing by
using System.identityHashCode() instead of Object.hashCode(), and also by
not calling overridable methods.

Change-Id: I6239d93bb46876ef1c4a5e155a6dc1ac6fab4eae
cd9841fabe3e2644033faf379ee7be5541b7569e 09-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0e98511f

* changes:
Do not initialize the JIT if it is not the designated execution mode.
997f44481a35d964651b04365ef3239561cedd90 09-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I98acebf9

* changes:
Disable SMALL_BUFFERS and CUTTHROUGH, as SSLSession test fails with these flags.
aada1776d80da041ce11f4bc826bf7b69de4ab7f 09-Oct-2009 Ben Cheng <bccheng@google.com> Do not initialize the JIT if it is not the designated execution mode.
0a930093d2cb0dabc3aeb2672fd9ee7d2ae743e7 08-Oct-2009 Dan Bornstein <danfuzz@android.com> Minor tweak for compatibility with BSD: Use MAP_ANON instead of MAP_ANONYMOUS.

The former is deprecated on Linux, but it is equivalent, and
MAP_ANONYMOUS isn't valid at all on BSD. (The alternative for BSD
compatibility is to use #ifdefs, but that seems gratuitously
heavyweight to me.)

Change-Id: I9c0b2cc78c4d7edc633487d5b0dde5b2f928247e
2b2ff5863974f6cfcddec0a54cfe4f46b94629a0 09-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5ccdf0be

* changes:
Fix for "Compiler thread shutdown should switch out of VMWAIT"
26bea7e890e2c715c8370748087370c4a7ced77f 09-Oct-2009 Nagendra Modadugu <ngm@google.com> Disable SMALL_BUFFERS and CUTTHROUGH, as SSLSession test fails with these flags.
93adc1e1e47fb5494b605e33c0d7fae5111cb72e 09-Oct-2009 Elliott Hughes <enh@google.com> Squashed commit of the following:

commit 07d78447c89a11265bf909ab6bcc315c1a784281
Author: Elliott Hughes <enh@google.com>
Date: Thu Oct 8 16:38:26 2009 -0700

text_dalvik

commit c390506ce060c705b6c1b04fb1e737617de1bd8a
Author: Elliott Hughes <enh@google.com>
Date: Thu Oct 8 16:38:22 2009 -0700

text_802921
dcf4b586a1ad4acf4761be1fdfd0c0cab4cc38e7 09-Oct-2009 Ben Cheng <bccheng@google.com> Fix for "Compiler thread shutdown should switch out of VMWAIT"
483fb7738f8522f0a857612373ae8f3adb3e9d03 08-Oct-2009 Jesse Wilson <jessewilson@google.com> Tools to push code back upstream.
e847a939a1d79d5689ff89afa26290d5a1f031a6 08-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I685130ae

* changes:
JNI Delete* and Release* _are_ allowed while an exception is pending.
3adf8940663279e5864d6d0f16cc088633fbb36e 08-Oct-2009 Brett Chabot <brettchabot@android.com> am 3238cc2a: am 32f89821: Merge change 26044 into donut-gms

Merge commit '3238cc2a901ed6e0e3bb11fa601913c2ed09ddb7' into eclair-plus-aosp

* commit '3238cc2a901ed6e0e3bb11fa601913c2ed09ddb7':
Remove tests.api.java.io.FileTest#test_delete as known failure.
8c2869d4a50cad3cd9649837f3d89945f9916ad4 08-Oct-2009 Brett Chabot <brettchabot@android.com> am 98f0612b: am c4d33d9d: Fix ClassLoaderTest to work on DEXPREOPT builds.

Merge commit '98f0612b22111dd9e2d23b171b9059582cc44991' into eclair-plus-aosp

* commit '98f0612b22111dd9e2d23b171b9059582cc44991':
Fix ClassLoaderTest to work on DEXPREOPT builds.
bd0a8340a97f838d700967f1bed50ba3f94e973c 08-Oct-2009 Brett Chabot <brettchabot@android.com> am 3238cc2a: am 32f89821: Merge change 26044 into donut-gms

Merge commit '3238cc2a901ed6e0e3bb11fa601913c2ed09ddb7' into eclair-mr2

* commit '3238cc2a901ed6e0e3bb11fa601913c2ed09ddb7':
Remove tests.api.java.io.FileTest#test_delete as known failure.
03b9f9d3b903b943819b3d14eb104893a951af0a 08-Oct-2009 Brett Chabot <brettchabot@android.com> am 98f0612b: am c4d33d9d: Fix ClassLoaderTest to work on DEXPREOPT builds.

Merge commit '98f0612b22111dd9e2d23b171b9059582cc44991' into eclair-mr2

* commit '98f0612b22111dd9e2d23b171b9059582cc44991':
Fix ClassLoaderTest to work on DEXPREOPT builds.
b7d1bfe9635638778b518ca8ceb236bf349a2a21 08-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9c147b84

* changes:
Fix various bugs found when debugger is attached to the VM.
98a90ef4a4aaebf70ae9c712b6e940d04ab8455f 08-Oct-2009 Brett Chabot <brettchabot@android.com> am 32f89821: Merge change 26044 into donut-gms

Merge commit '32f8982116e5155bc3c75c86e3c861cab1a848be' into eclair

* commit '32f8982116e5155bc3c75c86e3c861cab1a848be':
Remove tests.api.java.io.FileTest#test_delete as known failure.
7a6bfbee135220891a2b14a23ae9fb83a6a4220a 08-Oct-2009 Brett Chabot <brettchabot@android.com> am c4d33d9d: Fix ClassLoaderTest to work on DEXPREOPT builds.

Merge commit 'c4d33d9d89444d86808be7072e0548007d98a49f' into eclair

* commit 'c4d33d9d89444d86808be7072e0548007d98a49f':
Fix ClassLoaderTest to work on DEXPREOPT builds.
6cf9f244cba5a4772ee566bf6bf39bb41e5e93bd 08-Oct-2009 Jesse Wilson <jessewilson@google.com> Fixing the JUnit runner to output Ant-compatible XML.

We can use this with our continuous build to track test
failure changes over time.
8fa07e0cd42c98850f1fab251e56cdfc406d733a 08-Oct-2009 Ben Cheng <bccheng@google.com> Fix various bugs found when debugger is attached to the VM.

See b/2161257 for details.
a6311013a1208f101470a3cf66a5e6e3fe1bd41f 08-Oct-2009 Elliott Hughes <enh@google.com> JNI Delete* and Release* _are_ allowed while an exception is pending.

See "Exceptions" in our own documentation:
http://android.git.kernel.org/?p=platform/dalvik.git;a=blob_plain;f=docs/jni-tips.html;hb=HEAD

This is also true of the RI, though the spec sometimes implies otherwise.
Here's the canonical reference:
http://java.sun.com/docs/books/jni/html/design.html#2193
618e5816e7282e5eede760110f0eec0c11169384 08-Oct-2009 Elliott Hughes <enh@google.com> Fix several leaks in OpenSSL JNI cipher suites code.

I first spotted the missing ReleaseStringUTFChars, but then noticed all
the duplication in the cipher suites functions, and noticed that no
copy appeared to be completely correct. The factored-out replacements
shouldn't leak, and should check all error conditions.
ec8cdd8cf9740aba3ea114d2b243236408b8da7f 07-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I492dd3f7

* changes:
Enable SMALL_BUFFERS and HANDSHAKE_CUTTHROUGH for SSL connections.
2fcd04557efbc1fc89273e08fce365c04d7da66f 07-Oct-2009 Nagendra Modadugu <ngm@google.com> Enable SMALL_BUFFERS and HANDSHAKE_CUTTHROUGH for SSL connections.
37b191146fcdbcbd264b56082ad66615833ff08b 07-Oct-2009 Elliott Hughes <enh@google.com> Remove duplication between readv and writev.

This also means we don't pin the three int arrays for the duration
of the syscall.
84d1a3777dc7c8d7ec861f34bc811bb838668151 06-Oct-2009 Elliott Hughes <enh@google.com> Don't use GetPrimitiveArrayCritical around network operations.

This code seems to have been using GetPrimitiveArrayCritical to
work around the fact that it was supply JNI_ABORT on release,
where it really wanted GetByteArrayElements and to keep its
changes (since the whole point of the byte[] was to keep state
between calls).
15522eeb12b56db7dfff7d3ed3c05ba1624e8637 06-Oct-2009 Elliott Hughes <enh@google.com> Remove the intermediate representation in getNetworkInterfaces.

This gets rid of a lot of unnecessary complexity by going straight from
the kernel's representation to the Java representation, without the useless
C structs in between.
32c56929f9fd57465e26abc8fce034db6fed44cc 06-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia4c68278

* changes:
Remove dead code.
c8890b531bc5e51f17bde59fe39a07bb678954c1 06-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I40159068

* changes:
Use icu4jni_error more consistently.
66118bdb5ccb6858953b2e8670658e6107b50b98 06-Oct-2009 Elliott Hughes <enh@google.com> Remove dead code.
f40b3908677bf99566c372a2453222e95d592c42 02-Oct-2009 Lorenzo Colitti <lorenzo@google.com> Make sure res is NULL if getaddrinfo fails.
9796a6309c3cb23f7ef7058bf2e6ecfc8c4b9b99 06-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7aabd791

* changes:
Refactor java_net_NetworkInterface.cpp for clarity.
d1d4a3318a8966da612541c5ab6fc3be4df7e35a 06-Oct-2009 Elliott Hughes <enh@google.com> Use icu4jni_error more consistently.

In BidiWrapperInterface.c, replace check_fail with icu4jni_error for better
error reporting.

In CollationInterface.c, make sure we call icu4jni_error *after* calling
the function that may or may not return an error.
19ce1cb60a3115f45895783d18ccf0867dfb5231 03-Oct-2009 Elliott Hughes <enh@google.com> Refactor java_net_NetworkInterface.cpp for clarity.

All I wanted to do was remove the SOCKERR_ mess, but things got out of hand.
There's still plenty of stuff that could be cleaned up, but nothing that can't
wait. I'm only doing this to make things easier for the IPv6 changes.

This patch:
* removes the SOCKERR_ mess which was causing vague "Operation failed"
IOExceptions; we now use the actual errno value of whatever caused the failure.
* simplifies memory management so we don't have to do lots of cleanup on
every exit from each function.
* simplified fd management for the same reason.
* reduces the use of the intermediate structure, going straight to Java objects
in places. (This is the unfinished work: we should get rid of the intermediate
representation. It's not useful.)
* replaces structInToJavaAddress and structInToInetAddress with a call to the
better socketAddressToInetAddress from OSNetworkSystem.cpp.
* uses more intention-revealing variable and function names.
* removes attempts to throw exceptions when perfectly good exceptions have
already been thrown.
* removes filtering of interfaces that aren't up. The RI doesn't do this
filtering, there's no reason to do it, and it's always going to be a race
condition anyway.
* removes untrue comments.
* removes a lot of inexplicably empty lines.
d3df2aa0a705ff3128adb5c12a571e088fde5b8b 05-Oct-2009 Elliott Hughes <enh@google.com> Switch to TEMP_FAILURE_RETRY now it's moved to bionic.

(The same EINTR_RETRY macro that used to be here has moved to <unistd.h>, so
we don't need another copy. EINTR_RETRY is a nicer name, I think, but
TEMP_FAILURE_RETRY is the GNU-compatible name.)
f449277d83b57987fcde517604f4eb57b7cf3321 02-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Idc84bb2b

* changes:
Fix trace builder to not confuse self-verification.
28d694d24743c1269d7be7287f308a13d06b3efb 02-Oct-2009 Ben Cheng <bccheng@google.com> Fix trace builder to not confuse self-verification.
d9001234d9e3b7a90087ef774599e57129341b3b 02-Oct-2009 Lorenzo Colitti <lorenzo@google.com> Make sure res is NULL if getaddrinfo fails.
f5de0f5f8d50520f610f050819c3c1adde11257c 02-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4bf8618f

* changes:
Add back missing shared libraries used by executable in link command. These libraries are linked though dependencies of other libraries. While that works, it is not the right thing to do.
f2b31c6e41a8967865acca934de71cf785187eaf 02-Oct-2009 Doug Kwan <dougkwan@google.com> Add back missing shared libraries used by executable in link command. These
libraries are linked though dependencies of other libraries. While that works,
it is not the right thing to do.
697f77532d11d6d59dcc6a748761a8b15f2a011f 30-Sep-2009 Elliott Hughes <enh@google.com> Remove adb networking support from dalvik/libcore.

There's more to be removed from other projects, but this should probably
come out first.

Bug: 1122968
2200d4d61ae1e995bfa45d5fabe145a62b1e5931 02-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id5ccf4bc

* changes:
Catch bad getStackTrace() calls.
53dedf19d4a7aecb434036422d6b62d488d6641e 02-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9d8f66aa

* changes:
Switch java_net_NetworkInterface.c to C++.
52cf3e0edc0f63773aeef7e09f681f83bae0c10d 02-Oct-2009 Elliott Hughes <enh@google.com> Switch java_net_NetworkInterface.c to C++.

(I have a bigger change to make to this file, but the web claims that it's
best to keep renames in minimally small patches so git doesn't get confused.)
50abc9f0c02903e986f7ae7651567b2a77587e07 02-Oct-2009 Andy McFadden <fadden@android.com> Catch bad getStackTrace() calls.

Normally Throwable.getStackTrace() can't be called until after there's a
stack trace, but with a debugger you can call it during construction.
We weren't expecting that and the VM went boom.
0648310d3f725247b18b79ec87cbfb262560b9fb 02-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I3bc71eab

* changes:
:: is a valid local address on a newly-created socket if IPv6 is preferred.
68b58c14e8b802deef15cff6fabc0b57e3d1de28 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> :: is a valid local address on a newly-created socket if IPv6 is preferred.
40bfd412624c28c481c183849cb5985a4ed8580c 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am ae8d0254: am 0c0cfd5c: Merge change I96cd6f5b into eclair

Merge commit 'ae8d0254dd69392dae9c922462ca2a01944b6eef'

* commit 'ae8d0254dd69392dae9c922462ca2a01944b6eef':
Make the socket test accept ::1 as a valid result for
ec85c1355e40bea7a58235429355979b17228429 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am 1507c7ce: am f94c5d77: More multicast fixes.

Merge commit '1507c7ce4fc88f7bdf5e89ba10839809693eeefb'

* commit '1507c7ce4fc88f7bdf5e89ba10839809693eeefb':
More multicast fixes.
5f4d366ea4c5761f1ed6f7105dc3cc196fe3d63d 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am 003d7f8d: am e851c562: Merge change Iea75a523 into eclair

Merge commit '003d7f8da66ec53b5dbece36308197dc7a932e3e'

* commit '003d7f8da66ec53b5dbece36308197dc7a932e3e':
Fixes for socket options on multicast sockets.
84891ebc40628e3b8a4d2b80f21cd738b290ad99 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I2cdad38a

* changes:
Update archive to Harmony r820767.
925bab5f30bd9d94d1ebe0361ab8c59aed285841 01-Oct-2009 Jesse Wilson <jessewilson@google.com> Update archive to Harmony r820767.
7b9c2433907ee6eb955eb0eac123f1772fcf5b79 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am aa4320a4: am 1131d3da: Merge change Ie2e14dde into eclair

Merge commit 'aa4320a4fb27684bd70cfb4d82feca3845ad272e'

* commit 'aa4320a4fb27684bd70cfb4d82feca3845ad272e':
Remove @KnownFailure tags for tests that pass.
32417404725550cb4cc7842a3397f1fe474e970d 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am 2b791cc2: am 910363bd: Merge change Ib5dc3f1f into eclair

Merge commit '2b791cc256e80f93fef7db2157f1cee202133201'

* commit '2b791cc256e80f93fef7db2157f1cee202133201':
Fixing a lame test that was relying on hashmap iteration order.
16c0a3b25fd44ef6053bfbb332331b49a229e623 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am a20c6d23: am b5b7f4ba: Merge change I9899be9d into eclair

Merge commit 'a20c6d2347224d89dced471e61a36610699b7e71'

* commit 'a20c6d2347224d89dced471e61a36610699b7e71':
Fixing a Harmony regression in ObjectInputStream.
017e8268ce33f0c2061439e300ba3f2aacda3678 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am 18ae1786: am ffa33efc: Merge change I75630000 into eclair

Merge commit '18ae1786b572d7385cbddd7da3167e190b952ded'

* commit '18ae1786b572d7385cbddd7da3167e190b952ded':
Fixing tests that exercise SecurityManager plus stack inspection.
41df4a04f3a45fbc785f220fa9d65746cc674733 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I76ecf19c

* changes:
Use jniThrowException instead of FindClass/ThrowNew.
1d4141727c0245a0d4900a02f09a1408a0b84f1f 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am 4b304284: am 7f51bfee: Merge change I86898f45 into eclair

Merge commit '4b30428421d4ad93d9e6fc34bc0190a5097dc4a6'

* commit '4b30428421d4ad93d9e6fc34bc0190a5097dc4a6':
Fix BigInteger math bugs.
2fc22eadc4fc3e769a86e8c40d1388b935d744bc 01-Oct-2009 Elliott Hughes <enh@google.com> Use jniThrowException instead of FindClass/ThrowNew.

Always use our best-of-breed code for throwing exceptions. The remaining
callers of Throw have good reason, and the only caller of ThrowNew is
now JNIHelp.c (jniThrowException) itself.
7a7d1563006e5bb466721cd80843f194705aaf64 01-Oct-2009 Ben Cheng <bccheng@google.com> Fix a memory disambiguation and a SFP/DFP assembling bug in the JIT.
069933206b9cac61a5eab8c2142d2d923d4476d3 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am 0c0cfd5c: Merge change I96cd6f5b into eclair

Merge commit '0c0cfd5ce4a26187fb910ba701d0021989103a25' into eclair-plus-aosp

* commit '0c0cfd5ce4a26187fb910ba701d0021989103a25':
Make the socket test accept ::1 as a valid result for
1f373532de9b920cc378f0fcbd36dff0d75992f3 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am f94c5d77: More multicast fixes.

Merge commit 'f94c5d77ab659bfc1644b524fc006f24cbf6f694' into eclair-plus-aosp

* commit 'f94c5d77ab659bfc1644b524fc006f24cbf6f694':
More multicast fixes.
84a5fd68cbcc10f96f96e9e4c26a64701b87b1bd 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am e851c562: Merge change Iea75a523 into eclair

Merge commit 'e851c562ee5eb514135b5066553fcef6b0e5c333' into eclair-plus-aosp

* commit 'e851c562ee5eb514135b5066553fcef6b0e5c333':
Fixes for socket options on multicast sockets.
98375e4747cc580997d92ee4f885ed42ede1823e 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I96cd6f5b into eclair

* changes:
Make the socket test accept ::1 as a valid result for InetAddress.getByName(null) if the system is set to prefer IPv6 addresses.
8c21196e3077f6ff3b9b558ef859f4ed65d2ebca 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> Make the socket test accept ::1 as a valid result for
InetAddress.getByName(null) if the system is set to prefer IPv6 addresses.

Change-Id: I96cd6f5b632994b73af13e341cf6f684f6eee4cd
a15c83e1803b430dd6f6a631dd3c4b809effaa25 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> More multicast fixes.

1. Make native code properly set network interface indexes that are used for
new-style multicast socket options.
2. For IP_MULTICAST_IF, check that the address is IPv4, not the socket.
3. Remove a @KnownFailure annotation for a test that now passes.

This removes one test error and changes it into a more benign failure. The
remaining test failures seem to be due to Linux bening permissive about which
interfaces you can receive multicast traffic on, which is probably good enough
for now.

Change-Id: Id1fddee338addcfce821672b983485c7dd4983d4
72b6a50f59cd09b7d24460e54c3357f29700290e 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iea75a523 into eclair

* changes:
Fixes for socket options on multicast sockets.
0724dbb3a7e9ed769e4a3ee4a9729489e34fc91c 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> Fixes for socket options on multicast sockets.

1. Properly pass get/setsockopt the pointer to the socket option instead of the
pointer to the pointer to the option. This was not caught at compile time
because it's a void *.
2. Handle IPv4 multicast addresses on IPv6 sockets. This is important because
current devices create IPv6 sockets by default.
3. Use the proper options for IPv6 multicast (i.e., IPV6_{ADD,DROP}_MEMBERSHIP
instead of IP_{ADD,DROP}_MEMBERSHIP)
4. Use integers instead of bytes when getting or setting the multicast TTL
because that's what the Linux kernel uses.

These fix 10 of the 11 MulticastSocketTest failures. Also, minor changes:

1. Add ifdefd-out logging functions for get/setsockopt.
2. Change all instances of IPPROTO_{IP,IPv6} to SOL_{IP,IPV6} in get/setsockopt
calls. Even though the values are the same (so the code worked), this way is
more correct.

Change-Id: Iea75a523d7e71f0b361a42c0e39d3ef075dc7ff4
c011d81d54b2c165db137d0de4d1a61470043739 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am 1131d3da: Merge change Ie2e14dde into eclair

Merge commit '1131d3da4e3d3df7f608fb0078ec67d14035ff25' into eclair-plus-aosp

* commit '1131d3da4e3d3df7f608fb0078ec67d14035ff25':
Remove @KnownFailure tags for tests that pass.
6fc633758ecf51f88ff0dcf1ab83cb83dcd3c2b7 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie2e14dde into eclair

* changes:
Remove @KnownFailure tags for tests that pass.
a90c270960520f1758aec6ad470b74fc9929a163 01-Oct-2009 Jesse Wilson <jessewilson@google.com> Remove @KnownFailure tags for tests that pass.

Also cleanup tests.api.java.io.SerializationStressTest4#test_writeObject_Proxy
f91c1e8958b73b2ab93e438d0a6a70849f31bc0b 01-Oct-2009 Elliott Hughes <enh@google.com> Simplify FileInputStream.skip to match the RI.

The RI throws IOException on any non-seekable stream, including stdin.
This patch removes harmony's special-case hack for stdin, and the native
cruft that wasn't even necessary if you did want a special hack for
stdin.

Bug: 1542253
52a418657c3f1ed02714f3bdba0fb24abdd0cff8 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am 910363bd: Merge change Ib5dc3f1f into eclair

Merge commit '910363bd8d50c2a5558a71e47377928265c1219e' into eclair-plus-aosp

* commit '910363bd8d50c2a5558a71e47377928265c1219e':
Fixing a lame test that was relying on hashmap iteration order.
c8919f35b180f00aadc392798956c3007a298ac0 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib5dc3f1f into eclair

* changes:
Fixing a lame test that was relying on hashmap iteration order.
fa52529e92e4348d9cef480d27e34b07f28197b5 01-Oct-2009 Jesse Wilson <jessewilson@google.com> Fixing a lame test that was relying on hashmap iteration order.
83e1ea4b8f9752faff70af10e5c65a011536b2b9 30-Sep-2009 Jesse Wilson <jessewilson@google.com> am b5b7f4ba: Merge change I9899be9d into eclair

Merge commit 'b5b7f4ba9c8e5da38d023aa5b5ae61c8392c2e99' into eclair-plus-aosp

* commit 'b5b7f4ba9c8e5da38d023aa5b5ae61c8392c2e99':
Fixing a Harmony regression in ObjectInputStream.
1f3fbb71f7cb68b90b530919fce76b3b7b352b94 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9899be9d into eclair

* changes:
Fixing a Harmony regression in ObjectInputStream.
df11648297f46e3e816e1f2cccef28d17b7e759c 30-Sep-2009 Jesse Wilson <jessewilson@google.com> Fixing a Harmony regression in ObjectInputStream.

We check the field type against the instance being
populated and not the field descriptor on the wire.
The root cause is a bug in Harmony which we should
send upstream.
d289c6431963064d95080fb88185294967f71bd9 30-Sep-2009 Jesse Wilson <jessewilson@google.com> am ffa33efc: Merge change I75630000 into eclair

Merge commit 'ffa33efc2cae574aefbc2867dd4a7e5413282e3c' into eclair-plus-aosp

* commit 'ffa33efc2cae574aefbc2867dd4a7e5413282e3c':
Fixing tests that exercise SecurityManager plus stack inspection.
81e3a4722cdd68bcdc09a0eb5ee31b5fbb6b03b0 30-Sep-2009 Elliott Hughes <enh@google.com> Fix build (don't rely on transitive #include).

The sim-eng build wasn't picking up <string.h> for memcpy(3).
a6453778d2845ee3e03afd336f9179059adb5b62 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I75630000 into eclair

* changes:
Fixing tests that exercise SecurityManager plus stack inspection.
19939b165ba6609aaac4badc6fc236d2a63e09d2 30-Sep-2009 Jesse Wilson <jessewilson@google.com> Fixing tests that exercise SecurityManager plus stack inspection.

The tests were both broken previously. They both relied on having
specific bootloader classes in their call stack.
e25061e5658e90f77ae9a04461c1027b2a235d99 27-Sep-2009 Elliott Hughes <enh@google.com> Throw meaningful IOException instances from native code.

The Java side of OSFileSystem was throwing IOExceptions with no detail
message. If we throw from the native side instead, we can supply
meaningful explanations. This turned up a couple of bugs:

* read, readDirect, readv, writev, and ttyRead would only throw IOException
if they returned < -1, which is impossible. (writev was probably a copy & paste
from readv, and the reads were probably confused by the impedence mismatch
between Unix's use of 0 to mean end of file and -1 to mean error, and Java's
use of -1 for end of file.)

* inconsistent checking for null byte[]s passed in.

* read and write would retry on EINTR, but readDirect and writeDirect wouldn't.

* we'd silently truncate seek/lock/truncate offsets that didn't fit in 32 bits;
we now throw an IOException instead.

It also means a few native functions become "void" because errors are now
reported by throwing exceptions, and the Java functions that used to call them
are no longer needed.

Also change ProcessManager to use jniThrowIOException, remove the unused
throwIOExceptionStr from OSNetworkSystem.cpp, and remove the KnownFailure from
FileTest's test_delete, now we have a fixed version of yaffs that won't
rmdir(2) non-empty directories.

Bug: 1542253
078c47332f8f037dc9570938c5bd59252b09225c 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I866cc5d6

* changes:
Improve run-core-tests.
e6b36d63e65ae87a418c80ac3983e9325aed4db8 30-Sep-2009 Jesse Wilson <jessewilson@google.com> am 7f51bfee: Merge change I86898f45 into eclair

Merge commit '7f51bfee5fc5fb34fe89f3d74f7fd40d834c0fc2' into eclair-plus-aosp

* commit '7f51bfee5fc5fb34fe89f3d74f7fd40d834c0fc2':
Fix BigInteger math bugs.
b484ff4be2e2db8c043eca449d4d11d29a114f36 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I86898f45 into eclair

* changes:
Fix BigInteger math bugs.
70ffea47e642254049aecd854b8f83bf094b238b 30-Sep-2009 Jesse Wilson <jessewilson@google.com> Fix BigInteger math bugs.

This initializes the internal representation before doing left shifts.
I'd originally missed this in the first Harmony update; change 20002.
200a9eb7ce128c89bcb4b00bb3f553d02738ce5f 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I09239e36

* changes:
Report all RegisterNatives failures, not just the first.
924f4bf96bfda3c4c6aa4a758f4ccccdb1cf63ab 30-Sep-2009 Elliott Hughes <enh@google.com> Report all RegisterNatives failures, not just the first.

(It seems that when I make one mistake, I generally make
several at once.)
5326e90d83606b15b957f49d50df98f26710493d 30-Sep-2009 Elliott Hughes <enh@google.com> Improve run-core-tests.

Allow multiple tests to be specified on the command-line, and recognize
syntax errors. (Previously, as long as the arguments ended in a test
name, invalid arguments that didn't start "--" would be silently ignored.
The new test for "-" is strictly unnecessary -- the other changes are
sufficient -- but the explicit early test allows for clearer error
reporting.)
bc4305c8abe8c4067bbc2ec473a167ee5df9d04b 30-Sep-2009 Ben Cheng <bccheng@google.com> Fixed the trace builder to correctly handle excpetion throwing instruction.

Added a new unit test 081-hot-exceptions to target this problem.
738713ee350462d1649ace53fccdb727b32f679b 19-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Manual merge of change I3665f82b into master.
0608c44df51952c6b489415b748f1e749a952c36 21-Sep-2009 Joshua Bloch <jjb@google.com> Replace existing ArrayList implementation with faster, simpler one.
a9f2bca618043557876e39a3cb2110fe47d5463a 28-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5e88f105

* changes:
Add copyright statement to dexcheck.
f7bf4d564f230316ab0b9c3a70d7f6702eec12b5 28-Sep-2009 Andy McFadden <fadden@android.com> Add copyright statement to dexcheck.

Because even humble shell scripts deserve legal protection.
114a0211e0ed2e536fa120dff91124282fa8213c 28-Sep-2009 Jesse Wilson <jessewilson@google.com> am f591c78e: (-s ours) am 94bf2b21: Merge change 27156 into eclair

Merge commit 'f591c78e3117dfbd727411386175bf1c1aef615b'

* commit 'f591c78e3117dfbd727411386175bf1c1aef615b':
DO NOT MERGE: Cleaning up PipedInputStream
fd6150d23240404f8caf6665eb7369365bfeb149 28-Sep-2009 Jesse Wilson <jessewilson@google.com> am 2ff7a674: am 979baaea: Deprecate many of the accidentally-published APIs in dalvik.system.

Merge commit '2ff7a6741726c7f43a3cea6d30bf7c387f913e78'

* commit '2ff7a6741726c7f43a3cea6d30bf7c387f913e78':
Deprecate many of the accidentally-published APIs in dalvik.system.
ccce27f3c9157f252c59d88e2d738e37e2696895 28-Sep-2009 Ben Cheng <bccheng@google.com> Fixed OOM exception handling in JIT'ed code and added a new unit test.
0770a214dc6ff294a4312b24183355a59d509cf3 27-Sep-2009 Ben Cheng <bccheng@google.com> Registers allocated for 64-bit values should be contiguous.

Found in "Karl's Mortgage Calculator" from the market.
b7b7d04eb35b7e5bca9ac7924a89093e128d2349 26-Sep-2009 Jesse Wilson <jessewilson@google.com> am 94bf2b21: Merge change 27156 into eclair

Merge commit '94bf2b217df69e943843b51b0ea0bb72743cc6b3' into eclair-plus-aosp

* commit '94bf2b217df69e943843b51b0ea0bb72743cc6b3':
DO NOT MERGE: Cleaning up PipedInputStream
03fd9c89992b9a9345a1d7e53ee32652e11a69fe 26-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27156 into eclair

* changes:
DO NOT MERGE: Cleaning up PipedInputStream
4e38e05200ec19d35a337ec59d8d4784002e957d 26-Sep-2009 Jesse Wilson <jessewilson@google.com> am 979baaea: Deprecate many of the accidentally-published APIs in dalvik.system.

Merge commit '979baaeae3122b0c7ad5b24e7842472127b8a967' into eclair-plus-aosp

* commit '979baaeae3122b0c7ad5b24e7842472127b8a967':
Deprecate many of the accidentally-published APIs in dalvik.system.
efab4dd855d1399ee3f118508bc75481ac209e3f 23-Sep-2009 Jesse Wilson <jessewilson@google.com> Deprecate many of the accidentally-published APIs in dalvik.system.

See bug 2021674 for discussion. I searched Google Code Search to
sample which of these APIs are being used. None of these APIs
were used by applications, so I'm quite confident that removing
them will not break applications or upset developers.

These APIs were neither formerly documented, nor intended for use
by application developers. I am deprecating them now to discourage
their use going forward. We should remove them in a future release.
6cbe6e847e053b9bdee18e229303bda4e0413c53 26-Sep-2009 Jesse Wilson <jessewilson@google.com> DO NOT MERGE: Cleaning up PipedInputStream
17c24ca392c354938d5e95d9a576a49a33cd6b81 25-Sep-2009 Andy McFadden <fadden@android.com> am 7a37c30a: am bb710e32: Remove ((noreturn)) from dvmAbort().

Merge commit '7a37c30a85c58a8c51ae3f9551132a1bf405e4f6'

* commit '7a37c30a85c58a8c51ae3f9551132a1bf405e4f6':
Remove ((noreturn)) from dvmAbort().
2f4983244a7ebbf6431292d0f8961dd5ae42dd37 25-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26716

* changes:
Fix Node.getNextSibling bounds checking.
ff11ac647ebf341f07fc14b264f1bff14c2734cd 24-Sep-2009 Elliott Hughes <enh@google.com> Fix Node.getNextSibling bounds checking.

Obvious copy & paste error in InnerNodeImpl compared to LeafNodeImpl, plus
new test.

I've also fixed a typo that annoys me whenever I look at the XML test results,
and removed a KnownFailure for a test that passes (and has been passing for
some time).

Bug: 779
aa2efed064dd616ca6f6a108c2e134bb561e3de7 22-Sep-2009 Ben Cheng <bccheng@google.com> Implemented a new scheduler and FP register allocator.

Improved performance by 50% over existing JIT for some FP benchmarks.
1bf686bdd014a8794b0bf143fac3600a4e5ff24c 25-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am ac60268a: (-s ours) am f1823804: Merge change 26285 into eclair

Merge commit 'ac60268af417d3a9a948309798d92196a958bc75'

* commit 'ac60268af417d3a9a948309798d92196a958bc75':
Use native code to convert strings to IP addresses.
46acbb5027e54430eaaf30bc25b1a64253dd74a2 25-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26934

* changes:
Fix 32-bit int shifted >= 32 bits in SSLInputStream.
c59454539052b7dfa2c22dbe3906c30d8a05469c 25-Sep-2009 Elliott Hughes <enh@google.com> Fix 32-bit int shifted >= 32 bits in SSLInputStream.

This code isn't actually called by us, but it's public API.

Bug: 2099901
a97f4af5c5ae189b73e966eca7b05ca7d321f7ef 25-Sep-2009 Andy McFadden <fadden@android.com> am bb710e32: Remove ((noreturn)) from dvmAbort().

Merge commit 'bb710e3294c57587f327c5e365353af81aa2cb5f' into eclair-plus-aosp

* commit 'bb710e3294c57587f327c5e365353af81aa2cb5f':
Remove ((noreturn)) from dvmAbort().
4dca874c9ec1131e751155f29a22e5435c40f24c 24-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26920

* changes:
Fix gcc complaint.
f7c41beb42c33ac21b5d452f2de3cf54b05f142a 24-Sep-2009 Andy McFadden <fadden@android.com> Fix gcc complaint.
52ea70728c63edc13138204024225f81ac817434 24-Sep-2009 Andy McFadden <fadden@android.com> Remove ((noreturn)) from dvmAbort().

Functions that could call dvmAbort() from more than one place were
merging the calls together, which is great until you need to decode a
native stack trace.

For 2144313.
16aadb7ecbae072b22e4c1316f4a9db3f429d7cc 23-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26371

* changes:
Fix right shift by constant 0 in Jit. Bug #2135879
6290e793f9eedc2cb2ab8880079fd5cc81f4850a 23-Sep-2009 Andy McFadden <fadden@android.com> am 5c6fee52: am 40f3271c: More doc changes.

Merge commit '5c6fee520e29bcd589b5ab310194ca9773332eba'

* commit '5c6fee520e29bcd589b5ab310194ca9773332eba':
More doc changes.
7e190a3d8e529b69e0c34c4e8c59e8ea3bc5dd0e 23-Sep-2009 Andy McFadden <fadden@android.com> am 8db3bd6e: am 9ae00645: Merge change 26280 into eclair

Merge commit '8db3bd6ec5e242d05488c2c175c90d6b5d535a43'

* commit '8db3bd6ec5e242d05488c2c175c90d6b5d535a43':
Another doc update.
2f8278483c24d456df23dd34eb61cf6b9659462b 23-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26453

* changes:
Fix Formatter.format's handling of Formattable.
e91a2292587166ced88980859003bfb0f9466a3c 23-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am f1823804: Merge change 26285 into eclair

Merge commit 'f182380424709227a08f7d84056209be0952d06d' into eclair-plus-aosp

* commit 'f182380424709227a08f7d84056209be0952d06d':
Use native code to convert strings to IP addresses.
58ce46500546bde5134892fc863f70e1003db951 23-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26285 into eclair

* changes:
Use native code to convert strings to IP addresses.
36422f8bc768bf311c24d09061ead69a5d6dee43 19-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Use native code to convert strings to IP addresses.

1. Add an ipStringToByteArray method to the OSNetworkSystem interface and
provide a native implementation for it.
2. Change InetAddress to use the new method.
3. Remove a mid-sized chunk of Inet6Util, which is now redundant.
4. Remove the KnownFailure annotations from the InetAddress, InetAddress and
Inet6Address tests that expected 1.2.3, 1.3 and 3 to be valid IPv4
addresses. These tests now pass again.
5. Removed an unused native method.
6. Added a comment to the top of the native socket implementation to the effect
that the file is significantly different from harmony.

Change-Id: I3665f82b00ebc089e9133cc6166dda5a99fa10e4
961bc15c7cfbaff952ee4ff2b33542ec4c92d21e 22-Sep-2009 Elliott Hughes <enh@google.com> Fix Formatter.format's handling of Formattable.

This doesn't make much difference to performance, but it is
slightly faster and I think it reads better too. Proof of the
latter is the fact that the rewritten form accidentally fixed
bug 1767: the old code was storing up literal text until after
handling the next format specifier, which is wrong if the
format specifier has side effects caused by the use of
Formattable.

(I don't plan on doing any more on the performance bug for now,
though I note that %g allocates and manipulates BigDecimal
instances, which would be worth looking at when we get round to
the bug that causes it to fail a harmony test.)

Bug: 1476, 1767
8ebf4b88dcc640fceb7172430833ea03bd219f30 22-Sep-2009 Andy McFadden <fadden@android.com> am 40f3271c: More doc changes.

Merge commit '40f3271c2dd386878c9a180462c75c890913e9b4' into eclair-plus-aosp

* commit '40f3271c2dd386878c9a180462c75c890913e9b4':
More doc changes.
fb2bd21624d9bdc86357829d3c161bf1211952a2 22-Sep-2009 Andy McFadden <fadden@android.com> am 9ae00645: Merge change 26280 into eclair

Merge commit '9ae0064588a6f922834c8998ef91f04a0d19b1cc' into eclair-plus-aosp

* commit '9ae0064588a6f922834c8998ef91f04a0d19b1cc':
Another doc update.
690026c07186784238c25be15e5b859df245340f 22-Sep-2009 Andy McFadden <fadden@android.com> More doc changes.

Some content changes inspired by external developer feedback, plus some
corrections of long-standing typos.
1f4f3ab43006ab967db6f9583b97bfe1e47a7001 22-Sep-2009 Elliott Hughes <enh@google.com> Fix useDaylightTime for zh_TW (and other locales).

TimeZone.useDaylightTime shouldn't report whether a locale has *ever* used DST,
but whether a locale uses DST "these days". Taiwan is an example supported
locale that historically used DST but hasn't used it since 1980.

Bug: 877
6d62fc954dacc2c131afbe3023865f81496f04a9 22-Sep-2009 Bill Buzbee <buzbee@google.com> Fix right shift by constant 0 in Jit. Bug #2135879
56c7e9a1fe51ac3843be2608d320a61818c7cba3 22-Sep-2009 Joshua Bloch <jjb@google.com> am 4b8fbfe9: am 51ccfdb5: Merge change 26318 into eclair

Merge commit '4b8fbfe9f7dcd8cfa796f968b9feaadb3c72661c'

* commit '4b8fbfe9f7dcd8cfa796f968b9feaadb3c72661c':
Fixed LinkedHashMap bug 2121546
0797a4a5aa02c6cc39e019be698f5ab1f080894f 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26280 into eclair

* changes:
Another doc update.
d6d8984b92d7e1996e9c32ea9cc5d80e72e436e7 22-Sep-2009 Joshua Bloch <jjb@google.com> am 51ccfdb5: Merge change 26318 into eclair

Merge commit '51ccfdb54990e2c30bc3057e8f18ee760c7eee41' into eclair-plus-aosp

* commit '51ccfdb54990e2c30bc3057e8f18ee760c7eee41':
Fixed LinkedHashMap bug 2121546
fef31bc6c07ef8f73f49f8b3f792dd6135e9f7e6 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26318 into eclair

* changes:
Fixed LinkedHashMap bug 2121546 Also made minor improvements in LinkedHashMap and NegativeCache. (The "opportunities for improvement" were discovered while investigating the bug.)
8eaac1f50aac4d323afc3b6f463ddca3252cb991 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26288

* changes:
Cleaning up PipedInputStream.
79f15e4c9e756ff9001cc038886ee1813c40fc00 21-Sep-2009 Joshua Bloch <jjb@google.com> Fixed LinkedHashMap bug 2121546
Also made minor improvements in LinkedHashMap and NegativeCache.
(The "opportunities for improvement" were discovered while investigating the bug.)
94ae8880a089881f45d7fb3ac91da1e6cf53d00c 22-Sep-2009 Jesse Wilson <jessewilson@google.com> Cleaning up PipedInputStream.

In particular, fixing a problem where the reader thread fails
as soon as the writer thread exists, even if there is data left
for the reader thread to read. Similarly, the writer fails fast
even when the buffer has space remaining.

Also fixing some concurrency issues by making readers and writers
release each other more aggressively.
c04f4be7b8d31dead9e8a2026677b643ce72991d 22-Sep-2009 Bob Lee <crazybob@crazybob.org> am 158135f4: am 2317d8dd: Merge change 26055 into eclair

Merge commit '158135f49f5372f24557d9d1e0917fd746acf6f2'

* commit '158135f49f5372f24557d9d1e0917fd746acf6f2':
Replaced an O(N) algorithm with an O(1) algorithm. This shaves off 2/3 of the server cert checking time or ~200ms on Sapphire. This is in preparation for tripling the number of certs in an upcoming change.
41d0468ff31355e2fbfa2384eec5ef82ea08f633 22-Sep-2009 Bob Lee <crazybob@crazybob.org> am 2317d8dd: Merge change 26055 into eclair

Merge commit '2317d8dd084c260712ae50c42024c57825da1472' into eclair-plus-aosp

* commit '2317d8dd084c260712ae50c42024c57825da1472':
Replaced an O(N) algorithm with an O(1) algorithm. This shaves off 2/3 of the server cert checking time or ~200ms on Sapphire. This is in preparation for tripling the number of certs in an upcoming change.
43b135400965df6e7efe7e11013580b79e062953 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26055 into eclair

* changes:
Replaced an O(N) algorithm with an O(1) algorithm. This shaves off 2/3 of the server cert checking time or ~200ms on Sapphire. This is in preparation for tripling the number of certs in an upcoming change.
490b429c061e6854b4368082e35d44f9d9deb3c5 22-Sep-2009 Andy McFadden <fadden@android.com> Another doc update.

Emphasized the need for global ref with FindClass. Stated that JNI_OnLoad
is optional. Added note about FindClass and class loaders.
0520b0d4a00d130edf02f36b3272b528fc46f4e2 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26247

* changes:
Consistently use Formatter's cached NumberFormat.
3555da51fb9740500d2921f1296def13e7433778 22-Sep-2009 David 'Digit' Turner <digit@google.com> am baa78bce: am bdfa9937: Merge change 25979 into eclair

Merge commit 'baa78bce6683560b4f9dca3b71e33d90d2d0cf29'

* commit 'baa78bce6683560b4f9dca3b71e33d90d2d0cf29':
Allow dalvik pre-optimization to run in ARMv7 emulator.
e2be629494b5f39d9d2da14a85cecdfa145f8bca 22-Sep-2009 David 'Digit' Turner <digit@google.com> am bdfa9937: Merge change 25979 into eclair

Merge commit 'bdfa9937a8fc8230ca109774ccc1eafaa20ba1a7' into eclair-plus-aosp

* commit 'bdfa9937a8fc8230ca109774ccc1eafaa20ba1a7':
Allow dalvik pre-optimization to run in ARMv7 emulator.
df171045ac05ae14a273331d4cc552fd6c632fcb 21-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25979 into eclair

* changes:
Allow dalvik pre-optimization to run in ARMv7 emulator.
ad03d85c7d8ece608a5e47192cc8efec77528f20 20-Sep-2009 David 'Digit' Turner <digit@google.com> Allow dalvik pre-optimization to run in ARMv7 emulator.

This sad hack is used to allow the Dex preopt pass to run properly
in ARMv7 emulation mode. Without it, the function dvmComputeWidths()
aborts the VM in ways that are hard to properly understand.

This issue has been discussed extensively with fadden, which provided
the patch. It seems that adding both log lines fixes it, but only using
one will not. I'm suspecting an emulation bug, or even worse, a C compiler
bug that would generate invalid machine code.

NOTE: The dex pre-optimization pass of user builds requires to run
the DexOpt in the emulator for all -user builds. While this patch
might not fix the underlying issue, it allows us to generate these
images correctly (along with a few other system hacks).
f1bb2987c2072d5fc9d962ed17b6d2f9cfdd6fd4 21-Sep-2009 Elliott Hughes <enh@google.com> Consistently use Formatter's cached NumberFormat.

%f is a lot more expensive than it should be because we're not using the cached
NumberFormat (as we are for %d). Running the microbenchmark I added to the
bug (times in ms, on a Cortex A8):

old new
new Formatter %f 1732 811
String.format %d 635 651
String.format %f 1752 900
reuse Formatter %f 1521 188
Double.toString + 149 148
Double.toString append 33 33
StringBuilder.append 143 139

Bug: 1476
dec2213b655287198c6ecfd28c2dc98b65a8ccb0 21-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25926

* changes:
Manual merge of eclair change I26548922 into master.
abb3b3e2df173467553355bc1e1db5488f6dbb7b 21-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26044 into donut-gms

* changes:
Remove tests.api.java.io.FileTest#test_delete as known failure.
336da3d36a07a513a193dcb135d2daa002b265a8 21-Sep-2009 Bob Lee <crazybob@crazybob.org> Replaced an O(N) algorithm with an O(1) algorithm. This shaves off 2/3 of the server cert checking time or ~200ms on Sapphire. This is in preparation for tripling the number of certs in an upcoming change.
be5f80b163fb3af5be33bb938b2e374a21bb8ef2 21-Sep-2009 Brett Chabot <brettchabot@android.com> Remove tests.api.java.io.FileTest#test_delete as known failure.

BUG 2133089
c3c51e1867caf30bfd5e8931f62a39e7dcab8d8d 20-Sep-2009 Jesse Wilson <jessewilson@google.com> Adding checks for already-closed ZIP files.

See bug 1635955.
ba7b6d180ec457c31151377d3ef6b7b4cb8b2241 19-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Manual merge of eclair change I26548922 into master.
0b270a394b4640bca8cecca18ed18ebe9fb4af42 19-Sep-2009 Andy McFadden <fadden@android.com> am 0f117a58: am c7659ec1: Various minor changes to Dalvik documentation.

Merge commit '0f117a580d22e6f68a6fb821e6cbc8c67389e8de'

* commit '0f117a580d22e6f68a6fb821e6cbc8c67389e8de':
Various minor changes to Dalvik documentation.
45fe68250f4d379462cb0a236330a35b09360845 19-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Merge commit 'fc8ccda5' into manualmerge
39849e425ef31d587fc4fb97af05667a766964df 19-Sep-2009 Andy McFadden <fadden@android.com> am c7659ec1: Various minor changes to Dalvik documentation.

Merge commit 'c7659ec11fb9993f8c1f89e6c72f569da5504052' into eclair-plus-aosp

* commit 'c7659ec11fb9993f8c1f89e6c72f569da5504052':
Various minor changes to Dalvik documentation.
28ea7b5a006d3adae89cdfe814954907f53e57fd 19-Sep-2009 Andy McFadden <fadden@android.com> Various minor changes to Dalvik documentation.

Some updates for Eclair, some minor fixes.
c02a5f903458eea4cca57680e0493c86345d0be4 18-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 5415f434: Merge change 25603 into eclair

Merge commit '5415f4344b4c9b9186e291909d5f369b6435011e' into eclair-plus-aosp

* commit '5415f4344b4c9b9186e291909d5f369b6435011e':
Use native code to convert IP addresses to strings.
bfe19f96bead604ddc1c448d953ba1986f0a4a22 18-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25603 into eclair

* changes:
Use native code to convert IP addresses to strings.
63b01160ce9e2892d1069ec89474726284872f17 18-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Use native code to convert IP addresses to strings.

- Add a byteArrayToIpString method to the INetworkSystem interface and implement
it in native code
- Fix the native code so it does better error reporting
- Change InetAddress's getHostAddress, getHostName and getCanonicalHostName
methods to use it and remove the IPv4-only Java implementations
- Remove Inet6Util.createIPAddrStringFromByteArray
- Fix InetAddress so getByAddress(null) throws UnknownHostException instead of
NullPointerException for compatibility with the RI.

Change-Id: I26548922e9eed63b295173456183c4ab3ce20718
5708eb55176f7b417e86059550df7d40efc6760e 18-Sep-2009 Jesse Wilson <jessewilson@google.com> am 52176e28: am 8aad9a92: Merge change 24897 into eclair

Merge commit '52176e2898f94f874d3f1ca62d70d6878ef62532'

* commit '52176e2898f94f874d3f1ca62d70d6878ef62532':
First cut at a tool to perform automated syncs from Harmony to Dalvik.
e0fc8a31312eb5595bcbb25af0558b5f1388ca0c 18-Sep-2009 Jesse Wilson <jessewilson@google.com> am 8aad9a92: Merge change 24897 into eclair

Merge commit '8aad9a92ff05b12d3ab930de29a47f29ab6ea9b0' into eclair-plus-aosp

* commit '8aad9a92ff05b12d3ab930de29a47f29ab6ea9b0':
First cut at a tool to perform automated syncs from Harmony to Dalvik.
9a0c7dfe8d4ce9f8454d8aac6f469dcd9298bbe5 18-Sep-2009 Jesse Wilson <jessewilson@google.com> am 40e5e99e: am 7f331f3e: Fixing available() and close() for archive streams.

Merge commit '40e5e99e5d19b9f2ff4cd26deeb141bc3d7f9df9'

* commit '40e5e99e5d19b9f2ff4cd26deeb141bc3d7f9df9':
Fixing available() and close() for archive streams.
f618e01435d170280a9676db42c8be8c1fb606cd 18-Sep-2009 Wei Huang <weih@google.com> am 518c44cb: am eea407c0: Merge change 25361 into eclair

Merge commit '518c44cb3e250e7b8dc91ad4b3c03a970a84793b'

* commit '518c44cb3e250e7b8dc91ad4b3c03a970a84793b':
modify gclog to take a procFilter argument, as well as the debug argument
77227245e3e70e229f51bb20adbb3301902f1bb4 18-Sep-2009 Jesse Wilson <jessewilson@google.com> am 17e591c5: am df60455b: Merge change 25126 into eclair

Merge commit '17e591c55554fc291fb8bd8a00bfdff0d6e46d11'

* commit '17e591c55554fc291fb8bd8a00bfdff0d6e46d11':
Update archive to the r802921 from Harmony.
5dd6d65cc3fa00e266fbb999b65fe96b7082505f 18-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24897 into eclair

* changes:
First cut at a tool to perform automated syncs from Harmony to Dalvik.
6699be1a9f9806959081ddbf591f95b065a48ff3 18-Sep-2009 Jesse Wilson <jessewilson@google.com> am 7f331f3e: Fixing available() and close() for archive streams.

Merge commit '7f331f3efb8c9c9879bf6b5154eaf2fdc849ab9b' into eclair-plus-aosp

* commit '7f331f3efb8c9c9879bf6b5154eaf2fdc849ab9b':
Fixing available() and close() for archive streams.
dcf67df71f700ac2a9effb808bb3cd71b57b0b50 18-Sep-2009 Elliott Hughes <enh@google.com> Fix heap corruption in nio select(2) code.

The active ingredient in this change is that we now test that the fd isn't -1,
used to represent an invalid fd. There's a race condition where a socket can be
closed between SelectorImpl.prepareChannels and the native code. This caused us
to write to the -1th element of a heap-allocated structure, leading to SIGSEGV.

I've also removed the check for an empty fd_set. It was broken before and will
never have fired, but I don't think it makes sense to fix it, given this race
condition.

The race can't be fixed because the implementation is documented to close the
socket channel and *then* cancel the selection key.

This patch also removes various dead functions and tidies up timeval usage.

Bug: 2093094
6676c49b634f246ac077f490e89675218a9854e7 17-Sep-2009 Jesse Wilson <jessewilson@google.com> Fixing available() and close() for archive streams.

This builds on work originally submitted to Harmony:
http://issues.apache.org/jira/browse/HARMONY-6210
The approach is to change available() to eagerly set eof to true,
rather than waiting for a read to fail.
bc501023dc7528a450ac2b83e34f330ce71b1171 17-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25532

* changes:
Don't throw OutOfMemoryError if it's already been thrown.
4db73802126933f4c8e0129f0604ef0219dba305 17-Sep-2009 Elliott Hughes <enh@google.com> Don't throw OutOfMemoryError if it's already been thrown.

If GetPrimitiveArrayCritical fails, it throws a suitable exception for us.

Also remove dead code.
7f9585c98ccb08f875c648b9b9365945275b86b6 17-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 120051b4: am b257c944: Report the cause of name lookup failures to Java land. The Java code already uses the exception thrown by getallbyname() as a chained exception.

Merge commit '120051b4744da2888756d901f9351ebd8e5ae467'

* commit '120051b4744da2888756d901f9351ebd8e5ae467':
Report the cause of name lookup failures to Java land. The Java code already
7560cc8e7b21bcb61aee946adbcf4e223b4139fe 17-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am a28e7d1a: am 1cf3dbce: Merge change 25160 into eclair

Merge commit 'a28e7d1a32d3883b5b279f5ddc8473e6bcbf6760'

* commit 'a28e7d1a32d3883b5b279f5ddc8473e6bcbf6760':
Make getHostByAddr and getHostByName return the proper object type.
70178994aa5a15b08f5b497cc74e40972c6b75d3 17-Sep-2009 Elliott Hughes <enh@google.com> am d9f8adbf: am cb12fde6: Make Resources preloadable again.

Merge commit 'd9f8adbfa912c24fb29d2a7e2ce7421a3f96ef82'

* commit 'd9f8adbfa912c24fb29d2a7e2ce7421a3f96ef82':
Make Resources$DefaultTimeZones preloadable again.
7e79f0612e49c8a327743f8ec07af74f65f303ee 17-Sep-2009 Wei Huang <weih@google.com> am eea407c0: Merge change 25361 into eclair

Merge commit 'eea407c0e9b0a92aa80891e94125a82fac6aa514' into eclair-plus-aosp

* commit 'eea407c0e9b0a92aa80891e94125a82fac6aa514':
modify gclog to take a procFilter argument, as well as the debug argument
6bf0fffce81d4da539a0005e67a8fbb535e80261 17-Sep-2009 Jesse Wilson <jessewilson@google.com> am df60455b: Merge change 25126 into eclair

Merge commit 'df60455be5d9d3069a07f293b4021dd184cddc2a' into eclair-plus-aosp

* commit 'df60455be5d9d3069a07f293b4021dd184cddc2a':
Update archive to the r802921 from Harmony.
ab02d34acbc864d75f7b143798e37e8d7d2d93c4 17-Sep-2009 Urs Grob <ursg@google.com> am 880e713e: am e937b1b2: Merge change 24110 into eclair

Merge commit '880e713e4811ab933571e722f5d84354baf42bae'

* commit '880e713e4811ab933571e722f5d84354baf42bae':
JarFile was not able to verify signed files with size 0.
a843bc558b6e83b3336a1e4cee27d43d9afc80a0 17-Sep-2009 Jean-Baptiste Queru <jbq@google.com> am 92f4f58d: merge from open-source master

Merge commit '92f4f58df944fd10c77e3d39d200c38c1491a941'

* commit '92f4f58df944fd10c77e3d39d200c38c1491a941':
Typo fix in javadoc
Cosmetic change: cst -> type in javadoc @param
5e3fe94e0aa385651599ee96022a6ccb6f806933 17-Sep-2009 Brett Chabot <brettchabot@android.com> Fix ClassLoaderTest to work on DEXPREOPT builds.

ie jars without classes.dex. BUG 2000272
2f1422f8938bf56b80a1e788c82b588c310bc1fb 17-Sep-2009 San Mehat <san@google.com> am 49f91878: am da03242f: Merge change 24840 into eclair

Merge commit '49f9187825d898e1b696449a0162fa8a616e0ba0'

* commit '49f9187825d898e1b696449a0162fa8a616e0ba0':
dalvik: Switch to common cutils sched_policy api
c162be819fe4753869c394633972a4ddf29201e1 17-Sep-2009 Jesse Wilson <jessewilson@google.com> am 3c9692c5: am 2d34a33a: Merge change 23348 into eclair

Merge commit '3c9692c5fa8b5232ceeafe0a3067c8bdbbf2f77a'

* commit '3c9692c5fa8b5232ceeafe0a3067c8bdbbf2f77a':
Update crypto package to Harmony r802921. Only Javadoc changes.
20718d24d5e535ee9ea9895f4b178df76c8c7daa 17-Sep-2009 Jesse Wilson <jessewilson@google.com> am cc4c69bc: am 023a932a: Merge change 24788 into eclair

Merge commit 'cc4c69bc91a8813e654095acf13e80a4d478eb24'

* commit 'cc4c69bc91a8813e654095acf13e80a4d478eb24':
Fixing the delimiter for the HTTP "Accept" header to be well-formed.
fbcccf65d479b2cbe05336ada8bdfcd0e3b1fe48 17-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25361 into eclair

* changes:
modify gclog to take a procFilter argument, as well as the debug argument
e9c0b31d9e2240675da9d5bc9598e290344f7a9c 16-Sep-2009 Wei Huang <weih@google.com> modify gclog to take a procFilter argument, as well as the debug argument

Change-Id: Id897031b76f41600b7665ae27521167c70092247
c173c4011b52c12b7e882a9eea189873fdd535ae 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25126 into eclair

* changes:
Update archive to the r802921 from Harmony.
53d769bb5d236658eb9bd210f0a10b75f41ba892 15-Sep-2009 Jesse Wilson <jessewilson@google.com> Update archive to the r802921 from Harmony.

This overdue update includes fixes for some Eclair bugs that I
originally submitted to Harmony: 1876785, 1635982, 1635998
57a4345ffb82ae6683e374b1355d5cebd0c2eb05 16-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am b257c944: Report the cause of name lookup failures to Java land. The Java code already uses the exception thrown by getallbyname() as a chained exception.

Merge commit 'b257c944e15c5be46a69143603426c7ce137e6a3' into eclair-plus-aosp

* commit 'b257c944e15c5be46a69143603426c7ce137e6a3':
Report the cause of name lookup failures to Java land. The Java code already
06b4fb7b3e249888d998bce5583ef2faa2b5a852 16-Sep-2009 Bob Lee <crazybob@crazybob.org> resolved conflicts for merge of 3eae287e to master
39787e7bf1ca666d311b493ce956534214345875 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25222

* changes:
Speling.
cd5afb70070fab31520ac552b26c783e72498617 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25156

* changes:
Phantom fun.
3ad8c8ed169b201327c75789484021b859d180cf 16-Sep-2009 Andy McFadden <fadden@android.com> Speling.
975f6cd1450c8acf5d7cce962ec145efdcaf01e5 16-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Report the cause of name lookup failures to Java land. The Java code already
uses the exception thrown by getallbyname() as a chained exception.

Change-Id: Ifc0d34102412ce0bf34715c9852bf751b420fb40
19c9c4f84a1150d6f2d03435f4610bd2f528d85e 16-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 1cf3dbce: Merge change 25160 into eclair

Merge commit '1cf3dbce0b94ae5427ef19422224627e20808364' into eclair-plus-aosp

* commit '1cf3dbce0b94ae5427ef19422224627e20808364':
Make getHostByAddr and getHostByName return the proper object type.
73c01bc777b7c5fe0697660e4c3e613b337b6707 16-Sep-2009 Elliott Hughes <enh@google.com> am cb12fde6: Make Resources preloadable again.

Merge commit 'cb12fde6b095f1cc38351d5998c10e1e7f0af25c' into eclair-plus-aosp

* commit 'cb12fde6b095f1cc38351d5998c10e1e7f0af25c':
Make Resources$DefaultTimeZones preloadable again.
5bbc811ee69d18623d8a9267c8c4f8f3067e3283 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25160 into eclair

* changes:
Make getHostByAddr and getHostByName return the proper object type.
ea56cb22848e7a0626e079b074118324f4f33ec6 16-Sep-2009 Elliott Hughes <enh@google.com> Make Resources$DefaultTimeZones preloadable again.

http://s9/81864 was a premature optimization that stopped the timezone data
being loaded in the zygote. So instead of paying the (admittedly large) time
and space costs once in the zygote, we now pay them once per application.

Revert the problematic parts of that change. Note that this isn't simply a
reverse patch:

1. I've changed the comment to make it clear that although
this *looks* like idiomatic lazy initialization, it's actually the opposite.
A comment to that effect might have prevented this code from being broken.

2. I've left the last two hunks of the original patch stand, because they
appear reasonable but unrelated.

Bug: 1941311, 1819285.
313ee7c1b275a8799a00b25e6ea2be610e12be29 16-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Make getHostByAddr and getHostByName return the proper object type.

Change-Id: I51c75205095b7fe093ccb4451bbf7cc6a287bc49
19fc38ddb025abed7726ae65be727d59e2ef8ecd 14-Sep-2009 Jesse Wilson <jessewilson@google.com> First cut at a tool to perform automated syncs from Harmony to Dalvik.

Much of the work of the tool is managing three versions of our code:
- the current Harmony code
- the current Dalvik code
- the common ancestor, an older version of Harmony

The tool calls out to the command line to perform the actual filesystem
work. Eventually I'd like to support all of our modules, and also
gathering diffs to send upstream to Harmony.
538d38b1c56606d1917fae4ddb15596289d53845 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24794

* changes:
Fix the final [mis]uses of iscopy.
cacc488bc2b0c40d71fd4b596e6be37a8813b877 12-Sep-2009 Elliott Hughes <enh@google.com> Fix the final [mis]uses of iscopy.

I finally got round to going through all the dalvik/libcore/ calls to the
following routines, in cases where the final argument ("iscopy") is non-NULL:

Get*ArrayElements
GetStringChars
GetStringUTFChars
GetStringCritical
Get*ArrayCritical

The calls in sqlite_jni.c were neither assuming that setting "iscopy" requests
a copy (a bug we've seen elsewhere), nor were they making use of the result.
I've changed these to pass NULL to make their lack of interest explicit. I've
also fixed a compiler warning (signed/unsigned comparison).

The ones in org_apache_harmony_luni_platform_OSFileSystem.cpp were genuine
errors. The author was under the misapprehension that iscopy == JNI_FALSE
implies that you do not need to call the corresponding "Release" function.
I've fixed those. (I haven't addressed the fact that readvImpl and writevImpl
differ by just one token, nor have I addressed the fact that -- in theory
though not with our current GC -- any of the GetIntArrayElements could fail.)
85e3cae1e024333964acdd280129fc554d3828a8 15-Sep-2009 Raphael <raphael@google.com> am 7962ad6a: am 00c464ff: Merge change 24751 into eclair

Merge commit '7962ad6a3154d86026a17be952295bdec64f1118'

* commit '7962ad6a3154d86026a17be952295bdec64f1118':
Windows SDK: add support for -J option to dx.bat
d28f885f11849c0aa937ddc0c97e6d10e65b3b10 15-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 60195db6: am 9ccfb95e: Merge change 24723 into eclair

Merge commit '60195db609e4f5125e39348651d7a06ff807cc96'

* commit '60195db609e4f5125e39348651d7a06ff807cc96':
Remove code duplication in InetAddress.getByAddress.
2d0da51bae662387dcc4bdd8c3b6f58bfd3dbdc0 15-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 08211fc1: am 1e49340a: Merge change 24320 into eclair

Merge commit '08211fc192db0bd48e78103678a902c32d67480d'

* commit '08211fc192db0bd48e78103678a902c32d67480d':
Simplify networking code initialization using static structures instead of code.
6471a25773956fab579a3ebed4db1c5b1f49ffe6 15-Sep-2009 Jesse Wilson <jessewilson@google.com> am 21d20097: am 173086a3: Merge change 24620 into eclair

Merge commit '21d20097e7a2015ac8fb55ff38e0242899b43936'

* commit '21d20097e7a2015ac8fb55ff38e0242899b43936':
Fix cert code to use the String form for TELETEX-encoded certs; see bug 2102191.
7d963717c63c8a26b5df249b5e613a89b8f7d923 15-Sep-2009 Urs Grob <ursg@google.com> am e937b1b2: Merge change 24110 into eclair

Merge commit 'e937b1b2d90dd9c1151f16af045c0fff1453c34e' into eclair-plus-aosp

* commit 'e937b1b2d90dd9c1151f16af045c0fff1453c34e':
JarFile was not able to verify signed files with size 0.
4f05f6abd9facd8fa92ae5392d225f478e76258a 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24110 into eclair

* changes:
JarFile was not able to verify signed files with size 0.
821fb0124bfc90ee849b08ff090387c532c4e55b 15-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
0dd45eab29e2c3025a6ec082672c645c4967347a 15-Sep-2009 San Mehat <san@google.com> am da03242f: Merge change 24840 into eclair

Merge commit 'da03242fe03a5ab342a6310b1e754e131ea628c9' into eclair-plus-aosp

* commit 'da03242fe03a5ab342a6310b1e754e131ea628c9':
dalvik: Switch to common cutils sched_policy api
322aa31527b120cdb16ea3471f3c4bcbe7685a5a 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24840 into eclair

* changes:
dalvik: Switch to common cutils sched_policy api
6e2b0b5478c1f08b798aafba6c4d60392195d5ac 15-Sep-2009 Jesse Wilson <jessewilson@google.com> Update regex to Harmony r802921.

Notable changes:
- Reordered methods to be consistent with Harmony. Although our
implementations are significantly different, this will make
it easier to track Javadoc and signature changes.
- Some unchecked exceptions removed from method signatures
- Changed StringBuffer use to StringBuilder
- Changed PatternSyntaxException description field to 'desc' for
serialization compatibility.

commit deba65caf92e9c5b77b29bcf9dcb26d637af90cb
Merge: b239d4a 457c6cc
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 09:23:58 2009 -0700

Merge branch 'regex_802921' into regex_dalvik

Conflicts:
libcore/regex/.classpath
libcore/regex/.settings/org.eclipse.jdt.core.prefs
libcore/regex/build.xml
libcore/regex/src/main/java/java/util/regex/AbstractCharClass.java
libcore/regex/src/main/java/java/util/regex/AbstractSet.java
libcore/regex/src/main/java/java/util/regex/CIDecomposedCharSet.java
libcore/regex/src/main/java/java/util/regex/CharClass.java
libcore/regex/src/main/java/java/util/regex/DecomposedCharSet.java
libcore/regex/src/main/java/java/util/regex/IntArrHash.java
libcore/regex/src/main/java/java/util/regex/JointSet.java
libcore/regex/src/main/java/java/util/regex/Lexer.java
libcore/regex/src/main/java/java/util/regex/MatchResult.java
libcore/regex/src/main/java/java/util/regex/Matcher.java
libcore/regex/src/main/java/java/util/regex/Pattern.java
libcore/regex/src/main/java/java/util/regex/PatternSyntaxException.java
libcore/regex/src/main/java/java/util/regex/SequenceSet.java
libcore/regex/src/main/java/java/util/regex/UCIDecomposedCharSet.java
libcore/regex/src/main/java/java/util/regex/UCISequenceSet.java
libcore/regex/src/main/java/org/apache/harmony/regex/internal/nls/messages.properties
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/Matcher2Test.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/MatcherTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/ModeTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/Pattern2Test.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternErrorTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternSyntaxExceptionTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/ReplaceTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/SplitTest.java

commit b239d4a17905f9e0b609eeaa12de9dfba433c44a
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 08:37:21 2009 -0700

Dalvik Regex

commit 457c6cca0629f20b118cd128353439763e40fe9e
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 08:36:40 2009 -0700

Regex 802921

commit 51f4e67d71a8f92d8efa073fab32c540f6015594
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 08:34:57 2009 -0700

Regex 527399
b926cc80dc67239db4d614004342af4dc4a4bef4 14-Sep-2009 Jesse Wilson <jessewilson@google.com> am 2d34a33a: Merge change 23348 into eclair

Merge commit '2d34a33a3d14ceda01c9bddfd957c3b9d3c55aa1' into eclair-plus-aosp

* commit '2d34a33a3d14ceda01c9bddfd957c3b9d3c55aa1':
Update crypto package to Harmony r802921. Only Javadoc changes.
26aceaa14ca6a6e1a1e6c144cd42d2dc6e28a135 14-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23348 into eclair

* changes:
Update crypto package to Harmony r802921. Only Javadoc changes.
89e898cd0d471dec75ad5effa9e14b2e75964dac 14-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24714

* changes:
Remove duplicate copies of ICU error translation.
a8d1b581ab82a64c68e4100536a592fea04d7c76 14-Sep-2009 Jesse Wilson <jessewilson@google.com> am 023a932a: Merge change 24788 into eclair

Merge commit '023a932add8087c96d59ea74135b28bb5e1ac16d' into eclair-plus-aosp

* commit '023a932add8087c96d59ea74135b28bb5e1ac16d':
Fixing the delimiter for the HTTP "Accept" header to be well-formed.
bb7357b6ea9d88a94f11a8a0116db63f7f92a19b 14-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24788 into eclair

* changes:
Fixing the delimiter for the HTTP "Accept" header to be well-formed.
b878b4a8c302e2663d2ac33fac16792cb29ce835 12-Sep-2009 San Mehat <san@google.com> dalvik: Switch to common cutils sched_policy api

Signed-off-by: San Mehat <san@google.com>
512961ba37c77d4c088c2fe035886ed4fe9ce73e 12-Sep-2009 Bob Lee <crazybob@google.com> am efa0dcd5: Merge change 24508 into eclair

Merge commit 'efa0dcd52c030d2ace844070902979dd09e2c881' into eclair-plus-aosp

* commit 'efa0dcd52c030d2ace844070902979dd09e2c881':
Addressed reviewer comments.
a9ad4ce251910eb0c8909fe067455b94c48a8085 12-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24508 into eclair

* changes:
Addressed reviewer comments.
007f145442016e6093a5fd1d7cc922323d315e00 12-Sep-2009 Carl Shapiro <cshapiro@google.com> Remove unused WITH_OBJECT_HEADERS code.
424d0be14ca1136c33ff426270793aec37683b14 12-Sep-2009 Raphael <raphael@google.com> am 00c464ff: Merge change 24751 into eclair

Merge commit '00c464ff62c27dc12ef70f3b2d97e8b356ad21e0' into eclair-plus-aosp

* commit '00c464ff62c27dc12ef70f3b2d97e8b356ad21e0':
Windows SDK: add support for -J option to dx.bat
b12e0dc609a38de4cb5c0bce60e9c5fa52507b8e 12-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24751 into eclair

* changes:
Windows SDK: add support for -J option to dx.bat
60138fe2a926339d493b51a199bada9d2271cbe9 12-Sep-2009 Jesse Wilson <jessewilson@google.com> Fixing the delimiter for the HTTP "Accept" header to be well-formed.

See bug 2107897.
cc192f6ede17705b0b59cf5bfefc689cb0b1781e 11-Sep-2009 Raphael <raphael@google.com> Windows SDK: add support for -J option to dx.bat

BUG 1999508

Change-Id: I0c481d2cc0a96d1ca83aaa56c46c73eae17c2246
1f41b0fd502cf0c42ffae843816063e4c64dd37b 12-Sep-2009 Ben Cheng <bccheng@google.com> Correct a typo in THUMB opcode name.
14097aea04e137e01ffa480ff91a0cd782517a06 12-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24758

* changes:
Model resource usage for each Thumb/Thumb2 instrution.
cc5b1a433fa5c9fac53fbb0568993814ceeb5d77 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24759

* changes:
Comment out debugging output.
eef8eb5e5ebd6a9ce0d7e1ee7397847d38637f29 11-Sep-2009 Ben Cheng <bccheng@google.com> Model resource usage for each Thumb/Thumb2 instrution.

This is an mid-point checkin to avoid future merge nightmare for the register
allocator work.
0817e9c1397b5c730936638139aee8e03c7659a7 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24610

* changes:
Several small native code fixes.
1252886ccf7b7f73363d16c15c694b280e123dff 11-Sep-2009 Elliott Hughes <enh@google.com> Comment out debugging output.

The other two copies of this code have this line commented out, and I assume
it's only active here by accident.
7aa800e526584e0eb23cddd2a10d45dc0a2a5afc 10-Sep-2009 Bob Lee <crazybob@google.com> Addressed reviewer comments.
3582a316aa897c4d30295e9e75349a65a1ca3aa8 11-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 9ccfb95e: Merge change 24723 into eclair

Merge commit '9ccfb95e597a93020f2731c734c2a65e743fb601' into eclair-plus-aosp

* commit '9ccfb95e597a93020f2731c734c2a65e743fb601':
Remove code duplication in InetAddress.getByAddress.
02be2d3864238f67a3f0ec9c6d5449bfceea065d 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24723 into eclair

* changes:
Remove code duplication in InetAddress.getByAddress.
0e17adedb762644c0894ea38e721d2043907824b 11-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Remove code duplication in InetAddress.getByAddress.

Change-Id: Id2d72572fbe5b26ff4be9a2c959c41a48b859ea0
5dfa014cc4462f8dbea6b3bd8553972dc4f98d0d 11-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 1e49340a: Merge change 24320 into eclair

Merge commit '1e49340a8249b147a2bb4f12e242ac5aedbddece' into eclair-plus-aosp

* commit '1e49340a8249b147a2bb4f12e242ac5aedbddece':
Simplify networking code initialization using static structures instead of code.
ab2c4bb8e41c2d714dc7e67f86811b034fd1b1b0 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24320 into eclair

* changes:
Simplify networking code initialization using static structures instead of code. Fix an uninitialized variable.
fcdc869bfb4d2edb84f743f63fe1300d25f2af83 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24634

* changes:
Remove NativeBN_bn2twosComp.
7eceb404422965282a390849c055febabd1eef06 11-Sep-2009 Jesse Wilson <jessewilson@google.com> am 173086a3: Merge change 24620 into eclair

Merge commit '173086a363fd54e9e905409d3db06b01dbd0ccbd' into eclair-plus-aosp

* commit '173086a363fd54e9e905409d3db06b01dbd0ccbd':
Fix cert code to use the String form for TELETEX-encoded certs; see bug 2102191.
35da50c3c52acf9474572eae6aa11ce4ba76fe10 11-Sep-2009 Elliott Hughes <enh@google.com> Remove duplicate copies of ICU error translation.

For want of an 'extern "C"', we seem to have grown several duplicates of
icu4jni_error.
368e9a68e31e578dfa8e62aef16c68edc374b8c5 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24620 into eclair

* changes:
Fix cert code to use the String form for TELETEX-encoded certs; see bug 2102191.
defde5a8ca8cf33c030c4a83ddae257989bcf82b 11-Sep-2009 Elliott Hughes <enh@google.com> Remove NativeBN_bn2twosComp.

NativeBN_bn2twosComp doesn't do what it claims to: it's an exact copy of
NativeBN_BN_bn2bin (observe which OpenSSL BN_ function it calls!), and -- from
the OpenSSL documentation -- that function "converts the absolute value of [its
argument] into big-endian form".

OpenSSL doesn't actually sport any appropriate function to call here, but
luckily this code isn't called anywhere, and so can be removed.

(BigInteger.toByteArray -- the most likely caller of this code -- seems to
do the right thing, using Java code to make a big-endian two's-complement
byte[]. Likewise, the conversion from a big-endian two's-complement byte[]
for the corresponding BigInteger constructor looks right too, using native
code to twiddle the bits itself.)
2a4575be2146cff05be4094107bb48aed652d407 11-Sep-2009 Jesse Wilson <jessewilson@google.com> Fix cert code to use the String form for TELETEX-encoded certs; see bug 2102191.
772ad018ee3a899e1196c7d48ca52e61c0fb22f0 09-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Simplify networking code initialization using static structures instead of code.
Fix an uninitialized variable.

Change-Id: Id9064a185525bfe072b244ea3d2acb56e5e185cd
7e4218608358fabb58f07ea89edfa0ec7ee5d759 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24595

* changes:
Display additional information on stack overflow.
bc14bfe17109053e2d7a6dd76435c1ce7adbc223 11-Sep-2009 San Mehat <san@google.com> am 060ed889: am 20677ed1: dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug

Merge commit '060ed88949321e193e95976c41e647cb46b9778b'

* commit '060ed88949321e193e95976c41e647cb46b9778b':
dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug
658e6d1e10dad060bb824cce67cca445362e56f5 11-Sep-2009 San Mehat <san@google.com> am 20677ed1: dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug

Merge commit '20677ed1a7114a2aa51086d5097f6328cd4fb94d' into eclair-plus-aosp

* commit '20677ed1a7114a2aa51086d5097f6328cd4fb94d':
dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug
f33128ede8422d48ac35962274c67b6bfc573606 11-Sep-2009 Elliott Hughes <enh@google.com> Several small native code fixes.

* Don't throw OutOfMemoryError manually in Adler32/CRC32: the VM does that for
us if GetPrimitiveArrayCritical needs, but fails, to allocate memory.

* Don't use anything but NULL for the "iscopy" argument to Get*ArrayElements.
The other users of this argument (removed earlier this week) were under the
mistaken impression that it's an "in" parameter rather than an "out" parameter,
and since these remaining callers aren't actually using the result, let's
remove the cruft.

* Move the null check in harmony_io_openImpl for "path" to come *before* the
first dereference.

* Make harmony_io_ttyReadImpl just delegate to harmony_io_readImpl since,
apart from the zero-length read check, they were identical.

* Remove the dead function throwIOExceptionStr from the OpenSSLSessionImpl
native code.

Tested on sapphire-eng.
84cfe547eee3fe0b7cf13f290722fe8d5b8445fe 10-Sep-2009 San Mehat <san@google.com> dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug

Signed-off-by: San Mehat <san@google.com>
0a8e663fc9da0e6aa67b05730e58e19de2d73f37 11-Sep-2009 Andy McFadden <fadden@android.com> Display additional information on stack overflow.

This required passing an additional argument into dvmHandleStackOverflow,
which is called directly from mterp. Fortunately the method being
called is sitting in a register for both ARM and x86, so this is a
fairly simple change.

For internal bug 2110533.
4f9e3b6025ea83b5b7495a528c44c284e8f43658 10-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24439

* changes:
Fix unnecessary GetPrimitiveArrayCritical users.
ea83fd7d09b8b74f28f8e7fe2567318a656b1aca 10-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24470

* changes:
Use GetStringRegion/GetStringUTFRegion where appropriate.
cc3a73c74f516fb86fa33062d8b1e2a0eb60278b 10-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24537

* changes:
Add support for profiling when loop optimizations are active
f20ef3ea778a15ab207f0ffc10a1c7fc06baf3e5 10-Sep-2009 Elliott Hughes <enh@google.com> Use GetStringRegion/GetStringUTFRegion where appropriate.

Note that the changes to DecimalFormatInterface.cpp and RBNFInterface.cpp
are just minor tidy-ups, fixing an issue where the early error exit wouldn't
call ReleaseStringChars to undo the earlier call to GetStringChars. Also
remove a dead function and fix a comment in ExpatParser.cpp.

Tested on sapphire-eng.

Bug: 1639287
461903d84ff9afe52a1b5241548412bb3f817aa2 10-Sep-2009 Bill Buzbee <buzbee@google.com> Add support for profiling when loop optimizations are active
0cfba0d09007752cbe9ce2a7c2245a289ea9d67a 10-Sep-2009 San Mehat <san@google.com> am 95934be3: am 03c7547c: Merge change 24425 into eclair

Merge commit '95934be333d74ac48c19ae40a8207361a913516a'

* commit '95934be333d74ac48c19ae40a8207361a913516a':
vm: Add support for using scheduler policies instead of cgroups
678b02634e5ffb4ea34050e34d44197db96a2cfe 10-Sep-2009 San Mehat <san@google.com> am 03c7547c: Merge change 24425 into eclair

Merge commit '03c7547c40e6fc5b29b929b64f114e2dd3894e8e' into eclair-plus-aosp

* commit '03c7547c40e6fc5b29b929b64f114e2dd3894e8e':
vm: Add support for using scheduler policies instead of cgroups
74108be9ac626437284f14f3c0fbf5541ca3e599 10-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24425 into eclair

* changes:
vm: Add support for using scheduler policies instead of cgroups
ad208170b7dff6890d734bf598f84b45ffef1209 05-Sep-2009 Andy McFadden <fadden@android.com> Phantom fun.

Mark PhantomReference fields as volatile, since the GC can alter them.

Added a simple phantom reference exerciser.
1ff704d7e22997ef257b2dee98944841ac4da3d0 09-Sep-2009 San Mehat <san@google.com> vm: Add support for using scheduler policies instead of cgroups

Signed-off-by: San Mehat <san@google.com>
bd271954ce15712635389a15faf5a6de010b851e 10-Sep-2009 Ben Cheng <bccheng@google.com> am 2e7b31f3: (-s ours) am 500464de: DO NOT MERGE: Do not enable JIT_TUNING and assertion by default with JIT.

Merge commit '2e7b31f368be01437da025f2e12dc4dcbff46f5d'

* commit '2e7b31f368be01437da025f2e12dc4dcbff46f5d':
DO NOT MERGE: Do not enable JIT_TUNING and assertion by default with JIT.
b79e79c519e562795485a39981734cf4221a1d5d 10-Sep-2009 Ben Cheng <bccheng@google.com> am 500464de: DO NOT MERGE: Do not enable JIT_TUNING and assertion by default with JIT.

Merge commit '500464deb29dc8bfc7b5e51ab0fdffa6fa51b5d7' into eclair-plus-aosp

* commit '500464deb29dc8bfc7b5e51ab0fdffa6fa51b5d7':
DO NOT MERGE: Do not enable JIT_TUNING and assertion by default with JIT.
870a68c05a220f3dde859fe717f6160f9822ff47 10-Sep-2009 Elliott Hughes <enh@google.com> Fix unnecessary GetPrimitiveArrayCritical users.

Tested on sapphire-eng.

Bug: 1639287
72233103f168d25bee99584908136aa574b25795 09-Sep-2009 Ben Cheng <bccheng@google.com> DO NOT MERGE: Do not enable JIT_TUNING and assertion by default with JIT.
e5b3984348118f56601ed49ee2addd21aa765185 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24402

* changes:
Use GetByteArrayRegion instead of GetByteArrayElements.
f7b58322e2eeb87dc16d9a82a7f835ba8a7308c5 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24309

* changes:
Use Get*ArrayRegion/Set*ArrayRegion instead of Get*ArrayElements.
ee85eeead110ec10b447e3facfad79c0dea44006 09-Sep-2009 Elliott Hughes <enh@google.com> Use Get*ArrayRegion/Set*ArrayRegion instead of Get*ArrayElements.

This fixes all instances in the networking code, but doesn't address similar
patterns, nor non-networking code. This seemed like a reasonably-sized
meaningful chunk. Tested on sapphire-eng.

Bug: 1639287
58b300a99f2f64b469dc1600c0bc432644aadcdf 09-Sep-2009 Android Code Review <code-review@android.com> Merge change 11462

* changes:
Typo fix in javadoc
c0afecefd9fbe708a90169beba3a4bcf1bbd86a8 09-Sep-2009 Android Code Review <code-review@android.com> Merge change 11461

* changes:
Cosmetic change: cst -> type in javadoc @param
700b9d6e2c619c9ee1910b76d1b88947908bc5a0 09-Sep-2009 Elliott Hughes <enh@google.com> Use GetByteArrayRegion instead of GetByteArrayElements.

I've also cleaned up the two calls to free(3) in ubidi_close; the former had
an unnecessary NULL check, and the latter was indented as if it belonged to the
if (but didn't).

Tested on sapphire-eng.
067b76a0af3a303c405385b7ea6abdc8c1561540 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24308

* changes:
Remove @KnownFailure from a working test.
4d8d6b97d89bc341b2b93df8c2983a78eccec82c 09-Sep-2009 Urs Grob <ursg@google.com> am ad8efa12: am 7f5e6aa1: Merge change 23896 into eclair

Merge commit 'ad8efa123b7133895b9c198a84a32020869eba18'

* commit 'ad8efa123b7133895b9c198a84a32020869eba18':
InputStreamReader forgets to convert incomplete multibyte characters at the buffer boundary
d00c551249f449728e66d569a02c12ca93595731 09-Sep-2009 Android Git Automerger <android-git-automerger@android.com> resolved conflicts for merge of 9b5264c8 to master
6ed3788233adc8a4ed2b79f74de8a76aa083d919 09-Sep-2009 Elliott Hughes <enh@google.com> Remove @KnownFailure from a working test.

The bug causing this test's known failure was fixed 2009-07-16.

Bug: 1481226
d4c1ab3183ebbc120a51934086656159c42e4c4f 08-Sep-2009 Urs Grob <ursg@google.com> am 7f5e6aa1: Merge change 23896 into eclair

Merge commit '7f5e6aa1503d13300c277225bf4eea9e5a11495a' into eclair-plus-aosp

* commit '7f5e6aa1503d13300c277225bf4eea9e5a11495a':
InputStreamReader forgets to convert incomplete multibyte characters at the buffer boundary
eb98d2638ef1858a3d42c3a8fdd63d23788796ba 08-Sep-2009 Bob Lee <crazybob@crazybob.org> am 9dc72a3c: Modified Thread.c to allow sampling profiler thread in zygote. Added a function that queries the native thread status. Modified the profiler to sample every thread at a fixed interval instead of adjusting the delay based on the number of threads. This wil

Merge commit '9dc72a3c54af7201b6b85d96dba23a5f85309d9b' into eclair-plus-aosp

* commit '9dc72a3c54af7201b6b85d96dba23a5f85309d9b':
Modified Thread.c to allow sampling profiler thread in zygote. Added a function that
bf4f39965d9729f076fe6948434aa30c640956f1 08-Sep-2009 Elliott Hughes <enh@google.com> Add missing calls to ReleaseByteArrayElements.

Without this fix, the two new tests cause the VM to abort like this:

W/dalvikvm( 386): ReferenceTable overflow (max=1024)
W/dalvikvm( 386): Last 10 entries in JNI pinned array reference table:
W/dalvikvm( 386): 1014: 0x4038e018 cls=[B (1044 bytes)
W/dalvikvm( 386): 1015: 0x4038e430 cls=[B (1044 bytes)
W/dalvikvm( 386): 1016: 0x4038e848 cls=[B (1044 bytes)
W/dalvikvm( 386): 1017: 0x4038ec60 cls=[B (1044 bytes)
W/dalvikvm( 386): 1018: 0x4038f078 cls=[B (1044 bytes)
W/dalvikvm( 386): 1019: 0x4038f490 cls=[B (1044 bytes)
W/dalvikvm( 386): 1020: 0x4038f8a8 cls=[B (1044 bytes)
W/dalvikvm( 386): 1021: 0x4038fcc0 cls=[B (1044 bytes)
W/dalvikvm( 386): 1022: 0x403900d8 cls=[B (1044 bytes)
W/dalvikvm( 386): 1023: 0x403904f0 cls=[B (1044 bytes)
W/dalvikvm( 386): JNI pinned array reference table summary (1024 entries):
W/dalvikvm( 386): 1024 of [B 1044B (1024 unique)
W/dalvikvm( 386): Memory held directly by native code is 1069056 bytes
E/dalvikvm( 386): Failed adding to JNI pinned array ref table (1024 entries)
I/dalvikvm( 386): "main" prio=5 tid=3 RUNNABLE
I/dalvikvm( 386): | group="main" sCount=0 dsCount=0 s=N obj=0x4001e2b8 self=0xb488
I/dalvikvm( 386): | sysTid=386 nice=0 sched=0/0 cgrp=default handle=-1344005452
I/dalvikvm( 386): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeinit(Native Method)
I/dalvikvm( 386): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.init(OpenSSLSocketImpl.java:126)
I/dalvikvm( 386): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.<init>(OpenSSLSocketImpl.java:158)
I/dalvikvm( 386): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketFactoryImpl.createSocket(OpenSSLSocketFactoryImpl.java:61)
I/dalvikvm( 386): at tests.api.javax.net.ssl.SSLSocketTest.test_creationStressTest(SSLSocketTest.java:359)
...

Tested on sapphire-eng.

No bug; found by inspection when investigating bug 1639287.
d9ad9ecc49872df3357d30a652348e8709ca6211 08-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24055

* changes:
Fix Package.isCompatibleWith.
8ff699be38871a905aa8d06fbb4f6aec1b535054 08-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23734

* changes:
Updated expected outputs in dalvik benchmarks. Improved debugging output and added spin loop on detection of divergence in self verification tool.
28365620d5172af06ee42cb9dd7a1dfc3c08cd43 08-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24036

* changes:
Reduce a log message, stifle a gcc warning.
8ee757c7017e0d4fe71b4fffbb0850938dccad9b 07-Sep-2009 Urs Grob <ursg@google.com> JarFile was not able to verify signed files with size 0.

This regressen was introduced by harmony optimizations done in HARMONY-4569.
This fix allows for jar entries of size 0 to also get successfully validated.
A regression test has been added to JarFileTest.
095c660d2bcaf9f835840b5b2068ba787330b635 07-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23896 into eclair

* changes:
InputStreamReader forgets to convert incomplete multibyte characters at the buffer boundary
f1d3f3c70e012090d7d924dbe76bccb3bed9fac8 05-Sep-2009 Bob Lee <crazybob@crazybob.org> Modified Thread.c to allow sampling profiler thread in zygote. Added a function that
queries the native thread status. Modified the profiler to sample every thread at
a fixed interval instead of adjusting the delay based on the number of threads. This
will make it easier to compare results across apps. Added ability to shut down
the profiler thread. Added code to track whether the method was a leaf or a
caller.
47e30ec90389344f6927ddc907b2c75b53a92571 05-Sep-2009 Elliott Hughes <enh@google.com> Fix Package.isCompatibleWith.

Note that this doesn't help us because to Dalvik, all packages have
version "0.0".

Bug: 2099697
1e45120982ae005c392d80ecec0b19e6a4994086 05-Sep-2009 Andy McFadden <fadden@android.com> Reduce a log message, stifle a gcc warning.
f5b5389750d88bfa67580385cbfdfe4cb90e362d 22-Aug-2009 Ben Cheng <bccheng@google.com> Updated expected outputs in dalvik benchmarks. Improved debugging output and added spin loop on detection of divergence in self verification tool.
16ccfbe4fc690edc5f55c5a087ceb61b1d11bfc6 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23992

* changes:
Inline Sqrt bug fix; add support for fp/gen register copies
31818de1ec3add2d2c42ab44b57b7112f188e9ab 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am ed216806: am f2f6f8b8: Document that createSocketFileDescriptor throws an exception on failure.

Merge commit 'ed21680602783711c7dac9675ae65ad329a050c1'

* commit 'ed21680602783711c7dac9675ae65ad329a050c1':
Document that createSocketFileDescriptor throws an exception on failure.
e60fbb9e95db83d5574ab98fe8dbe46dcfa80655 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am f2f6f8b8: Document that createSocketFileDescriptor throws an exception on failure.

Merge commit 'f2f6f8b8d47733be0f291612730690b5ce379257' into eclair-plus-aosp

* commit 'f2f6f8b8d47733be0f291612730690b5ce379257':
Document that createSocketFileDescriptor throws an exception on failure.
e160fbf3a669741b9b9204b3ba2a3ec42419a623 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Document that createSocketFileDescriptor throws an exception on failure.

Change-Id: Ic002b4dc8c40d798316afbab7a14bd81593e2541
61b337e6515e4171c0fdb70b062527135cb80f44 31-Aug-2009 Bill Buzbee <buzbee@google.com> Inline Sqrt bug fix; add support for fp/gen register copies
c805bbfe6b5f6bdc67948332bcf659163fc2c1ed 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am f751aeb1: am 3a4e4249: Merge change 23983 into eclair

Merge commit 'f751aeb179cd531df610689217f36e760bd25639'

* commit 'f751aeb179cd531df610689217f36e760bd25639':
If an error occurs when creating a socket, don't call any more JNI methods
20353ff08ef9910dad324af024cf4726eb637e86 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 3a4e4249: Merge change 23983 into eclair

Merge commit '3a4e4249032009b175ba6a3d0bcc682f97e5e650' into eclair-plus-aosp

* commit '3a4e4249032009b175ba6a3d0bcc682f97e5e650':
If an error occurs when creating a socket, don't call any more JNI methods
966cce452338d8029ad4fb102cd8c622231440d2 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23983 into eclair

* changes:
If an error occurs when creating a socket, don't call any more JNI methods (thus causing a segfault) but return immediately.
2050f2b9de4c7a0549b188f1c42b88ce7a63d31b 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> If an error occurs when creating a socket, don't call any more JNI methods
(thus causing a segfault) but return immediately.

Change-Id: I7d05997e38e631200542f85eba16b854d488d584
6103254cc2c4caca86a613f699c3df581c657e00 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 4fa89f9d: am 09302d63: Merge change 23572 into eclair

Merge commit '4fa89f9d9af93f9d3b9125430160818f456aed5a'

* commit '4fa89f9d9af93f9d3b9125430160818f456aed5a':
Do not check hash codes against golden values. Instead, spot check that they
ebf53b283e5a134be86024a283cb2660fdbf0b0a 04-Sep-2009 Jean-Baptiste Queru <jbq@google.com> am 614eb57f: merge from open-source master

Merge commit '614eb57fffcc5abe5c933452d297fdaa4ae98176'

* commit '614eb57fffcc5abe5c933452d297fdaa4ae98176':
54199345cfc855690a3a102339f9aa600fa7c0b3 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am d312ee58: am 02e04f8b: Merge change 22871 into eclair

Merge commit 'd312ee58231aeb808cbed1083801413ba080ceac'

* commit 'd312ee58231aeb808cbed1083801413ba080ceac':
More InetAddress fixes.
ba9048f7e32031f851f60409f123eaf0ce06eb29 04-Sep-2009 Jesse Wilson <jessewilson@google.com> am 5765fb64: (-s ours) am 365f9fbb: Merge change 23918 into eclair

Merge commit '5765fb64620d955a0bcadd14cb35f9a95df69072'

* commit '5765fb64620d955a0bcadd14cb35f9a95df69072':
do not merge: Josh's optimized HashMap and Hashtable
1fd19445c3a24b05f13e253747a52e4dbc6f9727 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 09302d63: Merge change 23572 into eclair

Merge commit '09302d631adbdc36edd3ec961149b8f0fe1931f1' into eclair-plus-aosp

* commit '09302d631adbdc36edd3ec961149b8f0fe1931f1':
Do not check hash codes against golden values. Instead, spot check that they
d7d33056f58e9654c53b517e2e1843ae4c6ff50f 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23572 into eclair

* changes:
Do not check hash codes against golden values. Instead, spot check that they differ for different addresses and obvious values (e.g., 0 or 1) that might be returned by buggy implementations.
4dc5e32309903388446ace7ae3a243e254f85141 04-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
13b8f08853a60d29e3c510e1c8bba96983b92d84 02-Sep-2009 Urs Grob <ursg@google.com> InputStreamReader forgets to convert incomplete multibyte characters at the buffer boundary

BUG=2033986
7e07cbca605fddf3afbd9298e4d35f27a90e69ca 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 02e04f8b: Merge change 22871 into eclair

Merge commit '02e04f8b1e41ce341fd765a4f9086f4b2360cfd0' into eclair-plus-aosp

* commit '02e04f8b1e41ce341fd765a4f9086f4b2360cfd0':
More InetAddress fixes.
f00e1dea4cc1245cba826471c9dcc842de08e902 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22871 into eclair

* changes:
More InetAddress fixes.
d737f199129ca3f8291220528dcb6614defba9bf 27-Aug-2009 Lorenzo Colitti <lorenzo@google.com> More InetAddress fixes.

1. Make sure getHostByAddrImpl actually throws UnknownHostException: set
NI_NAMEREQD when calling getnameinfo to ensure it will fail if the IP
address looked up does not have a name associated with it, and pass this
exception back to the Java code. That way, the UnknownHostException passed
back to the Java code has information on what went wrong.
2. Remove superfluous logging on reverse lookups in the C code.

Change-Id: Ie195ce1f12e7b43fbf75f494002804f9db68fd8c
15a19008aa6b2fe2787256c6b20e4523a64fe667 04-Sep-2009 Jesse Wilson <jessewilson@google.com> am 365f9fbb: Merge change 23918 into eclair

Merge commit '365f9fbb3e5444f046ee569f168a231c8106ec09' into eclair-plus-aosp

* commit '365f9fbb3e5444f046ee569f168a231c8106ec09':
do not merge: Josh's optimized HashMap and Hashtable
271269b5724b934d77626dd89d2b95cf1c67b7a8 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23918 into eclair

* changes:
do not merge: Josh's optimized HashMap and Hashtable
0c8932c0317e11f57d21554dc0467752dfabc339 03-Sep-2009 Jesse Wilson <jessewilson@google.com> do not merge: Josh's optimized HashMap and Hashtable

This commit squashes two changes from master. The only
additional change is that I've added "implements Map<K, V>"
to the signature of HashMap, which is necessary until we
get Josh's Apicheck fix in the master branch.

commit 5483e8adebc09b7bc58eb568793868388c240116
Author: Joshua Bloch <jjb@google.com>
Date: Mon Aug 31 17:55:19 2009 -0700

Replaced existing Hashtable implementation with fast one.

commit 90dbc304086ba1f6f51ed0d0b3a7368cc0fd46cb
Author: Joshua Bloch <jjb@google.com>
Date: Thu Aug 20 17:34:39 2009 -0700

Replace existing HashMap and LinkedHashMap with faster versions.
Among other optimizations, the new versions do no division and
use a high-quality defensive hash function to minimize the odds
of poor key distribution among buckets. Third time's a charm.
1f307d8cc1a84ee3682ac77b23487ef3eab71469 03-Sep-2009 Ben Cheng <bccheng@android.com> Various bug fixes for armv5 and loop/self-verification co-existence.

Fixed the out-of-bound problem for RegImm compares when imm cannot be encoded.

Renamed insertRegRegCheck to genRegRegCheck to be consistent with other code.

Fixed the loop formation code to break out of the tight loop in each iteration
when self-verification is enabled.
9ba217c20e4e52f1a8280f8c1321c97f6f38cc7b 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23876

* changes:
Update the JIT to use the new indexAt() inline native routines.
b5c739e5d3f0cdb322af37acca976137db60361b 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23891

* changes:
Minor fix.
f312888d349f968293656e505b556845e4e8aa50 03-Sep-2009 Andy McFadden <fadden@android.com> Minor fix.

Added a couple of allocation failure checks. For 1332727.
3d54b0ef57e38ba09ec3ee529e48f9aa70129658 03-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from donut
ca301644a382a0bf8e5ca00b6c9069f93c971cbf 03-Sep-2009 Elliott Hughes <enh@google.com> am 01d30203: am 16866f9c: Merge change 23208 into eclair

Merge commit '01d30203b6dc48ed648778f8c93767ed65fe2ac4'

* commit '01d30203b6dc48ed648778f8c93767ed65fe2ac4':
Fix Class.getConstructor("whatever", (Class[]) null).
dfbed1ca1f4d482196582d883e2d68870829d985 03-Sep-2009 Elliott Hughes <enh@google.com> am 16866f9c: Merge change 23208 into eclair

Merge commit '16866f9c1fcfe8b1d1103424ed901517ce60883a' into eclair-plus-aosp

* commit '16866f9c1fcfe8b1d1103424ed901517ce60883a':
Fix Class.getConstructor("whatever", (Class[]) null).
d1c661917181e7347ae1409eb43657fd579ec84e 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23208 into eclair

* changes:
Fix Class.getConstructor("whatever", (Class[]) null).
df892db98c506d7076d9efe7db1867edaa89ee02 03-Sep-2009 Bill Buzbee <buzbee@google.com> Update the JIT to use the new indexAt() inline native routines.
1bd1009465c3bccfe6bdad082259101b6a0e8dbd 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23857

* changes:
Add inline version of String.indexOf().
40c253144651bdc573782621acf38c681c1cf24a 29-Aug-2009 Elliott Hughes <enh@google.com> Fix Class.getConstructor("whatever", (Class[]) null).

The RI treats null parameterTypes the same as an empty array.
This behavior is specified for getMethod, but only implied for getConstructor.

This patch:

* Fixes getConstructor.
* Improves javadoc for Class methods taking "Class... parameterTypes".
* Adds tests for both getConstructor and getMethod (which was already correct).
* Removes a line of debugging output to System.out.

Bug: 1824973
240e67d86b2f7a2560b284d38ab61f69e2be29b1 03-Sep-2009 Andy McFadden <fadden@android.com> Add inline version of String.indexOf().

This provides an inline-native version of String.indexOf(int) and
String.indexOf(int, int), i.e. the functions that work like strchr().
Has a fairly solid impact on specific benchmarks. Might give a boost to
an app somewhere.

Added some indexOf tests to 020-string.

Added hard-coded field offsets for String. These are verified during
startup. Improves some of our String micro-benchmarks by ~10%.
f0e7e217c0154c8e547c390d97809c94fa826e27 03-Sep-2009 Nagendra Modadugu <ngm@google.com> am 0cc58014: am 74d65387: Update GlobalSign Root CA to one that expires in 2028.

Merge commit '0cc580141a3139d80ef683c197158d1ebb7b8ccc'

* commit '0cc580141a3139d80ef683c197158d1ebb7b8ccc':
Update GlobalSign Root CA to one that expires in 2028.
b0645a7937a6f950f3808372783e26e9d080d05c 03-Sep-2009 Nagendra Modadugu <ngm@google.com> am 74d65387: Update GlobalSign Root CA to one that expires in 2028.

Merge commit '74d65387394ddf242ca01db4e4d88e6374c74ed4' into eclair-plus-aosp

* commit '74d65387394ddf242ca01db4e4d88e6374c74ed4':
Update GlobalSign Root CA to one that expires in 2028.
83738043c0ac795e2b81b2c5340a6f494f7ed85e 03-Sep-2009 Nagendra Modadugu <ngm@google.com> Update GlobalSign Root CA to one that expires in 2028.
4bd0ff26ed980ef05e1fe795c83c742adc9eb18a 03-Sep-2009 Nagendra Modadugu <ngm@google.com> am 7fe78291: am ce90979d: Merge change 23480 into eclair

Merge commit '7fe782915199f03ec8e7484d2db35c9cb948770c'

* commit '7fe782915199f03ec8e7484d2db35c9cb948770c':
Add Entrust root and intermediate certs.
9ec4aa1d748709195fa0c063a38ffe8b33a0f3fb 03-Sep-2009 Nagendra Modadugu <ngm@google.com> am ce90979d: Merge change 23480 into eclair

Merge commit 'ce90979d06ae2e0832f3a11a7a4a0c0281de75df' into eclair-plus-aosp

* commit 'ce90979d06ae2e0832f3a11a7a4a0c0281de75df':
Add Entrust root and intermediate certs.
3de9755c3416958982ac0162d43d2dff3d02d56a 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23480 into eclair

* changes:
Add Entrust root and intermediate certs.
682dcadbea7ddbdc32735d307cfebc534c01bb3b 03-Sep-2009 Elliott Hughes <enh@google.com> am df836c58: am 91191d3e: Merge change 22771 into eclair

Merge commit 'df836c58934fd1f7ec4d7de57cd1c053399f89bb'

* commit 'df836c58934fd1f7ec4d7de57cd1c053399f89bb':
Don't mutate input in OSMemory.setIntArray/setShortArray.
8764e716570d31642f947c1c76fd8730108fdc84 03-Sep-2009 Elliott Hughes <enh@google.com> am 91191d3e: Merge change 22771 into eclair

Merge commit '91191d3e208d3a7c25c03e40018729877f954926' into eclair-plus-aosp

* commit '91191d3e208d3a7c25c03e40018729877f954926':
Don't mutate input in OSMemory.setIntArray/setShortArray.
edce8a7f2567a68e4451b8b8958fcfd1368f3ddd 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22771 into eclair

* changes:
Don't mutate input in OSMemory.setIntArray/setShortArray.
c1f4b78ff205c883203c01644416f33b4eaa9350 03-Sep-2009 Andy McFadden <fadden@android.com> am 2df5f5af: (-s ours) am 4b8a5527: Merge change 23683 into eclair

Merge commit '2df5f5af614570c109403b0f912faf71868f204a'

* commit '2df5f5af614570c109403b0f912faf71868f204a':
DO NOT MERGE: Fix implementation of Thread.isAlive
baaf6d58df70c71d96ecf0e417f6ef576dbdb336 03-Sep-2009 Andy McFadden <fadden@android.com> am 4b8a5527: Merge change 23683 into eclair

Merge commit '4b8a55273e4cdc9d17d5c0e4eef1384ceb20c571' into eclair-plus-aosp

* commit '4b8a55273e4cdc9d17d5c0e4eef1384ceb20c571':
DO NOT MERGE: Fix implementation of Thread.isAlive
cf96a0cb29e55de3e73810ba1fdc1233ecab246c 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23683 into eclair

* changes:
DO NOT MERGE: Fix implementation of Thread.isAlive
f6314afd6db242f7bf8c59048a34d0e101747b9d 03-Sep-2009 Marco Nelissen <marcone@google.com> am 13f08cfc: am ed974e9e: Merge change 23724 into eclair

Merge commit '13f08cfc9e6919e39ef5036715c3dc171d4f698b'

* commit '13f08cfc9e6919e39ef5036715c3dc171d4f698b':
Fix x86 call bridge
c8566d484e564012ea1cf4d02d04f81124a587d3 03-Sep-2009 Marco Nelissen <marcone@google.com> am ed974e9e: Merge change 23724 into eclair

Merge commit 'ed974e9ea6220b363d2f093d1a2d4bf4b8f3c429' into eclair-plus-aosp

* commit 'ed974e9ea6220b363d2f093d1a2d4bf4b8f3c429':
Fix x86 call bridge
3e038680d7d61493a2ceb9262cb0b591a2970cb2 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23724 into eclair

* changes:
Fix x86 call bridge
f4d1dd4aac2e861a71e005ff3b142029afc63b60 03-Sep-2009 Marco Nelissen <marcone@google.com> Fix x86 call bridge
56a4f7f4c74be84fb5e81445484cf13ab4e57a82 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23384

* changes:
Replaced existing Hashtable implementation with fast one.
8c1be4ab1f1921f37ff3ca544177fef655569ec1 03-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 304fcb28: am 793f1423: Merge change 23675 into eclair

Merge commit '304fcb28d7b63219e9d52423d08a41b4f6be5df1'

* commit '304fcb28d7b63219e9d52423d08a41b4f6be5df1':
Unbreak Dalvik VM initialization due to a native method that expects to be able
da633611e27b9792e12bf83f07b54f5f5c93c507 03-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 793f1423: Merge change 23675 into eclair

Merge commit '793f142323c49818ad022a05cbfb931eefddae5b' into eclair-plus-aosp

* commit '793f142323c49818ad022a05cbfb931eefddae5b':
Unbreak Dalvik VM initialization due to a native method that expects to be able
2e5a4b48995f85277aa203bebc7a287506d4a14b 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23675 into eclair

* changes:
Unbreak Dalvik VM initialization due to a native method that expects to be able to call an InetAddress no-args constructor. This constructor was package-private and was recently removed. This method is horribly complex and should go away (it probably doesn't even work, due to it attempting to find a class known as "java/io/FielDescriptor"), but it needs to be fixed for now.
166be2e00b763f171cde79b350860846cc2f4f6b 02-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Unbreak Dalvik VM initialization due to a native method that expects to be able
to call an InetAddress no-args constructor. This constructor was package-private
and was recently removed. This method is horribly complex and should go away (it
probably doesn't even work, due to it attempting to find a class known as
"java/io/FielDescriptor"), but it needs to be fixed for now.

Change-Id: I56b1e0e07f4c97af82e0a4f14dfd2d8af16f6b82
a3e715aa8bdafb2b89233794d82254e92bd5282a 01-Sep-2009 Andy McFadden <fadden@android.com> DO NOT MERGE: Fix implementation of Thread.isAlive

(Originally submitted to master, pulling over to eclair.)

The implementation of Thread.isAlive() was changed a couple of years ago
as part of the Harmony integration. The current version relies on the
thread's state value to determine its liveness, but the VM was
originally written to be like JamVM, which used GNU ClassPath, which
uses the vmThread field instead.

It looks like it's possible for Thread.join() to get stuck, though as
far as I know this hasn't happened.

We're essentially rolling back part of 27774-p9. For internal bug 1966734.

Also: ran --update on test 044.
69b5083874168b81762277d3b4979da4bc6ce2ca 02-Sep-2009 Elliott Hughes <enh@google.com> am d679e7fb: am c19d2a1d: Fix two calls to memset(3) whose arguments were reversed.

Merge commit 'd679e7fbd5df8f178aa0751e107580fc51208373'

* commit 'd679e7fbd5df8f178aa0751e107580fc51208373':
Fix two calls to memset(3) whose arguments were reversed.
ea9c537a6e8587e511094a74da8c1646232164da 02-Sep-2009 Elliott Hughes <enh@google.com> am c19d2a1d: Fix two calls to memset(3) whose arguments were reversed.

Merge commit 'c19d2a1d798d8626f196d878abcf23a14bee40af' into eclair-plus-aosp

* commit 'c19d2a1d798d8626f196d878abcf23a14bee40af':
Fix two calls to memset(3) whose arguments were reversed.
764dcac17de6e01b08e791c33231286f9c7afd12 02-Sep-2009 Elliott Hughes <enh@google.com> Fix two calls to memset(3) whose arguments were reversed.

External bug 3358 reported the libcore/x-net instance. Manual inspection
turned up another instance in vm, but nothing else in the dalvik package.

Tested by booting sapphire-eng and running the x-net tests.

Bug: 1999244
a8f2ed47689ab8a6faf4c1580c70bae59c34d0df 02-Sep-2009 Elliott Hughes <enh@google.com> am 0882b5ca: am 5ca29e14: Merge change 22629 into eclair

Merge commit '0882b5ca179ef3ce0db861b99a038f45fa00a47d'

* commit '0882b5ca179ef3ce0db861b99a038f45fa00a47d':
Fix "whatever".split(".") behavior.
1efc397bb4cc452f60a350a042d3e4f64fef9bf5 02-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23662

* changes:
Reorder the taken and fallthroug blocks and remove dead branches.
ce775f21b66a00b7cb928b09e1973936715c9bdb 02-Sep-2009 Ben Cheng <bccheng@android.com> Reorder the taken and fallthroug blocks and remove dead branches.

In the following example the order of the two chaining cells are reversed and
the branch to 0x42862ce4 is eliminated.

Before:

D/dalvikvm( 1550): 0x42862cd6 (000a): bge 0x42862cdc
D/dalvikvm( 1550): 0x42862cd8 (000c): b 0x42862ce4
D/dalvikvm( 1550): Exception_Handling:
D/dalvikvm( 1550): 0x42862cda (000e): .align4
D/dalvikvm( 1550): -------- chaining cell (normal): 0x0049
D/dalvikvm( 1550): 0x42862cdc (0010): ldr r0, [r6, #76]
D/dalvikvm( 1550): 0x42862cde (0012): blx r0
D/dalvikvm( 1550): 0x42862ce0 (0014): data 0x1512(5394)
D/dalvikvm( 1550): 0x42862ce2 (0016): data 0x42a7(17063)
D/dalvikvm( 1550): 0x42862ce4 (0018): .align4
D/dalvikvm( 1550): -------- chaining cell (normal): 0x001d
D/dalvikvm( 1550): 0x42862ce4 (0018): ldr r0, [r6, #76]
D/dalvikvm( 1550): 0x42862ce6 (001a): blx r0
D/dalvikvm( 1550): 0x42862ce8 (001c): data 0x14ba(5306)
D/dalvikvm( 1550): 0x42862cea (001e): data 0x42a7(17063)

After:

D/dalvikvm( 367): 0x42865c92 (000a): bge 0x42865c9c
D/dalvikvm( 367): Exception_Handling:
D/dalvikvm( 367): 0x42865c94 (000c): .align4
D/dalvikvm( 367): -------- chaining cell (normal): 0x001d
D/dalvikvm( 367): 0x42865c94 (000c): ldr r0, [r6, #76]
D/dalvikvm( 367): 0x42865c96 (000e): blx r0
D/dalvikvm( 367): 0x42865c98 (0010): data 0x44ba(17594)
D/dalvikvm( 367): 0x42865c9a (0012): data 0x42a7(17063)
D/dalvikvm( 367): 0x42865c9c (0014): .align4
D/dalvikvm( 367): -------- chaining cell (normal): 0x0049
D/dalvikvm( 367): 0x42865c9c (0014): ldr r0, [r6, #76]
D/dalvikvm( 367): 0x42865c9e (0016): blx r0
D/dalvikvm( 367): 0x42865ca0 (0018): data 0x4512(17682)
D/dalvikvm( 367): 0x42865ca2 (001a): data 0x42a7(17063)
2071db359da6acbced778f9e6ee9eef150dab184 02-Sep-2009 Elliott Hughes <enh@google.com> am 5ca29e14: Merge change 22629 into eclair

Merge commit '5ca29e142032b6559824e4f7d526bbc037b90c93' into eclair-plus-aosp

* commit '5ca29e142032b6559824e4f7d526bbc037b90c93':
Fix "whatever".split(".") behavior.
e3e459d53048ed40b02ed0933d38343274473184 02-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22629 into eclair

* changes:
Fix "whatever".split(".") behavior.
0028f07b1dbb16b60e2f77a353e7808c8f93be16 02-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Do not check hash codes against golden values. Instead, spot check that they
differ for different addresses and obvious values (e.g., 0 or 1) that might be
returned by buggy implementations.

Change-Id: I4c093ccc268c91fc256b4ba76e1243de2d27670d
27af74c454d10b48d13fbe6e4032932a22de7fb1 02-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 0f45017c: am 94e11fc4: InetAddress refactoring.

Merge commit '0f45017ce76906ed4c43b60a4538607e5171294f'

* commit '0f45017ce76906ed4c43b60a4538607e5171294f':
InetAddress refactoring.
5013b33dcc25d627a1ecfb5824ac12bc6a14c3eb 02-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 94e11fc4: InetAddress refactoring.

Merge commit '94e11fc41d9bb7648932a21be7fa895c2432f610' into eclair-plus-aosp

* commit '94e11fc41d9bb7648932a21be7fa895c2432f610':
InetAddress refactoring.
86bba0abe6eeb921badf390c9281b62dbdbc7660 01-Sep-2009 Joshua Bloch <jjb@google.com> Replaced existing Hashtable implementation with fast one.
ce2091027802ea55715652d06fa74d59d19c0848 01-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23487

* changes:
Fix implementation of Thread.isAlive().
ce8b09d2c97b42f9a231b539fa7234727c3d9607 26-Aug-2009 Lorenzo Colitti <lorenzo@google.com> InetAddress refactoring.

1. Refactor all protocol-specific methods from InetAddress into Inet[46]Address.
2. Move all protocol-specific constants from InetAddress into Inet[46]Address.

This change should have no effect on the stack's behaviour but makes it easy to
find parts of the code that still have dependencies on IPv4 so they can be
examined and fixed.

Change-Id: I70860ee04cf7c01bffaa35c8c64199f69d99826f
9a4464f0996f45674d1fda2ee6b3bcefb5767dcf 01-Sep-2009 Andy McFadden <fadden@android.com> Fix implementation of Thread.isAlive().

The implementation of Thread.isAlive() was changed a couple of years ago
as part of the Harmony integration. The current version relies on the
thread's state value to determine its liveness, but the VM was
originally written to be like JamVM, which used GNU ClassPath, which
uses the vmThread field instead.

It looks like it's possible for Thread.join() to get stuck, though as
far as I know this hasn't happened.

We're essentially rolling back part of 27774-p9. For internal bug 1966734.

Also: ran --update on test 044.
4983d870309449d82f0a589cfd1bb920d617fc31 01-Sep-2009 Nagendra Modadugu <ngm@google.com> Add Entrust root and intermediate certs.
2d4fa70bbc972d2071ba89178ef46bb77b17f381 01-Sep-2009 Jean-Baptiste Queru <jbq@google.com> am 9c92c48f: merge from open-source master

Merge commit '9c92c48fee7d97e9218e780d32b872eb97962629'

* commit '9c92c48fee7d97e9218e780d32b872eb97962629':
Add a bit-map encoding of Object-reference field offsets to ClassObject.
Be more POSIXly correct in the use of expr.
Fix broken link in docstring. issue 1194
libcore/.../rg_apache_harmony_xml_ExpatParser: in C++, the return type
589c7014f8550a3b23b875e87fa04fd4fee49be8 25-Aug-2009 Ben Cheng <bccheng@android.com> Implement SSA-based loop optimizations.

For traces of simple natural loops (ie no invokes/side exits) null and range
checks will be hoisted in to entry block.

For acyclic traces SSA representation will be formed but no optimizations are
applied (for now).

SSA representation will be printed with the normal verbose output. For example:

D/dalvikvm( 1248): Dumping LIR insns
D/dalvikvm( 1248): installed code is at 0x428559d4
D/dalvikvm( 1248): total size is 324 bytes
D/dalvikvm( 1248): 0x428559d4 (0000): data 0x012c(300)
D/dalvikvm( 1248): -------- entry offset: 0x002b
D/dalvikvm( 1248): -------- MIR_OP_NULL_N_RANGE_UP_CHECK
D/dalvikvm( 1248): 0x428559d6 (0002): ldr r0, [r5, #36]
D/dalvikvm( 1248): 0x428559d8 (0004): ldr r1, [r5, #12]
D/dalvikvm( 1248): 0x428559da (0006): cbz r0,0x42855a06
D/dalvikvm( 1248): 0x428559dc (0008): ldr r0, [r0, #8]
D/dalvikvm( 1248): 0x428559de (000a): subs r1, #1
D/dalvikvm( 1248): 0x428559e0 (000c): cmp r1, r0
D/dalvikvm( 1248): 0x428559e2 (000e): bge 0x42855a06
D/dalvikvm( 1248): -------- MIR_OP_NULL_N_RANGE_UP_CHECK
D/dalvikvm( 1248): 0x428559e4 (0010): ldr r0, [r5, #40]
D/dalvikvm( 1248): 0x428559e6 (0012): ldr r1, [r5, #12]
D/dalvikvm( 1248): 0x428559e8 (0014): cbz r0,0x42855a06
D/dalvikvm( 1248): 0x428559ea (0016): ldr r0, [r0, #8]
D/dalvikvm( 1248): 0x428559ec (0018): subs r1, #1
D/dalvikvm( 1248): 0x428559ee (001a): cmp r1, r0
D/dalvikvm( 1248): 0x428559f0 (001c): bge 0x42855a06
D/dalvikvm( 1248): -------- MIR_OP_NULL_N_RANGE_UP_CHECK
D/dalvikvm( 1248): 0x428559f2 (001e): ldr r0, [r5, #32]
D/dalvikvm( 1248): 0x428559f4 (0020): ldr r1, [r5, #12]
D/dalvikvm( 1248): 0x428559f6 (0022): cbz r0,0x42855a06
D/dalvikvm( 1248): 0x428559f8 (0024): ldr r0, [r0, #8]
D/dalvikvm( 1248): 0x428559fa (0026): cmp r1, r0
D/dalvikvm( 1248): 0x428559fc (0028): bge 0x42855a06
D/dalvikvm( 1248): -------- MIR_OP_LOWER_BOUND_CHECK
D/dalvikvm( 1248): 0x428559fe (002a): ldr r0, [r5, #44]
D/dalvikvm( 1248): 0x42855a00 (002c): cmp r0, #1
D/dalvikvm( 1248): 0x42855a02 (002e): blt 0x42855a06
D/dalvikvm( 1248): 0x42855a04 (0030): b 0x42855a08
D/dalvikvm( 1248): 0x42855a06 (0032): b 0x42855af0
D/dalvikvm( 1248): L0x002b:
D/dalvikvm( 1248): -------- MIR_OP_PHI
D/dalvikvm( 1248): -------- s20(v11_1) <- s11(v11_0) s46(v11_2)
D/dalvikvm( 1248): -------- dalvik offset: 0x002b @ aget-wide
D/dalvikvm( 1248): -------- s21(v12_1) s22(v13_1) <- s9(v9_0) s20(v11_1)
D/dalvikvm( 1248): 0x42855a08 (0034): ldr r2, [r5, #36]
D/dalvikvm( 1248): 0x42855a0a (0036): ldr r3, [r5, #44]
D/dalvikvm( 1248): 0x42855a0c (0038): adds r2, r2, #16
D/dalvikvm( 1248): 0x42855a0e (003a): lsls r3, r3, #3
D/dalvikvm( 1248): 0x42855a10 (003c): ldr r0, [r2, r3]
D/dalvikvm( 1248): 0x42855a12 (003e): adds r2, r2, #4
D/dalvikvm( 1248): 0x42855a14 (0040): ldr r1, [r2, r3]
D/dalvikvm( 1248): -------- dalvik offset: 0x002d @ aget-wide
D/dalvikvm( 1248): -------- s23(v14_1) s24(v15_1) <- s10(v10_0) s20(v11_1)
D/dalvikvm( 1248): 0x42855a16 (0042): ldr r3, [r5, #40]
D/dalvikvm( 1248): 0x42855a18 (0044): str r0, [r5, #48]
D/dalvikvm( 1248): 0x42855a1a (0046): ldr r0, [r5, #44]
D/dalvikvm( 1248): 0x42855a1c (0048): adds r3, r3, #16
D/dalvikvm( 1248): 0x42855a1e (004a): lsls r0, r0, #3
D/dalvikvm( 1248): 0x42855a20 (004c): str r1, [r5, #52]
D/dalvikvm( 1248): 0x42855a22 (004e): ldr r1, [r3, r0]
D/dalvikvm( 1248): 0x42855a24 (0050): adds r3, r3, #4
D/dalvikvm( 1248): 0x42855a26 (0052): ldr r2, [r3, r0]
D/dalvikvm( 1248): -------- dalvik offset: 0x002f @ add-double/2addr
D/dalvikvm( 1248): -------- s25(v12_2) s26(v13_2) <- s21(v12_1) s22(v13_1) s23(v14_1) s24(v15_1)
D/dalvikvm( 1248): 0x42855a28 (0054): str r1, [r5, #56]
D/dalvikvm( 1248): 0x42855a2a (0056): str r2, [r5, #60]
D/dalvikvm( 1248): 0x42855a2c (0058): vldr d1, [r5, #48]
D/dalvikvm( 1248): 0x42855a30 (005c): vldr d2, [r5, #56]
D/dalvikvm( 1248): 0x42855a34 (0060): vadd d0, d1, d2
D/dalvikvm( 1248): -------- dalvik offset: 0x0030 @ const/4
D/dalvikvm( 1248): -------- s27(v14_2) <-
D/dalvikvm( 1248): 0x42855a38 (0064): movs r2, #1
D/dalvikvm( 1248): -------- dalvik offset: 0x0031 @ sub-int
D/dalvikvm( 1248): -------- s28(v14_3) <- s20(v11_1) s27(v14_2)
D/dalvikvm( 1248): 0x42855a3a (0066): ldr r3, [r5, #44]
D/dalvikvm( 1248): 0x42855a3c (0068): subs r0, r3, r2
D/dalvikvm( 1248): -------- dalvik offset: 0x0033 @ aget-wide
D/dalvikvm( 1248): -------- s29(v14_4) s30(v15_2) <- s8(v8_0) s28(v14_3)
D/dalvikvm( 1248): 0x42855a3e (006a): ldr r3, [r5, #32]
D/dalvikvm( 1248): 0x42855a40 (006c): adds r3, r3, #16
D/dalvikvm( 1248): 0x42855a42 (006e): str r0, [r5, #56]
D/dalvikvm( 1248): 0x42855a44 (0070): lsls r0, r0, #3
D/dalvikvm( 1248): 0x42855a46 (0072): vstr d0, [r5, #48]
D/dalvikvm( 1248): 0x42855a4a (0076): ldr r1, [r3, r0]
D/dalvikvm( 1248): 0x42855a4c (0078): adds r3, r3, #4
D/dalvikvm( 1248): 0x42855a4e (007a): ldr r2, [r3, r0]
D/dalvikvm( 1248): -------- dalvik offset: 0x0035 @ add-double/2addr
D/dalvikvm( 1248): -------- s31(v12_3) s32(v13_3) <- s25(v12_2) s26(v13_2) s29(v14_4) s30(v15_2)
D/dalvikvm( 1248): 0x42855a50 (007c): str r1, [r5, #56]
D/dalvikvm( 1248): 0x42855a52 (007e): str r2, [r5, #60]
D/dalvikvm( 1248): 0x42855a54 (0080): vldr d1, [r5, #48]
D/dalvikvm( 1248): 0x42855a58 (0084): vldr d2, [r5, #56]
D/dalvikvm( 1248): 0x42855a5c (0088): vadd d0, d1, d2
D/dalvikvm( 1248): -------- dalvik offset: 0x0036 @ add-int/lit8
D/dalvikvm( 1248): -------- s33(v14_5) <- s20(v11_1)
D/dalvikvm( 1248): 0x42855a60 (008c): ldr r2, [r5, #44]
D/dalvikvm( 1248): 0x42855a62 (008e): adds r2, r2, #1
D/dalvikvm( 1248): -------- dalvik offset: 0x0038 @ aget-wide
D/dalvikvm( 1248): -------- s34(v14_6) s35(v15_3) <- s8(v8_0) s33(v14_5)
D/dalvikvm( 1248): 0x42855a64 (0090): ldr r1, [r5, #32]
D/dalvikvm( 1248): 0x42855a66 (0092): adds r1, r1, #16
D/dalvikvm( 1248): 0x42855a68 (0094): str r2, [r5, #56]
D/dalvikvm( 1248): 0x42855a6a (0096): lsls r2, r2, #3
D/dalvikvm( 1248): 0x42855a6c (0098): vstr d0, [r5, #48]
D/dalvikvm( 1248): 0x42855a70 (009c): ldr r3, [r1, r2]
D/dalvikvm( 1248): 0x42855a72 (009e): adds r1, r1, #4
D/dalvikvm( 1248): 0x42855a74 (00a0): ldr r0, [r1, r2]
D/dalvikvm( 1248): -------- dalvik offset: 0x003a @ add-double/2addr
D/dalvikvm( 1248): -------- s36(v12_4) s37(v13_4) <- s31(v12_3) s32(v13_3) s34(v14_6) s35(v15_3)
D/dalvikvm( 1248): 0x42855a76 (00a2): str r3, [r5, #56]
D/dalvikvm( 1248): 0x42855a78 (00a4): str r0, [r5, #60]
D/dalvikvm( 1248): 0x42855a7a (00a6): vldr d1, [r5, #48]
D/dalvikvm( 1248): 0x42855a7e (00aa): vldr d2, [r5, #56]
D/dalvikvm( 1248): 0x42855a82 (00ae): vadd d0, d1, d2
D/dalvikvm( 1248): 0x42855a86 (00b2): vstr d0, [r5, #48]
D/dalvikvm( 1248): -------- dalvik offset: 0x003b @ mul-double/2addr
D/dalvikvm( 1248): -------- s38(v12_5) s39(v13_5) <- s36(v12_4) s37(v13_4) s4(v4_0) s5(v5_0)
D/dalvikvm( 1248): 0x42855a8a (00b6): vmov.f64 s2, s0
D/dalvikvm( 1248): 0x42855a8e (00ba): vldr d2, [r5, #16]
D/dalvikvm( 1248): 0x42855a92 (00be): vmuld d0, d1, d2
D/dalvikvm( 1248): -------- dalvik offset: 0x003c @ aget-wide
D/dalvikvm( 1248): -------- s40(v14_7) s41(v15_4) <- s8(v8_0) s20(v11_1)
D/dalvikvm( 1248): 0x42855a96 (00c2): ldr r2, [r5, #32]
D/dalvikvm( 1248): 0x42855a98 (00c4): ldr r3, [r5, #44]
D/dalvikvm( 1248): 0x42855a9a (00c6): adds r2, r2, #16
D/dalvikvm( 1248): 0x42855a9c (00c8): lsls r3, r3, #3
D/dalvikvm( 1248): 0x42855a9e (00ca): vstr d0, [r5, #48]
D/dalvikvm( 1248): 0x42855aa2 (00ce): ldr r0, [r2, r3]
D/dalvikvm( 1248): 0x42855aa4 (00d0): adds r2, r2, #4
D/dalvikvm( 1248): 0x42855aa6 (00d2): ldr r1, [r2, r3]
D/dalvikvm( 1248): 0x42855aa8 (00d4): str r0, [r5, #56]
D/dalvikvm( 1248): 0x42855aaa (00d6): str r1, [r5, #60]
D/dalvikvm( 1248): -------- dalvik offset: 0x003e @ mul-double
D/dalvikvm( 1248): -------- s42(v14_8) s43(v15_5) <- s40(v14_7) s41(v15_4) s16(v16_0) s17(v17_0)
D/dalvikvm( 1248): 0x42855aac (00d8): vldr d1, [r5, #56]
D/dalvikvm( 1248): 0x42855ab0 (00dc): vldr d2, [r5, #64]
D/dalvikvm( 1248): 0x42855ab4 (00e0): vmuld d0, d1, d2
D/dalvikvm( 1248): 0x42855ab8 (00e4): vstr d0, [r5, #56]
D/dalvikvm( 1248): -------- dalvik offset: 0x0040 @ add-double/2addr
D/dalvikvm( 1248): -------- s44(v12_6) s45(v13_6) <- s38(v12_5) s39(v13_5) s42(v14_8) s43(v15_5)
D/dalvikvm( 1248): 0x42855abc (00e8): vldr d1, [r5, #48]
D/dalvikvm( 1248): 0x42855ac0 (00ec): vldr d2, [r5, #56]
D/dalvikvm( 1248): 0x42855ac4 (00f0): vadd d0, d1, d2
D/dalvikvm( 1248): 0x42855ac8 (00f4): vstr d0, [r5, #48]
D/dalvikvm( 1248): -------- dalvik offset: 0x0041 @ aput-wide
D/dalvikvm( 1248): -------- s44(v12_6) s45(v13_6) s8(v8_0) s20(v11_1)
D/dalvikvm( 1248): 0x42855acc (00f8): ldr r3, [r5, #32]
D/dalvikvm( 1248): 0x42855ace (00fa): ldr r0, [r5, #44]
D/dalvikvm( 1248): 0x42855ad0 (00fc): adds r3, r3, #16
D/dalvikvm( 1248): 0x42855ad2 (00fe): ldr r1, [r5, #48]
D/dalvikvm( 1248): 0x42855ad4 (0100): ldr r2, [r5, #52]
D/dalvikvm( 1248): 0x42855ad6 (0102): lsls r0, r0, #3
D/dalvikvm( 1248): 0x42855ad8 (0104): str r1, [r3, r0]
D/dalvikvm( 1248): 0x42855ada (0106): adds r3, r3, #4
D/dalvikvm( 1248): 0x42855adc (0108): str r2, [r3, r0]
D/dalvikvm( 1248): -------- dalvik offset: 0x0043 @ add-int/lit8
D/dalvikvm( 1248): -------- s46(v11_2) <- s20(v11_1)
D/dalvikvm( 1248): 0x42855ade (010a): ldr r2, [r5, #44]
D/dalvikvm( 1248): 0x42855ae0 (010c): adds r2, r2, #1
D/dalvikvm( 1248): 0x42855ae2 (010e): str r2, [r5, #44]
D/dalvikvm( 1248): -------- dalvik offset: 0x0045 @ goto
D/dalvikvm( 1248): --------
D/dalvikvm( 1248): L0x0029:
D/dalvikvm( 1248): -------- dalvik offset: 0x0029 @ if-ge
D/dalvikvm( 1248): -------- s46(v11_2) s3(v3_0)
D/dalvikvm( 1248): 0x42855ae4 (0110): ldr r0, [r5, #44]
D/dalvikvm( 1248): 0x42855ae6 (0112): ldr r1, [r5, #12]
D/dalvikvm( 1248): 0x42855ae8 (0114): cmp r0, r1
D/dalvikvm( 1248): 0x42855aea (0116): bge 0x42855aee
D/dalvikvm( 1248): 0x42855aec (0118): b 0x42855a08
D/dalvikvm( 1248): -------- exit offset: 0x0046
D/dalvikvm( 1248): 0x42855aee (011a): b 0x42855af8
D/dalvikvm( 1248): -------- reconstruct dalvik PC : 0x42a644d6 @ +0x002b
D/dalvikvm( 1248): 0x42855af0 (011c): ldr r0, [pc, #32]
D/dalvikvm( 1248): Exception_Handling:
D/dalvikvm( 1248): 0x42855af2 (011e): ldr r1, [r6, #84]
D/dalvikvm( 1248): 0x42855af4 (0120): blx r1
D/dalvikvm( 1248): 0x42855af6 (0122): .align4
D/dalvikvm( 1248): -------- chaining cell (normal): 0x0046
D/dalvikvm( 1248): 0x42855af8 (0124): ldr r0, [r6, #76]
D/dalvikvm( 1248): 0x42855afa (0126): blx r0
D/dalvikvm( 1248): 0x42855afc (0128): data 0x450c(17676)
D/dalvikvm( 1248): 0x42855afe (012a): data 0x42a6(17062)
D/dalvikvm( 1248): 0x42855b14 (0140): .word (0x42a644d6)
D/dalvikvm( 1248): End Ljnt/scimark2/SOR;execute, 18 Dalvik instructions
a3cc2f44a348900377b2d4f7e320cb9ee7a1bf9f 01-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
bee34eb84908fe74c3b3cc1f2ff10b61ba935914 01-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23362

* changes:
Minor debugging tweaks to IndirectRefTable.
3de888a65e029b9b15c39315d44aa468e1acc9cd 01-Sep-2009 Jesse Wilson <jessewilson@google.com> am 2c23efcd: Update prefs to Harmony r772995.

Merge commit '2c23efcdb5bf7e055caa166e56cfdd50011f02df'

* commit '2c23efcdb5bf7e055caa166e56cfdd50011f02df':
Update prefs to Harmony r772995.
a4e39d76e79147a7a2744f1549b4c107e0ba8db3 01-Sep-2009 Andy McFadden <fadden@android.com> am b8f2972e: Merge change 23193 into eclair

Merge commit 'b8f2972e3ceef7e6bd5ae9763257dfae6fe06349'

* commit 'b8f2972e3ceef7e6bd5ae9763257dfae6fe06349':
Expand indirect reference ifdefs.
515b9fd4b6800afa7af4da58be449112e3169fa9 01-Sep-2009 Andy McFadden <fadden@android.com> Minor debugging tweaks to IndirectRefTable.

Added serial number checks, fixed tests, updated logging.
e998a277e339f391dc899b277ff5f1e48e58de16 01-Sep-2009 Jesse Wilson <jessewilson@google.com> Update crypto package to Harmony r802921. Only Javadoc changes.

commit d5d4307b5b9f37e6f66ab1273be1acd2a29177de
Merge: 2c2287b 1c60d7c
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Aug 31 15:36:46 2009 -0700

Merge branch 'crypto_802921' into crypto_dalvik

Conflicts:
libcore/crypto/.classpath
libcore/crypto/build.xml
libcore/crypto/src/main/java/javax/crypto/BadPaddingException.java
libcore/crypto/src/main/java/javax/crypto/Cipher.java
libcore/crypto/src/main/java/javax/crypto/CipherInputStream.java
libcore/crypto/src/main/java/javax/crypto/CipherOutputStream.java
libcore/crypto/src/main/java/javax/crypto/CipherSpi.java
libcore/crypto/src/main/java/javax/crypto/EncryptedPrivateKeyInfo.java
libcore/crypto/src/main/java/javax/crypto/ExemptionMechanism.java
libcore/crypto/src/main/java/javax/crypto/ExemptionMechanismException.java
libcore/crypto/src/main/java/javax/crypto/ExemptionMechanismSpi.java
libcore/crypto/src/main/java/javax/crypto/IllegalBlockSizeException.java
libcore/crypto/src/main/java/javax/crypto/KeyAgreement.java
libcore/crypto/src/main/java/javax/crypto/KeyAgreementSpi.java
libcore/crypto/src/main/java/javax/crypto/KeyGenerator.java
libcore/crypto/src/main/java/javax/crypto/KeyGeneratorSpi.java
libcore/crypto/src/main/java/javax/crypto/Mac.java
libcore/crypto/src/main/java/javax/crypto/MacSpi.java
libcore/crypto/src/main/java/javax/crypto/NoSuchPaddingException.java
libcore/crypto/src/main/java/javax/crypto/NullCipher.java
libcore/crypto/src/main/java/javax/crypto/SealedObject.java
libcore/crypto/src/main/java/javax/crypto/SecretKey.java
libcore/crypto/src/main/java/javax/crypto/SecretKeyFactory.java
libcore/crypto/src/main/java/javax/crypto/SecretKeyFactorySpi.java
libcore/crypto/src/main/java/javax/crypto/ShortBufferException.java
libcore/crypto/src/main/java/javax/crypto/interfaces/DHKey.java
libcore/crypto/src/main/java/javax/crypto/interfaces/DHPrivateKey.java
libcore/crypto/src/main/java/javax/crypto/interfaces/DHPublicKey.java
libcore/crypto/src/main/java/javax/crypto/interfaces/PBEKey.java
libcore/crypto/src/main/java/javax/crypto/spec/DESKeySpec.java
libcore/crypto/src/main/java/javax/crypto/spec/DESedeKeySpec.java
libcore/crypto/src/main/java/javax/crypto/spec/DHGenParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/DHParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/DHPrivateKeySpec.java
libcore/crypto/src/main/java/javax/crypto/spec/DHPublicKeySpec.java
libcore/crypto/src/main/java/javax/crypto/spec/IvParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/OAEPParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/PBEKeySpec.java
libcore/crypto/src/main/java/javax/crypto/spec/PBEParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/PSource.java
libcore/crypto/src/main/java/javax/crypto/spec/RC2ParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/RC5ParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/SecretKeySpec.java

commit 2c2287b521cc5f558d9929e14e31ec92da6285b1
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Aug 31 14:56:45 2009 -0700

crypto_dalvik

commit 1c60d7c222c55ae49add8345a192c54357bb4a1f
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Aug 31 14:56:34 2009 -0700

crypto_802921

commit 50cf7f5d97de2f65ee0769aafec7b5a3551cb5d0
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Aug 31 14:56:27 2009 -0700

crypto_527399
8a04dd3b512576f3405222d6b948b84e1c0a6fda 31-Aug-2009 Jesse Wilson <jessewilson@google.com> Update prefs to Harmony r772995.

Notable changes:
- exception handling has changed to cleanup more reliably
- calls to Collection.toArray() size the array properly
- lots of style tweaks (rewrapping Javadoc, reintending wrapped code, whitespace)
- new PrefsTester class ensures tests store prefs in the tmp directory

Squashed commit of the following:

commit 2157269d8ed39ccb8a71d735c12bbabcfd548243
Merge: d287282 97818bf
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 5 11:14:26 2009 -0700

Merge branch 'prefs_772995' into prefs_dalvik

Conflicts:
libcore/prefs/.classpath
libcore/prefs/.settings/org.eclipse.jdt.core.prefs
libcore/prefs/build.xml
libcore/prefs/make/exclude.linux.x86_64.drl
libcore/prefs/make/exclude.windows.x86.drl
libcore/prefs/make/exclude.windows.x86_64.drl
libcore/prefs/src/main/java/java/util/prefs/AbstractPreferences.java
libcore/prefs/src/main/java/java/util/prefs/BackingStoreException.java
libcore/prefs/src/main/java/java/util/prefs/FilePreferencesFactoryImpl.java
libcore/prefs/src/main/java/java/util/prefs/FilePreferencesImpl.java
libcore/prefs/src/main/java/java/util/prefs/InvalidPreferencesFormatException.java
libcore/prefs/src/main/java/java/util/prefs/NodeChangeEvent.java
libcore/prefs/src/main/java/java/util/prefs/NodeChangeListener.java
libcore/prefs/src/main/java/java/util/prefs/PreferenceChangeEvent.java
libcore/prefs/src/main/java/java/util/prefs/PreferenceChangeListener.java
libcore/prefs/src/main/java/java/util/prefs/Preferences.java
libcore/prefs/src/main/java/java/util/prefs/PreferencesFactory.java
libcore/prefs/src/main/java/java/util/prefs/RegistryPreferencesFactoryImpl.java
libcore/prefs/src/main/java/java/util/prefs/RegistryPreferencesImpl.java
libcore/prefs/src/main/java/java/util/prefs/XMLParser.java
libcore/prefs/src/main/java/org/apache/harmony/prefs/internal/nls/Messages.java
libcore/prefs/src/main/native/prefs/windows/PreferencesImpl.c
libcore/prefs/src/main/native/prefs/windows/hyprefs.rc
libcore/prefs/src/main/native/prefs/windows/makefile
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/AbstractPreferencesTest.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/AllTests.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/FilePreferencesImplTest.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/MockAbstractPreferences.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/MockPreferencesFactory.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/MockSecurityManager.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/NodeChangeListenerTest.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/PreferenceChangeListenerTest.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/PreferencesFactoryTest.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/PreferencesTest.java
libcore/prefs/src/test/java/tests/prefs/AllTests.java

commit d287282b550d4a5d262f1d1703344ed61bdc6d15
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 4 14:36:36 2009 -0700

Dalvik Prefs

commit 97818bf21cfde744eeb5fbf1f9c31d9bd66f5a2e
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 4 14:35:52 2009 -0700

Prefs 772995

commit 9a506f93947938dad3b41e1393f53b766ba0319f
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 4 14:22:40 2009 -0700

Prefs 527399
b59ceb6970f5b2b560ee7c407fa3ce673b5ee446 31-Aug-2009 Alexey Tarasov <tarasov@dodologics.com> Typo fix in javadoc

spec -> otherSpec
38c407cacc424470430220196cd916e3995d0b95 31-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23193 into eclair

* changes:
Expand indirect reference ifdefs.
699f1cd9ea55e552b36a40659643455679829270 30-Aug-2009 Alexey Tarasov <tarasov@dodologics.com> Cosmetic change: cst -> type in javadoc @param
41ca90315ca443026401891463cfc4d650a00085 28-Aug-2009 Andy McFadden <fadden@android.com> Expand indirect reference ifdefs.

This excludes some things that used to be common between the direct and
indirect reference implementations. The goal is to restore the original
method call performance. In particular, we no longer convert native
method arguments to local references when USE_INDIRECT_REF is not
defined.
6ea71bcb6420966a0bd71f6b0d11747129059dfd 28-Aug-2009 Lorenzo Colitti <lorenzo@google.com> am 3f7a2590: Merge change 22992 into eclair

Merge commit '3f7a259014f94b6515f4a5668431656498705d59'

* commit '3f7a259014f94b6515f4a5668431656498705d59':
Annotate tests that are failing due to legacy IP address formats that have not been implemented yet.
20f5458a1ef579bdd757d52e22080f3afdab07f2 28-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22992 into eclair

* changes:
Annotate tests that are failing due to legacy IP address formats that have not been implemented yet.
02b796abaf88950fa837953a29aa07c59f7221e2 28-Aug-2009 Andy McFadden <fadden@android.com> am af0e8388: Fix reporting of certain verify errors.

Merge commit 'af0e838887d3a2fa76e0d2716e39adf2bb0c01a1'

* commit 'af0e838887d3a2fa76e0d2716e39adf2bb0c01a1':
Fix reporting of certain verify errors.
e0e235f977ea518df43ed6dde6489ddda4655e09 28-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22527

* changes:
More work on getting Dalvik to build on the host (particularly OSX).
9b0a2621471a3ccfd55ebc5c84c9f2178598623e 28-Aug-2009 Andy McFadden <fadden@android.com> Fix reporting of certain verify errors.

The code was assuming that the reference type could always be inferred
from the error code, but in two cases it couldn't. This resulted in a
weird string appearing where the class name should be in the exception.
The type is now explicitly stuffed into the replacement instruction.

I added one additional test to 075; with this, plus 003 and 077, I think
we have full coverage.

For bug 2084560.
8e014d867dbab7d9ba27a1fb6c2a34e5330503e4 28-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23113

* changes:
Improved codegen for inline, continuing codegen restructuring
af44295d62bd58b0d64367b94d3ca1cd5f6d61f4 27-Aug-2009 Bill Buzbee <buzbee@google.com> Improved codegen for inline, continuing codegen restructuring

Added support for Thumb2 IT. Moved compare-long and floating point
comparisons inline. Temporarily disabled use of Thumb2 CBZ & CBNZ
because they were causing too many out-of-range assembly restarts.
Bug fix for LIR3 assert.
0771c974bb0c7e82524b8ce428f88b2023621395 28-Aug-2009 Android Code Review <code-review@android.com> Merge change 9368

* changes:
libcore/.../rg_apache_harmony_xml_ExpatParser: in C++, the return type of strchr(const char*) is 'const char*' instead of 'char *'.
371b621deb817de566f106a6ef89489cbf01b901 26-Aug-2009 Elliott Hughes <enh@google.com> Don't mutate input in OSMemory.setIntArray/setShortArray.

We now take a copy and then swap bytes in the copy if necessary,
rather than swapping the input, copying, and swapping the input
back.

I've switched to GetShortArrayRegion/GetIntArrayRegion instead
of GetPrimitiveArrayCritical because the latter makes life
unnecessarily hard for the VM/GC, and requires a second JNI call
to undo.

I've also renamed the native functions to match the Java methods
they implement.

(Tested by running the nio tests on the emulator, with added
logging to check that all four variants are called.)

Bug: 2019584
835b68eadb91ce85a8231831b6bccae232b22e92 28-Aug-2009 Lorenzo Colitti <lorenzo@google.com> Annotate tests that are failing due to legacy IP address formats that have not been implemented yet.

Change-Id: Ifdf236450007866f24c8b23d52617c41d4e9c324
b9e92ea5bcdc467b3572ff970e70c1e99cbc954c 27-Aug-2009 Andy McFadden <fadden@android.com> am 9495a944: Merge change 22965 into eclair

Merge commit '9495a9449e2f429517bac0d35722b2e9f101f5a9'

* commit '9495a9449e2f429517bac0d35722b2e9f101f5a9':
Fix some JNI indirect reference stuff.
95418f0181717ca2c5102730349e2a8557124df9 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22965 into eclair

* changes:
Fix some JNI indirect reference stuff.
f49b53b9019404f3cd5f76d23b6e8e6f01ea562b 27-Aug-2009 Jesse Wilson <jessewilson@google.com> am a055db83: Update x-net to Harmony r802921.

Merge commit 'a055db83f05034fcd5564ab5930e8d16d4ececfb'

* commit 'a055db83f05034fcd5564ab5930e8d16d4ececfb':
Update x-net to Harmony r802921.
9e8124918e6fd445a666d151e9e9cb3d17e6fd6a 26-Aug-2009 Jesse Wilson <jessewilson@google.com> Update x-net to Harmony r802921.

Notable changes
- synchronization added where it was needed!
- try/finally added to reliably tear down in DefaultSSLContext
- ContextImpl deleted, it wasn't necessary
- methods reordered to make statics first in the class
- PrivilegedActions parameterized with <Void>
- DigitalSignature now throws AssertionErrors in impossible states
and throws AlertExceptions on invalid keys (rather than dumping
a stacktrace)
- ValueKeys added to SSLSessionImpl instead of TwoKeyMaps
- SSLSessionImpl.clone() simplified to do a traditional clone

Squashed commit of the following:

commit 2d9e43d542ab7086af271bf52e847c582decbab1
Merge: 8b79eb4 a8dc377
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 25 15:25:21 2009 -0700

Merge branch 'x-net_802921' into x-net_dalvik

Conflicts:
libcore/x-net/.classpath
libcore/x-net/.settings/org.eclipse.jdt.core.prefs
libcore/x-net/build.xml
libcore/x-net/src/main/java/javax/net/DefaultServerSocketFactory.java
libcore/x-net/src/main/java/javax/net/DefaultSocketFactory.java
libcore/x-net/src/main/java/javax/net/ServerSocketFactory.java
libcore/x-net/src/main/java/javax/net/SocketFactory.java
libcore/x-net/src/main/java/javax/net/ssl/CertPathTrustManagerParameters.java
libcore/x-net/src/main/java/javax/net/ssl/DefaultHostnameVerifier.java
libcore/x-net/src/main/java/javax/net/ssl/DefaultSSLContext.java
libcore/x-net/src/main/java/javax/net/ssl/DefaultSSLSocketFactory.java
libcore/x-net/src/main/java/javax/net/ssl/HandshakeCompletedEvent.java
libcore/x-net/src/main/java/javax/net/ssl/HandshakeCompletedListener.java
libcore/x-net/src/main/java/javax/net/ssl/HostnameVerifier.java
libcore/x-net/src/main/java/javax/net/ssl/HttpsURLConnection.java
libcore/x-net/src/main/java/javax/net/ssl/KeyManager.java
libcore/x-net/src/main/java/javax/net/ssl/KeyManagerFactory.java
libcore/x-net/src/main/java/javax/net/ssl/KeyManagerFactorySpi.java
libcore/x-net/src/main/java/javax/net/ssl/KeyStoreBuilderParameters.java
libcore/x-net/src/main/java/javax/net/ssl/ManagerFactoryParameters.java
libcore/x-net/src/main/java/javax/net/ssl/SSLContext.java
libcore/x-net/src/main/java/javax/net/ssl/SSLContextSpi.java
libcore/x-net/src/main/java/javax/net/ssl/SSLEngine.java
libcore/x-net/src/main/java/javax/net/ssl/SSLEngineResult.java
libcore/x-net/src/main/java/javax/net/ssl/SSLException.java
libcore/x-net/src/main/java/javax/net/ssl/SSLHandshakeException.java
libcore/x-net/src/main/java/javax/net/ssl/SSLKeyException.java
libcore/x-net/src/main/java/javax/net/ssl/SSLPeerUnverifiedException.java
libcore/x-net/src/main/java/javax/net/ssl/SSLPermission.java
libcore/x-net/src/main/java/javax/net/ssl/SSLProtocolException.java
libcore/x-net/src/main/java/javax/net/ssl/SSLServerSocket.java
libcore/x-net/src/main/java/javax/net/ssl/SSLServerSocketFactory.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSession.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSessionBindingEvent.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSessionBindingListener.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSessionContext.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSocket.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSocketFactory.java
libcore/x-net/src/main/java/javax/net/ssl/TrustManager.java
libcore/x-net/src/main/java/javax/net/ssl/TrustManagerFactory.java
libcore/x-net/src/main/java/javax/net/ssl/TrustManagerFactorySpi.java
libcore/x-net/src/main/java/javax/net/ssl/X509ExtendedKeyManager.java
libcore/x-net/src/main/java/javax/net/ssl/X509KeyManager.java
libcore/x-net/src/main/java/javax/net/ssl/X509TrustManager.java
libcore/x-net/src/main/java/javax/net/ssl/package-info.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/HandshakeProtocol.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/KeyManagerImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImplWrapper.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLServerSocketFactoryImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionContextImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketFactoryImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketInputStream.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketOutputStream.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/CertPathTrustManagerParametersTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/HandshakeCompletedEventTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/HttpsURLConnectionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/KeyStoreBuilderParametersTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLContext1Test.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLEngineTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLPermissionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLServerSocketTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLSocketTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/TrustManagerFactory1Test.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/HandshakeCompletedEventTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLExceptionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLHandshakeExceptionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLKeyExceptionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLPeerUnverifiedExceptionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLProtocolExceptionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLSessionBindingEventTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ServerSocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/SocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ssl/DefaultSSLServerSocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ssl/DefaultSSLSocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ssl/HttpsURLConnection_ImplTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ssl/SSLServerSocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ssl/SSLSocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/CipherSuiteTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/DigitalSignatureTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/HandshakeProtocolTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/KeyManagerImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLEngineImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLSessionContextImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLSessionImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLSocketFactoriesTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLSocketFunctionalTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLSocketImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLStreamedInputTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/TrustManagerImplTest.java
libcore/x-net/src/test/impl/java/org/apache/harmony/xnet/tests/provider/jsse/DigitalSignatureTest.java
libcore/x-net/src/test/impl/java/org/apache/harmony/xnet/tests/provider/jsse/KeyManagerFactoryImplTest.java
libcore/x-net/src/test/impl/java/org/apache/harmony/xnet/tests/provider/jsse/ProtocolVersionTest.java
libcore/x-net/src/test/impl/java/org/apache/harmony/xnet/tests/provider/jsse/TrustManagerFactoryImplTest.java
libcore/x-net/src/test/java/javax/net/ssl/KeyManagerFactorySpiTests.java
libcore/x-net/src/test/java/javax/net/ssl/MyKeyManagerFactorySpi.java
libcore/x-net/src/test/java/javax/net/ssl/MySSLContextSpi.java
libcore/x-net/src/test/java/javax/net/ssl/MyTrustManagerFactorySpi.java
libcore/x-net/src/test/java/javax/net/ssl/SSLContextSpiTests.java
libcore/x-net/src/test/java/javax/net/ssl/TrustManagerFactorySpiTests.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/KeyManagerFactory1Test.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/KeyManagerFactory2Test.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/SSLContext2Test.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/SSLSessionBindingEventTest.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/TrustManagerFactory2Test.java
libcore/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MyKeyManagerFactorySpi.java
libcore/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MySSLContextSpi.java
libcore/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MyTrustManagerFactorySpi.java

commit 8b79eb40a27f0b336d5516606d43162ecead09ca
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 25 12:58:17 2009 -0700

x-net_dalvik

commit a8dc3778cd2a1a5d6d0cfff6eec22e7bfbdb9c14
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 25 12:56:55 2009 -0700

x-net_802921

commit 07ca0ed8aa5927c909f880559c17d162c111608e
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 25 12:56:07 2009 -0700

x-net_527399

commit 9b44ccfc38c2fc2a6cf2c3cc39a13cc5bce635ba
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 25 11:14:01 2009 -0700

Small changes missed in the original submission of 22482.
d036679544b676f0d80271c20e2e04cee1c57c01 26-Aug-2009 Andy McFadden <fadden@android.com> Fix some JNI indirect reference stuff.

Convert where needed, don't convert where not needed, and make sure
we're using the right one.

With this, my ad-hoc tests pass, and the boot proceeds until we hit a
failure that looks like it might be due to logic outside the VM.
ab5240a2e12ec38776cfda86eb887c62b503c177 27-Aug-2009 Android Code Review <code-review@android.com> Merge change 10635

* changes:
Add a bit-map encoding of Object-reference field offsets to ClassObject.
13ea892567b705fa0e5fcd15686e1f7b5f1e61c0 27-Aug-2009 Lorenzo Colitti <lorenzo@google.com> am 3a9a1a10: Merge change 22845 into eclair

Merge commit '3a9a1a10d85e7c26293ac8ea95de70763b9c317f'

* commit '3a9a1a10d85e7c26293ac8ea95de70763b9c317f':
IPv6 fixes to java.net.InetAddress.
b69375417223687b44dbad59f531a07132cf2ae2 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22845 into eclair

* changes:
IPv6 fixes to java.net.InetAddress.
665f99c0627305ab79c368c6a099a6869f9b0b41 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22193

* changes:
Replace existing HashMap and LinkedHashMap with faster versions. Among other optimizations, the new versions do no division and use a high-quality defensive hash function to minimize the odds of poor key distribution among buckets. Third time's a charm.
337c7328906ce6fda89cf88ed7733884c3dccd88 21-Aug-2009 Joshua Bloch <jjb@google.com> Replace existing HashMap and LinkedHashMap with faster versions.
Among other optimizations, the new versions do no division and
use a high-quality defensive hash function to minimize the odds
of poor key distribution among buckets. Third time's a charm.
cac9450d398d2230766468aa9c0860ab2ac5bff9 26-Aug-2009 Lorenzo Colitti <lorenzo@google.com> IPv6 fixes to java.net.InetAddress.

1. Make hashCode() do something that makes sense for IPv6 addresses.
2. Expand coverage of hashCode unit test.
3. Fix failing regression test for getAllByName().
4. Document that the getByName test is broken. I will fix it in a future change.
5. Expand test coverage of the isMulticastAddress test to include IPv6 and
non-multicast addresses.

All tests now pass.

Change-Id: I6f52c7c3213dd01bf773228b1ed5d44df813f877
a1c25851b3f8826fbf185bd1dc23d9b8569e99a8 27-Aug-2009 Bob Lee <crazybob@google.com> am d00ed329: am dfd0afbc: Each time we start an SSL session, we have to find the trust anchor. This used to be an O(N) operation. If the trust anchor we\'re looking for was close to N, finding it could take a couple seconds. This change makes the operation O(1).

Merge commit 'd00ed3291d6a2d84e14d5149826ccb4bd9de35b4'

* commit 'd00ed3291d6a2d84e14d5149826ccb4bd9de35b4':
Each time we start an SSL session, we have to find the trust anchor. This used to be an O(N) operation. If the trust anchor we're looking for was close to N, finding it could take a couple seconds. This change makes the operation O(1).
6595b39e80b005f7d6404799fb3dafec6414bfc3 27-Aug-2009 Bob Lee <crazybob@google.com> am dfd0afbc: Each time we start an SSL session, we have to find the trust anchor. This used to be an O(N) operation. If the trust anchor we\'re looking for was close to N, finding it could take a couple seconds. This change makes the operation O(1).

Merge commit 'dfd0afbcb08b871e224a28ecb4ed427a7693545c' into eclair

* commit 'dfd0afbcb08b871e224a28ecb4ed427a7693545c':
Each time we start an SSL session, we have to find the trust anchor. This used to be an O(N) operation. If the trust anchor we're looking for was close to N, finding it could take a couple seconds. This change makes the operation O(1).
b58533a15a0a0973ff2530d0a61d51ad9e607935 25-Aug-2009 Dan Bornstein <danfuzz@android.com> More work on getting Dalvik to build on the host (particularly OSX).

The dalvikvm executable still doesn't quite build (fails in linker), which
is probably due to the core library native code not getting compiled and
linked. Unfortunately, it looks like that will be pretty hairy to untangle.

Change-Id: Ib5de623e43a40116c4b7459a45a246d76886edf3
3574ca3a5d305d11e16cf9a7c9941fdd871da280 27-Aug-2009 Jesse Wilson <jessewilson@google.com> am 7ae5f692: Update sql to Harmony 802921.

Merge commit '7ae5f6927b1b186bb54b94e7907cb245f0979fde'

* commit '7ae5f6927b1b186bb54b94e7907cb245f0979fde':
Update sql to Harmony 802921.
10ee2463c705eb11b2ce3d5f26a1af0d1c66fe48 27-Aug-2009 Jesse Wilson <jessewilson@google.com> Update sql to Harmony 802921.

Notable changes
- ConnectionEvent field changed for serialization
- Date toString classes no longer use SimpleDateFormat
- Timestamp doesn't call through an overridable method in its constructor
- Timestamp now checks the String passed to valueOf() using a regex
- Properties now specifies a buffer size to avoid a user-inescapable warning

Squashed commit of the following:

commit dd9926cddda4db0227adbc174070791e5a9afa72
Merge: 8be3b27 4bed1fc
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 10:34:56 2009 -0700

Merge branch 'sql_802921' into sql_dalvik

Conflicts:
libcore/sql/.classpath
libcore/sql/META-INF/MANIFEST.MF
libcore/sql/build.xml
libcore/sql/src/main/java/java/sql/Array.java
libcore/sql/src/main/java/java/sql/BatchUpdateException.java
libcore/sql/src/main/java/java/sql/Blob.java
libcore/sql/src/main/java/java/sql/CallableStatement.java
libcore/sql/src/main/java/java/sql/Clob.java
libcore/sql/src/main/java/java/sql/Connection.java
libcore/sql/src/main/java/java/sql/DataTruncation.java
libcore/sql/src/main/java/java/sql/DatabaseMetaData.java
libcore/sql/src/main/java/java/sql/Date.java
libcore/sql/src/main/java/java/sql/Driver.java
libcore/sql/src/main/java/java/sql/DriverManager.java
libcore/sql/src/main/java/java/sql/DriverPropertyInfo.java
libcore/sql/src/main/java/java/sql/ParameterMetaData.java
libcore/sql/src/main/java/java/sql/PreparedStatement.java
libcore/sql/src/main/java/java/sql/Ref.java
libcore/sql/src/main/java/java/sql/ResultSet.java
libcore/sql/src/main/java/java/sql/ResultSetMetaData.java
libcore/sql/src/main/java/java/sql/SQLData.java
libcore/sql/src/main/java/java/sql/SQLException.java
libcore/sql/src/main/java/java/sql/SQLInput.java
libcore/sql/src/main/java/java/sql/SQLOutput.java
libcore/sql/src/main/java/java/sql/SQLPermission.java
libcore/sql/src/main/java/java/sql/SQLWarning.java
libcore/sql/src/main/java/java/sql/Savepoint.java
libcore/sql/src/main/java/java/sql/Statement.java
libcore/sql/src/main/java/java/sql/Struct.java
libcore/sql/src/main/java/java/sql/Time.java
libcore/sql/src/main/java/java/sql/Timestamp.java
libcore/sql/src/main/java/java/sql/Types.java
libcore/sql/src/main/java/javax/sql/ConnectionEvent.java
libcore/sql/src/main/java/javax/sql/ConnectionEventListener.java
libcore/sql/src/main/java/javax/sql/ConnectionPoolDataSource.java
libcore/sql/src/main/java/javax/sql/DataSource.java
libcore/sql/src/main/java/javax/sql/PooledConnection.java
libcore/sql/src/main/java/javax/sql/RowSet.java
libcore/sql/src/main/java/javax/sql/RowSetEvent.java
libcore/sql/src/main/java/javax/sql/RowSetInternal.java
libcore/sql/src/main/java/javax/sql/RowSetListener.java
libcore/sql/src/main/java/javax/sql/RowSetMetaData.java
libcore/sql/src/main/java/javax/sql/RowSetReader.java
libcore/sql/src/main/java/javax/sql/RowSetWriter.java
libcore/sql/src/main/java/javax/sql/rowset/BaseRowSet.java
libcore/sql/src/main/java/javax/sql/rowset/WebRowSet.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialClob.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialDatalink.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialException.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialJavaObject.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialRef.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialStruct.java
libcore/sql/src/main/java/javax/sql/rowset/spi/SyncFactory.java
libcore/sql/src/main/java/javax/sql/rowset/spi/SyncProvider.java
libcore/sql/src/main/java/javax/transaction/xa/XAException.java
libcore/sql/src/main/java/org/apache/harmony/sql/internal/nls/Messages.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/BatchUpdateExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/ConnectionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DataTruncationTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DatabaseMetaDataTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DateTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverManagerTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverPropertyInfoTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/ParameterMetaDataTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/ResultSetMetaDataTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/ResultSetTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/SQLExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/SQLPermissionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/SQLWarningTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/StatementTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TestHelper_ClassLoader.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TestHelper_DriverManager.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TimeTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TimestampTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TypesTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/ConnectionEventTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/BaseRowSetTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/serial/SerialClobTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/serial/SerialExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/serial/SerialJavaObjectTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/serial/SerialRefTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/serial/SerialStructTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/InvalidTransactionExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/TransactionRequiredExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/TransactionRolledbackExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/xa/XAExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/xa/XAResourceTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/xa/XidTest.java

commit 8be3b27082122a5c5b650ad5aad6a70b45fd58d4
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 09:39:01 2009 -0700

Dalvik SQL

commit 4bed1fc3972b50198299137dc152d46dd9d5d532
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 09:38:11 2009 -0700

SQL 802921

commit 82f57ed5049955585aecfae659310b6bde3354d8
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 09:36:42 2009 -0700

SQL 527399
2393747b7f70fdfa8e3738a350da049ec90e180f 26-Aug-2009 Bob Lee <crazybob@google.com> Each time we start an SSL session, we have to find the trust anchor. This used to be an O(N) operation. If the trust anchor we're looking for was close to N, finding it could take a couple seconds. This change makes the operation O(1).
b3ac7f1072525e4bad50cab0b9170e4c1e644e95 26-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22370

* changes:
Thumb/Thumb2 instruction selection rework.
c87592fdabc273d8d660c70caf23deea4dad1d15 08-Jul-2009 Barry Hayes <bhayes@google.com> Add a bit-map encoding of Object-reference field offsets to ClassObject.

Class.c populates a new field with a bit for each of the first 32 instance
fields, to show if it is a reference or not, and an escape value if there is a
reference field beyond 32.

The GC uses the encoded bitmap -- if available -- to extract Object refererences
from DataObjects.
d25a0b7170e0c8528e6b0e0812ad88d62becbb7a 26-Aug-2009 Andy McFadden <fadden@android.com> am f7fb0086: Merge change 22659 into eclair

Merge commit 'f7fb00865dd05c32aab5b968fd79ae0ef63e9d6c'

* commit 'f7fb00865dd05c32aab5b968fd79ae0ef63e9d6c':
Another round of scary indirect ref changes.
c099d9d92b9a1fa15307f5a7e2063ccc036b69df 26-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22659 into eclair

* changes:
Another round of scary indirect ref changes.
887d4c83e3e642e2fc91af93e4d7881b56125699 25-Aug-2009 Elliott Hughes <enh@google.com> Fix "whatever".split(".") behavior.

Two special cases in Pattern.split's behavior had been incorrectly combined
into one. Separate the two cases, and add tests. I've run the tests against
Java 1.5 and 1.6 too.

Bug: 1957900
8456678aae68fc7d21e7cf8d238e73983ad1fbf5 14-Aug-2009 Bill Buzbee <buzbee@google.com> Thumb/Thumb2 instruction selection rework.

Change-id: I7428278f07f49e675d0271c58b3cbf1f6a4e9da1
0bfab5168233c24fe695fd974628bc614ad7e232 25-Aug-2009 Andy McFadden <fadden@android.com> Another round of scary indirect ref changes.

This change adds a not-really-working implementation to Jni.c, with
various changes #ifdefed throughout the code. The ifdef is currently
disabled, so the old behavior should continue. Eventually the old
version will be stripped out and the ifdefs removed.

This renames the stack's "localRefTop" field, which nudged a bunch of
code. The name wasn't really right before (it's the *bottom* of the
local references), and it's even less right now. This and one other
mterp-visible constant were changed, which caused some ripples through
mterp and the JIT, but the ifdeffing was limited to one in
asm-constants.h (and the constant is the same both ways, so toggling the
ifdef won't require rebuilding asm sources).

Some comments and arg names in ReferenceTable were updated for the
correct orientation of bottom vs. top.

Some adjustments were made to the JNI code, e.g. dvmCallMethod now needs
to understand if it needs to convert reference arguments from
local/global refs to pointers (it's called from various places
throughout the VM).
b4dca8b4d16e3bfdda4be29b782494f6ee5be055 25-Aug-2009 Jesse Wilson <jessewilson@google.com> am 9b44ccfc: Small changes missed in the original submission of 22482.

Merge commit '9b44ccfc38c2fc2a6cf2c3cc39a13cc5bce635ba'

* commit '9b44ccfc38c2fc2a6cf2c3cc39a13cc5bce635ba':
Small changes missed in the original submission of 22482.
26ca1b3e583039edb9a47bafe266eeaa504f0c37 25-Aug-2009 Jesse Wilson <jessewilson@google.com> Small changes missed in the original submission of 22482.
923c6e260e9798d535a5212ab8e8e08bbae4be6f 25-Aug-2009 Jesse Wilson <jessewilson@google.com> am 35e16314: Merge change 22482 into eclair

Merge commit '35e163146caf81f824641c4560b8e118697fab1b'

* commit '35e163146caf81f824641c4560b8e118697fab1b':
Update java.text to Harmony r802921.
9874591bb3cce0cf20bfcdde22e89e13c32ae953 25-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22482 into eclair

* changes:
Update java.text to Harmony r802921.
ecec80b331e1ad827c36ccd3e1ab625842d95e70 12-Aug-2009 Dan Bornstein <danfuzz@android.com> Be more POSIXly correct in the use of expr.
0d78d343a3edaa00f17ae17df2fc8741316a9cb5 25-Aug-2009 Andy McFadden <fadden@android.com> am 0083d37b: Use local references for native method args.

Merge commit '0083d37b0e1c9e542f671cbca2e9db6819ecccba'

* commit '0083d37b0e1c9e542f671cbca2e9db6819ecccba':
Use local references for native method args.
6369b6609a46a02c0a3d3c0cebd413e1e76a6c45 21-Aug-2009 Andy McFadden <fadden@android.com> Use local references for native method args.

This changes the JNI method call mechanism to register all reference
arguments as local refs, as well as the "this" argument (for virtual
calls) and the class object (for static calls).

Before now we skipped this part, because we're handing raw object
pointers around, and we know that all of the arguments can be found by
the GC on the interpreted stack. In fact, there's no need to add the
arguments for GC-correctness; rather, we need to do this to rewrite the
pointers we hand to native code.

This change impacts JNI method call performance, especially for functions
with a large number of reference arguments. To improve things a little,
there are now four "call bridge" functions:

(1) general handler
(2) synchronized method handler (grabs lock, calls #1)
(3) virtual method, no reference args
(4) static method, no reference args

While booting the system, the virtual/static no-ref handlers are used
for about 70% of calls. Since these don't have to scan the method
signature to look for reference arguments, they're a bit faster.

At this point we're still passing raw pointers around, so nothing should
really change.
e1e58fcccb6f013959533cab8b7bf0a1e37ab078 24-Aug-2009 Jesse Wilson <jessewilson@google.com> Update java.text to Harmony r802921.

Notable changes:
- Replaced some StringBuffers with StringBuilders
- Harmony moved to ICU, we stayed with ResourceBundles
- Harmony now uses ICU's Bidi, we continue to use BidiWrapper
- Fixed DateFormat.readResolve()
- Fixed DecimalFormat serialization for setMaximumIntegerDigits
- Fixed currency to support "XXX" for null
- Support for null in MessageFormat.format()
- Rearranged methods in SimpleDateFormat. Body is the same.
- Fixed tests for Bidi.getRunLimit(). These are new failures.

commit 112ab830475bc1a1fab9c7a16589b5525892e6a0
Merge: 39b03a1 62c2b2e
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Aug 24 14:03:31 2009 -0700

Merge dalvik and Harmony for java.text

Conflicts:
libcore/text/.classpath
libcore/text/META-INF/MANIFEST.MF
libcore/text/build.xml
libcore/text/make/exclude.common
libcore/text/make/run-test.xml
libcore/text/src/main/java/java/text/Annotation.java
libcore/text/src/main/java/java/text/AttributedCharacterIterator.java
libcore/text/src/main/java/java/text/AttributedString.java
libcore/text/src/main/java/java/text/Bidi.java
libcore/text/src/main/java/java/text/BreakIterator.java
libcore/text/src/main/java/java/text/CharacterIterator.java
libcore/text/src/main/java/java/text/ChoiceFormat.java
libcore/text/src/main/java/java/text/CollationElementIterator.java
libcore/text/src/main/java/java/text/CollationKey.java
libcore/text/src/main/java/java/text/Collator.java
libcore/text/src/main/java/java/text/DateFormat.java
libcore/text/src/main/java/java/text/DateFormatSymbols.java
libcore/text/src/main/java/java/text/DecimalFormat.java
libcore/text/src/main/java/java/text/DecimalFormatSymbols.java
libcore/text/src/main/java/java/text/FieldPosition.java
libcore/text/src/main/java/java/text/Format.java
libcore/text/src/main/java/java/text/MessageFormat.java
libcore/text/src/main/java/java/text/NumberFormat.java
libcore/text/src/main/java/java/text/ParseException.java
libcore/text/src/main/java/java/text/ParsePosition.java
libcore/text/src/main/java/java/text/RuleBasedCollator.java
libcore/text/src/main/java/java/text/SimpleDateFormat.java
libcore/text/src/main/java/java/text/StringCharacterIterator.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/AttributedCharacterIteratorAttributeTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/BidiTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/CollationElementIteratorTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DateFormatSymbolsTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DateFormatTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/FieldPositionTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/MessageFormatTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/ParsePositionTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/RuleBasedCollatorTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/SimpleDateFormatTest.java

commit 39b03a1b2b150d468cc15d8ff8a92a07c9098a5c
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 19 17:00:36 2009 -0700

text_dalvik

commit 62c2b2e932da51858998820fe2558631999c1241
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 19 17:00:23 2009 -0700

text_802921

commit 2da8bc3457b9db827d96652e2bf159b7d5040ad1
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 19 17:00:08 2009 -0700

text_527399
b54af886dab9149af9665e4702d556575dceea37 24-Aug-2009 Android Code Review <code-review@android.com> Merge change 10758

* changes:
Fix broken link in docstring. issue 1194
6060129c1395d3ef87fbf94ba31b29217970d3cb 22-Aug-2009 Ben Cheng <bccheng@google.com> Fix jeffhao's build breakage by not including unnecessary header files.
3211cc4da7981c7f1fd91dcc37aede6c9a54c659 13-Aug-2009 Jeff Hao <jeffhao@google.com> New changes to enable self verification mode.
4cff4ceb98a48f9d319139610ebbcb3818fdea36 21-Aug-2009 Andy McFadden <fadden@android.com> am 48a96f51: Set os.arch property from uname().machine.

Merge commit '48a96f5133f33adaadbc0187503a35f03f1348ac'

* commit '48a96f5133f33adaadbc0187503a35f03f1348ac':
Set os.arch property from uname().machine.
17d91811672f042125af5991b4c8252dcc3c7f36 21-Aug-2009 Andy McFadden <fadden@android.com> Set os.arch property from uname().machine.

Not sure why we didn't just do this in the first place. I get "x86_64"
on desktop and "armv6l" on a sapphire.
99fa4e42f0dd0a1a7b781d7ca01da1ba0f93a9c1 21-Aug-2009 Andy McFadden <fadden@android.com> am c26bb63b: Move array pinning out of global references table.

Merge commit 'c26bb63b50c7a855d25b396b1bf23a3aa6929b48'

* commit 'c26bb63b50c7a855d25b396b1bf23a3aa6929b48':
Move array pinning out of global references table.
af5d7824e76dbc3cd48b832b804a975f4918e9e8 21-Aug-2009 Andy McFadden <fadden@android.com> Move array pinning out of global references table.

We have to pin primitive arrays for certain JNI operations (it's that or
return a copy of the contents). We don't move objects around in the
virtual heap, so simply creating a global reference is enough to ensure
the correct behavior of the calls.

The global reference implementation is changing in a way that makes
this approach inconvenient, so we now have a separate table for pinned
primitive arrays.

As a bonus, if GREF tracking is enabled, we will scan through the table
when a pin entry is added. If there are 10 or more entries for the same
array, a complaint is logged. This should allow us to find mismatched
Get/Release sequences much more easily (before you had to wait until the
global reference table exploded).

We currently scan pin table entries at the same time as the JNI global
references, so they'll still show up in hprof dumps as such. (Could
also add a new Android-specific hprof root category, but that seems like
more trouble than it's worth.)
3d0820ffedff72e7a7195d534684d01ed9a8e9ae 21-Aug-2009 Andy McFadden <fadden@android.com> am ecd31154: Merge change 22183 into eclair

Merge commit 'ecd3115415793a6d39d3092bbba569bad77eb765'

* commit 'ecd3115415793a6d39d3092bbba569bad77eb765':
Progress toward indirect JNI references.
4ebfa09691fd75d6f0f87fcdc7753c2e1436409e 21-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22183 into eclair

* changes:
Progress toward indirect JNI references.
af9b06e5f2c7cb18730aeb6a21b600c64de838a5 21-Aug-2009 Bob Lee <crazybob@google.com> am 79941ae1: am 2b2e488b: Exposed default trust manager.

Merge commit '79941ae140b99de2676ce00c368c82cffbbb248b'

* commit '79941ae140b99de2676ce00c368c82cffbbb248b':
Exposed default trust manager.
e578183808144c668e2aa2b8f062c8edd738e3e0 21-Aug-2009 Bob Lee <crazybob@google.com> am 2b2e488b: Exposed default trust manager.

Merge commit '2b2e488b25922b0b34094305cac084073ffbd03c' into eclair

* commit '2b2e488b25922b0b34094305cac084073ffbd03c':
Exposed default trust manager.
a6f78670ffdc48e7cbd74d3309e6c77f714e5c51 21-Aug-2009 Bob Lee <crazybob@google.com> Exposed default trust manager.
973b7490a02f378b934484352f715340816847e3 19-Aug-2009 Andy McFadden <fadden@android.com> Progress toward indirect JNI references.

Switch from simple typecasts to conversion functions for the objects
passed in and out of JNI calls. No real change here; object references
are still just pointers.

Use explicit pin/unpin calls for primitive arrays. For GetStringChars
we now pin the char[] rather than the String object. (Which doesn't
make much difference in the grand scheme of things, since you need to
keep the String to pass into the release function anyway.)
869d623c04fcabf12a3e4bae93ff0a02d4d9f27e 21-Aug-2009 Andy McFadden <fadden@android.com> am 6070dfcb: Merge change 22152 into eclair

Merge commit '6070dfcb6b216bd338874d7626aeb4c4ce93ea8e'

* commit '6070dfcb6b216bd338874d7626aeb4c4ce93ea8e':
Fix a couple of compiler warnings.
7f4a7502dd2cd9420dd2884b2e90068833906287 21-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22152 into eclair

* changes:
Fix a couple of compiler warnings.
a279f1d40fb2fc2ef813d0d0c55e859daed88cdd 21-Aug-2009 Andy McFadden <fadden@android.com> Fix a couple of compiler warnings.
7e07711b189898263659fb3c07c5ccf940df9b3b 19-Aug-2009 Andy McFadden <fadden@android.com> am a537230a: Merge change 21907 into eclair

Merge commit 'a537230a989cd58570cdb5ebf0f75346fe79515b'

* commit 'a537230a989cd58570cdb5ebf0f75346fe79515b':
Update storage size after expansion.
d314ba78a5b5a069fa3f202acf6bf76d5dd23969 19-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21907 into eclair

* changes:
Update storage size after expansion.
4f3c659b669acd5c4392ceba46d0c39eb6320c72 19-Aug-2009 Jesse Wilson <jessewilson@google.com> am d1588bba: Merge change 21833 into eclair

Merge commit 'd1588bba601a319e6b6b99e797686b203822e8a6'

* commit 'd1588bba601a319e6b6b99e797686b203822e8a6':
Fixing Unsafe.getUnsafe() to look up the stack the correct number of frames.
4c3956757b5768546efca88c0f5024a0207d5b5c 19-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21833 into eclair

* changes:
Fixing Unsafe.getUnsafe() to look up the stack the correct number of frames.
045c0cb0966950444b573dc4d01876e81b47a15c 19-Aug-2009 Andy McFadden <fadden@android.com> Update storage size after expansion.

We allow expansion in dvmSetBit(), but failed to update the capacity
after doing so.
93f0e93f7f68175da52ad5b342a4de5ebd4d6e43 19-Aug-2009 Lorenzo Colitti <lorenzo@google.com> am fe79541b: Enable IPv6.

Merge commit 'fe79541b5cc5a490dd3a5b2e68f884fdfad4ca76'

* commit 'fe79541b5cc5a490dd3a5b2e68f884fdfad4ca76':
Enable IPv6.
5e8ce451406bc6396ba041587ffcd4a08785107a 19-Aug-2009 Jesse Wilson <jessewilson@google.com> Fixing Unsafe.getUnsafe() to look up the stack the correct number of frames.

Also tests for Unsafe.getUnsafe() and all the requisite AllTests files
to make that show up in the continuous build.
9545e510c462de8614613cf182012d150d88c4a1 19-Aug-2009 Andy McFadden <fadden@android.com> am 64520c8c: Merge change 21796 into eclair

Merge commit '64520c8c453b03190e33818306ffed3041133ea3'

* commit '64520c8c453b03190e33818306ffed3041133ea3':
Turn down RegisterMap paranoia.
b2d5d8974a0b929aa9cf3e2010ba287c1a9d67ce 19-Aug-2009 Andy McFadden <fadden@android.com> am 03bd0d5b: Minor tweaks to JNI logging.

Merge commit '03bd0d5b9b9d769e6e5245274204fbfd470de7f0'

* commit '03bd0d5b9b9d769e6e5245274204fbfd470de7f0':
Minor tweaks to JNI logging.
ff0ab7ba314f7fcab834a518c6c9f71920e1641e 19-Aug-2009 Lorenzo Colitti <lorenzo@google.com> Enable IPv6.

If the system has IPv6 connectivity, query the DNS for IPv6 addresses as well
as IPv4 addresses. If IPv6 addresses are returned, prefer them by default.

Impact of this change:

- If the device is on a network with IPv6 configured, is using wifi, and has
obtained an IPv6 address using autoconfiguration, the network stack will
request IPv6 addresses as well as IPv4 addresses when making DNS queries. This
allows the device to connect to websites and services that declare themselves
to be reachable over IPv6. If an IPv6 connection fails, the stack will fall
back to IPv4. This is what Windows Vista, Mac OS 10.4 and above, and most
Linux distributions do by default.
- If the device is not on a network that supports IPv6, or is using 3G/EVDO,
nothing will change.

I have been testing this change on self-compiled builds of master and eclair on
Dream and Sholes for several weeks with no breakage that I can see.
c3a10e0165b58fa62a7fd53263504bc49fc0693a 19-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21796 into eclair

* changes:
Turn down RegisterMap paranoia.
2f31bcc36a331a77f209efe447aa8c78258c9019 19-Aug-2009 Andy McFadden <fadden@android.com> Minor tweaks to JNI logging.

Reduced a LOGI to LOGD, normalized format, added a similar message for a
field ID lookup that was failing (due to a bad flash, as it turns out).
2cdf362eb739031c69e473cb1ea67998121b970c 19-Aug-2009 Andy McFadden <fadden@android.com> Turn down RegisterMap paranoia.

This disables verification of RegisterMap contents and compressed
output, as well as a GC-time check that double-checked the validity of a
register known to hold a reference.

For internal bug 1896437.
6fe0d7716a836064a7f9606b32cf829a9e0b6a6a 18-Aug-2009 Brett Chabot <brettchabot@google.com> am d12092a5: am affecd77: Cleanup CTS core failing tests.

Merge commit 'd12092a5b23c40a92ef51a46c3aa273af52587a3'

* commit 'd12092a5b23c40a92ef51a46c3aa273af52587a3':
Cleanup CTS core failing tests.
aced345322282258142aeec267b0bc9f51d43488 18-Aug-2009 Brett Chabot <brettchabot@google.com> am affecd77: Cleanup CTS core failing tests.

Merge commit 'affecd7714e14fabff011ad61d436df3698bf7eb' into eclair

* commit 'affecd7714e14fabff011ad61d436df3698bf7eb':
Cleanup CTS core failing tests.
06e9b4f8229428bb7843994f693dd515b786c422 14-Aug-2009 Brett Chabot <brettchabot@google.com> Cleanup CTS core failing tests.

BUG 2053939
07d13f714497ed3c3302ef240caadf620d0a5f71 14-Aug-2009 Ben Cheng <bccheng@google.com> Enable VM assert properly for JIT and fix new compilation/assertion failures.
3fa126dddd0b15172ca8f118bb194ea99c1c821a 11-Aug-2009 Bill Buzbee <buzbee@google.com> Continuing evolution of Thumb2 support.
Bug fix for local optimization
Enable partial floating point store sinking (with significant perf gain!)
0affa6bf6a06efc75935f07255aa9aba43122b4e 12-Aug-2009 Dan Bornstein <danfuzz@android.com> Be more POSIXly correct in the use of expr.
d3708e9bce38673ed0642ba24336068331982bdb 11-Aug-2009 Jesse Wilson <jessewilson@google.com> Update Luni to Harmony r802921.

Notable changes:
- replaced StringBuffer with StringBuilder in several places
- fixed a problem with BufferedInputStream's newline characters (EBCDIC)
- cleanup Timer's finalizer helper object
- new cache for the canonical path of a file
- fixed concurrency issue with ArrayList
- floating point parsing now trims length for very small numbers
- encoding specified "UTF-8" when converting some byte[]s to strings (JarURLConnection, Util, OSFileSystem)
- Harmony now implements floor and ceil in Java. We continue to use native code.
acf9e8aed1e6c376a7a31f541a99897dcc22d5d5 11-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8107

* changes:
First parts of enabling a host Dalvik build.
10819858aa76cef242e081001afa49960a5af383 22-Jul-2009 Dan Bornstein <danfuzz@android.com> First parts of enabling a host Dalvik build.

Most of this is just factoring out common make defs to include both on
the host and device side, though there is a little bit of code change
to be slightly POSIX friendlier and to avoid unnecessary sanity checks
when compiling without an asm version of the interpreter.

This patch should cause no difference in build results, except if you
turn on the newly-defined WITH_HOST_DALVIK build flag. If you do turn
it on, at this point you should probably expect the build to fail due
to insufficient dependencies, which I of course expect to address in
upcoming patches.
be69da9210ab218ddd444c0e85389fb6439819be 10-Aug-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
9e49459c9f49bf9421d7b08b47e0218954a03f72 20-May-2009 Barry Hayes <bhayes@google.com> Change strategy for freeing objects in the sweep.

dlfree() in dlmalloc.c is fairly expensive. It checks the previous and
next block to see if the curent block can be merged into one of the
free blocks, and if it does merge, that involves manipulating the
internal free lists.

The sweep phase of the GC is already visiting free objects in address
order, and has a list of objects to be freed. The new strategy is:

Loop over the list of objects to be freed, merging when possible, and
only calling free() when a either the list has run out or a
non-adjacent free object is found.
9ecacc0a7e22e2f2ac73933ca40dbb9a268c3599 07-Aug-2009 Andy McFadden <fadden@android.com> Increase priority of unresponsive threads.

The VM uses a safe-pointing thread suspension mechanism, which currently
means that the GC can't do its work until the various threads enter a
non-running state. This can be a problem if a low-priority thread was
scheduled out and other processes in the system are running flat out.

This changes the "spin on suspend" mechanism to increase the priority of
unresponsive threads. Currently we just boost the "nice" value, since
that seems to be enough to do the trick in my tests, but we may have to
shift the cgroup around as well (assuming other recent changes don't
simply render this unnecessary).
dd91212cd621b04dc7287c403f4c530cf3485875 07-Aug-2009 Andy McFadden <fadden@android.com> Read thread priority as an int, not a boolean.

We were using the wrong field get function. After our change to
stdbool.h, the thread priority was always 0 or 1.
dbaaf104ecef85652664cebd58c34f71cfd86950 07-Aug-2009 Andy McFadden <fadden@android.com> Correct the type of a pointer.

Should've been part of change 20178.
c54d8afed75351f2d954b67b81e84a5211e99a02 07-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20378

* changes:
Suspend daemon threads before exiting.
92aaf712649da43e7bf2cdfbcdedf49ed5fd8407 07-Aug-2009 Andy McFadden <fadden@android.com> Suspend daemon threads before exiting.

The VM wasn't dealing with daemon threads very well, allowing them to
run unchecked while the city burned around them. Now we carefully
suspend them before shutdown is allowed to continue.
21f1ad886d7a7437e2c982274a16ed8bf6f8fc0d 06-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8538

* changes:
A sampling profiler for Dalvik.
8609d89300a120b79ba4999f7820d0cc396ff1d5 31-Jul-2009 Bob Lee <crazybob@google.com> A sampling profiler for Dalvik.
03168146266087b419c59ccb6ef8b09a7be9b0dc 06-Aug-2009 Andy McFadden <fadden@android.com> Switch to <stdbool.h> in the VM.

We were using an enum that made the compiler unhappy on MacOS X. This
switches us to using <stdbool.h> when it's available.

The size of a "bool" is either sizeof(_Bool) or sizeof(enum bool), and
the assembly sources dislike ambiguity, so this also changes
gDvm.debuggerActive to always be a single byte. The ARM and x86 code
was already assuming that -- held over from when enums were
variable-width, and never fixed because we get the right answer on
little-endian platforms -- so it doesn't look like we need to change
anything in mterp.
a1db498cdd490e5478a6e1e2dcde706e727912b9 05-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9641

* changes:
Added thread profile to dmtracedump output
2d5820bdca9fe876d355a3bf8bd3e8894a4fa36a 05-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20002

* changes:
Updating math to Harmony r772995.
8cb2a142dfea8e63f304e4b342dca17ed010d5b1 05-Aug-2009 Andy McFadden <fadden@android.com> Regenerate mterp.

Whoops! Should've been part of d33b0c3fbd81ae96c5d5c034030d62caac33c310.
c78960c65777f00cbd932fab15423a88246bdc67 05-Aug-2009 Andy McFadden <fadden@android.com> Don't assert that all threads have stopped.

If assertions were enabled and we had a daemon thread running, the VM
would fail on exit.
7e5232e8a3e002bf7115ea73358df8e46934c9ce 05-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20020

* changes:
Improvements to cgroup stuff.
4801850358ddd6247ef27be1db50bb6c3003f8a4 04-Aug-2009 Rodrigo Ipince <ipince@google.com> Added thread profile to dmtracedump output

The thread profile lists all the running threads, sorted by elapsed time.
b1c21b8093d139cf4bb7f38b7ae8c73658edacd6 05-Aug-2009 Andy McFadden <fadden@android.com> Improvements to cgroup stuff.

When a thread is created or changes priority via Thread.setPriority(),
the cgroup value was being set incorrectly -- the code was comparing
the priority vs. the "nice" values we use in the rest of Android.
This was preventing threads from being moved into the background group
when first created. (It's not clear whether this matters in most cases,
since the system appears to move threads in and out of the background
cgroup without regard to their "nice" value in Process.setProcessGroup.)

The code that changed the cgroup wasn't really checking the return
value, though this is only meaningful if the verbose error logging is
compiled in.

The above have been fixed, and in addition the thread dump now displays
the cgroup value next to the other priority information.
f36b9be72faf2368f61de7ce0ffc3b610a3f2a2c 04-Aug-2009 Jesse Wilson <jessewilson@google.com> Updating math to Harmony r772995.

Notable changes:
- lots of trailing whitespace and "@since Android 1.0" tags removed
- shiftLeft(1) replaced with shiftLeftOneBit(). That case can be optimized
more aggressively than the general case. The new method exists in BigInteger
and calls through to a new method in BitLevel in the same way as Harmony.

This is a squashed commit of the following:

commit 3f071487bdb8fff0b4a71ce0219ee7e1e16369fb
Merge: 4fda354 10640b6
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 4 12:02:25 2009 -0700

Merge branch 'math_772995' into math_dalvik

Conflicts:
libcore/math/.classpath
libcore/math/build.xml
libcore/math/src/main/java/java/math/BigDecimal.java
libcore/math/src/main/java/java/math/BigInteger.java
libcore/math/src/main/java/java/math/Division.java
libcore/math/src/main/java/java/math/Elementary.java
libcore/math/src/main/java/java/math/Logical.java
libcore/math/src/main/java/java/math/MathContext.java
libcore/math/src/main/java/java/math/Multiplication.java
libcore/math/src/main/java/java/math/Primality.java
libcore/math/src/main/java/java/math/RoundingMode.java
libcore/math/src/test/java/tests/api/java/math/BigDecimalTest.java
libcore/math/src/test/java/tests/api/java/math/BigIntegerTest.java

commit 4fda354bd7d2c0ee918c86fa89852310cc8f2af7
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Jul 29 17:12:27 2009 -0700

Dalvik Math

commit 10640b6b254200f1c89553072e50137f6ad46c84
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Jul 29 17:11:07 2009 -0700

Math 772995

commit 15302f6d09b3547f1018e3d228f233f8f72c7de9
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Jul 29 17:08:19 2009 -0700

Math 527399
1255f8bf2727ef64ac6e7cb4e0f0726a556b2f18 04-Aug-2009 Andy McFadden <fadden@android.com> Throw an exception instead of aborting in DexFile.

If presented with an invalid DexFile cookie -- perhaps because somebody
called DexFile.close() twice -- the VM would unceremoniously abort.
This was reported as a bug (external #2443). We now throw a simple
exception.

For internal bug 1794406.
a7dcd44acb15a562d836025b4451443208e6b8ea 29-Jul-2009 Lorenzo Colitti <lorenzo@google.com> Try to connect to all the IP addresses of a host instead of just the first.
03c10156211fa325c16930bb169274e0089d5cb0 03-Aug-2009 Jean-Baptiste Queru <jbq@google.com> merge from donut
25bc2667a330758c471db5229b6c12f84ee4e18d 01-Aug-2009 Bill Buzbee <buzbee@google.com> Fixed 2 floating point bugs; improved debug output; armv7-a thumb2 inline sqrt
a94868d52c8bc7518de5c0cd5bb4431ea86c75a0 01-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9395

* changes:
Stage 3 of Thumb2 support. armv7-a now generates vfp code inline.
a460229e547a76b3c2daeedb9f0925c7d2b813c6 30-Jul-2009 Bill Buzbee <buzbee@google.com> Stage 3 of Thumb2 support. armv7-a now generates vfp code inline.
dcb7d421a7c7620473f6fc63de08c1732c776a2f 01-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9414

* changes:
Fix a LOGVV.
c19b891cbc4b8c22151e4b5273a302769c16b26b 01-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9384

* changes:
Added VMDebug.crash() (hidden).
05348115ee1ea6bc3b50ccd46ddaf6d15d969251 01-Aug-2009 Andy McFadden <fadden@android.com> Fix a LOGVV.

Somebody on android-porting stumbled over this.
c5bd114585718997930a2c5f6e855ee875232245 31-Jul-2009 Andy McFadden <fadden@android.com> Added VMDebug.crash() (hidden).

This call prints the stack trace for the current thread, and then
crashes the VM so you can see the native stack trace too. Useful for
figuring out "how did I get here?" situations.
bc5b09250949601f1a2289fe704c0569580f1be4 17-Jul-2009 Andy McFadden <fadden@android.com> Indirect reference table implementation.

This change introduces the "indirect" reference table, which will be
replacing ReferenceTable for local and global JNI references. The key
difference is that, instead of handing raw Object pointers to JNI, we
will be giving them a magic value that can be converted back to an
Object. The goal is to avoid having to pin every object that native
code is aware of.

The code is not actually used anywhere yet.

Also bundled up here:
- added detail to a log message
- fixed a string format issue in the internal assert() definition
- very minor optimization in "remove" function in ReferenceTable
- quiet a gcc complaint
- only include the hash table regression test in builds that invoke it
0bf6f9f634c31d985d5799acfa90fdfd1c9bb0ea 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8953

* changes:
Store all IP addresses for a hostname instead of just one.
fa3cee58382acd505a2ecf81f32acbffb7134b2c 29-Jul-2009 Lorenzo Colitti <lorenzo@google.com> Store all IP addresses for a hostname instead of just one.
99b84ec4f8e6791eca4b4ce5b13af3feebc05ea9 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9190

* changes:
Minor tweak (TEQS -> TEQ).
49e9671abe1bfa1c7137984289f35eeeba8d0993 30-Jul-2009 Andy McFadden <fadden@android.com> Minor tweak (TEQS -> TEQ).

Avoids "Warning: s suffix on comparison instruction is deprecated".
9c3507217bc58ce10b36ce0758b910a6f6ec147d 30-Jul-2009 Jesse Wilson <jessewilson@google.com> am bd79e449: Fix an issue where we\'re adding 4x the intended offset.

Merge commit 'bd79e4498465381117f2cbc6399a256061f1d144'

* commit 'bd79e4498465381117f2cbc6399a256061f1d144':
Fix an issue where we're adding 4x the intended offset.
804b436f3797f9b595432c54612fd998e8f44141 30-Jul-2009 Urs Grob <ursg@google.com> am 29326482: Removing MD2

Merge commit '2932648271e72bad181b293e1fa5945265c7dbed'

* commit '2932648271e72bad181b293e1fa5945265c7dbed':
Removing MD2
8ec3f300fe10f3cbcf5d183716c2643d5e2f6250 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9042

* changes:
Update bytecode verifier info.
624afad487da31d1ea58a59e5ccc18b941cc57a5 30-Jul-2009 Andy McFadden <fadden@android.com> Update bytecode verifier info.

Rewrote last section to describe deferred verification error reporting.
Added note about structured locking checks.
caf1cb52f7b5b658e4691d1d33f5eaca95b2bb82 29-Jul-2009 Jesse Wilson <jessewilson@google.com> Fix an issue where we're adding 4x the intended offset.

We were doing pointer arithmetic of mixed types (jint* and jint),
and the type conversion ended up causing the offset to be converted
an extra time.
825f6b00729736e31c5342e129d3d9b204ab508f 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> merge from donut
f9bd1bdab2a134293df79aae6eeea434fe040b3b 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9014

* changes:
Fixing some broken links in the concurrent Javadoc.
64504770780813e3c90ee3b3ee932872bb9518a8 29-Jul-2009 Jesse Wilson <jessewilson@google.com> Fixing some broken links in the concurrent Javadoc.

There's a bug in droiddoc where links to methods with generic parameters
don't resolve correctly. I'll open a buganizer issue for this; in the
interim I've simply dropped the parameters for the offending links.
0824dd23e1e3e1f296348f402fd1088cd6739893 29-Jul-2009 Jesse Wilson <jessewilson@google.com> Fixing Executors to use raw types, which is what RI v5 does.

Also fixing VMStack to hide the new API method.
d3f77bf910080b5ef62a74cfedabf86085612106 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8903

* changes:
Update concurrent module to Harmony r798021.
c2b4e8c88991096af361b99c34888e205f73b117 22-Jul-2009 Urs Grob <ursg@google.com> Removing MD2
59ade289dcbafadae1cfba7db428c0bc2c683dd1 29-Jul-2009 Jesse Wilson <jessewilson@google.com> Update concurrent module to Harmony r798021.

commit 56bcdc2a3b881883409267c3bd16294d80716859
Merge: 903691a f429dca
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 17:33:19 2009 -0700

Merge branch 'concurrent_798021' into concurrent_dalvik

Conflicts:
libcore/concurrent/.classpath
libcore/concurrent/build.xml
libcore/concurrent/make/run-test.xml
libcore/concurrent/src/main/java/java/util/concurrent/ArrayBlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/BlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java
libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentLinkedQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentMap.java
libcore/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java
libcore/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java
libcore/concurrent/src/main/java/java/util/concurrent/DelayQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/LinkedBlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/PriorityBlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ScheduledThreadPoolExecutor.java
libcore/concurrent/src/main/java/java/util/concurrent/Semaphore.java
libcore/concurrent/src/main/java/java/util/concurrent/SynchronousQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ThreadPoolExecutor.java
libcore/concurrent/src/main/java/java/util/concurrent/TimeUnit.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicBoolean.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicInteger.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLong.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongArray.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongFieldUpdater.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReference.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/package.html
libcore/concurrent/src/main/java/java/util/concurrent/locks/AbstractQueuedSynchronizer.java
libcore/concurrent/src/main/java/java/util/concurrent/locks/LockSupport.java
libcore/concurrent/src/main/java/java/util/concurrent/locks/ReentrantReadWriteLock.java
libcore/concurrent/src/main/java/java/util/concurrent/locks/package.html
libcore/concurrent/src/main/java/java/util/concurrent/package.html
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicLongFieldUpdaterTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicReferenceFieldUpdaterTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicReferenceTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ConcurrentHashMapTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/DelayQueueTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ExecutorsTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/JSR166TestCase.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/LinkedBlockingQueueTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/LockSupportTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ReentrantLockTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ReentrantReadWriteLockTest.java

commit 903691ae71cff640d5487a3d34a20e8767dbfb66
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 16:09:58 2009 -0700

Dalvik Concurrent

commit f429dca21c408ee62e688f60d5e110718374e944
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 16:08:25 2009 -0700

Concurrent 798021

commit b2c76fdd1056113000140bc4af57300c87469d2d
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 16:03:45 2009 -0700

Concurrent 527399
f6e55d089a1faf6427f64fd7f6b0416e7c2250f6 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8867

* changes:
Fix for 1857865: Need x86 implementation for OP_THROW_VERIFICATION_ERROR
1fd7d7c7f85828ac6f45246af71e2fe4b04dc371 29-Jul-2009 Bill Buzbee <buzbee@google.com> Fix for 1857865: Need x86 implementation for OP_THROW_VERIFICATION_ERROR
ee457f118b92865f2cd634b02ba9d2d819cb0a36 28-Jul-2009 Bill Buzbee <buzbee@google.com> Prevent OP_INVOKE_DIRECT_EMPTY from terminating a trace
36793a1c8fdcbb2d7f55138f19807d4d86484b90 28-Jul-2009 Bill Buzbee <buzbee@google.com> Stage 2 of structural changes for support of THUMB2. No logic changes.
f9218f9281669f7ba294d3dc30637df5d77a2fd5 28-Jul-2009 Bill Buzbee <buzbee@google.com> Fix for 3326: Incorrect return value from native library in dalvik
Really a workaround for a gcc bug in 4.3. Don't trust the C compiler
to properly clear high bits from < 32-bit JNI return values.
7055a6e4c859b03d08c4178589a1c5c525daba46 28-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5582

* changes:
Integrate luni module (but not tests) to Harmony r772995.
addaccad1c92ad057f49c2f705c647a610d130b3 28-Jul-2009 Ben Cheng <bccheng@android.com> Fix a JIT bug where invoke-direct-empty is the last instruction in the trace.
1c50dcaed6582d02aa557a915d42b13379b58730 28-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8665

* changes:
First phase of restructuring to support THUMB2 & ARM traces Store some useful info about traces in JitTable entry; some general cleanup
58de646cd3d46456b40378d087525be24e8d0816 28-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8707

* changes:
Fix mangling to translate dollar signs.
9ac0085eac2512dc5571a99dccd638ba1cc6f62e 19-Jul-2009 Brian McKenna <puffnfresh@gmail.com> Fix mangling to translate dollar signs.

(Manually pulled from external change 10724.)
604f1ad009ccc2e97f88e303ae49ebabc57474c9 23-Jul-2009 Bill Buzbee <buzbee@google.com> First phase of restructuring to support THUMB2 & ARM traces
Store some useful info about traces in JitTable entry; some general cleanup
b2208de981390675b30d1ff8a20b2dc169869b92 27-Jul-2009 Andy McFadden <fadden@android.com> Added dvmLinearAllocContains().
2603bcad5d9bacd63414f7388d0baf1368b2f635 26-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge korg/donut into korg/master

Conflicts:

libcore/luni/src/main/java/org/apache/harmony/luni/platform/PlatformAddressFactory.java
vm/oo/Class.c
f100668c4e16a8bd56bd17d5165aa99bec8c2ed0 25-Jul-2009 Andy McFadden <fadden@android.com> am 8e696dc0: JNI direct buffer function speedup, part 3.

Merge commit '8e696dc0271299433cb3297e7aafc7bd0ee1b2b7'

* commit '8e696dc0271299433cb3297e7aafc7bd0ee1b2b7':
JNI direct buffer function speedup, part 3.
3bf58cc6cc7a58174ba8bc6993ba873bfd6bc98d 25-Jul-2009 Andy McFadden <fadden@android.com> am 8e5c7847: JNI direct buffer function speedup, part 2.

Merge commit '8e5c78470229fd2f5474574081eaa4a2286aafea'

* commit '8e5c78470229fd2f5474574081eaa4a2286aafea':
JNI direct buffer function speedup, part 2.
ddd03b1c35dd0f60bb08ef11d5f3adab336e794e 25-Jul-2009 Jesse Wilson <jessewilson@google.com> Integrate luni module (but not tests) to Harmony r772995.

Notable changes
- Stripped "@since Android 1.0" from many files. Most files
are now 100% the same in Dalvik and Harmony.
- AbstractStringBuilder.reverse() supports surrogates
- AbstractStringBuilder shares less to waste less memory
- Bitset optimized
- BufferedInputStream changed to support unsynchronized close()
- BufferedOutputStream does flushInternal
- BufferedReader supports EBCDIC NEL
- Collections.synchronizedList().indexOf() does a copy for more concurrency
- Classes in nio module changed: DatagramChannelImpl, SocketChannelImpl
and ServerSocketChannelImpl (these depend on internal APIs changed in
this update)
- DataInputStream/DataOutputStream now use a small buffer to limit the
number of times the underlying stream is accessed
- Date now has a minutes offset, more efficient toString()
- ExposedByteArrayInputStream: new internal class
- DeleteOnExit moved to top-level class
- FileDescriptor.isValid() now non-native
- Float, Double lessThan optimized (fix for compare(-0.0F, 0.0F) still pending)
- FileURLConnection now guesses content types from streams
- HashMap iterator changes
- Hashtable iterator changes
- INetworkSystem
- removes bind2(), createMulticastSocket, sendStream(),
- renames createSocket to createStreamSocket
- JarURLConnection rewritten
- LinkedHashMap: new iterator
- Locale, Currency, TimeZone: now use ICU in Harmony, plain Java in Dalvik
- ObjectInputStream: Accessor objects in Harmony, direct native in Dalvik
- ProxyClassFile - many changes
- String - optimized ascii for toLowerCase, toUpperCase, compare
- Timer - rewritten
- TreeMap - rewritten
- URLClassLoader - new
- URLConnection - new guessContentTypeFromStream(), uses org.apache.harmony.awt.www.content
to lookup content type handlers
998e3a11c506dd0765658b260c087f939bb074f8 25-Jul-2009 Andy McFadden <fadden@android.com> JNI direct buffer function speedup, part 3.

This caches the effective address in a new field in the base Buffer
object. The first time something calls through one of the various
getEffectiveAddress calls, the value is set. (This seemed easier than
chasing down the constructors and factories, and also prevents bit rot
on the "slow path" in the VM.)
bc77a0c1d47ed2ff2f390df6586c982d96c18360 24-Jul-2009 Andy McFadden <fadden@android.com> JNI direct buffer function speedup, part 2.

This converts the three direct buffer functions from JNI to internal VM
calls. As a bonus, we grab PlatformAddress.osaddr directly instead of
retrieving it with PlatformAddress.toLong().

We're still calling through getEffectiveAddress(), which is where most
of the complexity lies.

Nudged a couple of comments.
06909b80e41e5b3f7d555527a487c5779fcebb57 24-Jul-2009 Joe LaPenna <joe@joelapenna.com> Fix broken link in docstring. issue 1194
abfb4bea71fa1ac101939282f9ac1cc9ff51e5d0 23-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 828311c1: Merge change 8258 into donut

Merge commit '828311c1293ba533065895cc375abb143e14b69a'

* commit '828311c1293ba533065895cc375abb143e14b69a':
Minor fixes to CheckJNI.
ee2e30fe6a7255e2abc91ebcf4eb322c7fedc07a 23-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8258 into donut

* changes:
Minor fixes to CheckJNI.
ef7bb0cbce277cef77ca54a63a36c6ac7e9daccd 23-Jul-2009 Andy McFadden <fadden@android.com> am 5f612b82: JNI direct buffer function speedup, part 1.

Merge commit '5f612b82bbc2fcfb13865acd3c3835febab23466'

* commit '5f612b82bbc2fcfb13865acd3c3835febab23466':
JNI direct buffer function speedup, part 1.
713f176ed0e5e4b5229fd8253207a09f3a3c0301 23-Jul-2009 Andy McFadden <fadden@android.com> Minor fixes to CheckJNI.

We weren't always switching to "running" mode before playing with
objects. Now checkObject() always changes modes, and things that called
checkObject while in "running" mode now do so after switching back to
"native" (which shouldn't matter now, but I don't want to require nested
switching to work if I don't have to).

Vaguely related to internal bug 1943379, since I think we want to do
some updates to CheckJNI there.
9f8352b8d3efca0e453a7e9c282d9c0af5209cff 23-Jul-2009 Andy McFadden <fadden@android.com> JNI direct buffer function speedup, part 1.

This is a fairly straightforward improvement to GetDirectBufferAddress,
caching classes and methodIDs instead of looking them up on every call.
This is the best we can do without making the function more vulnerable
to internal changes to Harmony's NIO implementation.

It looks like we need to take this farther, but this way we have a
relatively fast and relatively safe version to fall back on.

For internal bug 1943379.
8281d92ab812c18a54d6b59dfad77415618af131 22-Jul-2009 Bill Buzbee <buzbee@google.com> Add armv7-a target to jit. Mostly a placeholder, another restructuring to come
c311cf4906d73560bfc19749b120a8fa065d7632 21-Jul-2009 Ben Cheng <bccheng@android.com> Remove unused label.
8c9add1a126361c78c34d7d3cfc0433065280275 21-Jul-2009 Ben Cheng <bccheng@android.com> Associate Java source code line number with JIT traces.

Sample output:

D/dalvikvm( 400): TRACEPROFILE 0x426d945c 5192426 [0x4(+32), 810] Lcom/android/unit_tests/PerformanceTests$AddMemberVariableTest;testRun;()V
D/dalvikvm( 400): TRACEPROFILE 0x426d955c 263 [0x2(+1), 809] (omitted)
D/dalvikvm( 400): TRACEPROFILE 0x426d9640 0 [0x53(+1), 344] (omitted)
D/dalvikvm( 400): TRACEPROFILE 0x426d960c 0 [0x72(+1), 271] (omitted)
D/dalvikvm( 400): TRACEPROFILE 0x426d9590 0 [0x74(+5), 272] (omitted)

For the first line:

5192426: execution count of this trace
0x4: starting bytecode offset
+32: number of instructions included in the trace
810: line number corresponding to 0x4 in the file containing the method

Also add WITH_JIT_TUNING for now whenever JIT is enabled.
ede948563eb8fe1fb385665e24120c99da925f2f 21-Jul-2009 Android Code Review <code-review@android.com> Merge change 10723

* changes:
Fix variable names related to bytecode tracing.
b48ff3433365af4e43096dcffa12049982e42a91 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7773

* changes:
Polish JIT trace profiling and fix a unchaining bug when profiling is enabled.
df167998f8e30e97e6df36f8478dc5cd64e13317 18-Jul-2009 Ben Cheng <bccheng@android.com> Polish JIT trace profiling and fix a unchaining bug when profiling is enabled.
315d4fd3b27b7019d8252407f3d0a7019486a42d 19-Jul-2009 Brian McKenna <puffnfresh@gmail.com> Fix mangling to translate dollar signs (to allow Scala methods).
438386267aa3ab9dc1cad7d95c150dbbeef39f94 08-Jul-2009 Mike Lockwood <lockwood@android.com> Fix variable names related to bytecode tracing.

Signed-off-by: Tony Yokoyama <chuuoudai@gmail.com>

The compile errors, encountered in the case that macro LOG_INSTR is
turned on, are fixed.

On branch log_instr
Changes to be committed:

modified: vm/mterp/armv5te/debug.c
modified: vm/mterp/c/gotoTargets.c
modified: vm/mterp/out/InterpC-allstubs.c
modified: vm/mterp/out/InterpC-armv4.c
modified: vm/mterp/out/InterpC-armv5te.c
modified: vm/mterp/out/InterpC-portdbg.c
modified: vm/mterp/out/InterpC-portstd.c
modified: vm/mterp/out/InterpC-x86.c
modified: vm/mterp/portable/debug.c
modified: vm/oo/Class.c
5948ed73b0d5a4ccb85d0b03806c4c647128943e 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7487

* changes:
Fixed a tiny bug in TimSort that slightly affects performance on small arrays Martin Buchholz discovered this bug by running all tests with assertions enabled. That's the only way he could have discovered it, as it doesn't affect correctness:) The assertion that failed was the one at the head of countRunAndMakeAscending. The cause was that I called the method with (a, start, length) instead of (a, start, end).
de6a8073330e9d069d422287201c1753ec4103f9 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7550

* changes:
Fixing wakeups caused by Thread.join() interacting with LockSupport.unpark.
02831cea53dc8a6d7c509a53c2f7a6ffa93ce325 16-Jul-2009 Jesse Wilson <jessewilson@google.com> Fixing wakeups caused by Thread.join() interacting with LockSupport.unpark.

This caused several concurrency tests to fail when run with timeouts, since
the tests cause park and unpark to happen frequently.

Also fixing a tiny issue with CoreTestRunnable to use the proper tmp directory
and to include the program of a failed external execution.
2d161d06323509d5d344d5d299dca67258330b14 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7442

* changes:
Make verifier field/method resolution conformant.
7f1bd0aa62946319f87a4cc106c4f02b081c3390 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7474

* changes:
Throw OutOfMemoryError on oversize array allocs.
4665990e95a8cf52c49b9e23e5059c83d28dbcb5 16-Jul-2009 Joshua Bloch <jjb@google.com> Fixed a tiny bug in TimSort that slightly affects performance on small arrays
Martin Buchholz discovered this bug by running all tests with assertions
enabled. That's the only way he could have discovered it, as it doesn't
affect correctness:) The assertion that failed was the one at the head of
countRunAndMakeAscending. The cause was that I called the method with
(a, start, length) instead of (a, start, end).
54de73853fbf3592b0183f380fdbcb98507a5045 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 6fbc4eb4: Merge change 7410 into donut

Merge commit '6fbc4eb48bf368199f31a25fae60f8f7a378cc52'

* commit '6fbc4eb48bf368199f31a25fae60f8f7a378cc52':
Fix bug: Arrays.deepToSting renders "[null]" as "null"; "[[]]" as "[]"; etc.
68b3e622fbfa5c34efd842a392d3dcd020653859 16-Jul-2009 Andy McFadden <fadden@android.com> Throw OutOfMemoryError on oversize array allocs.

We've been throwing InternalError because of a particular statement in
the JPL that suggests we should be clearing out SoftReferences before
throwing OOM. That seems unnecessary for an array allocation that we're
rejecting because the total size doesn't fit in a 32-bit integer.

Now we just throw OOM.
ac36801db0c830bdf6052e6b69dc61cae2e40aff 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6983

* changes:
Include the full stacktrace when a test times out.
2c486d51a80b1e1c8e4d03cde7bac368729711cd 15-Jul-2009 Andy McFadden <fadden@android.com> Make verifier field/method resolution conformant.

The VM spec spells out a particular way to look for fields. It assumes
that static and virtual fields are piled together into a single pool,
so it makes sense to scan through both kinds when resolving. In Dalvik,
field definitions are separated by scope, so we can save a little time
by only searching through the appropriate list.

It turns out that you can create a situation where a field with the same
name is available in both static and virtual forms in the same class.
javac won't let you do this in a single class, but with separate
compilation and inheritance you can pull it off. In these situations,
Dalvik can do the wrong thing. For example, if you ask for a static
field, Dalvik will happily use the static field from a superclass without
realizing that there's an instance field with the same name in the current
class. It's supposed to find the instance field, realize that it's not
static, and throw an exception.

This change updates the verifier to do an "untyped" scan like the VM
spec wants. Problematic situations are identifed and result in an
"incompatible class change" exception.

This does not alter "direct" method lookups (constructors, private
methods).

I also altered the annotation "ambiguous" method lookup to use the new
function, since that's probably the desired behavior there as well.
771300eb57865b718af4d1edf2669b9d96002708 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7410 into donut

* changes:
Fix bug: Arrays.deepToSting renders "[null]" as "null"; "[[]]" as "[]"; etc.
19e77b3ececa9ef74e3854db1f4baf61f83d58a2 15-Jul-2009 Joshua Bloch <jjb@google.com> Fix bug: Arrays.deepToSting renders "[null]" as "null"; "[[]]" as "[]"; etc.
7061ddc988aaf97e0c4a657c8c0a5d1d5053a957 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7162

* changes:
Throw a pre-fabricated NoClassDefFoundError.
53a25df9027b1d0f9be64c21ed9d49b61ce027e8 15-Jul-2009 Andy McFadden <fadden@android.com> Throw a pre-fabricated NoClassDefFoundError.

When a class loader tries to load a class, it first asks its parent to
look for it. This continues up the chain until the bootstrap class loader
is reached. If the class can't be found, the bootstrap loader throws a
NoClassDefFoundError. As a result, we're throwing at least one exception
for every class we load that doesn't come from the bootstrap path.

This change creates a "stock" NoClassDefFoundError exception with a trivial
stack trace and throws that instead, saving the overhead of creating and
initializing the exception object.

I think the only way that anyone will see this is if they try to
load a class directly from the bootstrap loader, in which case the
ClassNotFoundException will show the canned NCDFE as the cause. I
don't think any useful diagnostic information is being lost.
40231fcfbddee40fbfdf0098658cdd50359d7df8 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7171

* changes:
Add real info.
5eedea9e7cb99166894e06e006d0133047256924 15-Jul-2009 Andy McFadden <fadden@android.com> Add real info.
0e7a398d50021aaae2fd426bc66302bdbb493254 14-Jul-2009 Andy McFadden <fadden@android.com> am 798e7434: (-s ours) Don\'t init class during reflection signature scan.

Merge commit '798e74341e03edf2c30728a141dc6af7a89f9e1f'

* commit '798e74341e03edf2c30728a141dc6af7a89f9e1f':
Don't init class during reflection signature scan.
51209b62bf9f5e137a3d64387cdc85a650090e68 16-Jun-2009 Andy McFadden <fadden@android.com> Don't init class during reflection signature scan.

Do not merge to master -- this is 57ea16e8 from there.

When processing Class.getDeclaredMethods() we create Method objects.
These have arrays of classes that indicate the method parameter types.
While generating the array we were initializing the classes we found,
which isn't necessary and led to some unpleasantness described in
external bug 3005.
31b38a845bc1215e9c426dea2725948fc01a0e4e 14-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7034

* changes:
Added note about unaligned doubles.
1ab854912b628f2a719950f405ffdcb5c6dedb9a 14-Jul-2009 Andy McFadden <fadden@android.com> Added note about unaligned doubles.
668ea61c346d36bcce658cc4814527eb61a459a7 14-Jul-2009 Andy McFadden <fadden@android.com> am 2b828991: (-s ours) Remove races from JNI_OnLoad invocation.

Merge commit '2b82899181108c4ed290f8c6b6be13759b59768f'

* commit '2b82899181108c4ed290f8c6b6be13759b59768f':
Remove races from JNI_OnLoad invocation.
30d3618b14778eff346645bfd2b1ef048f6a65c5 14-Jul-2009 Jesse Wilson <jessewilson@google.com> Include the full stacktrace when a test times out.
ca573f5b4dee818586fca032657cb1a262e5c31c 10-Jul-2009 Andy McFadden <fadden@android.com> Remove races from JNI_OnLoad invocation.

Do not merge to master. (This was copied from there to donut.)

The current implementation just calls JNI_OnLoad and returns a failure
result if that goes badly. If a second load attempt is made after
dlopen() finishes but before JNI_OnLoad completes, it will succeed
immediately.

This is bad because (a) we might not have finished the initialization
steps in JNI_OnLoad, and (b) it's possible JNI_OnLoad will fail. We now
wait for an in-progress JNI_OnLoad to complete before returning. (This
also requires recognizing and handling recursive invocation.)
315b239084f7a443d0e2631c9f4680f46562b822 13-Jul-2009 Andy McFadden <fadden@android.com> Add note about -to-long conversions.

Library behavior may not be what Java spec requires. Added sample code
and pointer to dalvik test.
c3d7cb3e0557bf2d06542e53af796d2b365c4ec9 13-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6848

* changes:
Minor class loading optimization.
7a796eefea9047f6abe374a8106dc943648ba0b4 13-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6800

* changes:
Remove races from JNI_OnLoad invocation.
aa72f5f400ab79fd2340409c9da7b27b49e1827d 11-Jul-2009 Andy McFadden <fadden@android.com> Minor class loading optimization.

In internal bug 1836311, the String.replace() in PathLoader.findClass
was identifed by traceview as 6.6% of startup time for an app. This
adds a (hidden) alternative that takes a "binary name" like the
functions in ClassLoader, and we do the slash-to-dot conversion inside
the VM as we convert it to a descriptor. (This is really how it should
have been done in the first place, but now it's part of the visible API
and engraved in stone.)

The original function now does a slash-to-dot conversion and calls the
new one.

(We may want to un-hide the method for the benefit of people writing
custom class loaders. If so, we can do that in a separate API-update
commit.)
6229c60c52f6e39b9505f92aabb68d71a0e1a08a 10-Jul-2009 Andy McFadden <fadden@android.com> Remove races from JNI_OnLoad invocation.

The current implementation just calls JNI_OnLoad and returns a failure
result if that goes badly. If a second load attempt is made after
dlopen() finishes but before JNI_OnLoad completes, it will succeed
immediately.

This is bad because (a) we might not have finished the initialization
steps in JNI_OnLoad, and (b) it's possible JNI_OnLoad will fail. We now
wait for an in-progress JNI_OnLoad to complete before returning. (This
also requires recognizing and handling recursive invocation.)
a6b6dc2e616751b3c8748fbf38c386ba6dc272df 08-Jul-2009 Bill Buzbee <buzbee@google.com> Inline-execute for Java.Lang.Math routines, jit codegen restructure, various bug fixes.
5e5cea40c50426b3ad83fab7b564d2bb697f5d36 10-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4613

* changes:
Performance improvement for OpenSSLSocketImpl in read and write
a4cf13e344ada44981a996207702e8f6ca9e3290 10-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 3bef2909: Merge change 4595 into donut

Merge commit '3bef2909f1f0e8ea57e9934494b0ff8b7ecd8656'

* commit '3bef2909f1f0e8ea57e9934494b0ff8b7ecd8656':
Reactivating test that failed with a extensive gref count increase
88c628de0eec0b9c2997fdb54e5164cc23fb0fa9 10-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4595 into donut

* changes:
Reactivating test that failed with a extensive gref count increase
880fa0ba3179294bb5ae7f4f16fb669b1d4e724c 07-Jul-2009 Ben Cheng <bccheng@android.com> Improved method invocation performance: 1.5x for virtual and 2.8x for interface.

- Implemented predicted chaining for invoke virtual and interface.
- Eliminated a little bit of fat for invoke native.
- Added 078-polymorphic-virtual for stress tests.
9f90c725c78f40d1c3a32f7449bb707de448c00c 08-Jul-2009 Mike Lockwood <lockwood@android.com> Fix typo introduced in previous change.

Signed-off-by: Mike Lockwood <lockwood@android.com>
8c2e931b409e98152e058d67ad9926bfa48cb193 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit '3102d523c787402faf4590c7e25cef8c3e20afa4' into merge_korg_master

Conflicts:
vm/Android.mk
4a9eff4f9391254d1b1c5a74ccd4897be90d5b29 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'c1b54205471ea7824c87e53e0d9e6d4c30518007' into merge_korg_master
254a2c0f691ca219b1421f7a7d93c729775283c0 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge branch 'master' of ssh://android-git:29418/platform/dalvik into merge_korg_master
fb40c5965d8b2b4ef75441077828fe06d7150bcd 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'ca807d6e5d828787e06588af109941cfbbbffef7' into merge_korg_master

Conflicts:
docs/porting-guide.html
ff4d899b9fd642e18c6d954e2ce8781a51187510 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'eab2645a76fa91a73d77dc25c3df2be4108ca843' into merge_korg_master
579b957468b50444c122cc7445ae444270a0756a 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit '7501cdb16d99ee9f1340d0e5e81c21e22084a8f3' into merge_korg_master
41dd0c0543d645d48c8480eee59dfb8990189fc4 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit '748191eb80feda199a8fb2990221e3140a97005f' into merge_korg_master
20684026bd73b6a43eb5732e486e70aec1dc0c2b 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit '9b0e83401b0ade80e1943c2cc16ef5ec9b46eef5' into merge_korg_master

Conflicts:
vm/oo/Class.c
vm/oo/Object.h
f0a54ffcc5767716133408af26a074b13c48757e 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit '9974ec51bb9db86c370b2fbcd251f20865a4cd1d' into merge_korg_master
9e34e82d3707a40dbe603190bedfcd208d5cf4c0 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6268

* changes:
Update notes on JDWP debugger support.
eccd81e6bebc6750759bad09232bc8193af2e8bf 06-Jul-2009 Andy McFadden <fadden@android.com> Update notes on JDWP debugger support.

In particular:

- The app framework uses ro.debuggable, not ro.secure, to decide
whether or not debuggers are globally allowed.
- If you have a debugger attached, Thread objects may not be collected.
1d02e42d353a7a1056195756f0ec5ee42dd2dc9c 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6122

* changes:
Add mterp stub collection to aid porting.
a1c4951c0cd44d3ceec84c298ffa88802059c5d3 02-Jul-2009 Andy McFadden <fadden@android.com> Add mterp stub collection to aid porting.

For some of the more complex Dalvik operations it can be handy to see
what gcc outputs in similar circumstances. This adds a file filled with
"trivial" operations to the Dalvik porting documentation.
c6a2177e635c8175815eb4d7519704a3498e7efc 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am ec537042: Merge change 6098 into donut

Merge commit 'ec537042338c000af4526099599e128be63bee68'

* commit 'ec537042338c000af4526099599e128be63bee68':
Commented out invalid test.
783f8ec4fc38739b6eb2a59ed43ed1253606b3b3 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am ab4b7f70: Merge change 5967 into donut

Merge commit 'ab4b7f704313075838517ffec400dc5b6250c67c'

* commit 'ab4b7f704313075838517ffec400dc5b6250c67c':
Modifies OpenSSLSocketImpl to use a different lock for the instance count. It was using the same lock when use around native methods meaning that the finalizer could be blocked unnecessarily
aab2a03ff9d96d2166ef460004d87d59c81fe86b 06-Jul-2009 Andy McFadden <fadden@android.com> Merge commit 'a8e9edde' into manualmerge
3b4243e4481a463a195f070f0f8a8f16a7de6fb7 06-Jul-2009 Andy McFadden <fadden@android.com> Merge commit 'e260e580' into manualmerge
5348825c08ca516674c6edf9b2132899f4f27ac3 03-Jul-2009 crazybob <crazybob@google.com> am 4ce12e65: Fixes deadlock in Runtime.exec(). We can\'t malloc() or free() after fork() because the heap lock may be held by a thread that is no longer running.

Merge commit '4ce12e65bb5fb7cb0eaa131e8b5c0b740e8e359e'

* commit '4ce12e65bb5fb7cb0eaa131e8b5c0b740e8e359e':
Fixes deadlock in Runtime.exec(). We can't malloc() or free() after fork() because the heap lock may be held by a thread that is no longer running.
3b2da47d54a36c88ccbf17ac5cb3709cbda7f41e 02-Jul-2009 Android Code Review <code-review@android.com> Merge change 10482

* changes:
Add a bit-map encoding of Object-reference field offsets to ClassObject.
0cfbca11544bff7c76159b790e4cfe6a26e67937 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6098 into donut

* changes:
Commented out invalid test.
6f91a45b0078a1227279553788489b4e8715a9f4 02-Jul-2009 crazybob <crazybob@google.com> Commented out invalid test.
c7b86dd18929a07bb1fdb4c4e7efb3248bd07ed6 01-Jul-2009 Andy McFadden <fadden@android.com> Fix fill-array-data on big-endian systems.

The array data comes out of the instruction stream, which is swapped as
if it were a stream of 16-bit code units. This is great for char/short
array data, but comes out wrong for everything else.

This was verified by an external developer with big-endian MIPS hardware.
Should be no change for ARM.
bb11444d498301ab204846f59f9dfbde42c91b2a 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5967 into donut

* changes:
Modifies OpenSSLSocketImpl to use a different lock for the instance count. It was using the same lock when use around native methods meaning that the finalizer could be blocked unnecessarily resulting in a VM crash.
b4c7249ca7eb2d33588003f9ef6524839fae1e0e 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5991 into donut

* changes:
Reduce VM aborts during high CPU stress.
e065df6ff0c2f58a5937b32952dfe85704b9e1e1 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5990 into donut

* changes:
Pull 138592-p9 from master to donut.
7b4b382b42914e0637a69ca0932ad24b86334616 18-Jun-2009 Andy McFadden <fadden@android.com> Reduce VM aborts during high CPU stress.

(This was cherry-picked from master 2aa43610 for internal bug 1952616.)

The VM has some timeouts that are meant to kill the current process if
something gets stuck (e.g. a thread grabs a lock and then manages to die
while the rest of the process continues on). These were tripping a
little too easily during some high-load situations.

This changes the order of operations so that we now unlock the "thread
suspend" lock before sending a wakeup broadcast to the condition variable
that threads sleep on. This should make it less likely for a thread to
be running for an extended period while the lock is held. (Relates to
internal bug 1664687.)

This also wraps a couple of things (pthread_create, dlopen) with a state
change to VMWAIT. During high load situations these can take a while to
complete, and we would (with the K-Means Visualizer load generator
running) very occasionally time out.

Augmented the debug output in a couple of minor ways. Updated comments.
f95812a2955453a10c284186cb902dcf43257e1e 01-Jul-2009 Andy McFadden <fadden@android.com> Pull 138592-p9 from master to donut.

Switch from VMWAIT to RUNNING when executing code on behalf of the
debugger. Reset the thread-suspend lock timeout if we have to suspend
while trying to acquire it.

Also, clear any pending exception before calling interpreted code.

Reworked some log messages to make them easier to decipher.

(For internal bug 1952616.)
8105fc998df977e12c2bc2bde2e5dda2a0a4d6ff 01-Jul-2009 crazybob <crazybob@google.com> Modifies OpenSSLSocketImpl to use a different lock for the instance count. It was using the same lock when use around native methods meaning that the finalizer could be blocked unnecessarily
resulting in a VM crash.
6a4c2d5cc367964efbf2139dfe27dc9d02969687 19-Jun-2009 crazybob <crazybob@google.com> Fixes deadlock in Runtime.exec(). We can't malloc() or free() after fork() because the heap lock may be held by a thread that is no longer running.
86be0122717de5ad994957f1e4f5586b8d65982d 30-Jun-2009 Andy McFadden <fadden@android.com> Inline some java.lang.Math functions.

For a first pass, I inlined the various flavors of abs(), min()/max() on
integers, sqrt(), cos(), and sin(). These were selected based on a
static analysis of a few of our jar files.

A test of repeated sin/cos/sqrt calls on a G1-class device showed an
improvement of 28%. This would improve more on devices with VFP
support if the VM is compiled with -mfpu=vfp.

Also: clarified a warning and removed some "#if 0" stuff.
b977cb553087a2935513f381e73432591b46713c 30-Jun-2009 San Mehat <san@google.com> am 3e371e2e: dalvik: thread: Set the control group of a thread to the background group if the priority is logically-lower than ANDROID_PRIORITY_BACKGROUND

Merge commit '3e371e2ebbeeefe176ba1357e6ff241bd13a711e'

* commit '3e371e2ebbeeefe176ba1357e6ff241bd13a711e':
dalvik: thread: Set the control group of a thread to the background group
394a141d94498d4e0a7a06fccd7f8b01dd2ab92f 26-Jun-2009 San Mehat <san@google.com> dalvik: thread: Set the control group of a thread to the background group
if the priority is logically-lower than ANDROID_PRIORITY_BACKGROUND

Signed-off-by: San Mehat <san@google.com>
bfd8d416e6f9b15530418363b1539681afaa0e3b 22-Jun-2009 Barry Hayes <bhayes@google.com> Add a bit-map encoding of Object-reference field offsets to ClassObject.

Class.c populates a new field with a bit for each of the first 32 instance
fields, to show if it is a reference or not, and an escape value if there is a
reference field beyond 32.

The GC uses the encoded bitmap -- if available -- to extract Object refererences
from DataObjects.
77fd20cdf7bb2ffde373a5cbf50496053e656c32 26-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5440

* changes:
"External allocation" tracking for direct buffers.
0907339e84c3ee845e5e3f0727fdbe7990ae13c4 04-Jun-2009 Andy McFadden <fadden@android.com> "External allocation" tracking for direct buffers.

The native memory allocated for ByteBuffer.allocateDirect was not being
tracked by the VM's "external allocation" mechanism. This adds the
necessary calls to the Harmony OSMemory allocator, which is what
actually calls malloc().

The external alloc stuff just takes size values, so we tuck a copy of
the allocation size into the allocated block, and pull it out when it's
time to free the memory.

(Includes in a couple of other changes that I had to commit somewhere so
I could sync.)
9de974519c807f834dadf404b19679ee2cde876d 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5292

* changes:
Collect per-method code size statistics to show compiled vs overall Dalvik portion and total native code size.
c14b0ad9fdd6d41386f34668517cb8dfdfa5fe8c 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 7d8220a4: Merge change 5286 into donut

Merge commit '7d8220a4d0193b85efd7d289cbff3617f56ef0a9'

* commit '7d8220a4d0193b85efd7d289cbff3617f56ef0a9':
Check for failure in GetDirectBufferAddress.
0adee1a00a236c2e54cd473af04a57be07b8597c 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5286 into donut

* changes:
Check for failure in GetDirectBufferAddress.
8d0375bd2a7be84658123ddbe42ab459f258e7bf 25-Jun-2009 Ben Cheng <bccheng@android.com> Collect per-method code size statistics to show compiled vs overall Dalvik portion and total native code size.
f9ef99962718359f582f6c1d5a5b1c969c028ad2 25-Jun-2009 Andy McFadden <fadden@android.com> Check for failure in GetDirectBufferAddress.

We now check for a null result or a pending exception in the JNI
GetDirectBufferAddress function. This prevents a VM crash when somebody
tries to get the address of a non-direct buffer.

For internal bug 1926596.
b35b5015f6bb4bbc52e5b4c700aa5f3ce22c61a9 25-Jun-2009 Dianne Hackborn <hackbod@google.com> am 0f0ae023: Add FileDescriptor variation of startMethodTracing().

Merge commit '0f0ae023a3a53f7c9e254283b50a0099781acb79'

* commit '0f0ae023a3a53f7c9e254283b50a0099781acb79':
Add FileDescriptor variation of startMethodTracing().
13b9fbb4469637d226b067e01d15896b666c80bd 24-Jun-2009 Dianne Hackborn <hackbod@google.com> Add FileDescriptor variation of startMethodTracing().

This is for bug #1829561 ("am profile" with bad filename kills process), which
will allow the am command to take care of opening the file and handing the
resulting fd over to the process to be profiled.
06397d03b86bbf4c1df0b8c1110380195c4d17c0 24-Jun-2009 Andy McFadden <fadden@android.com> am cda8f8ab: Merge 137552-p9 to donut.

Merge commit 'cda8f8abd1d02f5ab58add1ebb23f20fdab6341c'

* commit 'cda8f8abd1d02f5ab58add1ebb23f20fdab6341c':
Merge 137552-p9 to donut.
c6c031e505ce244e6e109075f7a49caaaefd141e 24-Jun-2009 Andy McFadden <fadden@android.com> Merge 137552-p9 to donut.

Since we're apparently using these calls now, we probably ought to pull
the bug fix over. It's been in master for more than 3 months so it
should be safe. It'll also make future merges easier.

Prequel to fix for internal bug #1926596.
59c1121442c36132d5141046dd8e8b4fa69fd114 23-Jun-2009 Ben Cheng <bccheng@android.com> Shutdown the compiler thread before the dvmSlayDaemons call is made.
a7d80604435d89f9e2b0ffed956f6393b914a0cb 23-Jun-2009 Shin-ichiro KAWASAKI <shinichiro.kawasaki.mg@hitachi.com> added/modified to support SuperH architecture

modified: README.txt
modified: vm/Android.mk
new file: vm/arch/sh/CallSH4ABI.S
2677bfef8ce6abad783909c94e6c050bab3e6c94 22-Jun-2009 Ben Cheng <bccheng@android.com> The address of dvmMterpCommonExceptionThrown should be loaded in a position-independent way since these handlers are copied into the code cache.

BTW fixed a couple recently introduced compiler warnings in Codegen.c.
1a0a05adcc5458e6ec7c486d848727e77cd1f344 20-Jun-2009 Bill Buzbee <buzbee@google.com> New threshold mechanism for trace selections. Intended to reduce number of junk traces.
99a5e97836a3feed9cfaa1b3aa4a6530796797d4 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4935

* changes:
Instance_of should return false if reference is NULL.
bf1c84f7c727c1ffae8e7f5a8e34a5af486e23ac 22-Jun-2009 Ben Cheng <bccheng@android.com> Instance_of should return false if reference is NULL.
d295385c9c9293622c0cb7c59b6fa46e7e62585f 20-Jun-2009 Andy McFadden <fadden@android.com> Use paired immediates for large constants.

The double-to-int and double-to-long instructions were loading constants
from .word directives, which wastes space in the CPU data cache. This
replaces a single LDR with a pair of data operations.

We don't actually use the double-to-long handler (the ARM EABI lib
does the right thing), and double-to-int is handled by VFP on newer
devices, but on older devices this may help a smidgeon. Mostly it just
looks nicer when you don't have .words lying around.

Also picks up a change that should be in the armv7-a generated file but
got lost in all of today's various mergings (float compare tweak).
095aef0551d2c82f93711b93cca52dd09f0bdab1 20-Jun-2009 Andy McFadden <fadden@android.com> Added ARMv6T2 experiment.

These adds replacements for handlers that benefit from the use of new
instructions introduced in ARMv6T2 (notably UBFX, unsigned bit-field
extraction). This also adds an "armv7-a" mterp config file.

The benchmark improvement was tiny, so there's no real motivation to
convince the build system to use them.

This also includes an interleave fix for binop2addr.
952f0fd9d0299b32207c691042af456f88552e0d 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4809

* changes:
Warn when one handler replaces another.
28ef9f16fe7ae4aa25606ba8f3c418ec4827df13 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4798

* changes:
Replace an iterator with a traditional for loop, to reduce object allocations and memory usage.
4d8dca744f12a8a675408f441695d9d92223d8d7 19-Jun-2009 Andy McFadden <fadden@android.com> Warn when one handler replaces another.

The mterp generation script silently allows you to specify handlers for
the same opcode more than once. This can cause some confusion. We now
issue a warning when that happens.

This also reduces the overall verbosity level, so the warnings are
visible.
23a7ed1027cc2aaec9bfbb12b4fbe2f74aa47a6c 19-Jun-2009 Marco Nelissen <marcone@google.com> Replace an iterator with a traditional for loop, to reduce object allocations and memory usage.
c32053786bfcd1c38035e0e57b553fe1dd76bd89 19-Jun-2009 Andy McFadden <fadden@android.com> Improve interleave on VFP compare.

Improves FloatOps/FloatOpsD from 229/230ns to 228/229ns, an exciting
half-percentage-point gain.
baeacd058081d57eb5c2eb1df9ea49ebd7b1d548 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4695

* changes:
Quick experiment with ARMv6 instructions.
4e71a3d727d572bc8d9d433c480a51e43202c669 19-Jun-2009 Andy McFadden <fadden@android.com> Quick experiment with ARMv6 instructions.

This is a commented-out experiment with ARMv6 instructions, which our
existing products support. (We can't use these unless we want to define
an ARMv6 target. For what we gain with these, it's not worthwhile.)
61e05844035cb0cb6dcaf1885d6782d12fc3f717 19-Jun-2009 Bill Buzbee <buzbee@google.com> Neglected to rebuild template/out/* and mterp/out* in #4536
577b5dd6ae6f330bde6523579559fdb131f89d3f 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4658

* changes:
Bump the VM version.
973c0c9093c26773b63b418d3f78b1b60e359097 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4657

* changes:
Method override tests.
230728f5d361a35153a9a48f37ed0dd670578705 18-Jun-2009 Andy McFadden <fadden@android.com> Bump the VM version.

This should have been incremented when OP_THROW_VERIFICATION_ERROR was
added, since older VMs won't be able to handle the odex we generate.

Dropped the log level on the warning.
5eeefb73346ad835af8aa58a8bac225daf69b0f0 18-Jun-2009 Andy McFadden <fadden@android.com> Method override tests.

Test various method overrides, especially those that the compiler
doesn't allow (public vs. private, static vs. virtual). This doesn't
succeed right now because of the way the verifier deals with static and
virtual methods (internal bug 1752800).
297852dcc10d1c7fa2723623c702c8e2ebf00bd1 18-Jun-2009 Bill Buzbee <buzbee@google.com> Trace profiling support for the jit
de67441cbb5cb8c1570202e48659a48ec9df5d0f 18-Jun-2009 Andy McFadden <fadden@android.com> Modularize architecture selection.

"make" syntax lacks an "elif", so when you have an N-way choice the
indentation starts to get nasty. This splits the arch/variant handling
into smaller pieces, and uses the "generic" arch if none of the pieces
matched.
577c48d8edff2228969825b887b04f4c3f676d42 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4534

* changes:
Reduce VM aborts during high CPU stress.
00f363b86a5a7d81e7493c1f0c48737dd5920d04 18-Jun-2009 Urs Grob <ursg@google.com> Performance improvement for OpenSSLSocketImpl in read and write

This change only calls SSL_get_error only in case of an error and not in any case as it does before the change.

BUG=1322058
57871360e58d3b9f53bbd0288ac7ee0cf5cab9e7 18-Jun-2009 Urs Grob <ursg@google.com> Reactivating test that failed with a extensive gref count increase

The cause for this failure was fixed. So this test can be reactivated.
BUG=1814539
91722640809a44a14b556c4e05c69070c7987daa 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4495

* changes:
Implemented peephole optimizations including null-check elimination, redundant ld/st elimination, ad-hoc register renaming and store sinking.
d48fbae9309c714eedd2dda4e76be5cecedbf3a6 18-Jun-2009 Andy McFadden <fadden@android.com> Reduce VM aborts during high CPU stress.

The VM has some timeouts that are meant to kill the current process if
something gets stuck (e.g. a thread grabs a lock and then manages to die
while the rest of the process continues on). These were tripping a
little too easily during some high-load situations.

This changes the order of operations so that we now unlock the "thread
suspend" lock before sending a wakeup broadcast to the condition variable
that threads sleep on. This should make it less likely for a thread to
be running for an extended period while the lock is held. (Relates to
internal bug 1664687.)

This also wraps a couple of things (pthread_create, dlopen) with a state
change to VMWAIT. During high load situations these can take a while to
complete, and we would (with the K-Means Visualizer load generator
running) very occasionally time out.

Augmented the debug output in a couple of minor ways. Updated comments.
c3b33f1111c2412f34e2bf916342d37c91844ee8 12-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Use RFC3493-conformant IPv6 headers.
646132a37fa9b7afd94471d68101d558cd0ea214 17-Jun-2009 Ben Cheng <bccheng@android.com> Implemented peephole optimizations including null-check elimination, redundant ld/st elimination, ad-hoc register renaming and store sinking.
d67f5a4d5c865a15231703f7b146143fec19d17f 17-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4372

* changes:
Don't throw away the return value of connect().
b730e48c1f8df92ad70cbe5e443f8d3a4d6b6f5f 17-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 5f9aa938: Merge change 4334 into donut

Merge commit '5f9aa93881e796a66c2a625ced1ee89292c2b570'

* commit '5f9aa93881e796a66c2a625ced1ee89292c2b570':
Modified Thread to copy the context class loader from parent to child threads. Re-enabled test that covers this. Removed security-related code from test since it was invalid (the security check
7234427b08b33bcfc2b5d17307d7f68ba61b7890 16-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4335

* changes:
Add arm vfp support for the Jit
7aed85b06437df76559ab83fb4b77324cd9568eb 16-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4334 into donut

* changes:
Modified Thread to copy the context class loader from parent to child threads. Re-enabled test that covers this. Removed security-related code from test since it was invalid (the security check doesn't occur if the calling code's class loader is an ancestor of the context class loader).
0458fe89328744471c8a1ffd0765bb30f7e6b71e 16-Jun-2009 Bill Buzbee <buzbee@google.com> Add arm vfp support for the Jit
5fcceff639cba7280948bea37e0e061618bbca4e 16-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Don't throw away the return value of connect().
d2dd8d4bdf9242106e45151e8a76cfe54f79878b 16-Jun-2009 Andy McFadden <fadden@android.com> Don't init class during reflection signature scan.

When processing Class.getDeclaredMethods() we create Method objects.
These have arrays of classes that indicate the method parameter types.
While generating the array we were initializing the classes we found,
which isn't necessary and led to some unpleasantness described in
external bug 3005.
de1b3db86839e07364a5101bc61c133b689bea38 16-Jun-2009 crazybob <crazybob@google.com> Modified Thread to copy the context class loader from parent to child threads. Re-enabled test that covers this. Removed security-related code from test since it was invalid (the security check
doesn't occur if the calling code's class loader is an ancestor of the context class loader).
93ff31237a2e608e32a8059b2211972223bbae36 16-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4254

* changes:
Treat some right shifts as narrowing conversions.
13bd4221db04fd1a65425868f3447e7e8cb916e8 15-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Define wrappers for connect() and bind() to support IPv6.
ea8de031be443626489dce0d80061767d9042e5d 12-Jun-2009 Andy McFadden <fadden@android.com> Treat some right shifts as narrowing conversions.

Java bytecode optimizers like ProGuard will remove explicit integer
width conversions from certain sequences. For example, after
right-shifting an integer 24 times, an int-to-byte instruction is
redundant.

This change teaches the verifier that right shifts sometimes reduce
(or at least don't increase) the width of an integer. Previously, the
result of a right shift was always a full-sized int.
02016be3813511f02f844945bcd790e54268d9c1 15-Jun-2009 Nagendra Modadugu <ngm@google.com> am ed3c841b: Adding: QuoVadis Root Certification Authority QuoVadis Root CA 2 QuoVadis Root CA 3

Merge commit 'ed3c841bc7f1100ad827146bae062e5458812fa9'

* commit 'ed3c841bc7f1100ad827146bae062e5458812fa9':
Adding:
b2304bf960058c049f5e3fd40bd877d81f6a6f89 15-Jun-2009 Nagendra Modadugu <ngm@google.com> Adding:
QuoVadis Root Certification Authority
QuoVadis Root CA 2
QuoVadis Root CA 3
9c204c5ee85f14ad73098c5f6d4d3d95c2d42848 15-Jun-2009 Lorenzo Colitti <lorenzo@google.com> am 593d6c7c: Copy the correct number of bytes for IPv6 addresses in InetAddress_gethostbyaddr

Merge commit '593d6c7c4c08c82b361dcc08c20a0120aaaacf49'

* commit '593d6c7c4c08c82b361dcc08c20a0120aaaacf49':
Copy the correct number of bytes for IPv6 addresses in InetAddress_gethostbyaddr
ee80399028b6398dd775457e942ff3d10300a15b 15-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4123

* changes:
Added a VFP utility function for future use.
326bfaf7fd61f68c84c19908327885d748968aa0 13-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Copy the correct number of bytes for IPv6 addresses in InetAddress_gethostbyaddr
d61c5d4daec77a8458a60e21a913336f177070ed 13-Jun-2009 Andy McFadden <fadden@android.com> Added a VFP utility function for future use.
8fca3972283139c662a4cc4706ca8e6ecd5e3493 12-Jun-2009 Jesse Wilson <jessewilson@google.com> am 729c7056: Test and fix for the ArrayList.addAll(), bug 2954.

Merge commit '729c70568dac17c7178bbeccdde39fc21b9d5c1c'

* commit '729c70568dac17c7178bbeccdde39fc21b9d5c1c':
Test and fix for the ArrayList.addAll(), bug 2954.
7cb2507e9b70c18aecb26bb793ea6537480115a5 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3997

* changes:
Rename vfp to arm-vfp.
46587f002a989b24af040fa25f13ca5d8930a919 12-Jun-2009 Jesse Wilson <jessewilson@google.com> Test and fix for the ArrayList.addAll(), bug 2954.
231b5efb1056b4128ea27a86f6e0522e9970e7da 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4006

* changes:
Test and fix for the ArrayList.addAll(), bug 2954.
db390e2030bb540ad1b5023ee3d130b722b95780 12-Jun-2009 Jesse Wilson <jessewilson@google.com> Test and fix for the ArrayList.addAll(), bug 2954.
7055b79846b287a59c08d26e5f3ba6c62ca4d66e 12-Jun-2009 Andy McFadden <fadden@android.com> Rename vfp to arm-vfp.
240f6e4760456e9eb6e655d6d4ede285644b2fc7 12-Jun-2009 Dan Bornstein <danfuzz@android.com> Give dx a large max heap size by default.
3df42f1cde7a4fb3ec99ca87177db3e42d61e836 11-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2279

* changes:
Updating archive to Harmony r772995.
b50568c9713cb38963015e06f388ba6f9dad94f3 11-Jun-2009 Dan Bornstein <danfuzz@android.com> am 32c0ded2: Fix internal issue #1898791 ("PlatformAddressFactory PlatformAddress cache causes memory to not be freed in a timely manner.").

Merge commit '32c0ded21ec8cd40f27015b4e65ec6a1bd78ef9a'

* commit '32c0ded21ec8cd40f27015b4e65ec6a1bd78ef9a':
Fix internal issue #1898791 ("PlatformAddressFactory PlatformAddress cache
525737a81ab03c611319dea743cb23f5d452b536 11-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3764

* changes:
Allow {iput,sput}-boolean on a byte value.
47c5c634ccb968b7855b249dbb4e1c336a49c05c 10-Jun-2009 Andy McFadden <fadden@android.com> Allow {iput,sput}-boolean on a byte value.

javac generates code that can only be understood as storing a byte value
into a boolean field. The verifier now allows this.
ce54e6179cf90a97335ec24ab74c06b56dea7246 10-Jun-2009 Dan Bornstein <danfuzz@android.com> Fix internal issue #1898791 ("PlatformAddressFactory PlatformAddress cache
causes memory to not be freed in a timely manner.").

The change makes the two PlatformAddressFactory.alloc() methods always
allocate separate PlatformAddress objects instead of looking for them
in the cache. This means that, should they have auto-free turned on,
there won't be a reference in the cache that prevents the freeing from
happening. And since we're talking about freshly-allocated memory anyway,
it would be surprising that either a matching address would be found in
cache *or* that a subsequent call to on() would ever happen with the
same address. So, it's a win on several fronts.
a55b7eb8bcbab0166792d5c00c2c0a0ee027e88c 10-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3512

* changes:
At least mostly-fix internal issue #1898095 / public issue #2868.
64371f8a1e0a3c509125cf8a7e56c26019eb9d5e 10-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3625

* changes:
Bump from 1.0.1 to 1.1.0.
0ebb92a464bae0d43d7f5e067a379a7a303ff172 09-Jun-2009 Dan Bornstein <danfuzz@android.com> At least mostly-fix internal issue #1898095 / public issue #2868.

The problem is that Scala code may have two variables with the same
name that are simultaneously active, and dx didn't expect that ever to
be the case. The fix is simply to catch another case where a local
variable might be considered to become superfluous due to having an
empty extent. However, this is really more of a workaround, as the
result will be that such code when attached to a debugger will only
show one of the two (or more) same-named variables as being active at
any given time.

The thing that prevents a more satisfactory solution is that the
optimization code can end up "splitting up" a single local into
multiple registers, and the only way we have to track them is by
name/type. So, even without Scala's rules, it was already possible to
find a same-named local in multiple registers, but with the status
quo, finding that really meant that a local was moving from one
register to another. The local variable table code handles that case
by automatically "ending" variables that appear to move, and the Scala
case looks just like that.

In the long run, we probably want to have a way to tag local variables
that isn't just name/type, but that will have to come later.

(As a bonus, I did some minor renaming for clarity while I was in the
territory.)
cf8e984398bf62449b1ab1473bbf59ad8f5f239d 22-May-2009 Jesse Wilson <jessewilson@google.com> Updating archive to Harmony r772995.

Squashed commit of the following:
Adding @TestTargetNew tags

Initial merge of branch 'archive_772995' into archive_dalvik.

Fixed some problems, including InflaterInputStream.available()
and JarFile.skip() bugs.

Conflicts:
libcore/archive/.classpath
libcore/archive/META-INF/MANIFEST.MF
libcore/archive/build.xml
libcore/archive/make/hyproperties.xml
libcore/archive/src/main/java/java/util/jar/Attributes.java
libcore/archive/src/main/java/java/util/jar/JarEntry.java
libcore/archive/src/main/java/java/util/jar/JarException.java
libcore/archive/src/main/java/java/util/jar/JarFile.java
libcore/archive/src/main/java/java/util/jar/JarInputStream.java
libcore/archive/src/main/java/java/util/jar/JarVerifier.java
libcore/archive/src/main/java/java/util/jar/Manifest.java
libcore/archive/src/main/java/java/util/jar/Pack200.java
libcore/archive/src/main/java/java/util/zip/Adler32.java
libcore/archive/src/main/java/java/util/zip/CRC32.java
libcore/archive/src/main/java/java/util/zip/Checksum.java
libcore/archive/src/main/java/java/util/zip/DataFormatException.java
libcore/archive/src/main/java/java/util/zip/Deflater.java
libcore/archive/src/main/java/java/util/zip/DeflaterOutputStream.java
libcore/archive/src/main/java/java/util/zip/GZIPInputStream.java
libcore/archive/src/main/java/java/util/zip/GZIPOutputStream.java
libcore/archive/src/main/java/java/util/zip/Inflater.java
libcore/archive/src/main/java/java/util/zip/InflaterInputStream.java
libcore/archive/src/main/java/java/util/zip/ZipEntry.java
libcore/archive/src/main/java/java/util/zip/ZipException.java
libcore/archive/src/main/java/java/util/zip/ZipFile.java
libcore/archive/src/main/java/java/util/zip/ZipInputStream.java
libcore/archive/src/main/java/java/util/zip/ZipOutputStream.java
libcore/archive/src/main/java/org/apache/harmony/archive/internal/nls/Messages.java
libcore/archive/src/main/native/archive/shared/archiveglob.c
libcore/archive/src/main/native/archive/shared/jarfile.c
libcore/archive/src/main/native/archive/shared/zip.c
libcore/archive/src/main/native/archive/shared/zip.h
libcore/archive/src/main/native/archive/unix/makefile
libcore/archive/src/main/native/archive/windows/makefile
libcore/archive/src/main/native/java_util_zip_Adler32.c
libcore/archive/src/main/native/java_util_zip_CRC32.c
libcore/archive/src/main/native/java_util_zip_Deflater.c
libcore/archive/src/main/native/java_util_zip_Inflater.c
libcore/archive/src/main/native/zip/shared/hyzip.nls
libcore/archive/src/main/native/zip/unix/makefile
libcore/archive/src/main/native/zipsup.h
libcore/archive/src/main/native/zlib/unix/makefile
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/AttributesNameTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/AttributesTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarEntryTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarFileTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarInputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarOutputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/ManifestTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/GZIPInputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/GZIPOutputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/InflaterTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java

commit 946f165f5b592f4453fd8f2c19766921544d38dd
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 15:12:55 2009 -0700

Strip @Since Android 1.0 from Archive

commit 3498f216d7e826bfc9c4cc7c0da35830ca239367
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 15:09:05 2009 -0700

Dalvik archive

commit 62e9db90bc6aa6b5d1c897cccdd616d812672677
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 15:07:51 2009 -0700

Archive 772995

commit d1bf618681d6badf1b50edaf204a083d3912213d
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 15:06:36 2009 -0700

Archive 527399
51c37f161df008131f10695ef07969fa01e9fb5d 09-Jun-2009 Andy McFadden <fadden@android.com> Bump from 1.0.1 to 1.1.0.

Give it a bump for JIT and precise GC.
508ad9aea000b8e13f1fc84e78cb469c9b80e149 09-Jun-2009 Bill Buzbee <buzbee@google.com> Makes the primary Jit table growable. Also includes a change suggested earlier by Dan to use a pre-defined mask in the hash function. Reduce the default JitTable size from 2048 entries to 512 entries.
Update per Ben's comments.
1b32cece80ffe4ca55cc823506e7261fdc213f31 09-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3531

* changes:
Fix two codegen problems: out-of-bound PC-relative addresses and missing branch to the chaining cell at the end of non-branch-ending basic blocks.
40985a84960a3cd1f4699391b0819b78ab937ac5 09-Jun-2009 Ben Cheng <bccheng@android.com> Fix two codegen problems: out-of-bound PC-relative addresses and missing branch to the chaining cell at the end of non-branch-ending basic blocks.
e91afa37ac4561f9f5aff9ead0abff009ec14da6 08-Jun-2009 Andy McFadden <fadden@android.com> Correct instruction width for move-wide/16.

We were advancing the PC by 2 code units instead of 3, which made the VM
crash whenever the instruction was used.
1f87009801a8d69d222a00a9ab4f2f7cac0488f0 06-Jun-2009 Andy McFadden <fadden@android.com> "resolved conflicts for merge of 3a73bd to master"
a5498ba7676270e869f0765b543ca9605b40ddc6 06-Jun-2009 Bill Buzbee <buzbee@google.com> Support for stopping all threads in a Jit environment.
2abed9a08e59f432f9a893de81ffd1a4d6d861c9 06-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3378

* changes:
Swap the meaning of r7 and r8.
7e969dae28f1297a96907bfb736366d2ed366dda 06-Jun-2009 Andy McFadden <fadden@android.com> Swap the meaning of r7 and r8.

This swaps rIBASE and rINST, so that we can access rINST with 16-bit
THUMB instructions.
a37b52cb3ea97b0cd769330094e0994e9644c404 06-Jun-2009 Mathias Agopian <mathias@google.com> remove all references to LogSocket.h
adb09b560a0b3c610158f196aff64d3c35330315 05-Jun-2009 Andy McFadden <fadden@android.com> Fix JNI GetDirectBufferAddress.

The GetDirectBufferAddress JNI function was using the buffer's base
address, rather than it's "effective" base address. The difference
becomes important when you create a direct buffer by "slicing" it off
of another at a nonzero offset.

For internal bug 1898762.
3654431d44992cf82614e948abd3fc12f6cb4fcc 05-Jun-2009 Andy McFadden <fadden@android.com> Handle profiling buffer underrun.

In rare circumstances it's possible for the thread executing the "stop
profiling" method to start processing the data before all other threads
have finished writing data. In particular, it's possible for a thread
to be switched out after advancing the offset pointer but before writing
actual data.

This is problematic because the buffer is expected to contain method
pointers. The fill value (0xee) does not yield a valid pointer.

This adds a short usleep() to reduce the likelihood of the problem
occurring, and adds a buffer scan to detect partial records. When
encountered, the rest of the log is truncated.

For internal bug 1861898.
2b816607908ac1e0c0df6404f14543a71c24a644 05-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Fix the sim build on systems that have old versions of the glibc headers.
c354e93262140ee946250b3a6131018b945b8a57 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3242

* changes:
Move LOG_TAG above the includes.
bdb852a50165d2c5bdf8fc44d92778294a950796 05-Jun-2009 Andy McFadden <fadden@android.com> Move LOG_TAG above the includes.

This avoids a "LOG_TAG redefined" warning from log.h.
c331469f467b90e3f76d912d030ef1b48536a495 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3222

* changes:
Unbreak sim build.
f3908286af3891b38259411ec865525d6ed7ef75 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2832

* changes:
Initial port of the Dalvik JIT enging to the internal repository. Fixed files with trailing spaces. Addressed review comments from Dan. Addressed review comments from fadden. Addressed review comments from Dan x 2. Addressed review comments from Dan x 3.
dcf673bd6e19911f540248359fd0e891a076b7ec 04-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Unbreak sim build.
07df05a6fc7908c58139b852c989e66b415ec057 01-Jun-2009 Ben Cheng <bccheng@android.com> Initial port of the Dalvik JIT enging to the internal repository.
Fixed files with trailing spaces.
Addressed review comments from Dan.
Addressed review comments from fadden.
Addressed review comments from Dan x 2.
Addressed review comments from Dan x 3.
8782f8f62f41dabc7444d65b7819b4b44488c068 04-Jun-2009 Android Code Review <code-review@android.com> Merge change 10263

* changes:
dx incorrectly writes registers as a signed leb128 in the dex debug info
04361e2066f53d0771cfcd41c5853588e1fc00f3 04-Jun-2009 Ben Gruver <jesusfreke@jesusfreke.com> Fix field names for annotation_directory_item in documentation (dex-format.html)

The names of the annotated_methods_off and annotated_parameters_off fields aren't
consistent with their purpose. _size is consistent with how "count of" type fields
are named elsewhere in the file
6bd11fe5a029c87cf98671a1cc1817a26a3de5a1 04-Jun-2009 Ben Gruver <jesusfreke@jesusfreke.com> dx incorrectly writes registers as a signed leb128 in the dex debug info

This has no functional effect, because reading the signed leb128 value
as an unsignedleb128 still produces the same value. But the encoding is
1 byte longer in some cases.
3e286422d272da50e8509f94b490e9ee71d5a6f6 04-Jun-2009 Andy McFadden <fadden@android.com> Retry on all ADB failures.

Change 2644 added retries when ADB went away. The VM occasionally
thinks it has reconnected to adbd as it's dying, which caused a
different type of failure, and the JDWP thread went off to sulk.

This rearranges the failure handling some more, so that all failures
are treated equally (with slight differences in logging).
b33b38cb035112f9820d8b28d3296fe06200390a 03-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2972

* changes:
Use monotonic clock for HeapWorker trim scheduling.
89129869aace4be7c2ee9bed77098144e184fd2d 03-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2920

* changes:
Make native socket code address-independent in preparation for IPv6 support.
bc019a51331735982b840b91e4e0dc2d39ff9d84 02-Jun-2009 Andy McFadden <fadden@android.com> Use monotonic clock for HeapWorker trim scheduling.

We're currently using gettimeofday(), which could get confused if the
wall clock jumps the wrong way.
25074d30ee3cccff446c73a4ca103f60bca1e0c4 27-May-2009 Lorenzo Colitti <lorenzo@google.com> Make native socket code address-independent in preparation for IPv6 support.
94361af61be4f84ed9c44db4bd18b19d342b6907 03-Jun-2009 Andy McFadden <fadden@android.com> Fix buffer overrun in DDM heap upload.

The HPSG heap upload was using a 4KB buffer. A test provided by an
external developer is creating massive arrays that need more than 12KB,
so we overran the buffer and trashed the native heap.

This change adds a test to prevent the overrun, and increases the buffer
size to 16KB to accomodate the current maximum heap size.
0c49061d97c355d2a50c95359b3973d16f57cb80 03-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 29febc56: Merge change 2454 into donut

Merge commit '29febc56fd523a7b1684ab04f75d6d213a282f11'

* commit '29febc56fd523a7b1684ab04f75d6d213a282f11':
Reactivating tests disabled because of ClassLoader loop
ae9aabb296d3c9795d9fc12e65046dae308b7b0d 03-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2454 into donut

* changes:
Reactivating tests disabled because of ClassLoader loop
234b71af69194fa7b1815a2eed37285fe871ae91 02-Jun-2009 Andy McFadden <fadden@android.com> Added an explicit "shutting down" flag.

Change 2644 made the JdwpAdb stuff retry when the remote side went away.
Unfortunately this also made it retry when the VM wanted to shut down.
Since the JDWP thread is a non-daemon thread, this causes the VM to
stall forever.

This adds an explict flag to allow us to drop out of the retry loop.
975ff8b97fd71f989b3a25562897e4b2248b76ab 02-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 744ab6b4: Merge change 2619 into donut

Merge commit '744ab6b47555dab886c90dbc720e207e1edefdc0'

* commit '744ab6b47555dab886c90dbc720e207e1edefdc0':
InetAddress: Stop logging DNS lookups to logcat.
a2be496eb1ced31961c6c6a18fa9286183c89ec9 02-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2619 into donut

* changes:
InetAddress: Stop logging DNS lookups to logcat.
225bd3d87d4e4d8fed3d7608554a05280fb84de4 01-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2765

* changes:
Move stuff around in an attempt to make VFP faster.
1895f105938aaa5820e040eed3936183b765052a 01-Jun-2009 Mihai Preda <preda@google.com> am e406b316: Bug 1844104: Fix buffer overwrite bugs in CharsetEncoderICU and CharsetDecoderICU.

Merge commit 'e406b316295f07d40679ce2372051c3b2bce5de4'

* commit 'e406b316295f07d40679ce2372051c3b2bce5de4':
Bug 1844104: Fix buffer overwrite bugs in CharsetEncoderICU and CharsetDecoderICU.
ba0f77a002a6465f4c2bf2440f8d7e12839c657d 30-May-2009 Andy McFadden <fadden@android.com> Move stuff around in an attempt to make VFP faster.

No effect on floating-point benchmarks. I suspect I've just moving
instructions from one delay slot to another, but I feel a little better
because the delay is in the VFP co-processor instead of the ARM CPU.
a0a7cd8ca749a426c25d52c2dbecfe10ec16539b 29-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2710

* changes:
Rename TARGET_ARCH_VERSION into TARGET_ARCH_VARIANT
94e2738a1dd5ee5ab0345a3f1409d8469a570d0e 29-May-2009 David 'Digit' Turner <digit@google.com> Rename TARGET_ARCH_VERSION into TARGET_ARCH_VARIANT
7ed8233c6b8235a51038811524b9ce10932654cf 28-May-2009 Andy McFadden <fadden@android.com> Prevent JDWP thread death when adbd dies.

The handling for "remote side disconnected" was getting folded in with
more severe failures. This separates the two, returning to the connection
retry loop when adbd disappears.

One side-effect is that the JDWP thread will now wake up every couple of
seconds when adbd isn't running. Only affects "debuggable" apps.

This also reduces the priority on a couple of log messages.

For internal bug 1844156.
6c627522292a4903a1e2189a7a27fb16754d6a4b 28-May-2009 Mike Lockwood <lockwood@android.com> InetAddress: Stop logging DNS lookups to logcat.

Logging all DNS lookups system wide raises privacy concerns to me
and might make people less likely to include logs in their bug reports.

Signed-off-by: Mike Lockwood <lockwood@android.com>
d201a8709d2315e478b7fe5e65a53ead8755fbf2 29-Apr-2009 Urs Grob <ursg@google.com> Reactivating tests disabled because of ClassLoader loop

Since ClassLoader.isAncestorOf has been fixed these tests now succeed.
So they can be reactivated.

BUG=1732214
1ff370f07250dccec079399d23f594e48f8d40ef 27-May-2009 Andy McFadden <fadden@android.com> Correct some things in test 068. Add detail to a verification error message.
27df97dc296ef6d38c95b4c78524a2a0fa68cabf 27-May-2009 Andy McFadden <fadden@android.com> Another fix for external bug 2711 (over-eager conflicting class rejection).

The validateSuperDescriptors() test also checks for conflicts with
interface classes, and wasn't doing that quite right. We need to compare
every method declared by an interface against the class' implementation
of it. Methods implemented by superclasses are now tested in the context
of the superclass, not the current class.

This is a one-word fix + comments and new/updated tests.
83dfe22a90e433ea51c65dc65321992c183964d3 27-May-2009 Andy McFadden <fadden@android.com> Correct handling of certain incompatible class changes.

Tests 065 and 066 depened on the old behavior of the verifier. Updating
them to the new behavior wasn't enough, though, because they weren't
reporting the right error. The verifier's resolution code now examines
the exception to see if the load failure was caused by an incompatible
class change error.

I also updated the description of test 071 to note that it will fail on
the device if you don't have an sdcard.

Added a method to get the exception "cause" field. It handles the
"uninitialized" state, which I keep forgetting about.

Spruced up dvmDumpObject, which hadn't been used in a while. Fixed a
warning in Profile.c.

For internal bug 1866729.
edcc082e1e50511b071554be2f820aadabbe325a 26-May-2009 Andy McFadden <fadden@android.com> Fix for external bug 2711, over-eager conflicting class rejection.

The validateSuperDescriptors() test added in Cupcake (or thereabouts) was
checking things that didn't need to be checked, and rejecting classes that
didn't need to be rejected.

Expanded test 068 to include a doubled-but-okay test.

Updates FancyLoader to use a single copy of the DexFile.
7cdbaceaf8832175bb9e622efd11af2c48988e57 25-May-2009 Mihai Preda <preda@google.com> Bug 1844104: Fix buffer overwrite bugs in CharsetEncoderICU and CharsetDecoderICU.

And add unit test.
e36f96da19909276691ca0ca27f5ccf983ff6801 22-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2346

* changes:
Ignore missing bootstrap class path jars after printing a warning.
2147f634cf039ea3150d7daba9083f983d723004 22-May-2009 Andy McFadden <fadden@android.com> Ignore missing bootstrap class path jars after printing a warning.

Previous behavior was to print an error and halt. The warning will appear
in the log whenever the VM is started, which means you'll see it on every
"dexopt" invocation but otherwise only once during zygote init.

For internal bug 1812586.
18d94715dd77d0ad934761f7cc4bcd44c88638d0 21-May-2009 t.mehrvarz <othy74@gmail.com> am 84938760: Code to reuse PlatformAddress objects. Minimizing garbage creation on the framework level and reducing the number of runtime GC-hiccups for OpenGL apps and animations. 2nd version: complete rewrite using 8 bit hash, up to 5 probes, cycle through probes cache replacement. (Thank you MichaelDt for your help.) - 1st amend: applied requested modifications - 2nd amend: comment openers, curly bracket

Merge commit '8493876016e383b59af707cb5184100374f7f353'

* commit '8493876016e383b59af707cb5184100374f7f353':
Code to reuse PlatformAddress objects. Minimizing garbage creation on the framework level and reducing the number of runtime GC-hiccups for OpenGL apps and animations.
e70e8c5ab4ac94f5ee62c83cf95f1762d2061fc6 28-Feb-2009 t.mehrvarz <othy74@gmail.com> Code to reuse PlatformAddress objects. Minimizing garbage creation on the framework level and reducing the number of runtime GC-hiccups for OpenGL apps and animations.
2nd version: complete rewrite using 8 bit hash, up to 5 probes, cycle through probes cache replacement. (Thank you MichaelDt for your help.)
- 1st amend: applied requested modifications
- 2nd amend: comment openers, curly bracket
fa5ec9edc2c6b780cc16e4e5767066ff03fdbcce 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> am d3c6d366: Merge change 1987 into donut

Merge commit 'd3c6d366379142d0784ab5fe973a939d462aca28'

* commit 'd3c6d366379142d0784ab5fe973a939d462aca28':
Add tracing of native function calls to Dalvik.
ddbd1dc950f2c3eb5e225509134d2e836ad6e17d 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1987 into donut

* changes:
Add tracing of native function calls to Dalvik.
ec95e1a613a6272566cdffda5fac56c36150f69c 19-May-2009 Jack Veenstra <veenstra@android.com> Add tracing of native function calls to Dalvik.

Dalvik already traces Java method calls but it doesn't trace JNI calls.
This adds new trace records for JNI calls.
ce15f06959023cf54acdecf3da07d3e48a10c446 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1981

* changes:
Added basic VFP support to Dalvik interpreter.
cb33476130384ce7627a1d5ce0a06840b836cb9f 19-May-2009 Andy McFadden <fadden@android.com> Added basic VFP support to Dalvik interpreter.

This adds opcode handlers for all instructions that have a VFP equivalent
or (for the compare operations) near-equivalent.

The inclusion of VFP is keyed off of TARGET_ARCH_VERSION, so enabling
this requires setting "TARGET_ARCH_VERSION=armv5te-vfp" in a buildspec.
5928517b4e7b735534c59d913a0eae457a1bda2c 18-May-2009 Dan Bornstein <danfuzz@android.com> Fix up the last handful of FindBugs complaints.

And again, also do a bit of whitespace cleanup.
ecf5fe68d6653be215d5aaa181e46be7f44dda9a 15-May-2009 Dan Bornstein <danfuzz@android.com> Fix a bunch of little problems noticed by FindBugs, and cleaned up some
spacing issues that I happened to notice along the way.
45b6cec7c246c6b12d36bd10f70f3292727c66cc 09-May-2009 Andy McFadden <fadden@android.com> Defer reporting of certain verifier failures.

The verifier currently reports all failures immediately. Certain failures,
such as the failure to resolve a method, or the determination that access
to a field is not allowed, are supposed to deferred until the first time
that executing code does something that could cause the resolution.

With this change, several kinds of verification failures are deferred.
This is done by making a writable copy of the bytecode and replacing the
failing instruction with an "always throw" opcode.

Gory details:
- Added throw-verification-error instruction. Implemented in "portable"
and ARM interpreters. x86 uses portable form through stub.
- Added a function that creates a copy of a DexCode area and makes the
bytecodes writable.
- Added code that replaces a single instruction with an "always throw".
- Replaced runtime check for abstract/interface in new-instance with a
check at verification time.
- Added a test to exercise the deferred error mechanism.
- Minor cleanups (replaced tab, bad valgrind command, ...).
b352997e5dd7206ff69db7430d5f42567c04561a 16-May-2009 Andy McFadden <fadden@android.com> am 7ccb7a6a: Increase the number of entries set aside for zygote initiating loader lists.

Merge commit '7ccb7a6a563396e4b64069dd4e57977d1b5b6180'

* commit '7ccb7a6a563396e4b64069dd4e57977d1b5b6180':
Increase the number of entries set aside for zygote initiating loader lists.
Fix handling of "--dev" argument in dalvik tests.
8d8c51cc548b1ad6a758f857d5b66fafc96d20b5 15-May-2009 Andy McFadden <fadden@android.com> Increase the number of entries set aside for zygote initiating loader lists.

The number of classes that are present when the zygote finishes
initializing increased in donut/master, above the 2000 we currently
plan for. Exceeding the limit reduces zygote sharing efficiency, so
this change raises the limit.
3a7d60fba6b00b0da0241f7e8eaf9d1c4b877a16 14-May-2009 Andy McFadden <fadden@android.com> Check object types when native code returns.

Object references returned by native code were not being type checked,
so it was possible to (for example) return a byte[] when an InetAddress
was expected. This sort of thing can lead to extremely strange behavior.

Now, when "check JNI" is enabled, we insert another layer in the JNI call
sequence that verifies the type of the returned object. This makes calls
to native methods returning an object a bit slower on engineering builds,
but the added type safety is helpful.

I found two failures with this. One fairly harmless one was fixed in
master 1594, the other is filed as internal bug 1851257. The latter does
not seem to cause problems for anything other than the socks5 app that
uncovered it (but it does render SOCKS less than useful).
6c39f1290a8e43ebcd2e4c6ae6fee82439be98bf 14-May-2009 Andy McFadden <fadden@android.com> Wrote Dalvik "porting guide".
7ad097f63584c264958908c97e68161780bcdf83 14-May-2009 Andy McFadden <fadden@android.com> Return an Object[][] rather than an Object[].
548707e713b9cc76a09726b658e06d8d33f9f95b 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1563

* changes:
Strip some cruft from the CheckJNI method invocation macros.
baa3bbfdf29671ff10f56a2b317827fa14cc08bf 13-May-2009 Andy McFadden <fadden@android.com> Strip some cruft from the CheckJNI method invocation macros.
f683f163eb3e46fef70ca05e69c2c1cfdb141f0f 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1551

* changes:
Added a note in response to external feedback.
676cf1527239f692d2a97114ab0a59e3c477d87c 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1481

* changes:
Bringing annotation up to Harmony r772995.
bb2aee6643e05d1e57476e2a04058a434950f214 13-May-2009 Andy McFadden <fadden@android.com> Fix handling of "--dev" argument in dalvik tests.

This was originally part of p9-144240, which was only made in "master".
1e343f6c9eea35f0756c9abba15c63a010216861 13-May-2009 Andy McFadden <fadden@android.com> Added a note in response to external feedback.
e3f8d2c10156dc45c2b3490393c164839a9225f4 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1489

* changes:
Wrote Dalvik "porting guide".
d9a493232a8ba500200a7823ac2340f9824fd7c9 13-May-2009 Andy McFadden <fadden@android.com> Wrote Dalvik "porting guide".
9d1ee1a4288a9b90cb48d69698866497b1b4d637 12-May-2009 Jesse Wilson <jessewilson@google.com> Bringing annotation up to Harmony r772995.

commit 8f52858127fd95abc694f0080438479be3c71ac6
Merge: 68891f9 df17e4f
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 13:59:37 2009 -0700

Merge branch 'annotation_772995' into annotation_dalvik

Conflicts:
libcore/annotation/.classpath
libcore/annotation/build.xml
libcore/annotation/src/main/java/java/lang/annotation/Annotation.java
libcore/annotation/src/main/java/java/lang/annotation/AnnotationFormatError.java
libcore/annotation/src/main/java/java/lang/annotation/AnnotationTypeMismatchException.java
libcore/annotation/src/main/java/java/lang/annotation/Documented.java
libcore/annotation/src/main/java/java/lang/annotation/ElementType.java
libcore/annotation/src/main/java/java/lang/annotation/IncompleteAnnotationException.java
libcore/annotation/src/main/java/java/lang/annotation/Inherited.java
libcore/annotation/src/main/java/java/lang/annotation/Retention.java
libcore/annotation/src/main/java/java/lang/annotation/RetentionPolicy.java
libcore/annotation/src/main/java/java/lang/annotation/Target.java

commit 68891f94f87bea309f92dbe2f9a8eab95fa93614
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 13:46:16 2009 -0700

Stripped @since Android 1.0 from annotation/

commit e3acecef0db3b85369aaa6f5db7876cde29d7329
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 13:23:06 2009 -0700

Dalvik annotation

commit df17e4f396151289e7c6c645191fb27be9950f80
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 13:21:33 2009 -0700

Annotation 772995

commit b89fac88400f17b6ba8be359eacad29d9faf7baf
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 13:19:55 2009 -0700

Annotation 527399.
618e4f7414bfc47739f02f45542040a1929c41e3 12-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1431

* changes:
Bringing the logging module up to Harmony r772995.
1545b0eb29ee4eef15fa4efb0f146a3697e7873f 12-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1401

* changes:
Minor cleanup.
cd0a0b70d284d1de81fee9a30599bcacdec55ae8 12-May-2009 Jesse Wilson <jessewilson@google.com> Bringing the logging module up to Harmony r772995.

commit 080ff677c719f1e53ffb544c3fb684bb9ff28677
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 19:06:05 2009 -0700

Copied test changes over manually.

commit ea52f28de5378f7dd4eff5c0f83d805e997a98de
Merge: 0c1f753 a6c8255
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 18:49:28 2009 -0700

Merge branch 'logging_772995' into logging_dalvik

Conflicts:
libcore/logging/.classpath
libcore/logging/META-INF/MANIFEST.MF
libcore/logging/build.xml
libcore/logging/src/main/java/java/util/logging/ConsoleHandler.java
libcore/logging/src/main/java/java/util/logging/FileHandler.java
libcore/logging/src/main/java/java/util/logging/Formatter.java
libcore/logging/src/main/java/java/util/logging/Handler.java
libcore/logging/src/main/java/java/util/logging/Level.java
libcore/logging/src/main/java/java/util/logging/LogManager.java
libcore/logging/src/main/java/java/util/logging/LogRecord.java
libcore/logging/src/main/java/java/util/logging/Logger.java
libcore/logging/src/main/java/java/util/logging/LoggingMXBean.java
libcore/logging/src/main/java/java/util/logging/LoggingPermission.java
libcore/logging/src/main/java/java/util/logging/MemoryHandler.java
libcore/logging/src/main/java/java/util/logging/SimpleFormatter.java
libcore/logging/src/main/java/java/util/logging/SocketHandler.java
libcore/logging/src/main/java/java/util/logging/StreamHandler.java
libcore/logging/src/main/java/java/util/logging/XMLFormatter.java
libcore/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LoggerTest.java

commit 0c1f7538e6fe3091a3d142b2ac14f5bf338b3a55
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 16:06:59 2009 -0700

Stripped @since Android 1.0

commit 4c715c6c58080b3cbed2928cd1b71b9931e217a3
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 15:57:59 2009 -0700

Logging Dalvik.

commit a6c8255dbbad85145a2066d9846d24787df0f75f
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 15:56:41 2009 -0700

Logging 772995

commit db77dbdf56e99e3dcced2d758f7150007562c41c
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 15:54:13 2009 -0700

Logging 527399
67681a0d07f3c4864dbfc6ec9e79468043a03ff3 12-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1394

* changes:
Squashed commit of the following:
bf92369cdc0887beaea6a85ada94e97efefe9eaf 11-May-2009 Dan Bornstein <danfuzz@android.com> Minor cleanup.
b9637fc01a59a38d78c808821a9948b76aa6a76a 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 4da0525: Merge change 1400 into donut

Merge commit '4da052510571aea4711d04de25a24b58cab1dadc'

* commit '4da052510571aea4711d04de25a24b58cab1dadc':
Increase default stack size from 8K to 12K.
4d738e7db610fed05e2b94b7a8bb96c12ed630db 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1400 into donut

* changes:
Increase default stack size from 8K to 12K.
36262b0457178bc131d1438d7712ca54f50c74b8 11-May-2009 Andy McFadden <fadden@android.com> Increase default stack size from 8K to 12K.

For internal bug 1844105.
3e74e2e4accb71005fee060299ebd0079c89b600 11-May-2009 Andy Stadler <nobody@android.com> am 08eacd4: am 64b928e: AI 148694: Manually copied from cupcake_dcm CL 1

Merge commit '08eacd482ca9988b021a9e9e6c8bec573d6e4057'

* commit '08eacd482ca9988b021a9e9e6c8bec573d6e4057':
AI 148694: Manually copied from cupcake_dcm CL 148669-p9. When resetting the
5d7bba841b51fd0c5b1671c133978368e7015c3f 11-May-2009 Andy Stadler <nobody@android.com> am 64b928e: AI 148694: Manually copied from cupcake_dcm CL 148669-p9. W

Merge commit '64b928e82a3b91b339ff9ee980c4a0c020daa251' into donut

* commit '64b928e82a3b91b339ff9ee980c4a0c020daa251':
AI 148694: Manually copied from cupcake_dcm CL 148669-p9. When resetting the
a9a83b65ac91d2b5a6398e6bc97830d92e35b4c8 11-May-2009 Jesse Wilson <jessewilson@google.com> Squashed commit of the following:

commit 2e4a7b3a3accb25865fb4c5535168b0d6bcebae4
Merge: 81ff13e 6c7f7e7
Author: Jesse Wilson <jessewilson@jessewilson.mtv.corp.google.com>
Date: Mon May 11 13:47:02 2009 -0700

Update our auth/ package to Harmony r772995. This change is just whitespace, plus dropping the newly added GSS tests and sample data (Generic Security services, org.ietf.jgss).

Merge branch 'auth_772995' into auth_dalvik

Conflicts:
libcore/auth/.classpath
libcore/auth/META-INF/MANIFEST.MF
libcore/auth/build.xml
libcore/auth/make/exclude.common
libcore/auth/src/main/java/javax/security/auth/AuthPermission.java
libcore/auth/src/main/java/javax/security/auth/DestroyFailedException.java
libcore/auth/src/main/java/javax/security/auth/Destroyable.java
libcore/auth/src/main/java/javax/security/auth/PrivateCredentialPermission.java
libcore/auth/src/main/java/javax/security/auth/Subject.java
libcore/auth/src/main/java/javax/security/auth/SubjectDomainCombiner.java
libcore/auth/src/main/java/javax/security/auth/callback/CallbackHandler.java
libcore/auth/src/main/java/javax/security/auth/callback/PasswordCallback.java
libcore/auth/src/main/java/javax/security/auth/callback/UnsupportedCallbackException.java
libcore/auth/src/main/java/javax/security/auth/kerberos/KerberosKey.java
libcore/auth/src/main/java/javax/security/auth/login/LoginException.java
libcore/auth/src/main/java/javax/security/auth/x500/X500Principal.java
libcore/auth/src/main/java/org/apache/harmony/auth/login/DefaultConfiguration.java
libcore/auth/src/main/native/auth/unix/exports.txt
libcore/auth/src/main/native/auth/unix/makefile
libcore/auth/src/main/native/auth/windows/makefile
libcore/auth/src/test/java/common/org/ietf/jgss/OidTest.java

commit 81ff13ec7ae480ac783f692f38c845f502b49809
Author: Jesse Wilson <jessewilson@jessewilson.mtv.corp.google.com>
Date: Fri May 8 17:53:27 2009 -0700

Stripped @since tags

commit 8b4d0e9b66d8d674a56a26f0d1bc111f9d2faa8d
Author: Jesse Wilson <jessewilson@jessewilson.mtv.corp.google.com>
Date: Fri May 8 17:40:36 2009 -0700

Auth dalvik.

commit 6c7f7e7d41393869e3900ad224bf32a26378d723
Author: Jesse Wilson <jessewilson@jessewilson.mtv.corp.google.com>
Date: Fri May 8 17:39:48 2009 -0700

Auth 772995

commit ed7f6150f8235006c59afab862d30d6033b02460
Author: Jesse Wilson <jessewilson@jessewilson.mtv.corp.google.com>
Date: Fri May 8 17:38:12 2009 -0700

Auth 527399
8a79f91d83d150d394724c2d2b5beb3213690a70 11-May-2009 Andy Stadler <nobody@android.com> AI 148694: Manually copied from cupcake_dcm CL 148669-p9. When resetting the
mode of the encoder, clear the leftover input & output buffers.
This claims to fix buffer overwriting we're seeing during account
sync and message download.
BUG=1822859

Automated import of CL 148694
e96234c03ba7bb4425a6e7fd24a477c438ca0a07 11-May-2009 Dan Bornstein <nobody@android.com> am 8cee535: am 974cdcd: AI 148692: Merge change #148679 into Cupcake, si

Merge commit '8cee535966608f63ab11fe127c9045838974e08f'

* commit '8cee535966608f63ab11fe127c9045838974e08f':
AI 148692: Merge change #148679 into Cupcake, since we probably want to
8c7960faaa454621b065f57d2b8dcedc2f3618bf 11-May-2009 Dan Bornstein <nobody@android.com> am 974cdcd: AI 148692: Merge change #148679 into Cupcake, since we proba

Merge commit '974cdcdc22ce05a0574bf7f2559a175c8d9434e9' into donut

* commit '974cdcdc22ce05a0574bf7f2559a175c8d9434e9':
AI 148692: Merge change #148679 into Cupcake, since we probably want to
71788365296187494a1382e2a874ddcff3a42054 11-May-2009 Dan Bornstein <nobody@android.com> AI 148692: Merge change #148679 into Cupcake, since we probably want to
take it for rel if there's an opportunity. Original
description:
Fix InputStreamReader to not drop input on buffer boundaries.
This fix takes the salient code from Harmony tip-of-tree,
though it's not a wholesale replacement of the file. In
particular, I left in the old encoding name handling as well
as one remaining "FIXME" that I don't think would have been
addressed.
BUG=1836908

Automated import of CL 148692
b64c831cebdc39592bfdd89615d50aad486b2a07 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 96e0f60: Merge change 1369 into donut

Merge commit '96e0f600a6a52aa1424c1e8787fc40c1b3b3f79a'

* commit '96e0f600a6a52aa1424c1e8787fc40c1b3b3f79a':
Updated a comment.
70a893c1014ef90126f44e8d0e22ffc43399d8f9 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1369 into donut

* changes:
Updated a comment.
2a59946ee5a2d7c414068977df171d8a5852082b 11-May-2009 Andy McFadden <fadden@android.com> Updated a comment.
1d6c6b46635bc7cd2f27a29e5895ae50c11c4cd0 11-May-2009 Jorg Pleumann <nobody@android.com> am ac02d18: am 2de2459: AI 148670: More tests that need to be marked bro

Merge commit 'ac02d185cf7f5b494c621ca67a4d786348deac3a'

* commit 'ac02d185cf7f5b494c621ca67a4d786348deac3a':
AI 148670: More tests that need to be marked broken, since
9a4d78fad97b8dde0aa5acad4e353cd69b96c016 11-May-2009 Jorg Pleumann <nobody@android.com> am 2de2459: AI 148670: More tests that need to be marked broken, since

Merge commit '2de2459caf88698400b7bcadaf87b5767b22f81e' into donut

* commit '2de2459caf88698400b7bcadaf87b5767b22f81e':
AI 148670: More tests that need to be marked broken, since
042116d8fa52f75dd97ddb1cd07e288ebb5369f5 11-May-2009 Jorg Pleumann <nobody@android.com> AI 148670: More tests that need to be marked broken, since
they behave differently in CTS and plain VM.
Hopefully the last ones...
BUG=1285921

Automated import of CL 148670
4443f75616b4cf8fe4882202ba272727613f6afe 11-May-2009 Andy McFadden <fadden@android.com> am 99647fb: Pull the useful part of p9-132414 over to "donut".

Merge commit '99647fbab2aee5730d277ddb2247709ccd4c95fa'

* commit '99647fbab2aee5730d277ddb2247709ccd4c95fa':
Pull the useful part of p9-132414 over to "donut".
e8593889f2032541e3bc74aa0ed5732aa35e1239 09-May-2009 Andy McFadden <fadden@android.com> Pull the useful part of p9-132414 over to "donut".

This was inspired by some valgrind complaints marcone noticed. The change
is already part of "master".

(I just noticed that the comment isn't quite right, but hopefully if I leave
it alone it'll merge trivially and I can fix it up in a subsequent change.)
97deb289e05e8bac646ec69d9f1447c4a6515d1d 08-May-2009 Andy McFadden <fadden@android.com> Increase size of LinearAlloc region, and warn about massive Mirandizing.
342a1fa323c8716ce9864ecc6f5f3576d4f166ab 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1170

* changes:
Added throw-verification-error instruction.
83531c9e9723e7be79fa2f31731a254bccd81fbc 07-May-2009 Andy McFadden <fadden@android.com> Added throw-verification-error instruction.

This is for the deferred verifier error reporting. It replaces OP_UNUSED_ED.
The instructions aren't actually used yet, which is good since the x86
version hasn't been written yet.

The mterp regen also pushed out some recent-ish changes that hadn't
propagated to the armv4t sources.
5a423154541a5d44e140bdb4fb3404d6847b896a 07-May-2009 Jorg Pleumann <nobody@android.com> am dbd5c90: am c423b40: AI 148447: Marking some more tests as broken, be

Merge commit 'dbd5c902c3cca79e22d0f38539cc195ef7395647'

* commit 'dbd5c902c3cca79e22d0f38539cc195ef7395647':
AI 148447: Marking some more tests as broken, because they
042689e8ca989b331bef5ef610b697208efc1133 07-May-2009 Jorg Pleumann <nobody@android.com> am c423b40: AI 148447: Marking some more tests as broken, because they

Merge commit 'c423b4096a09b1c1eae05b8ef37e7e3c428e0b92' into donut

* commit 'c423b4096a09b1c1eae05b8ef37e7e3c428e0b92':
AI 148447: Marking some more tests as broken, because they
433165a3989db556f804340ee008786dd7229dc5 07-May-2009 Jorg Pleumann <nobody@android.com> AI 148447: Marking some more tests as broken, because they
don't work properly in the CTS environment for
some reason.
BUG=1285921

Automated import of CL 148447
7f5e3b1f0476ff7d3e146634d56a7270edea4c69 07-May-2009 Jorg Pleumann <nobody@android.com> am 61df6ac: am 2f563a4: AI 148431: Marking as broken a couple of tests

Merge commit '61df6ac69e6614cb9986bf4ce3626dda914e0c6a'

* commit '61df6ac69e6614cb9986bf4ce3626dda914e0c6a':
AI 148431: Marking as broken a couple of tests
6297f5492337379ea52a804e1ef6b571e7929ab9 07-May-2009 Jorg Pleumann <nobody@android.com> am 2f563a4: AI 148431: Marking as broken a couple of tests

Merge commit '2f563a4590c4a0e54177906c47d50f4ef454eba5' into donut

* commit '2f563a4590c4a0e54177906c47d50f4ef454eba5':
AI 148431: Marking as broken a couple of tests
94f624b308a6a2b49c3b9aea71f49540d80e145c 07-May-2009 Jorg Pleumann <nobody@android.com> AI 148431: Marking as broken a couple of tests
that tend to fail in the CTS host.
BUG=1285921

Automated import of CL 148431
7874f435e83ac01af57f6481cf84f0f05a755a7d 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1112

* changes:
Say a few words about the virtues of IsSameObject.
96e99ff412d19b461233eb5dacbadea7c053f0b9 07-May-2009 Andy McFadden <fadden@android.com> Say a few words about the virtues of IsSameObject.
ef179afa665e73d779627b36a71d6af5bebc936c 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 619309e: Merge change 1003 into donut

Merge commit '619309e6a11b623b48b7231de712eaed3d469531'

* commit '619309e6a11b623b48b7231de712eaed3d469531':
Add support for tracing Java method entry/exit in emulator.
aa30a7b4704d8df000392c55ee90e0530c50d54a 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1003 into donut

* changes:
Add support for tracing Java method entry/exit in emulator.
702c9775272480dfe62d8fd66c9d388af4e7f415 05-May-2009 Jack Veenstra <veenstra@android.com> Add support for tracing Java method entry/exit in emulator.

This is part of a larger change and depends on changes to the
kernel and the emulator tracing code. The code used to work by
by writing to a "magic page" which the emulator would notice
because it watches every load and store. But the emulator lost
the ability to watch every load and store with the latest update
to qemu. So the new code sets up a memory-mapped page that the
emulator watches. This is cleaner and more efficient anyway.
510eaed3315c1407f03107619378ca25820eacaa 06-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 921d947: Merge change 1055 into donut

Merge commit '921d9479afef6d6df1ed9c60ef8f3110e4ad7fde'

* commit '921d9479afef6d6df1ed9c60ef8f3110e4ad7fde':
Fix issue 1687880.
6387b5f8a46e91d62719d69b5e3853d92e54c0b5 06-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1055 into donut

* changes:
Fix issue 1687880.
347012ba0e5e463daa58aba53aa1dba7b36b8e41 06-May-2009 Andy McFadden <fadden@android.com> merge a2ee53b and resolved conflicts...
f9fed077a08eab0800c1b12feeca14aadef6b151 06-May-2009 Jing Yu <jingyu@google.com> Fix issue 1687880.

Change argument va_list to a standard representation.
8898621767b5b2e1139715f9d03def053a8fa983 06-May-2009 Andy McFadden <fadden@android.com> Added XML output mode for dexdump.

This adds an output mode that looks similar to the "current.xml" we
generate for our public APIs. There are a number of differences in
content. The original ("plain") output has not been altered.

I pulled in the bad checksum handling change (internal 142686) since
it's small, has turned out to be useful, and might make the merge of
this to master slightly easier.

This also renames a buffer in the ongoing temp file variable saga.
3196fa4865989af3aa03feae2072e2598803b77f 05-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 996

* changes:
A foolish consistency is the hobgoblin of little minds. -- Ralph Waldo Emerson
5d0319c384b96281eca5244bfeffeaa290b0b0c9 05-May-2009 Dan Bornstein <danfuzz@android.com> A foolish consistency is the hobgoblin of little minds.
-- Ralph Waldo Emerson
55aa9b131d2e1125983d523ddf1e48076e5a38a7 05-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 6d874d2: Merge change 993 into donut

Merge commit '6d874d2bda563ada1034d2b3219b35d800fc6860'

* commit '6d874d2bda563ada1034d2b3219b35d800fc6860':
Pull fix from master branch, and correct filename juggling.
ea1529b33d2ca73e57af253d6ba2662c7d8d0200 05-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 993 into donut

* changes:
Pull fix from master branch, and correct filename juggling.
f4619e9fff07a322d00d4128cedb9eb0a6b6af85 05-May-2009 Andy McFadden <fadden@android.com> Pull fix from master branch, and correct filename juggling.

The original fix was in p4 144906. This also corrects some problems that
arise when the temp file is specified.
188f83c21ae42d5849cc29797b55e19af83625cb 05-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 948

* changes:
Tweaks, Mostly grep-based, to better conform to the coding guidelines.
21749b8b8fa69c4d379f35235e3febb10cedfd3e 04-May-2009 Dan Bornstein <danfuzz@android.com> Tweaks, Mostly grep-based, to better conform to the coding guidelines.
198553edb1e756beb1a104dae31fc212babd702e 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 1444f86: Merge change 945 into donut

Merge commit '1444f86148b2844800044b4776e2a35d362f3fa9'

* commit '1444f86148b2844800044b4776e2a35d362f3fa9':
Moved the context class loader init down a bit to ensure proper init.
7adf32708d41bd23e41fecfeb364f8708124f7d9 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 945 into donut

* changes:
Moved the context class loader init down a bit to ensure proper init.
e8c325ab0a4f1ca4b83e9ef134a7dc9faeece142 04-May-2009 Andy McFadden <fadden@android.com> Moved the context class loader init down a bit to ensure proper init.

Since we're executing interpreted code it's best if we set the context
class loader as late as possible in this function. I also updated a few
comments while I was in there.
f6b88de1d5f290014d50a5c3db7564572526281a 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 8bad31e: Merge change 944 into donut

Merge commit '8bad31ef86b3179b5725ac6e0ca9f615025b35b9'

* commit '8bad31ef86b3179b5725ac6e0ca9f615025b35b9':
Set the main thread's context class loader to the system class loader.
c684bbbfc10d1421774693ba157b2b02d1b07227 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 944 into donut

* changes:
Set the main thread's context class loader to the system class loader.
72aee05fc36c000768cb38581084a4454e6b9fe3 04-May-2009 Andy McFadden <fadden@android.com> Set the main thread's context class loader to the system class loader.
1b1601d06ef155dfb5c8e2084611c68dfa145e52 04-May-2009 Andy McFadden <fadden@android.com> am 1cf3b27: Test for null object in the Get<Type>Field and Set<Type>Fiel

Merge commit '1cf3b27e857824af08bab76489b6e25a213edc8d'

* commit '1cf3b27e857824af08bab76489b6e25a213edc8d':
Test for null object in the Get<Type>Field and Set<Type>Field JNI functions.
e88ea07482dd8e98f9b2c34f92652ce6eb2807a4 04-May-2009 Andy McFadden <fadden@android.com> Test for null object in the Get<Type>Field and Set<Type>Field JNI functions.

Also adds some "return" calls after abortMaybe(), since it won't actually
abort if "warnonly" is set.
c8ef0740a13343e6b2a084611959fc7136bd1ef4 02-May-2009 Dan Bornstein <danfuzz@android.com> Clean up a couple more files.

As usual, I did this while browsing the SSA code in an attempt to
understand what's going on with the weird local register assignment
issue.
7a8e99154c4527013aa53ccf00755f50cde9f56d 01-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 8eeeefc: Merge change 891 into donut

Merge commit '8eeeefccffb5e06107cd444436cc229f282a2b72'

* commit '8eeeefccffb5e06107cd444436cc229f282a2b72':
Corrected behavior of Constructor.newInstance on abstract classes.
b4a5ce4a0082064d032fedffdae3beaeb4341132 01-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 891 into donut

* changes:
Corrected behavior of Constructor.newInstance on abstract classes.
c21e8d83f5e1751903a904f98f91d903a4e10eee 01-May-2009 Andy McFadden <fadden@android.com> Corrected behavior of Constructor.newInstance on abstract classes.

The VM now throws an exception when somebody tries to create an instance
of an abstract class through a Constructor object. It also ensures that
the class is initialized before attempting to create an instance.

This change adds some Constructor tests to the 042-new-instance VM test.
(It also pulls in some additions that were made to the 042 test back
in March, on the p4 master branch.)
b9316eeeb586c225994a9398fdd0be1251e8203c 01-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 849

* changes:
Corrected behavior of Constructor.newInstance on abstract classes.
39fe35bd41d970af60e6ed76ea5b11d7c6eb5618 01-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 399fbc0: Merge change 818 into donut

Merge commit '399fbc0d87bbe4f2808cb582dc23f932432ea846'

* commit '399fbc0d87bbe4f2808cb582dc23f932432ea846':
Changed the way we check the magic number in guard pages.
a98ef1dcdad0e394f78d8b80e7c81973b7ee2d08 01-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 818 into donut

* changes:
Changed the way we check the magic number in guard pages.
f75c10ffc14da58cd8fd1a0dc199752e3c813bf7 01-May-2009 Andy McFadden <fadden@android.com> Corrected behavior of Constructor.newInstance on abstract classes.

The VM now throws an exception when somebody tries to create an instance
of an abstract class through a Constructor object. It also ensures that
the class is initialized before attempting to create an instance.

This change adds some Constructor tests to the 042-new-instance VM test.
8726affcdb397505d80c5361a6a6e609a22775ea 27-Apr-2009 Andy McFadden <fadden@android.com> Added two new Dalvik documents.

One explains the use of hprof, the other shows how to use the VM from
the command line. These are partially based on some of my responses
to questions on external mailing lists.
0801a31559d3081c1b35658d67f2d05d30c75fe6 30-Apr-2009 Andy McFadden <fadden@android.com> Drop a copyright notice in at the end.
23c644b56aa8c47bd5f5ba33f24ddf703986a7f4 30-Apr-2009 Andy McFadden <fadden@android.com> Changed the way we check the magic number in guard pages.

Use memcmp instead of "==" so that, if the pointer is unaligned on a
platform where alignment matters, we fail with a nice warning instead
of a bus error.

Found while tracking down bug 1823434.
c2bc9bf1cc94a44ecfdc41bb76b03a01a311ea58 30-Apr-2009 Joe Onorato <joeo@android.com> Merge branch 'master' of ssh://android-git.corp.google.com:29418/platform/dalvik
2d1d519cee5a9b2777ba94a9570f54db97ec75ca 30-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 764

* changes:
Script that formats dvm_gc_info lines.
c7530b348c7b9235c69041684aad4e02ad6a4065 30-Apr-2009 Andy McFadden <fadden@android.com> Script that formats dvm_gc_info lines.

Simple (?) script that parses the dvm_gc_info lines out of the event log
and parses the contents. Mostly useful for displaying the external
allocation "limit" and "allocated" values, which don't really show up
anywhere else.
e5cfbcdc5ee6d6a27cafea0700be63f73723e3e3 29-Apr-2009 Barry Hayes <bhayes@google.com> am 2c98747: Improve zygote heap sharing.

Merge commit '2c98747b403970ef4b3352e271633f93935b9825'

* commit '2c98747b403970ef4b3352e271633f93935b9825':
Improve zygote heap sharing.
21da49af0e7b59820058a29985e36e49e410f1f6 29-Apr-2009 Jorg Pleumann <> am 50f46fd: am 14da4cc: AI 147896: Some more fixes for tests that failed

Merge commit '50f46fdcf99609da579d08668fe4d3d05aaf6c0c'

* commit '50f46fdcf99609da579d08668fe4d3d05aaf6c0c':
AI 147896: Some more fixes for tests that failed in
e9439371fb5170fcc7432bedc27921a6a8e8c7d9 29-Apr-2009 Jorg Pleumann <> am 8073bbc: am ef71222: AI 147838: A couple of fixes for making the

Merge commit '8073bbcc99d6a66f49497915ee12ce13f5b2ef85'

* commit '8073bbcc99d6a66f49497915ee12ce13f5b2ef85':
AI 147838: A couple of fixes for making the
68bd7286cc289ca6cfdfea4cfae9966954f96d77 29-Apr-2009 Scott Main <> am 4e3cc66: am 4645b7c: AI 147732: fix broken links

Merge commit '4e3cc66298b8e6d97670d3ed0b4170fb161d36f3'

* commit '4e3cc66298b8e6d97670d3ed0b4170fb161d36f3':
AI 147732: fix broken links
bd0c98a1d12749779340fe79100835225a4c4804 29-Apr-2009 Jorg Pleumann <> am 8c5029b: am 210c512: AI 147726: Getting rid of tests.luni.AllTests an

Merge commit '8c5029b6aeb814facb790f4a460d85637401ede3'

* commit '8c5029b6aeb814facb790f4a460d85637401ede3':
AI 147726: Getting rid of tests.luni.AllTests and
2e7a6159d832c0336a4bdefbdce10a453b0db573 29-Apr-2009 Jorg Pleumann <> am 28352aa: am 7cc0301: AI 147723: This should have been deleted a while

Merge commit '28352aafc2dba4e0f2c507649706389e1bea327e'

* commit '28352aafc2dba4e0f2c507649706389e1bea327e':
AI 147723: This should have been deleted a while ago, since
09ec99653945d772624c1165442327da177edba6 29-Apr-2009 Urs Grob <> am d26d3fc: am 3fb3946: AI 147687: Several fixes for failing tests in th

Merge commit 'd26d3fc95151c78102bc7bff12bb4b099424fd3f'

* commit 'd26d3fc95151c78102bc7bff12bb4b099424fd3f':
AI 147687: Several fixes for failing tests in the cts host. also tests that timeout
d1e56b9efc7abe34181cfb0f1db570795971c727 29-Apr-2009 Urs Grob <> am fbf8886: am 119c75d: AI 147660: Fixes for tests in the security modul

Merge commit 'fbf888693006c4135f61f7113dab80af44241681'

* commit 'fbf888693006c4135f61f7113dab80af44241681':
AI 147660: Fixes for tests in the security module.
182fe813da87ef4ad1035d602952a148359a92d3 29-Apr-2009 Jorg Pleumann <> am 025322b: am 2b828ef: AI 147464: Some small bugfixes for the core test

Merge commit '025322b5586f76fb2b886700f7a01deaa5d513bd'

* commit '025322b5586f76fb2b886700f7a01deaa5d513bd':
AI 147464: Some small bugfixes for the core tests.
1597a66ac46446e96a2cb87d14dc974a17592670 29-Apr-2009 Urs Grob <ursg@google.com> am 1c7ba87: Fix an infinite loop in ClassLoader.isAncestorOf()

Merge commit '1c7ba87b216ec3de563ac4d70548313da9b9bc1b'

* commit '1c7ba87b216ec3de563ac4d70548313da9b9bc1b':
Fix an infinite loop in ClassLoader.isAncestorOf()
e2473198f19233fef2da6773c7eb1ac1e26beff6 29-Apr-2009 Urs Grob <ursg@google.com> am f2931ca: Fix for excessive GREF use in gethostbyaddr.

Merge commit 'f2931ca22c6307a8740f2ec61795f7cfa6971262'

* commit 'f2931ca22c6307a8740f2ec61795f7cfa6971262':
Fix for excessive GREF use in gethostbyaddr.
485ba3177fb8e4e89a8fb1ef70584d17edd44b0d 29-Apr-2009 The Android Open Source Project <initial-contribution@android.com> am b8beb5f: vm: Replace a reference to TARGET_BUILD_TYPE with DEBUG_DALV
2f444b74447eedfdfb001aed4ea88146944f1c12 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 4c99ba4: Merge change 374 into donut

Merge commit '4c99ba4317b8b900315c5e28322f1410d76c3d58'

* commit '4c99ba4317b8b900315c5e28322f1410d76c3d58':
vm: Add support for changing the scheduler group for a thread.
1152b638c96e0eed3fd33c7d5bf83c26e074249b 06-Apr-2009 Barry Hayes <bhayes@google.com> Improve zygote heap sharing.

[ This is bhayes change 9488 in external "master" ]

Lots of ClassObject structures are unshared [and thus make whole pages
unshared]. A big contributor to this is the initializing class loader
logic, which has two writable words in a ClassObject and does indeed
seem to write them a lot.

Class which are created "early" have a low serial number and are
probably being created by the zygote, and would benefit from better
sharing. This change move the two words for classes with a low serial
number to a global, making the two words in those ClassObjects unused,
and thus more likely to be shared across apps.

Measured increase in sharing is c 100K per app, at a cost of c 32K
increase in unshared globals.

This might be better as a Set<Pair<Class,ClassLoader>> or
something. Many ClassObjects have zero loaders, and the typical count
seems to be very small. It should be possible to remove the two words
from the ClassObject and at the same time have a smaller global data
structure.

Respond to reviewer's comments.
Moved the "external" InitiatingLoaderList[] from gDvm to allocated storage.
Made the warning for the "const" go away.
Remove "vm/Init.c" from the commit
Revert Globals.h to not contain ZYGOTE_CLASS_CUTOFF
Use calloc rather than malloc/clear
53e846b1e611b97cf9094ad98892e1c8ff451f67 29-Apr-2009 Aaron Kushner <akushner@gmail.com> The Android.mk file in libcore was writing a test
file outside of the Android build directory and was
not getting cleaned up after the build.
ccd7dd705631f1dada13dfb57d09967e56e2aa2e 29-Apr-2009 Jorg Pleumann <> am 14da4cc: AI 147896: Some more fixes for tests that failed in

Merge commit '14da4ccdd69d8db7cef00b2ae5aabd32b6e1bdb4' into donut

* commit '14da4ccdd69d8db7cef00b2ae5aabd32b6e1bdb4':
AI 147896: Some more fixes for tests that failed in
33406d397cef9c0d6b3925242463813f2d794aa5 29-Apr-2009 Jorg Pleumann <> am ef71222: AI 147838: A couple of fixes for making the

Merge commit 'ef7122278207e33b724c6360945f9eae1f9a5a58' into donut

* commit 'ef7122278207e33b724c6360945f9eae1f9a5a58':
AI 147838: A couple of fixes for making the
c2468862be73e78c4442e15e91443b5cc9d8c225 29-Apr-2009 Scott Main <> am 4645b7c: AI 147732: fix broken links

Merge commit '4645b7c3a461769281a0b2b846a26c79e806aaa0' into donut

* commit '4645b7c3a461769281a0b2b846a26c79e806aaa0':
AI 147732: fix broken links
e439ca341cfddad6c1bda783698345d57f5c9cc7 29-Apr-2009 Jorg Pleumann <> am 210c512: AI 147726: Getting rid of tests.luni.AllTests and

Merge commit '210c51215f36a78183de70a19987dc2ece2fda30' into donut

* commit '210c51215f36a78183de70a19987dc2ece2fda30':
AI 147726: Getting rid of tests.luni.AllTests and
db20c78df3d9e5ccce9c273491f361f741f75c70 29-Apr-2009 Jorg Pleumann <> am 7cc0301: AI 147723: This should have been deleted a while ago, since

Merge commit '7cc03015bd1bcc14fcc5a0d4ad8b235b24992de2' into donut

* commit '7cc03015bd1bcc14fcc5a0d4ad8b235b24992de2':
AI 147723: This should have been deleted a while ago, since
53a2cdea6457a5b832d88c6d5c9f1ae612f535f1 29-Apr-2009 Urs Grob <> am 3fb3946: AI 147687: Several fixes for failing tests in the cts host.

Merge commit '3fb3946640bdc1294131417ac6593a789373090d' into donut

* commit '3fb3946640bdc1294131417ac6593a789373090d':
AI 147687: Several fixes for failing tests in the cts host. also tests that timeout
3861d79d0ac9ec3f30e96fae6b9f666fdcee6882 29-Apr-2009 Urs Grob <> am 119c75d: AI 147660: Fixes for tests in the security module.

Merge commit '119c75dad5494ac611c74599747e4bdc071eced1' into donut

* commit '119c75dad5494ac611c74599747e4bdc071eced1':
AI 147660: Fixes for tests in the security module.
33a2129be732889c040a5850d61e5a33e03a6271 29-Apr-2009 Jorg Pleumann <> am 2b828ef: AI 147464: Some small bugfixes for the core tests.

Merge commit '2b828ef0e241e67319349a30285ee7b812173040' into donut

* commit '2b828ef0e241e67319349a30285ee7b812173040':
AI 147464: Some small bugfixes for the core tests.
e55a337a13531ecbe9fd2257e38da673508bbffd 18-Apr-2009 Andy McFadden <fadden@android.com> Changed the way errors are propagated through the verifier.

Changed the boolean "okay" to a "failure" enumeration. Most failures are
"generic", but some are called out specially. Added a more detailed
failure result from resolver functions.

In theory, no behavior has changed.
d6433d63d340385e9de61513088f5c0f0e3c6d84 28-Apr-2009 Jorg Pleumann <> AI 147896: Some more fixes for tests that failed in
the CTS, but worked fine in run-core-tests:
- One cert test needs isolation, because
it destroys the security provider.
- The Thread.sleep() tests were too flaky.
- Tests that tried to open a temporary DEX
file failed in the CTS because we do not
have access to the system DEX cache. We
are now simply creating our own.
The Java plan in the CTS should now pass
fully. Yippie!
BUG=1285921

Automated import of CL 147896
cd145d9bdd70c8892d92520dfab68e962d4fea55 28-Apr-2009 Urs Grob <ursg@google.com> Fix an infinite loop in ClassLoader.isAncestorOf()

The current version loops endlessly if the callers ClassLoader
is not the same as the system ClassLoader. The cause for this is
a loop variable that is not changed during the loop.

BUG=1732214
ed88bada0bcea351c4005cb5f95de6d0a0b994cf 27-Apr-2009 Andy McFadden <fadden@android.com> Added two new Dalvik documents.

One explains the use of hprof, the other shows how to use the VM from
the command line. These are partially based on some of my responses
to questions on external mailing lists.
7037d2fe7481aef63efdffdc59043f288cbb317b 27-Apr-2009 Jorg Pleumann <> AI 147838: A couple of fixes for making the
core tests work better in the CTS
environment. Some tests had to be
marked broken either because they
either expose different behavior
than in run-core-tests or they
take too much time (beyond the
CTS' timeout).
BUG=1285921

Automated import of CL 147838
c33301d8758c1300c9bf85fe56621e6448c3b7d5 27-Apr-2009 Urs Grob <ursg@google.com> Fix for excessive GREF use in gethostbyaddr.

Each call to gethostbyaddr in java_net_InetAddress.cpp increases the
GREF by one. After calling the method around 1800 times the vm
crashes because of excessive global references.
7346bd94b8e6cd89f32423d81da4e7ca82eca1ab 25-Apr-2009 Andy McFadden <fadden@android.com> Updated the "weird stuff you might see" section.
cb598e9339031ac21fb3b4ed1425ed5b8960b74d 24-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/donut'
94fda49cddd373a9e863d2c4f2d182d915f9e5b4 24-Apr-2009 Scott Main <> AI 147732: fix broken links
BUG=1810005

Automated import of CL 147732
3af2dbd3903d5eabd444d4b96236c0eee0b3c9c2 24-Apr-2009 Jorg Pleumann <> AI 147726: Getting rid of tests.luni.AllTests and
corresponding CTS packages. The test
suite contains mostly duplicate tests.
Two tests would be better placed in the
StrictMath test suite. Don't know where
to put the ThreadsTest, which seems to
actually test the com.sun.Unsafe class,
so it stays orphaned for now.
BUG=1285921

Automated import of CL 147726
8a608f46e882eaf51e3dc728e10bf2493aa07beb 24-Apr-2009 Jorg Pleumann <> AI 147723: This should have been deleted a while ago, since
it's a dupe class.
BUG=1285921

Automated import of CL 147723
3142feb1cc49966f2a5a7f206ff0069c9552913e 24-Apr-2009 Urs Grob <> AI 147687: Several fixes for failing tests in the cts host. also tests that timeout
are now marked with BrokenTest to exclude them for the time being until
we have a way to execute them.
BUG=1285921

Automated import of CL 147687
43772f99dba3b28d757f4d4b454c27d0fce3691f 24-Apr-2009 Urs Grob <> AI 147660: Fixes for tests in the security module.
Some tests are still failing in the cts host environment. This CL fixes most of them in the security module
BUG=1285921

Automated import of CL 147660
1d5df09228d298b680bf6e62ea3dd60e38e852bb 24-Apr-2009 Dave Bort <dbort@android.com> vm: Replace a reference to TARGET_BUILD_TYPE with DEBUG_DALVIK_VM

We're soon going to stop using TARGET_BUILD_TYPE==debug to debug
native modules.

Signed-off-by: Dave Bort <dbort@android.com>
f21bd8b57b832fc5245fef80b1a93e7299411e0b 23-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 374 into donut

* changes:
vm: Add support for changing the scheduler group for a thread. Also temporarily bumps the scheduler group for background threads while performing GC
d9e4338f0791064a4ba593342266675bdd278267 21-Apr-2009 San Mehat <san@google.com> vm: Add support for changing the scheduler group for a thread.
Also temporarily bumps the scheduler group for background threads while performing GC

Signed-off-by: San Mehat <san@google.com>
8a61d9e8dce3ba15792d95cd44dc672526ead31c 23-Apr-2009 Jorg Pleumann <> AI 147464: Some small bugfixes for the core tests.
Some need to be marked broken, because
they take too long (or even forever) due
to implementation problems. Some need
to take into account differences between
the CTS environment and the Dalvik VM,
so they succeed in both cases.
BUG=1285921

Automated import of CL 147464
e552ee5cd6850cc8afb20b8c87c31a115c27c80c 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Merge donut into master
6e7ddb9fe935ecab8a45b117c8296af246afd978 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> merge cupcake into donut
f9e1ba5b848c2a77d25ca2c26bca7cd6ba57ac3d 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Merge donut into master
2920524eee7e7f88e8d263739f0b76ad2fa2b346 22-Apr-2009 Urs Grob <> AI 147386: am: CL 147384 Fixes from the review of 'Bringing luni down to 15 broken tests.
Not perfect, but an improvement.' that Joerg didn't fix yet.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 147386
dbe6d69e6bc575720d3994a1dfef23fc46e8d132 22-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
56990e836cebd4e340e38a038b5b662c76d852b8 22-Apr-2009 Urs Grob <> AI 147388: am: CL 147386 am: CL 147384 Fixes from the review of 'Bringing luni down to 15 broken tests.
Not perfect, but an improvement.' that Joerg didn't fix yet.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 147388
6c44154669ebb2d2e6abb1a1c958f468b3914fa1 22-Apr-2009 Urs Grob <> AI 147384: Fixes from the review of 'Bringing luni down to 15 broken tests.
Not perfect, but an improvement.' that Joerg didn't fix yet.
BUG=1285921

Automated import of CL 147384
205b2263f0d2cfeab056be7b1ece05598a42c34f 21-Apr-2009 Urs Grob <> AI 147126: am: CL 147121 Fixes for tests in the luni module.
There are still some tests that are failing in the cts host. This CL will fix most of them in the luni module.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 147126
fb2ff6473d2b26f289d02fe5533462070a330fbb 21-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
c02a047b307e2dba5f8f950a2703530530494bad 21-Apr-2009 Urs Grob <> AI 147127: am: CL 147126 am: CL 147121 Fixes for tests in the luni module.
There are still some tests that are failing in the cts host. This CL will fix most of them in the luni module.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 147127
78387fb19bfce8af782596ad7fe931440b0515d4 21-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
3721f974fe3a866fdfabeb34b7a2af8a7a282836 21-Apr-2009 Urs Grob <> AI 147124: am: CL 147120 am: CL 147118 Several fixes to reduce failing tests in the cts host
- Removing tests that are placed in a protected package name.
They were not part of the cts tests.
- Fixing a case of an Exception thrown in the static initializer of
GBCharsetEncoderTest.
- Remove copy/paste code which led to an exception in a 2nd thread
(the test did not fail, but its output was reported in logcat)
- fixing a test case in FileTest
- removing test code in StmtTest that tested badly specified operations and
failed.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 147124
95d7fdb5d34c04dd30508a03af3d579ab4903c6c 21-Apr-2009 Urs Grob <> AI 147121: Fixes for tests in the luni module.
There are still some tests that are failing in the cts host. This CL will fix most of them in the luni module.
BUG=1285921

Automated import of CL 147121
d994f67bb5a1ce8b1019a8a28c302cab55c63edb 21-Apr-2009 Urs Grob <> AI 147120: am: CL 147118 Several fixes to reduce failing tests in the cts host
- Removing tests that are placed in a protected package name.
They were not part of the cts tests.
- Fixing a case of an Exception thrown in the static initializer of
GBCharsetEncoderTest.
- Remove copy/paste code which led to an exception in a 2nd thread
(the test did not fail, but its output was reported in logcat)
- fixing a test case in FileTest
- removing test code in StmtTest that tested badly specified operations and
failed.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 147120
f40e7138be99c15a7eacc1891a4087b48d4e8412 21-Apr-2009 Urs Grob <> AI 147118: Several fixes to reduce failing tests in the cts host
- Removing tests that are placed in a protected package name.
They were not part of the cts tests.
- Fixing a case of an Exception thrown in the static initializer of
GBCharsetEncoderTest.
- Remove copy/paste code which led to an exception in a 2nd thread
(the test did not fail, but its output was reported in logcat)
- fixing a test case in FileTest
- removing test code in StmtTest that tested badly specified operations and
failed.
BUG=1285921

Automated import of CL 147118
b2d117b3919797810ddd0342c65d91a425f4b19f 20-Apr-2009 Andy McFadden <fadden@android.com> Correctly handle "permission denied" on device side.
Return nonzero exit status on failure.
Change tabs to spaces.
f6d82bbeb9c1de69f8badfa2a6b5c34d33be9977 19-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
59fba5358816a2abfc6b10ad10aa5c902862b978 19-Apr-2009 Urs Grob <> AI 146827: am: CL 146742 am: CL 146710 Splitting android.core.tests.apk into several smaller
apks. Each libcore module gets one apk and luni gets 4.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146827
b62a2c98b02e3e368264271c1c5393c42e105858 19-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
34f1f5e2f5ebb240cf000a99a4fa8c6a872e62d7 19-Apr-2009 Urs Grob <> AI 146589: am: CL 146495 am: CL 146479 Fixes for tests in the sql module.
Some tests are still failing in the cts host environment. this CL fixes most of them in the sql module.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146589
c0c6b4490e3ef3ba8d47647f73144e4ead7fcee3 19-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
a84ad2d7521dec76c18d393413ce6e3f364dd619 19-Apr-2009 Urs Grob <> AI 146537: am: CL 146133 am: CL 146132 Fixes from the review of 'Bringing XML down to one broken test.'
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146537
8c73e7ec66bde6db90515268175790118803f78d 17-Apr-2009 Dan Bornstein <danfuzz@android.com> Update dx test #111 to reflect the new understanding of reality.

This is a followup to internal master change #277 (d24414a5), see which
for further details.
8bb998200bc23e52cfd64025ab14eb3b0ecbd7d1 17-Apr-2009 Dan Bornstein <danfuzz@android.com> Fix issue #1794388.

In particular, when encountering a known-null being used as an array,
always emit an instruction that's compatible with the element type
expected/encountered in context. This will sometimes lead to
surprising instruction choices, such as "aget-byte" when the original
source used a boolean[], but in all of these cases the output is valid
and behaves correctly, where "correctly" in this case means (a)
passing verification, and (b) throwing a NullPointerException if ever
executed.

The test case (dx test #111) reflects unsurprising expectations and
so needs updating, which I will do in a follow-up to this patch.

I know this makes me an awful git user, but I fixed some comments and
whitespace while I was in the territory and *didn't* turn these into
separate commits.
630f2ee3f43a4b7aa1aaaf5042b9f93bb41e6df7 17-Apr-2009 Urs Grob <> AI 146742: am: CL 146710 Splitting android.core.tests.apk into several smaller
apks. Each libcore module gets one apk and luni gets 4.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 146742
edd20bbb7aa4b157f0a3ed2c83a2d5677f49efe6 06-Apr-2009 Barry Hayes <bhayes@google.com> Improve zygote heap sharing.

Lots of ClassObject structures are unshared [and thus make whole pages
unshared]. A big contributor to this is the initializing class loader
logic, which has two writable words in a ClassObject and does indeed
seem to write them a lot.

Class which are created "early" have a low serial number and are
probably being created by the zygote, and would benefit from better
sharing. This change move the two words for classes with a low serial
number to a global, making the two words in those ClassObjects unused,
and thus more likely to be shared across apps.

Measured increase in sharing is c 100K per app, at a cost of c 32K
increase in unshared globals.

This might be better as a Set<Pair<Class,ClassLoader>> or
something. Many ClassObjects have zero loaders, and the typical count
seems to be very small. It should be possible to remove the two words
from the ClassObject and at the same time have a smaller global data
structure.

Respond to reviewer's comments.
Moved the "external" InitiatingLoaderList[] from gDvm to allocated storage.
Made the warning for the "const" go away.
Remove "vm/Init.c" from the commit
Revert Globals.h to not contain ZYGOTE_CLASS_CUTOFF
Use calloc rather than malloc/clear
c2dc2cce85c1de3b4f07fa1c6ffe49a807d33516 17-Apr-2009 Urs Grob <> AI 146710: Splitting android.core.tests.apk into several smaller
apks. Each libcore module gets one apk and luni gets 4.
BUG=1789657

Automated import of CL 146710
9cfa9941249c6553746b0ad01638a995465798b5 17-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 235

* changes:
Test case for issue #1794388.
2091a6834bd1ae4305178becab439a85b95931da 17-Apr-2009 Dan Bornstein <danfuzz@android.com> Test case for issue #1794388.

It demonstrates that, yes, there is a bug right now.
2b6590503937f480803a3d76099cd56131b4a743 16-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 232

* changes:
Corrected static field resolution.
abd302a3ffbf29eb25b76fd3ec090805c2366ef9 16-Apr-2009 Andy McFadden <fadden@android.com> Corrected static field resolution.

It's legal (at the bytecode level) to have two fields with the same name
but different types.

Fixes http://b/issue?id=1788918 / http://b.android.com/2422
aa0c80c1e5f3be2f2412feaac5c423300b9ce01a 16-Apr-2009 Urs Grob <> AI 146495: am: CL 146479 Fixes for tests in the sql module.
Some tests are still failing in the cts host environment. this CL fixes most of them in the sql module.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 146495
5fe187e096b2bd9abbb611a766e4d167bfafc708 16-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
ef6d9f2b8928e5c8dc116ba9d5376f019ea2c987 16-Apr-2009 Urs Grob <> AI 146535: am: CL 146128 am: CL 146126 Fixes from the review of 'Bringing RegEx down to zero broken tests.'
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146535
c59ff8e938299a71a96a95bb774eb974c74066e9 16-Apr-2009 Urs Grob <> AI 146479: Fixes for tests in the sql module.
Some tests are still failing in the cts host environment. this CL fixes most of them in the sql module.
BUG=1285921

Automated import of CL 146479
e93c6b54fb7460643cf7a248e9cd5cc143b8e399 15-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 199

* changes:
Updated comments around thread exit check.
ae1e9ac62c5ce876b94968552f208b7949f3182b 15-Apr-2009 Andy McFadden <fadden@android.com> Updated comments around thread exit check.
e37ab2dc88e7019eb6677fd8bb0b2ae892d9c413 15-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/cupcake'
358fd945d814bc17e337cd73b7f13be9e09def16 15-Apr-2009 Dan Bornstein <danfuzz@android.com> Made a few more tweaks as I'm reading over the SSA code.
5fcba1b5ec8b6d9d518992b2b4b07da9e8a31e56 14-Apr-2009 Urs Grob <> AI 146133: am: CL 146132 Fixes from the review of 'Bringing XML down to one broken test.'
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 146133
b993cd95f9969070da7aa05e6af1412405f96b41 14-Apr-2009 Urs Grob <> AI 146132: Fixes from the review of 'Bringing XML down to one broken test.'
BUG=1285921

Automated import of CL 146132
f48eee7694cff27a004b1b54d2ee8402126524aa 14-Apr-2009 Urs Grob <> AI 146128: am: CL 146126 Fixes from the review of 'Bringing RegEx down to zero broken tests.'
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 146128
fdb0dc182884a7c9e86acffaf255692bc7ca9bd4 14-Apr-2009 Urs Grob <> AI 146126: Fixes from the review of 'Bringing RegEx down to zero broken tests.'
BUG=1285921

Automated import of CL 146126
9e81ae451c92998924922c55b666b517e1ff0e5b 14-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
2fb55a03672df0601d9bbe677ce139ca4c0d8bdc 14-Apr-2009 Andy McFadden <> AI 145950: Quiet a log message and a tenacious gcc warning.

Automated import of CL 145950
ad89efaaddb593cb19b04476bc8e2e3cbcef77df 10-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
1e9bd835bb73b90af43ffa44590e22ec676a65e0 10-Apr-2009 Urs Grob <> AI 145652: am: CL 145615 am: CL 145291 Fixes from the review of 'Bringing XNET down to zero broken tests.'
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 145652
739cb5dc66658292234d614607f2eb7cb7cd6325 10-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
0263a8ef9877231f51afde56ee54c536f44e16e2 10-Apr-2009 Urs Grob <> AI 145650: am: CL 145613 am: CL 145289 Fixes for tests in the text module.
Some tests are still failing in the cts host environment. this CL fixes most of them for the test module.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 145650
644b07e72cf66d8fc0ec896215486ef1a8873f9d 10-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
0f974d12063fa126154f71cd686b09548d66e8ea 10-Apr-2009 Urs Grob <> AI 145649: am: CL 145612 am: CL 145288 Removing tabs from tests.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 145649
5ce61ff1f727721ff672384e0ad5b4aa60a8b100 10-Apr-2009 Urs Grob <> AI 145615: am: CL 145291 Fixes from the review of 'Bringing XNET down to zero broken tests.'
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 145615
0eceac9e6ed86385ff373dd780b339b8a7c12ef5 10-Apr-2009 Urs Grob <> AI 145613: am: CL 145289 Fixes for tests in the text module.
Some tests are still failing in the cts host environment. this CL fixes most of them for the test module.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 145613
75e9eb6dd4aad6dc0db24e060fb2cd863a6fd27b 10-Apr-2009 Urs Grob <> AI 145612: am: CL 145288 Removing tabs from tests.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 145612
46c0f6470fca2543f19560902b7a1a86406dbd4a 10-Apr-2009 Dan Bornstein <danfuzz@android.com> I love typos: Gratuitous change for me to use to go through the process of
submitting a patch and then a followup replacement/correction.
97e7aeba4150401be16084c1f81e875e0ffed885 09-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
087c880dbca80190e26d0cbd435d0efb8e7a4275 09-Apr-2009 Andy McFadden <> AI 145331: Shush.

Automated import of CL 145331
0ee2804a3331504209dbe7d25085a06c718613c2 09-Apr-2009 Urs Grob <> AI 145291: Fixes from the review of 'Bringing XNET down to zero broken tests.'
BUG=1285921

Automated import of CL 145291
cc5b3e109d86b19edc89c0ea048035c344c4a8c1 09-Apr-2009 Urs Grob <> AI 145289: Fixes for tests in the text module.
Some tests are still failing in the cts host environment. this CL fixes most of them for the test module.
BUG=1285921

Automated import of CL 145289
0c128a854629aaf3f4b8f0d8c200497cbfd242d0 09-Apr-2009 Urs Grob <> AI 145288: Removing tabs from tests.
BUG=1285921

Automated import of CL 145288
8f79f4e02a2eb894a6231bc8ba0f2edec89f6561 09-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 48

* changes:
Gratuitous change to get my feet wet with the new git reality.
7eb3e81eb08a01ea74f2c36515cf43906a35c2b4 08-Apr-2009 Dan Bornstein <danfuzz@android.com> Gratuitous change to get my feet wet with the new git reality.
9277209f2449e115b74b68498dcdf2273baaf765 08-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
ae7d74e755a90eb8320622b8459ba295f9a6674a 08-Apr-2009 Andy McFadden <> AI 145086: Use process groups to avoid a collision between dexopt and ProcessManager.
If the ProcessManager thread was waiting for a child process to finish,
it could inadvertently capture the exit status of dexopt. This
confused the VM somewhat. With this change the dexopt child runs in
its own process group, and the ProcessManager only waits for children
in the parent's process group.
I also now create a new process in the DexClassLoader test to check for
clashes. (It's a race, but it nearly always hits on the device, and
occasionally hits on desktop.)
BUG=1777736

Automated import of CL 145086
a62f9a86d518e3c90cef918233186eb4dfe362bd 08-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
11c7db7ed4e5528c1050219806677d2b535655d9 08-Apr-2009 Andy McFadden <> AI 144931: Added a (hidden) way to "pre-cache" register maps.
The 50 methods that appeared on the GC stacks of the most applications
require 13KB of native heap for their uncompressed register maps, and
the full set took 5ms to uncompress. Pre-computation doesn't represent
a significant improvement in space or time, at the cost of a big pile
of strings in ZygoteInit.
I'm leaving the method in ZygoteInit, but it's not called, and the
static final String[] of method descriptors is empty. We may want to
revisit this later.
BUG=1729570

Automated import of CL 144931
93d534cdf012af71c98dff4a7d4edbd0dbdb9ab3 08-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
0a6a5cc8321952ef6110aa717f0031f5aa9c3382 08-Apr-2009 Andy McFadden <> AI 144929: Manual integration of 144925.
The auto-merger doesn't specify "-d", and it got hung up on
out/InterpAsm-armv4.S.

Automated import of CL 144929
b14e451b3fb53534b23b722592f3c26f571d4284 08-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
b36c506860ea9737029c56a544cc67f4c4b6f3b3 08-Apr-2009 Andy McFadden <> AI 144906: Default to failure, not success.

Automated import of CL 144906
0a50a031d208c3b466624964e33f721f876033e8 08-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
4abfa32cf53a7f40a1e359b3f68419bea907371c 08-Apr-2009 Jorg Pleumann <> AI 144842: am: CL 144841 am: CL 144839 First version of new test runner for the core tests
that is able to filter tests, treat known failures,
isolate tests and (experimentally) find side effects
between tests. It also make it easy to run the core
tests on the RI, in order to validate the suite.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144842
6650124cb9f8368534809b161a30933a2183e9a3 07-Apr-2009 Andy McFadden <> AI 144925: Rename armv4 to armv4t, which is what it really is.
We don't build armv4t internally, so this is mostly for the benefit of
external people working on older devices.
BUG=1775623

Automated import of CL 144925
462a7452162393f1bdba8b59b0e4dc36bc981334 07-Apr-2009 Jorg Pleumann <> AI 144841: am: CL 144839 First version of new test runner for the core tests
that is able to filter tests, treat known failures,
isolate tests and (experimentally) find side effects
between tests. It also make it easy to run the core
tests on the RI, in order to validate the suite.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144841
f52d0bfea64ce3c9c5d74aaeff2d9999f6fc9360 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
747b2e2ffe5b67b9fabdbc866e5d963d096a920f 07-Apr-2009 Jorg Pleumann <> AI 144833: am: CL 144830 Bringing luni down to 15 broken tests. Not perfect,
but an improvement.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144833
267a5aefc0131f6e1daacc873f111c170537420f 07-Apr-2009 Jorg Pleumann <> AI 144836: am: CL 144833 am: CL 144830 Bringing luni down to 15 broken tests. Not perfect,
but an improvement.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144836
c032fe0478ec1f9e160e97029caf17917c1ba1a1 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
2c9b8ec2f6a16d5a910732f45661875d701b72a6 07-Apr-2009 Jorg Pleumann <> AI 144832: am: CL 144828 Bringing RegEx down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144832
31675054359b4ac869fc5ed79ffe7c1ab4006176 07-Apr-2009 Jorg Pleumann <> AI 144835: am: CL 144832 am: CL 144828 Bringing RegEx down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144835
20bff4c3d3516e4069131b4c32db9354c443657e 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
41adb724097edb26b97442c74e59e8820fb474d4 07-Apr-2009 Jorg Pleumann <> AI 144827: am: CL 144822 Bringing XML down to one broken test.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144827
c8ecb9f87d4443a97f9fea48bc4e810d6453193c 07-Apr-2009 Jorg Pleumann <> AI 144831: am: CL 144827 am: CL 144822 Bringing XML down to one broken test.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144831
35f9b7949b8fe95966794d20955ac3582ff67a3d 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
65fc61db5f5ca63bdccc6325857350effb5aa9c0 07-Apr-2009 Jorg Pleumann <> AI 144821: am: CL 144818 Bringing archive down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144821
8746d8b6b1caf3737750150c1b6eabb672fc15a9 07-Apr-2009 Jorg Pleumann <> AI 144826: am: CL 144821 am: CL 144818 Bringing archive down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144826
a23b008eff5f2e96fc006cb29ff897ee8b1853fd 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
6452e1d65b7fb1c57de51dc8a280780674e185c3 07-Apr-2009 Jorg Pleumann <> AI 144820: am: CL 144816 Bringing XNET down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144820
d8068ee8e6840005891e5403cd876e7177697dc9 07-Apr-2009 Jorg Pleumann <> AI 144825: am: CL 144820 am: CL 144816 Bringing XNET down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144825
38b282e5d53d34bf4a5211545fbceeb751ed1358 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
4fff1ebebdb91b22ea740c8febd06c8edc7931d7 07-Apr-2009 Jorg Pleumann <> AI 144804: am: CL 144802 Bringing SQL down to zero broken tests. Restructuring
some overengineered tests, so they are able to execute
in the CTS host and our CoreTestRunner.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144804
e1d584eb24b2b08f77c62ea0cda8fd0f43a6b5da 07-Apr-2009 Jorg Pleumann <> AI 144808: am: CL 144804 am: CL 144802 Bringing SQL down to zero broken tests. Restructuring
some overengineered tests, so they are able to execute
in the CTS host and our CoreTestRunner.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144808
5e4b9c6df33691d87f5864486276e64b6ef7dce8 07-Apr-2009 Jorg Pleumann <> AI 144839: First version of new test runner for the core tests
that is able to filter tests, treat known failures,
isolate tests and (experimentally) find side effects
between tests. It also make it easy to run the core
tests on the RI, in order to validate the suite.
BUG=1537738

Automated import of CL 144839
bb3082687003f6a87f35c48829448a2dd4ba065d 07-Apr-2009 Jorg Pleumann <> AI 144830: Bringing luni down to 15 broken tests. Not perfect,
but an improvement.
BUG=1285921

Automated import of CL 144830
8720db9d70e39b267e85f6e4f605ab2de287a05b 07-Apr-2009 Jorg Pleumann <> AI 144828: Bringing RegEx down to zero broken tests.
BUG=1285921

Automated import of CL 144828
7309590abd92b727e17e6b223b28807df5a2f788 07-Apr-2009 Jorg Pleumann <> AI 144822: Bringing XML down to one broken test.
BUG=1285921

Automated import of CL 144822
cf8cedf53d874c3f0fd901dd2b90bd5438d7f6d3 07-Apr-2009 Jorg Pleumann <> AI 144818: Bringing archive down to zero broken tests.
BUG=1285921

Automated import of CL 144818
85ab70b0cc36f2914bcba9c507f8b711f69ff4c4 07-Apr-2009 Jorg Pleumann <> AI 144816: Bringing XNET down to zero broken tests.
BUG=1285921

Automated import of CL 144816
d38bbb24fc61e5054406c0b948ed835d84c0314d 07-Apr-2009 Jorg Pleumann <> AI 144802: Bringing SQL down to zero broken tests. Restructuring
some overengineered tests, so they are able to execute
in the CTS host and our CoreTestRunner.
BUG=1285921

Automated import of CL 144802
f9bcf88ca145a8af8c3f08268c705f2c0b89132b 06-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
a3275c155c271b723b73dc122dc535c06f5e88a1 06-Apr-2009 Andy McFadden <> AI 144644: Added a test that smacks the GC around a little.

Automated import of CL 144644
6969cd02c636d40a90239e28b387dd6ff63c9f0b 03-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
23646d219aa68424867bfc3cd9addf9ba14d6ef2 03-Apr-2009 Andy McFadden <> AI 144469: Added test for dalvik.vm.check-dex-sum property.
Enables -Xcheckdexsum argument, which causes the VM to test checksums
when loading optimized DEX files.
BUG=1749836

Automated import of CL 144469
04207337fdc4a182b8a5f4cd0693e8a7bcd6815d 03-Apr-2009 Bob Lee <> Merge branch 'readonly-p4-master'
aacc42d6c95e8f0054ac618b361f2afb914dc4ac 03-Apr-2009 Bob Lee <> AI 144418: am: CL 144381 am: CL 144356 Synchronized code that touches native SSL sessions.
Original author: crazybob
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144418
496a193a0f07d90756616d941f276d0fe6b86bb0 03-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
82a8ddd17398d09496f69ff6ee565a9dc4588a6c 03-Apr-2009 Jorg Pleumann <> AI 144390: am: CL 144230 am: CL 144229 Modifying build of core-tests.jar version for
the RI so that the required test annotation
classes are copied over from core.jar. Means
we don't have to maintain duplicate versions
of these classes (and there will be less
verifier complaints), so these are going away
in the process.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144390
c0e45ff535517bd31d6674909fe1499448fe9a70 03-Apr-2009 Bob Lee <> AI 144381: am: CL 144356 Synchronized code that touches native SSL sessions.
Original author: crazybob
Merged from: //branches/cupcake/...

Automated import of CL 144381
2dc83c17a2c3e38df259bc2f71549610099d53f0 03-Apr-2009 Bob Lee <> AI 144356: Synchronized code that touches native SSL sessions.

Automated import of CL 144356
a8bb9d21c92ced78d263de982394d9022b4b0d43 03-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
eb0aac962c2dc7d7e093d651f99ec47ae770ff6a 03-Apr-2009 Andy McFadden <> AI 144304: The initialization of "os.arch" used insufficient stringification.
We now return "generic" instead of "OS_ARCH", which isn't terribly
useful but is what we originally intended.

Automated import of CL 144304
e3724a1f6c8740261079bb218460d4a88034f7b4 03-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
4af3c659a12fca4c1f690c5fa0d24cbb80f02bfe 02-Apr-2009 Andy McFadden <> AI 144290: Older versions of dexdump plow on after a checksum failure and usually
crash. Watch for any activity on stderr instead of looking for an
error message.
BUG=1758365

Automated import of CL 144290
6daf1d652a0f57ee809b836721ba807d8758fd00 02-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
1daaa30999123e33980e845cc5f91eb757dc8b1b 02-Apr-2009 Andy McFadden <> AI 144278: Some changes to make examination of flaky devices easier.
Added "dexcheck" shell script, which runs the dexdump checksum
verification against every file in /data/dalvik-cache.
Added "-c" flag to dexdump, which quits after the checksum test
(faster than sending everything to /dev/null).
Initialize a ZipArchive struct earlier; without this dexdump was
crashing in some situations when dealing with a nonexistent file.
BUG=1749836

Automated import of CL 144278
670335f0d60a5b38aee25424487bc5bbcb0f8dbb 02-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
bf91aa843f8a9274648552108e29dec7e068207b 02-Apr-2009 Andy McFadden <> AI 144244: Don't try to verify the checksum of a partially-created DEX file.
BUG=1749836

Automated import of CL 144244
d66a4136081a3f6928cc462ce51eca89f92b966a 02-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
25aaf9df8dc33e72f29c3403bf44bcc015f1b970 02-Apr-2009 Andy McFadden <> AI 144240: Added a test for a bug reported externally (via android-platform).
Through separate compilation and inheritance, it's possible for a
class to have static and instance fields with the same name. This
test verifies that we throw an IncompatibleClassChangeError when this
occurs. (The test currently fails.)
Also: my change 126993-p9 made "--dev" visible to the "helper" scripts,
but only the "local" one accepts it. Fixed the other two to accept
and ignore it.
BUG=1752800

Automated import of CL 144240
e2091e27f4cd94d1762dbec207b571c99eba80a7 02-Apr-2009 Jorg Pleumann <> AI 144230: am: CL 144229 Modifying build of core-tests.jar version for
the RI so that the required test annotation
classes are copied over from core.jar. Means
we don't have to maintain duplicate versions
of these classes (and there will be less
verifier complaints), so these are going away
in the process.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144230
65988aff944cbec680c95a9231c072473d831583 02-Apr-2009 Jorg Pleumann <> AI 144229: Modifying build of core-tests.jar version for
the RI so that the required test annotation
classes are copied over from core.jar. Means
we don't have to maintain duplicate versions
of these classes (and there will be less
verifier complaints), so these are going away
in the process.
BUG=1285921

Automated import of CL 144229
cebd1e1c8ac4baab0a2cfa4fc3f278e3945e0981 01-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'master' of git://android.git.kernel.org/platform/dalvik
12a76c370d18d00da706418e4f2e7e791cdc7193 01-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'goog/readonly-p4-master'
bf5fae59e7188c98437ae87bb297c161cc6d50e7 31-Mar-2009 Dan Bornstein <> AI 143732: Tweaks, in response to public critique.

Automated import of CL 143732
d43df3b530337629489127021a558710cb5d858e 31-Mar-2009 Jorg Pleumann <> AI 143684: am: CL 143654 am: CL 143467 Bringing archive down to zero failures and
zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143684
898278c6768e2b45b4dc07ebfda407e3da0198e6 31-Mar-2009 Jorg Pleumann <> AI 143683: am: CL 143652 am: CL 143466 Bringing the logging tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143683
d450dae148aeb6819045ac2de30c5a5550a60685 31-Mar-2009 Jorg Pleumann <> AI 143680: am: CL 143649 am: CL 143464 Proposal for a TestTimeout annotation that the CTS
host (or an different test harness) should take into
account.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143680
704dcc6a7469b429543a4a39928ddca087a92493 31-Mar-2009 Jorg Pleumann <> AI 143679: am: CL 143646 am: CL 143460 Adding new annotation for tests that expose or suffer from
side effecs. The test harness can isolate these in their
own process. Unfortunately we need to add the class twice.
Maybe we can find a better solution for this at a later
point.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143679
61552fcd67e7880c8dcfa7afe9388500582715c7 31-Mar-2009 Jorg Pleumann <> AI 143677: am: CL 143642 am: CL 143458 Bringing the security tests down to zero failures (and
adding lots of missing headers in the process).
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143677
8e5948c74f2355341fd9f76d2b81c34012883887 31-Mar-2009 Jorg Pleumann <> AI 143673: am: CL 143637 am: CL 143457 Bringing the nio_char tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143673
9588579452a345333df3e59dd56654542b8d9af6 31-Mar-2009 Jorg Pleumann <> AI 143668: am: CL 143635 am: CL 143456 Bringing the text tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143668
20404a5ef98b3837e2c07f7683ac6f20e04e5e90 31-Mar-2009 Jorg Pleumann <> AI 143664: am: CL 143631 am: CL 143455 Bringing the SQL tests down to zero failures (and
reducing the size of some stress tests, so they
have a chance to actually succeed before the end
of the world).
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143664
690d58f84bacf7b86c01c211254ff45a80a74291 31-Mar-2009 Jorg Pleumann <> AI 143660: am: CL 143627 am: CL 143454 Temporarily removing the Expat test from the XML
test suite, so it can be run on the RI as well.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143660
c7f750646d68cb09f8af9d589e0631a500ae890d 31-Mar-2009 Jorg Pleumann <> AI 143657: am: CL 143626 am: CL 143453 Bringing the luni tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143657
6f20044d994196bb26f9b2ccc64c1298cf83b96c 31-Mar-2009 Android Code Review <code-review@android.com> Merge change 9336

* changes:
Fixes to make dalvik compile for armv4t: - The blx instruction is only supported from armv5t and on. - Select the correct Interp-files.
bdc487de873c88a2112ca4de3aa11734a012c7ca 31-Mar-2009 Jorg Pleumann <> AI 143654: am: CL 143467 Bringing archive down to zero failures and
zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143654
7254293e7b38954102bc10f13e66a91cd0c3afd9 31-Mar-2009 Jorg Pleumann <> AI 143652: am: CL 143466 Bringing the logging tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143652
5ef067447efa408d55bfda43bb48081d09a18ef7 31-Mar-2009 Jorg Pleumann <> AI 143649: am: CL 143464 Proposal for a TestTimeout annotation that the CTS
host (or an different test harness) should take into
account.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143649
8d3136f054f47fc61f52f53a0a59c428eae080e1 31-Mar-2009 Jorg Pleumann <> AI 143646: am: CL 143460 Adding new annotation for tests that expose or suffer from
side effecs. The test harness can isolate these in their
own process. Unfortunately we need to add the class twice.
Maybe we can find a better solution for this at a later
point.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143646
9fd5f2ffa7985cd608ada24c6053c83b54457fff 31-Mar-2009 Jorg Pleumann <> AI 143642: am: CL 143458 Bringing the security tests down to zero failures (and
adding lots of missing headers in the process).
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143642
5d662dd2d6dbf4d96b5d7dc3a09a6ea2064653cb 31-Mar-2009 Jorg Pleumann <> AI 143637: am: CL 143457 Bringing the nio_char tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143637
43b6ba5a4b1f1cb22355a4ba410582a9a059a496 31-Mar-2009 Jorg Pleumann <> AI 143635: am: CL 143456 Bringing the text tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143635
562c0117644f8e95fa2467447c583b3122c18f70 31-Mar-2009 Jorg Pleumann <> AI 143631: am: CL 143455 Bringing the SQL tests down to zero failures (and
reducing the size of some stress tests, so they
have a chance to actually succeed before the end
of the world).
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143631
aa20afbef437ffce30ec257940a531a373855267 31-Mar-2009 Jorg Pleumann <> AI 143627: am: CL 143454 Temporarily removing the Expat test from the XML
test suite, so it can be run on the RI as well.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143627
c183d3f71483e65036ac40ade21600b9905ec1ce 31-Mar-2009 Jorg Pleumann <> AI 143626: am: CL 143453 Bringing the luni tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143626
251d878436c0a5b97c4f6583294ec0179efbfacc 30-Mar-2009 Andy McFadden <> AI 143506: Fix swap issue affecting big-endian machines.
Reported on android-porting mailing list (by "Anand Android").
Also renamed a local that shadowed an earlier local.

Automated import of CL 143506
56c8199fc0e83c12d090dbba98acbebb4b0ff47a 30-Mar-2009 Dan Bornstein <> AI 143492: Another crank of the --core-library wheel.

Automated import of CL 143492
e3cf5d1d1b8a11c98239e96f66cb4ba3f0234f4e 30-Mar-2009 Jorg Pleumann <> AI 143467: Bringing archive down to zero failures and
zero broken tests.
BUG=1285921

Automated import of CL 143467
a319c68d3e01865d32fb744d94024f0c0c8a1869 30-Mar-2009 Jorg Pleumann <> AI 143466: Bringing the logging tests down to zero failures.
BUG=1285921

Automated import of CL 143466
191e23f9726a9f3caacff0f9ef51207faa4bff2e 30-Mar-2009 Jorg Pleumann <> AI 143464: Proposal for a TestTimeout annotation that the CTS
host (or an different test harness) should take into
account.
BUG=1537738

Automated import of CL 143464
b4cf019ce1388752d59dd1024781d02a4351812a 30-Mar-2009 Jorg Pleumann <> AI 143460: Adding new annotation for tests that expose or suffer from
side effecs. The test harness can isolate these in their
own process. Unfortunately we need to add the class twice.
Maybe we can find a better solution for this at a later
point.
BUG=1285921

Automated import of CL 143460
06a8ea756c8177863c342732be52943ca7645084 30-Mar-2009 Jorg Pleumann <> AI 143458: Bringing the security tests down to zero failures (and
adding lots of missing headers in the process).
BUG=1285921

Automated import of CL 143458
69e268199e1867177ef2f491bf26d2a5ce9697bd 30-Mar-2009 Jorg Pleumann <> AI 143457: Bringing the nio_char tests down to zero failures.
BUG=1285921

Automated import of CL 143457
90e849e23d07f6ac0381a9ce54a51b30569ae596 30-Mar-2009 Jorg Pleumann <> AI 143456: Bringing the text tests down to zero failures.
BUG=1285921

Automated import of CL 143456
64d9f4ea59b41bbaa3f1d71295ebef42cea27758 30-Mar-2009 Jorg Pleumann <> AI 143455: Bringing the SQL tests down to zero failures (and
reducing the size of some stress tests, so they
have a chance to actually succeed before the end
of the world).
BUG=1285921

Automated import of CL 143455
920fc4bf584f2262e7d753a2f400f60c88b0d2c3 30-Mar-2009 Jorg Pleumann <> AI 143454: Temporarily removing the Expat test from the XML
test suite, so it can be run on the RI as well.
BUG=1285921

Automated import of CL 143454
b255e38edd4438dd47eefa5cb86dd4847d94bc30 30-Mar-2009 Jorg Pleumann <> AI 143453: Bringing the luni tests down to zero failures.
BUG=1285921

Automated import of CL 143453
5c93144af8541a727116eef8eef602965088ced2 29-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'open_source' into google_internal
f3655ab888e6782367c95c054c8bf652ee7eb151 28-Mar-2009 Jorg Pleumann <> AI 143235: am: CL 143073 Bringing the Crypto tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143235
75dbe51324b21e2934246846a84df56ceaa5270d 28-Mar-2009 Jorg Pleumann <> AI 143233: am: CL 143070 Two small fixes for the support module. The
classloader factory didn't work, since the
innerhalb classes had to be static. Plus
we don't want to see System.out stuff in the
tests.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143233
e1c7069e567c0d74d8a076d7e8765ffa5aa7ee03 28-Mar-2009 Jorg Pleumann <> AI 143385: am: CL 143235 am: CL 143073 Bringing the Crypto tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143385
a143c400eea5bc4c269e86ed45dee03b61ed97ff 28-Mar-2009 Jorg Pleumann <> AI 143383: am: CL 143233 am: CL 143070 Two small fixes for the support module. The
classloader factory didn't work, since the
innerhalb classes had to be static. Plus
we don't want to see System.out stuff in the
tests.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143383
dfea18bcf73e51a3347c762ec1d1d26637adff87 28-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'goog/cupcake'
867884d47a1ffc689c39f62778a9c1bc69351b04 28-Mar-2009 Jorg Pleumann <> AI 143332: am: CL 143182 am: CL 142925 Silencing the TestSuiteFactory. It will be
removed completely, soon, but it is referenced
by so many tests that it makes sense to do this
in its own CL once the currently open CLs are
submitted.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143332
76ceb83144d70cbf7ddb54d786bba4d25f4a43e3 28-Mar-2009 Jorg Pleumann <> AI 143182: am: CL 142925 Silencing the TestSuiteFactory. It will be
removed completely, soon, but it is referenced
by so many tests that it makes sense to do this
in its own CL once the currently open CLs are
submitted.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143182
0b37a030877bca03f86c738ba6ecd69a07e5b176 27-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/cupcake'
e0700765d2207181c80176743e3d5d1d8d893eaa 27-Mar-2009 Andy McFadden <> AI 143123: Three minor changes.
1. detab "dx" script
2. log an error when annotation value parsing fails
3. slightly improve a resolver failure message

Automated import of CL 143123
00ede4e09c5bcacef0141af24d64895033742504 27-Mar-2009 Andy McFadden <> AI 143120: Added simple XML output. Shuffled stuff around.

Automated import of CL 143120
4bc779d3969bc4f54b7b1c0cbe19b6eec46cf80b 27-Mar-2009 Jorg Pleumann <> AI 143073: Bringing the Crypto tests down to zero failures.
BUG=1285921

Automated import of CL 143073
ea85ef29fec0acd94099069dda7e437042267335 27-Mar-2009 Jorg Pleumann <> AI 143070: Two small fixes for the support module. The
classloader factory didn't work, since the
innerhalb classes had to be static. Plus
we don't want to see System.out stuff in the
tests.
BUG=1285921

Automated import of CL 143070
b4dffdf397323d3e3e6a8c760a66030b96633626 27-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@143003,143003
5eaf91df21eb37def1091448791d079564b9a2eb 26-Mar-2009 Jorg Pleumann <> Automated import from //branches/cupcake/...@142925,142925
d208477a33cd389738e83cdd19436268cab8570c 26-Mar-2009 Ben Cheng <> Automated import from //branches/master/...@142811,142811
4cdf8fbf40e780eb15e6bb3de606f5a882f602c8 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@142686,142686
80c8dc7805edd57ee7372d3180279f3699ec86f6 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@142221,142221
473c8543f091d4fe48535425fe59f5b810b706bf 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@142073,142073
20c07b6104c54ec76facf8b23bf79ccb25a6d006 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@141983,141983
475af4ac20404bd058523b0161e1ccb5d5ec976a 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@141837,141837
f4225841c127558f617a879927515bba51448137 25-Mar-2009 Urs Grob <> Automated import from //branches/master/...@141710,141710
1d2701054a7bd84acfc39d7dbe5dd6c9a3f00ce5 25-Mar-2009 Urs Grob <> Automated import from //branches/donutburger/...@141709,141709
60f28e5a2e15775f4c2efcee40a38aabbdb29223 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@141645,141645
0a57f20bb3c85005a828313c1c9627a5396dccbb 25-Mar-2009 Bob Lee <> Automated import from //branches/donutburger/...@141355,141355
57fff6f5dcb770dc43f09bb58b33e2d2fe2906de 25-Mar-2009 Bob Lee <> Automated import from //branches/master/...@141357,141357
cbb1a14af03846090425beb0faee495936f2dc1f 25-Mar-2009 Mike Wakerly <> Automated import from //branches/donutburger/...@140825,140825
03581955ee82be2095aa8778ac4a64acc8f83e1a 25-Mar-2009 Mike Wakerly <> Automated import from //branches/master/...@140826,140826
b6e4af48d188ddc2e444a0df9e492c516a41c9e8 25-Mar-2009 Andy McFadden <> Automated import from //branches/donutburger/...@140700,140700
8bd09fb58923ec6518755865a107194e83550339 25-Mar-2009 Urs Grob <> Automated import from //branches/cupcake/...@141706,141706
e083440bc6e4624a7175f54402a4e496334f30e5 25-Mar-2009 Andy McFadden <> Automated import from //branches/donutburger/...@140653,140653
929e90b9edf3310cd9395aeb8f9bf44190bfffa8 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/master/...@140443,140443
588f6d7f2e83b112156d26f91b8ac5e556be0b1e 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/master/...@140442,140442
03fcc01e6d88dd438df8a32fc2fd5b8842c54d64 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/donutburger/...@140440,140440
ec386f1eb2049d6af807d0d23a133f246c400ca1 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/donutburger/...@140439,140439
9485faab99f2a0566887f5659641b0206f74702d 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/master/...@140414,140414
be140a8e4ab47ddbb5c14e3a8ab37eb84d2bf28e 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/donutburger/...@140376,140376
cd14fa7f10a176e16b3b7e3f52cce2e5bd3307e8 23-Mar-2009 Fredrik Markström <fredrik.markstrom@gmail.com> Fixes to make dalvik compile for armv4t:
- The blx instruction is only supported from armv5t and on.
- Select the correct Interp-files.
154b99261b15b0656cc261cb25a9a2daf715f2c4 23-Mar-2009 Scott Tsai <scottt.tw@gmail.com> libcore/.../rg_apache_harmony_xml_ExpatParser: in C++, the return type
of strchr(const char*) is 'const char*' instead of 'char *'.

C++ overloads string functions so that strchr(char*) returns 'char*' and
strchr(const char*) returns 'const char*'. This patch fixes an "invalid
conversion from ‘const char*’ to ‘char*’" error when building with gcc-4.4.
7547dd6145d142f9b09bb545a7c2e1c4dd252c33 20-Mar-2009 Hao Feng <hao.feng@intel.com> add comments for the UTF-8 string creation patch
36e756586bf62a19000c6ec1871c563d8065451b 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
245ae3fc4b341ef2e5e672487197df08ed6dc505 20-Mar-2009 Android Code Review <code-review@android.com> Merge
517e70a3ab6955a01d9a4fe86c629c3b507551be 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import //branches/master/...@140412
761e0581aab3cbd797b2b49c987cc1563e9a47dd 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import //branches/donutburger/...@140359
dd6d515a376d4220cb0c8f2877d40e489b0db232 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
73068b357140969238822accca9b0ab7dcd76101 19-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake' into cupcake_to_master
b5cd0559c6bcae819c54cd239edbd8df1bcfa0a4 17-Mar-2009 Barry Hayes <bhayes@google.com> Move the code in scanObject which sets the scanGeneration [and other fields] of
a chunk to before the early return in the cases where clazz is either NULL or
unlinkedJavaLangClass.

This way the "wasn't scanned last time" check in _markObjectNonNullCommon will
see the scanGeneration and markGeneration as equal, and won't dvmAbort.
25214c4e2a3f0799624366aa405bbcdc6d62abd3 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
9b60052bfb5fa96634d73a869bedf96a15ba3a96 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
50548f124476b67b9da67f66fc08af6a73f53ab6 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
229a3f00f55cccaa97ffb34ff581cbde17a523e4 09-Mar-2009 Android Code Review <code-review@android.com> Merge
2217b4725bae13061cc98c2267a1e35e1818b0ec 28-Feb-2009 t.mehrvarz <othy74@gmail.com> Code to reuse PlatformAddress objects. Minimizing garbage creation on the framework level and reducing the number of runtime GC-hiccups for OpenGL apps and animations.
2nd version: complete rewrite using 8 bit hash, up to 5 probes, cycle through probes cache replacement. (Thank you MichaelDt for your help.)
- 1st amend: applied requested modifications
- 2nd amend: comment openers, curly bracket
7f5830e8fb36e0eaf8694bdb92b8f05b7fd0fa3a 06-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136654
56bd95ad6161a0f8d145055842ec1726e12f0013 04-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Use static const variable for speed. Clarify a comment.

Fixes http://code.google.com/p/android/issues/detail?id=2088
f989b2bc5fbbea8e18a5bc75752bb482efe6b6b8 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
0a0046d5c4b93bdcc3bc57e81ee6c816a1ca482d 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
f9935abc8b22d5b93cdcebf21d92dd295c2a9516 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
ec6f31b13ddb64b61d4786ecb6a0f984ff142626 03-Mar-2009 Android Code Review <code-review@android.com> Merge
f24e9b1cc55f484454a93db8268348d30f97ca24 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
4e191373c4b9c2406628583b59b0d85952e1364c 02-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Remove unused variable

Fixes http://code.google.com/p/android/issues/detail?id=2089
29c7b7980980355f81408358ec465e3232c04ad0 02-Mar-2009 Android Code Review <code-review@android.com> Merge
e9c018a19f030be47b13a50c2d562fbdb6952819 21-Feb-2009 Vadim Lebedev <vadim@mbdsys.com> Fix the obvois wrong test in methodIsPublic function.
5f99dfeabce6e9e08a4fe331da1ea4091f5eed5e 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
879f2b620c374ed174c9d65991d35dd402f3d062 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
1ae87f5cd978ed37abbedc5df62ccca64f491c78 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
c177dbf84357cdc48d4101383fa508010d7b79c4 11-Feb-2009 Johnnie Birch <johnnie.l.birch.jr@intel.com> This patch rewrites common_invokeOld for the x86 fast interpreter. The implementation is similar to what is done for the armv5 code.
Testing shows the patch provides a performance boost to benchmarks such as Caffeine Mark. When testing the simulator build on an Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz, the string score for Caffeine Mark improved by 6%, the Method score improved by 12% and the overall score improved by 3%.

This patch is one of our incremental efforts to merge some Intel's x86 fast interpreter features in http://review.source.android.com/Gerrit#change,6041 to the mterp/x86 directory.
c4daf050154c43836a127072e0ff062a61697dd8 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
8eeeba0f1aed0f1b5e40058abb22e1869387536c 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
43918ce8be52f3c9d82370551f012615652b6bbe 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
1c3ec0cab81897f109d17f7ce5c1facebf242a5a 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
817b69c29eac44f26e6e390a2c57fa5325e522c4 16-Jan-2009 android-build SharedAccount <android-build@undroid16.corp.google.com> Merge branch 'cupcake'
8af34f3bcf40f6ee3b4886a73c36cbadb1767e77 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
d55645bfc8ccf8419dac6e5bd290f3de45560aae 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
cb1b8d869bfb7cdb7ea85d0791f0ed945f25ded2 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
98edb35fbb4fb735b38155760a70a9f230ffcbe2 19-Dec-2008 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake'
a8e9de7023ae1a4531d5db7f064cd85b3a52fc0f 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
b2a73dc8a93c1ab13ff17a3ba07a3cac2f614407 16-Nov-2008 Jay Freeman (saurik) <saurik@saurik.com> A fairly obvious ifdef'd syntax error: missing closing brace.
fcfe48e7cf461bf4a6314802c0f31f292d87ab95 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution