Author: hindessm Date: Tue Jun 1 19:03:06 2010 New Revision: 950206 URL: http://svn.apache.org/viewvc?rev=950206&view=rev Log: Merge changes from trunk@950187 Removed: harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/BaseByteBuffer.java harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/MappedByteBufferAdapter.java Modified: harmony/enhanced/java/branches/java6/ (props changed) harmony/enhanced/java/branches/java6/classlib/ (props changed) harmony/enhanced/java/branches/java6/classlib/depends/build/defines.mak harmony/enhanced/java/branches/java6/classlib/depends/build/defines.mk harmony/enhanced/java/branches/java6/classlib/depends/build/platform/aix.ppc32.mk harmony/enhanced/java/branches/java6/classlib/depends/build/platform/aix.ppc64.mk harmony/enhanced/java/branches/java6/classlib/depends/build/platform/freebsd.x86.mk harmony/enhanced/java/branches/java6/classlib/depends/build/platform/freebsd.x86_64.mk harmony/enhanced/java/branches/java6/classlib/depends/build/platform/macosx.x86.mk harmony/enhanced/java/branches/java6/classlib/depends/build/platform/macosx.x86_64.mk harmony/enhanced/java/branches/java6/classlib/depends/libs/ (props changed) harmony/enhanced/java/branches/java6/classlib/make/properties.xml harmony/enhanced/java/branches/java6/classlib/modules/archive/src/main/native/archive/unix/makefile harmony/enhanced/java/branches/java6/classlib/modules/awt/src/main/native/linuxfont/unix/makefile harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/java/java/lang/reflect/Proxy.java harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/native/luni/unix/makefile harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/native/luni/windows/OSFileSystemWin32.c harmony/enhanced/java/branches/java6/classlib/modules/misc/build.xml harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/DirectByteBuffer.java harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/HeapByteBuffer.java harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/MappedByteBuffer.java harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/ReadOnlyDirectByteBuffer.java harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/ReadWriteDirectByteBuffer.java harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/MappedByteBufferFactory.java harmony/enhanced/java/branches/java6/classlib/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/MappedByteBufferTest.java harmony/enhanced/java/branches/java6/classlib/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SocketChannelTest.java harmony/enhanced/java/branches/java6/classlib/modules/portlib/build.xml harmony/enhanced/java/branches/java6/classlib/modules/text/make/exclude.common harmony/enhanced/java/branches/java6/classlib/modules/text/make/exclude.linux.x86_64.drl harmony/enhanced/java/branches/java6/common_resources/ (props changed) harmony/enhanced/java/branches/java6/common_resources/make/properties.xml harmony/enhanced/java/branches/java6/drlvm/ (props changed) harmony/enhanced/java/branches/java6/jdktools/ (props changed) harmony/enhanced/java/branches/java6/jdktools/modules/jdktools/build.xml harmony/enhanced/java/branches/java6/jdktools/modules/jpda/build.xml harmony/enhanced/java/branches/java6/jdktools/modules/jretools/build.xml Propchange: harmony/enhanced/java/branches/java6/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jun 1 19:03:06 2010 @@ -1,3 +1,3 @@ /harmony/enhanced/java/branches/mrh:935751-941490 -/harmony/enhanced/java/trunk:929253-948965 +/harmony/enhanced/java/trunk:929253-950187 /harmony/enhanced/trunk:810871-929252 Propchange: harmony/enhanced/java/branches/java6/classlib/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jun 1 19:03:06 2010 @@ -1,7 +1,7 @@ /harmony/enhanced/classlib/trunk:713674-735919,765923-926091,926318-926838 /harmony/enhanced/classlib/trunk/working_classlib:884014-884286 /harmony/enhanced/java/branches/mrh/classlib:935751-941490 -/harmony/enhanced/java/trunk/classlib:929253-948965 +/harmony/enhanced/java/trunk/classlib:929253-950187 /harmony/enhanced/trunk/classlib:810871-929252 /harmony/enhanced/trunk/working_classlib:476396-920147 /incubator/harmony/enhanced/trunk/working_classlib:423974-476394 Modified: harmony/enhanced/java/branches/java6/classlib/depends/build/defines.mak URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/depends/build/defines.mak?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/depends/build/defines.mak (original) +++ harmony/enhanced/java/branches/java6/classlib/depends/build/defines.mak Tue Jun 1 19:03:06 2010 @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +!include <$(HY_HDK)/build/make/properties.mak> + !ifndef APPVER APPVER=4.0 #Default Windows version !endif Modified: harmony/enhanced/java/branches/java6/classlib/depends/build/defines.mk URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/depends/build/defines.mk?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/depends/build/defines.mk (original) +++ harmony/enhanced/java/branches/java6/classlib/depends/build/defines.mk Tue Jun 1 19:03:06 2010 @@ -17,6 +17,8 @@ # Configuration Makefile # +include $(HY_HDK)/build/make/properties.mk + CXX = $(CC) CPP = $(CC) -E AS = as @@ -27,7 +29,7 @@ DLL_LD = $(CC) DLL_LDFLAGS = -shared -Wl,-soname=$(@F) -Wl,--version-script,$(EXPFILE) CXX_DLL_LD = $(CXX) STDCLIBS = -lstdc++ -OSLIBS = -lc -lm +OSLIBS = -lc XLIBS = -L/usr/X11R6/lib -lX11 -lXft -lXext -lXtst MDLLIBPREFIX = -Xlinker --start-group MDLLIBSUFFIX = -Xlinker --end-group @@ -81,11 +83,3 @@ endif ifeq ($(HY_ZIP_API),true) DEFINES += -DHY_ZIP_API endif - -ifeq ($(HY_LOCAL_ZLIB),true) -DEFINES += -DHY_LOCAL_ZLIB -OSLIBS += -lz -MDLLIBZLIB = -else -MDLLIBZLIB += $(DLLPATH)libhyzlib$(HY_LINKLIB_SUFFIX) -endif Modified: harmony/enhanced/java/branches/java6/classlib/depends/build/platform/aix.ppc32.mk URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/depends/build/platform/aix.ppc32.mk?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/depends/build/platform/aix.ppc32.mk (original) +++ harmony/enhanced/java/branches/java6/classlib/depends/build/platform/aix.ppc32.mk Tue Jun 1 19:03:06 2010 @@ -18,7 +18,7 @@ DEFINES += -DAIX -DAIX_PPC32 -DHYPPC32 - PLATFORM += -qcpluscmt -q32 -q mbcs -qlanglvl=extended -qarch=ppc -qinfo=pro \ -qalias=noansi -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE \ -D_LARGE_FILES -qsuppress=1500-010 -OSLIBS = -lc_r -lC_r -lm -lpthread -liconv +OSLIBS = -lc_r -lC_r -lpthread -liconv XLIBS = -L/opt/freeware/lib -lX11 -lXft -lfreetype -lfontconfig -lXext -lXtst STDCLIBS = WARNFLAGS = Modified: harmony/enhanced/java/branches/java6/classlib/depends/build/platform/aix.ppc64.mk URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/depends/build/platform/aix.ppc64.mk?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/depends/build/platform/aix.ppc64.mk (original) +++ harmony/enhanced/java/branches/java6/classlib/depends/build/platform/aix.ppc64.mk Tue Jun 1 19:03:06 2010 @@ -18,7 +18,7 @@ DEFINES += -DAIX -DAIX_PPC64 -DHYPPC64 - PLATFORM += -qcpluscmt -q64 -DPPC64 -q mbcs -qlanglvl=extended -qarch=ppc \ -qinfo=pro -qalias=noansi -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE \ -D_LARGE_FILES -qsuppress=1500-010 -OSLIBS = -lc_r -lC_r -lm -lpthread -liconv +OSLIBS = -lc_r -lC_r -lpthread -liconv XLIBS = -L/opt/freeware/lib -lX11 -lXft -lfreetype -lfontconfig -lXext -lXtst STDCLIBS = WARNFLAGS = Modified: harmony/enhanced/java/branches/java6/classlib/depends/build/platform/freebsd.x86.mk URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/depends/build/platform/freebsd.x86.mk?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/depends/build/platform/freebsd.x86.mk (original) +++ harmony/enhanced/java/branches/java6/classlib/depends/build/platform/freebsd.x86.mk Tue Jun 1 19:03:06 2010 @@ -16,6 +16,6 @@ DEFINES += -DFREEBSD -DFREEBSD_X86 -DHYX86 -DNEEDS_SYS_TYPES \ -DIPv6_FUNCTION_SUPPORT PLATFORM += -march=pentium3 -OSLIBS = -L/usr/local/lib -lpthread -lm +OSLIBS = -L/usr/local/lib -lpthread INCLUDES += -I/usr/local/include XLIBS = -lX11 -lXft -lXext -lXtst Modified: harmony/enhanced/java/branches/java6/classlib/depends/build/platform/freebsd.x86_64.mk URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/depends/build/platform/freebsd.x86_64.mk?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/depends/build/platform/freebsd.x86_64.mk (original) +++ harmony/enhanced/java/branches/java6/classlib/depends/build/platform/freebsd.x86_64.mk Tue Jun 1 19:03:06 2010 @@ -15,6 +15,6 @@ DEFINES += -DFREEBSD -DFREEBSD_X86_64 -DHYX86_64 -DNEEDS_SYS_TYPES \ -DIPv6_FUNCTION_SUPPORT -OSLIBS = -L/usr/local/lib -lpthread -lm +OSLIBS = -L/usr/local/lib -lpthread INCLUDES += -I/usr/local/include XLIBS = -lX11 -lXft -lXext -lXtst Modified: harmony/enhanced/java/branches/java6/classlib/depends/build/platform/macosx.x86.mk URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/depends/build/platform/macosx.x86.mk?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/depends/build/platform/macosx.x86.mk (original) +++ harmony/enhanced/java/branches/java6/classlib/depends/build/platform/macosx.x86.mk Tue Jun 1 19:03:06 2010 @@ -22,7 +22,7 @@ DEFINES += -DMACOSX -DMACOSX_X86 -DHYX86 INCLUDES += -I/opt/local/include PLATFORM = -fPIC -fno-common -arch i386 -mmacosx-version-min=10.5 ASFLAGS += -arch i386 -OSLIBS = -L/opt/local/lib -lc -lm -ldl -liconv +OSLIBS = -L/opt/local/lib -lc -ldl -liconv XLIBS = -L/usr/X11R6/lib -lX11 -lXft -lXext -lXtst -lXrender -lexpat \ -lfreetype -lfontconfig MDLLIBPREFIX = Modified: harmony/enhanced/java/branches/java6/classlib/depends/build/platform/macosx.x86_64.mk URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/depends/build/platform/macosx.x86_64.mk?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/depends/build/platform/macosx.x86_64.mk (original) +++ harmony/enhanced/java/branches/java6/classlib/depends/build/platform/macosx.x86_64.mk Tue Jun 1 19:03:06 2010 @@ -20,7 +20,7 @@ INCLUDES += -I/opt/local/include PLATFORM = -fPIC -fno-common -arch x86_64 -mmacosx-version-min=10.5 ASFLAGS += -arch x86_64 # WARNFLAGS += -Wconversion -Wformat -Wshorten-64-to-32 -OSLIBS = -L/opt/local/lib -lc -lm -ldl -liconv +OSLIBS = -L/opt/local/lib -lc -ldl -liconv XLIBS = -L/usr/X11R6/lib -lX11 -lXft -lXext -lXtst -lXrender -lexpat \ -lfreetype -lfontconfig MDLLIBPREFIX = Propchange: harmony/enhanced/java/branches/java6/classlib/depends/libs/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jun 1 19:03:06 2010 @@ -1,3 +1,3 @@ /harmony/enhanced/classlib/trunk/depends/libs:544451-926091 -/harmony/enhanced/java/trunk/classlib/depends/libs:929253-948965 +/harmony/enhanced/java/trunk/classlib/depends/libs:929253-950187 /harmony/enhanced/trunk/classlib/depends/libs:810871-929252 Modified: harmony/enhanced/java/branches/java6/classlib/make/properties.xml URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/make/properties.xml?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/make/properties.xml (original) +++ harmony/enhanced/java/branches/java6/classlib/make/properties.xml Tue Jun 1 19:03:06 2010 @@ -262,6 +262,11 @@ + + + + + @@ -316,23 +321,22 @@ - - - + + + + + + - - - + - - - + @@ -587,20 +591,23 @@ properties in preference to these: Making "@{target}" in @{dir} + +HY_ZIP_API=${hy.zip.api} +HY_PORTLIB_STUBS=${hy.portlib.stubs} +HY_CFG=${hy.cfg} +HY_ARCH=${hy.arch} +HY_OS=${hy.os} +HY_PLATFORM=${hy.platform} +HY_NO_THR=${hy.no.thr} +HY_THR_NO_DEPLOY=${hy.thr.no.deploy} +HY_LOCAL_ZLIB=${hy.local.zlib} +HY_SHLIB_SUFFIX=${shlib.suffix} +HY_LINKLIB_SUFFIX=${linklib.suffix} + - - - - - - - - - - Modified: harmony/enhanced/java/branches/java6/classlib/modules/archive/src/main/native/archive/unix/makefile URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/archive/src/main/native/archive/unix/makefile?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/archive/src/main/native/archive/unix/makefile (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/archive/src/main/native/archive/unix/makefile Tue Jun 1 19:03:06 2010 @@ -29,6 +29,13 @@ ifneq ($(HY_ZIP_API),true) MDLLIBFILES += $(LIBPATH)libhyzip.a endif +ifeq ($(HY_LOCAL_ZLIB),true) +DEFINES += -DHY_LOCAL_ZLIB +OSLIBS += -lz +else +MDLLIBZLIB += $(DLLPATH)libhyzlib$(HY_LINKLIB_SUFFIX) +endif + MDLLIBFILES += \ $(MDLLIBZLIB) $(LIBPATH)libhypool.a \ $(LIBPATH)libvmi$(HY_LINKLIB_SUFFIX) Modified: harmony/enhanced/java/branches/java6/classlib/modules/awt/src/main/native/linuxfont/unix/makefile URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/awt/src/main/native/linuxfont/unix/makefile?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/awt/src/main/native/linuxfont/unix/makefile (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/awt/src/main/native/linuxfont/unix/makefile Tue Jun 1 19:03:06 2010 @@ -34,7 +34,7 @@ MDLLIBFILES += $(LIBPATH)libhypool.a \ $(LIBPATH)libvmi$(HY_LINKLIB_SUFFIX) \ $(DLLPATH)libFL$(HY_LINKLIB_SUFFIX) -OSLIBS += $(XLIBS) +OSLIBS += -lm $(XLIBS) DLLNAME=$(DLLPATH)liblinuxfont$(HY_SHLIB_SUFFIX) EXPNAME=HYLINUXFONT_0.1 Modified: harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/java/java/lang/reflect/Proxy.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/java/java/lang/reflect/Proxy.java?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/java/java/lang/reflect/Proxy.java (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/java/java/lang/reflect/Proxy.java Tue Jun 1 19:03:06 2010 @@ -77,7 +77,7 @@ public class Proxy implements Serializab * @param loader * the class loader that will define the proxy class * @param interfaces - * an array of {@code Class} objects, each one identifying an + * a list of {@code Class} objects, each one identifying an * interface that will be implemented by the returned proxy * class * @return a proxy class that implements all of the interfaces referred to @@ -89,7 +89,7 @@ public class Proxy implements Serializab * {@code null} */ public static Class getProxyClass(ClassLoader loader, - Class[] interfaces) throws IllegalArgumentException { + Class... interfaces) throws IllegalArgumentException { // check that interfaces are a valid array of visible interfaces if (interfaces == null) { throw new NullPointerException(); Modified: harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/native/luni/unix/makefile URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/native/luni/unix/makefile?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/native/luni/unix/makefile (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/native/luni/unix/makefile Tue Jun 1 19:03:06 2010 @@ -47,6 +47,8 @@ endif MDLLIBFILES += $(LIBPATH)libhypool.a $(LIBPATH)libhyfdlibm.a \ $(LIBPATH)libvmi$(HY_LINKLIB_SUFFIX) +OSLIBS += -lm + DLLNAME = $(DLLPATH)libhyluni$(HY_SHLIB_SUFFIX) EXPNAME = HYLUNI_0.1 Modified: harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/native/luni/windows/OSFileSystemWin32.c URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/native/luni/windows/OSFileSystemWin32.c?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/native/luni/windows/OSFileSystemWin32.c (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/luni/src/main/native/luni/windows/OSFileSystemWin32.c Tue Jun 1 19:03:06 2010 @@ -307,7 +307,7 @@ JNIEXPORT jlong JNICALL Java_org_apache_ BY_HANDLE_FILE_INFORMATION info; HANDLE hfile = (HANDLE)fd; if (GetFileInformationByHandle(hfile, (LPBY_HANDLE_FILE_INFORMATION) &info)) { - return (jlong) ((info.nFileSizeHigh<<0x20) + info.nFileSizeLow); + return (jlong) (((DWORDLONG)info.nFileSizeHigh<<0x20) + info.nFileSizeLow); } else { return (jlong)-1; } Modified: harmony/enhanced/java/branches/java6/classlib/modules/misc/build.xml URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/misc/build.xml?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/misc/build.xml (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/misc/build.xml Tue Jun 1 19:03:06 2010 @@ -55,7 +55,7 @@ - + Modified: harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/DirectByteBuffer.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/DirectByteBuffer.java?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/DirectByteBuffer.java (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/DirectByteBuffer.java Tue Jun 1 19:03:06 2010 @@ -34,10 +34,7 @@ import org.apache.harmony.nio.internal.n *

* */ -abstract class DirectByteBuffer extends BaseByteBuffer implements DirectBuffer { - - // This is the base address of the buffer memory. - protected PlatformAddress address; +abstract class DirectByteBuffer extends MappedByteBuffer implements DirectBuffer { // This is the offset from the base address at which this buffer logically // starts. @@ -59,6 +56,7 @@ abstract class DirectByteBuffer extends super(capacity); this.address = address; this.offset = offset; + address.autoFree(); } /* @@ -275,4 +273,54 @@ abstract class DirectByteBuffer extends public final int getByteCapacity() { return capacity; } + + @Override + public final CharBuffer asCharBuffer() { + return CharToByteBufferAdapter.wrap(this); + } + + @Override + public final DoubleBuffer asDoubleBuffer() { + return DoubleToByteBufferAdapter.wrap(this); + } + + @Override + public final FloatBuffer asFloatBuffer() { + return FloatToByteBufferAdapter.wrap(this); + } + + @Override + public final IntBuffer asIntBuffer() { + return IntToByteBufferAdapter.wrap(this); + } + + @Override + public final LongBuffer asLongBuffer() { + return LongToByteBufferAdapter.wrap(this); + } + + @Override + public final ShortBuffer asShortBuffer() { + return ShortToByteBufferAdapter.wrap(this); + } + + @Override + public final char getChar() { + return (char) getShort(); + } + + @Override + public final char getChar(int index) { + return (char) getShort(index); + } + + @Override + public final ByteBuffer putChar(char value) { + return putShort((short) value); + } + + @Override + public final ByteBuffer putChar(int index, char value) { + return putShort(index, (short) value); + } } Modified: harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/HeapByteBuffer.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/HeapByteBuffer.java?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/HeapByteBuffer.java (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/HeapByteBuffer.java Tue Jun 1 19:03:06 2010 @@ -31,7 +31,7 @@ import org.apache.harmony.luni.platform. *

* */ -abstract class HeapByteBuffer extends BaseByteBuffer { +abstract class HeapByteBuffer extends ByteBuffer { protected final byte[] backingArray; @@ -261,4 +261,54 @@ abstract class HeapByteBuffer extends Ba backingArray[baseOffset] = (byte) (value & 0xFF); } } + + @Override + public final CharBuffer asCharBuffer() { + return CharToByteBufferAdapter.wrap(this); + } + + @Override + public final DoubleBuffer asDoubleBuffer() { + return DoubleToByteBufferAdapter.wrap(this); + } + + @Override + public final FloatBuffer asFloatBuffer() { + return FloatToByteBufferAdapter.wrap(this); + } + + @Override + public final IntBuffer asIntBuffer() { + return IntToByteBufferAdapter.wrap(this); + } + + @Override + public final LongBuffer asLongBuffer() { + return LongToByteBufferAdapter.wrap(this); + } + + @Override + public final ShortBuffer asShortBuffer() { + return ShortToByteBufferAdapter.wrap(this); + } + + @Override + public final char getChar() { + return (char) getShort(); + } + + @Override + public final char getChar(int index) { + return (char) getShort(index); + } + + @Override + public final ByteBuffer putChar(char value) { + return putShort((short) value); + } + + @Override + public final ByteBuffer putChar(int index, char value) { + return putShort(index, (short) value); + } } Modified: harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/MappedByteBuffer.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/MappedByteBuffer.java?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/MappedByteBuffer.java (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/MappedByteBuffer.java Tue Jun 1 19:03:06 2010 @@ -37,34 +37,13 @@ import org.apache.harmony.nio.internal.D */ public abstract class MappedByteBuffer extends ByteBuffer { - final DirectByteBuffer wrapped; + // This is the base address of the direct byte buffer memory. + protected PlatformAddress address; - private int mapMode; + protected int mapMode; - MappedByteBuffer(ByteBuffer directBuffer) { - super(directBuffer.capacity); - if (!directBuffer.isDirect()) { - throw new IllegalArgumentException(); - } - this.wrapped = (DirectByteBuffer) directBuffer; - - } - - MappedByteBuffer(PlatformAddress addr, int capa, int offset, int mode) { - super(capa); - mapMode = mode; - switch (mapMode) { - case IMemorySystem.MMAP_READ_ONLY: - wrapped = new ReadOnlyDirectByteBuffer(addr, capa, offset); - break; - case IMemorySystem.MMAP_READ_WRITE: - case IMemorySystem.MMAP_WRITE_COPY: - wrapped = new ReadWriteDirectByteBuffer(addr, capa, offset); - break; - default: - throw new IllegalArgumentException(); - } - addr.autoFree(); + MappedByteBuffer(int capacity) { + super(capacity); } /** @@ -76,8 +55,7 @@ public abstract class MappedByteBuffer e * otherwise. */ public final boolean isLoaded() { - return ((MappedPlatformAddress) ((DirectBuffer) wrapped) - .getBaseAddress()).mmapIsLoaded(); + return ((MappedPlatformAddress)address).mmapIsLoaded(); } /** @@ -87,8 +65,7 @@ public abstract class MappedByteBuffer e * @return this buffer. */ public final MappedByteBuffer load() { - ((MappedPlatformAddress) ((DirectBuffer) wrapped).getBaseAddress()) - .mmapLoad(); + ((MappedPlatformAddress)address).mmapLoad(); return this; } @@ -102,8 +79,7 @@ public abstract class MappedByteBuffer e */ public final MappedByteBuffer force() { if (mapMode == IMemorySystem.MMAP_READ_WRITE) { - ((MappedPlatformAddress) ((DirectBuffer) wrapped).getBaseAddress()) - .mmapFlush(); + ((MappedPlatformAddress)address).mmapFlush(); } return this; } Modified: harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/ReadOnlyDirectByteBuffer.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/ReadOnlyDirectByteBuffer.java?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/ReadOnlyDirectByteBuffer.java (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/ReadOnlyDirectByteBuffer.java Tue Jun 1 19:03:06 2010 @@ -48,6 +48,15 @@ final class ReadOnlyDirectByteBuffer ext super(address, capacity, offset); } + /* + * This constructor is specifically for MappedByteBuffer construction + */ + protected ReadOnlyDirectByteBuffer(PlatformAddress address, int capacity, + int offset, int mapMode) { + super(address, capacity, offset); + this.mapMode = mapMode; + } + @Override public ByteBuffer asReadOnlyBuffer() { return copy(this, mark); Modified: harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/ReadWriteDirectByteBuffer.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/ReadWriteDirectByteBuffer.java?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/ReadWriteDirectByteBuffer.java (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/java/nio/ReadWriteDirectByteBuffer.java Tue Jun 1 19:03:06 2010 @@ -52,6 +52,15 @@ final class ReadWriteDirectByteBuffer ex super(address, capacity, offset); } + /* + * This constructor is specifically for MappedByteBuffer construction + */ + ReadWriteDirectByteBuffer(PlatformAddress address, int capacity, + int offset, int mapMode) { + super(address, capacity, offset); + this.mapMode = mapMode; + } + @Override public ByteBuffer asReadOnlyBuffer() { return ReadOnlyDirectByteBuffer.copy(this, mark); Modified: harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/MappedByteBufferFactory.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/MappedByteBufferFactory.java?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/MappedByteBufferFactory.java (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/MappedByteBufferFactory.java Tue Jun 1 19:03:06 2010 @@ -24,20 +24,45 @@ import java.security.PrivilegedAction; import org.apache.harmony.luni.platform.PlatformAddress; +import org.apache.harmony.luni.platform.IMemorySystem; +import org.apache.harmony.luni.platform.MappedPlatformAddress; +import org.apache.harmony.luni.platform.PlatformAddress; +import org.apache.harmony.nio.internal.DirectBuffer; + class MappedByteBufferFactory { - static final Constructor constructor; + static final Constructor readOnlyConstructor; + static final Constructor readWriteConstructor; static { - constructor = AccessController + readOnlyConstructor = AccessController + .doPrivileged(new PrivilegedAction>() { + public Constructor run() { + try { + Class wrapperClazz = ClassLoader + .getSystemClassLoader().loadClass( + "java.nio.ReadOnlyDirectByteBuffer"); //$NON-NLS-1$ + Constructor result = wrapperClazz + .getDeclaredConstructor(new Class[] { + PlatformAddress.class, int.class, + int.class, int.class }); + result.setAccessible(true); + return result; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + }); + + readWriteConstructor = AccessController .doPrivileged(new PrivilegedAction>() { public Constructor run() { try { Class wrapperClazz = ClassLoader .getSystemClassLoader().loadClass( - "java.nio.MappedByteBufferAdapter"); //$NON-NLS-1$ + "java.nio.ReadWriteDirectByteBuffer"); //$NON-NLS-1$ Constructor result = wrapperClazz - .getConstructor(new Class[] { + .getDeclaredConstructor(new Class[] { PlatformAddress.class, int.class, int.class, int.class }); result.setAccessible(true); @@ -55,8 +80,18 @@ class MappedByteBufferFactory { * Spec points out explicitly that the size of map should be no greater * than Integer.MAX_VALUE, so long to int cast is safe here. */ - return (MappedByteBuffer) constructor.newInstance(new Object[] { addr, + switch (mapmode) { + case IMemorySystem.MMAP_READ_ONLY: + return (MappedByteBuffer) readOnlyConstructor.newInstance(new Object[] { addr, + Integer.valueOf((int)size), Integer.valueOf(offset), + Integer.valueOf(mapmode) }); + case IMemorySystem.MMAP_READ_WRITE: + case IMemorySystem.MMAP_WRITE_COPY: + return (MappedByteBuffer) readWriteConstructor.newInstance(new Object[] { addr, Integer.valueOf((int)size), Integer.valueOf(offset), Integer.valueOf(mapmode) }); + default: + throw new IllegalArgumentException(); + } } } Modified: harmony/enhanced/java/branches/java6/classlib/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/MappedByteBufferTest.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/MappedByteBufferTest.java?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/MappedByteBufferTest.java (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/MappedByteBufferTest.java Tue Jun 1 19:03:06 2010 @@ -208,4 +208,24 @@ public class MappedByteBufferTest extend emptyFile = File.createTempFile("harmony", "test"); //$NON-NLS-1$//$NON-NLS-2$ emptyFile.deleteOnExit(); } + + public void test_position() throws IOException { + File tmp = File.createTempFile("hmy", "tmp"); + tmp.deleteOnExit(); + RandomAccessFile f = new RandomAccessFile(tmp, "rw"); + FileChannel ch = f.getChannel(); + MappedByteBuffer mbb = ch.map(MapMode.READ_WRITE, 0L, 100L); + ch.close(); + + mbb.putInt(1, 1); + mbb.position(50); + mbb.putInt(50); + + mbb.flip(); + mbb.get(); + assertEquals(1, mbb.getInt()); + + mbb.position(50); + assertEquals(50, mbb.getInt()); + } } Modified: harmony/enhanced/java/branches/java6/classlib/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SocketChannelTest.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SocketChannelTest.java?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SocketChannelTest.java (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SocketChannelTest.java Tue Jun 1 19:03:06 2010 @@ -491,8 +491,6 @@ public class SocketChannelTest extends T assertEquals(s.getPort(), address.getPort()); assertNotNull(s.getLocalSocketAddress()); assertTrue(s.getReceiveBufferSize() >= 8192); - // equal , not same - assertNotSame(s.getRemoteSocketAddress(), (SocketAddress) address); assertEquals(s.getRemoteSocketAddress(), (SocketAddress) address); // assertFalse(s.getReuseAddress()); assertTrue(s.getSendBufferSize() >= 8192); Modified: harmony/enhanced/java/branches/java6/classlib/modules/portlib/build.xml URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/portlib/build.xml?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/portlib/build.xml (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/portlib/build.xml Tue Jun 1 19:03:06 2010 @@ -158,8 +158,8 @@
- - + Modified: harmony/enhanced/java/branches/java6/classlib/modules/text/make/exclude.common URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/text/make/exclude.common?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/text/make/exclude.common (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/text/make/exclude.common Tue Jun 1 19:03:06 2010 @@ -1,5 +1,11 @@ +#HARMONY-6524 +org/apache/harmony/text/tests/java/text/RuleBasedCollatorTest.java + +#HARMONY-6525 org/apache/harmony/text/tests/java/text/DecimalFormatTest.java -org/apache/harmony/text/tests/java/text/MessageFormatTest.java + +#HARMONY-6526 org/apache/harmony/text/tests/java/text/SimpleDateFormatTest.java -org/apache/harmony/text/tests/java/text/RuleBasedCollatorTest.java + +#HARMONY-6527 org/apache/harmony/text/tests/java/text/CollationElementIteratorTest.java Modified: harmony/enhanced/java/branches/java6/classlib/modules/text/make/exclude.linux.x86_64.drl URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/text/make/exclude.linux.x86_64.drl?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/text/make/exclude.linux.x86_64.drl (original) +++ harmony/enhanced/java/branches/java6/classlib/modules/text/make/exclude.linux.x86_64.drl Tue Jun 1 19:03:06 2010 @@ -1,2 +0,0 @@ -org/apache/harmony/text/tests/java/text/DateFormatSymbolsTest.java -org/apache/harmony/text/tests/java/text/RuleBasedCollatorTest.java Propchange: harmony/enhanced/java/branches/java6/common_resources/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jun 1 19:03:06 2010 @@ -1,4 +1,4 @@ /harmony/enhanced/java/branches/mrh/common_resources:935751-941490 -/harmony/enhanced/java/trunk/common_resources:929253-948965 +/harmony/enhanced/java/trunk/common_resources:929253-950187 /harmony/enhanced/trunk/common_resources:476396-929252 /incubator/harmony/enhanced/trunk/common_resources:423974-476394 Modified: harmony/enhanced/java/branches/java6/common_resources/make/properties.xml URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/common_resources/make/properties.xml?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/common_resources/make/properties.xml (original) +++ harmony/enhanced/java/branches/java6/common_resources/make/properties.xml Tue Jun 1 19:03:06 2010 @@ -276,18 +276,7 @@ properties in preference to these: - - - - - - - - - - - Propchange: harmony/enhanced/java/branches/java6/drlvm/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jun 1 19:03:06 2010 @@ -1,5 +1,5 @@ /harmony/enhanced/java/branches/mrh/drlvm:935751-941490 -/harmony/enhanced/java/trunk/drlvm:929253-948965 +/harmony/enhanced/java/trunk/drlvm:929253-950187 /harmony/enhanced/trunk/drlvm:810871-929252 /harmony/enhanced/trunk/working_vm:476396-920147 /incubator/harmony/enhanced/trunk/working_vm:423974-476394 Propchange: harmony/enhanced/java/branches/java6/jdktools/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jun 1 19:03:06 2010 @@ -1,4 +1,4 @@ -/harmony/enhanced/java/trunk/jdktools:929253-948965 +/harmony/enhanced/java/trunk/jdktools:929253-950187 /harmony/enhanced/jdktools/trunk:630107-925933 /harmony/enhanced/trunk/jdktools:810871-929252 /harmony/enhanced/trunk/working_jdktools:476396-920147 Modified: harmony/enhanced/java/branches/java6/jdktools/modules/jdktools/build.xml URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/jdktools/modules/jdktools/build.xml?rev=950206&r1=950205&r2=950206&view=diff ============================================================================== --- harmony/enhanced/java/branches/java6/jdktools/modules/jdktools/build.xml (original) +++ harmony/enhanced/java/branches/java6/jdktools/modules/jdktools/build.xml Tue Jun 1 19:03:06 2010 @@ -41,6 +41,9 @@ + + @@ -51,6 +54,8 @@ + + + + + + + + + + + + + + + +