| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| | |
Merge commit 'bd79e4498465381117f2cbc6399a256061f1d144'
* commit 'bd79e4498465381117f2cbc6399a256061f1d144':
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.
|
|\ \
| | |
| | |
| | |
| | | |
* changes:
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
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
Merge commit '8e696dc0271299433cb3297e7aafc7bd0ee1b2b7'
* commit '8e696dc0271299433cb3297e7aafc7bd0ee1b2b7':
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.)
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit 'ac02d185cf7f5b494c621ca67a4d786348deac3a'
* commit 'ac02d185cf7f5b494c621ca67a4d786348deac3a':
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
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit '61df6ac69e6614cb9986bf4ce3626dda914e0c6a'
* commit '61df6ac69e6614cb9986bf4ce3626dda914e0c6a':
AI 148431: Marking as broken a couple of tests
|
| |
| |
| |
| |
| |
| |
| | |
that tend to fail in the CTS host.
BUG=1285921
Automated import of CL 148431
|
| |
| |
| |
| |
| |
| | |
BUG=1285921
Automated import of CL 145288
|
| |
| |
| |
| |
| |
| |
| |
| | |
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build
Automated import of CL 145649
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|