You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ay...@apache.org on 2007/02/21 15:53:19 UTC
svn commit: r510043 - in /harmony/enhanced/classlib/trunk: depends/build/
depends/libs/windows.x86_64/ depends/oss/ make/
modules/awt/src/main/native/win32wrapper/windows/
modules/awt/src/main/native/winfont/windows/ modules/instrument/
modules/luni/sr...
Author: ayza
Date: Wed Feb 21 06:53:17 2007
New Revision: 510043
URL: http://svn.apache.org/viewvc?view=rev&rev=510043
Log:
Committing changes that are required for building classlib on 64-bit version of Windows. For more details please see HARMONY-3188.
Added:
harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/
harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/ICUInterface34.dll (with props)
harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/README.txt (with props)
harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icudt34.dll (with props)
harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icuin34.dll (with props)
harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icuuc34.dll (with props)
harmony/enhanced/classlib/trunk/depends/oss/icu4c-3.4-harmony-windows.x86_64.zip (with props)
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/windows.x86/
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/windows.x86/locklbl.asm
- copied unchanged from r510002, harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/locklbl.asm
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/windows.x86_64/
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/windows.x86_64/locklbl.asm (with props)
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrhelp.asm (contents, props changed)
- copied, changed from r510004, harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/thrhelp.asm
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrspinlock.asm (contents, props changed)
- copied, changed from r510004, harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/thrspinlock.asm
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrhelp.c (with props)
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrspinlock.c (with props)
Removed:
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/locklbl.asm
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/thrhelp.asm
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/thrspinlock.asm
Modified:
harmony/enhanced/classlib/trunk/depends/build/defines.mak
harmony/enhanced/classlib/trunk/depends/build/rules.mak
harmony/enhanced/classlib/trunk/make/build-native.xml
harmony/enhanced/classlib/trunk/make/depends.properties
harmony/enhanced/classlib/trunk/make/depends.xml
harmony/enhanced/classlib/trunk/modules/awt/src/main/native/win32wrapper/windows/WinDataTransfer.cpp
harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/winFont.cpp
harmony/enhanced/classlib/trunk/modules/instrument/build.xml
harmony/enhanced/classlib/trunk/modules/luni/src/main/native/fdlibm/windows/makefile
harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/windows/OSMemoryWin32.c
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/makefile
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/include/shared/hyport.h
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/windows/hysignal.c
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/makefile
Modified: harmony/enhanced/classlib/trunk/depends/build/defines.mak
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/depends/build/defines.mak?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/depends/build/defines.mak (original)
+++ harmony/enhanced/classlib/trunk/depends/build/defines.mak Wed Feb 21 06:53:17 2007
@@ -30,8 +30,14 @@
DLLPATH=$(HY_HDK)\jdk\jre\bin\# ditto
SHAREDSUB=..\shared\# ditto
+!IF "$(HY_OS)-$(HY_ARCH)" == "windows-x86_64"
+WARNING_LEVEL=W0
+!ELSE
+WARNING_LEVEL=WX
+!ENDIF
+
HYCOMMONCFLAGS = \
- -WX -GF -Gs -MD -Zm400 \
+ -$(WARNING_LEVEL) -GF -Gs -MD -Zm400 \
-D_DLL -D_MT -D_WINSOCKAPI_ \
/I$(HY_HDK)\include /I$(HY_HDK)\jdk\include /I.
Modified: harmony/enhanced/classlib/trunk/depends/build/rules.mak
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/depends/build/rules.mak?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/depends/build/rules.mak (original)
+++ harmony/enhanced/classlib/trunk/depends/build/rules.mak Wed Feb 21 06:53:17 2007
@@ -13,6 +13,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+!IF "$(HY_OS)-$(HY_ARCH)" == "windows-x86_64"
+ml=ml64
+# don't quite know what to specify as an entry point on win/em64t
+ENTRY_OPTION=
+!ELSE
+ml=ml
+ENTRY_OPTION=-entry:_DllMainCRTStartup@12
+!ENDIF
+
.c.obj:
$(cc) $(cflags) $(HYCFLAGS) -Fo$*.obj $*.c
@@ -20,7 +29,7 @@
$(cc) $(cflags) $(HYCFLAGS) -Fo$*.obj $*.cpp
.asm.obj:
- ml /c /Cp /W3 /nologo /coff /Zm /Zd /Zi /Gd $(VMASMDEBUG) -DWIN32 $<
+ $(ml) /Fo$*.obj /c /Cp /W3 /nologo /coff /Zm /Zd /Zi /Gd $(VMASMDEBUG) -DWIN32 $<
.rc.res:
rc -I..\include $<
@@ -37,7 +46,7 @@
!ifdef DLLNAME
$(DLLNAME): $(LIBNAME)
link $(VMLINK) /debug /opt:icf /opt:ref /INCREMENTAL:NO /NOLOGO \
- -entry:_DllMainCRTStartup@12 -dll /BASE:$(DLLBASE) -machine:$(CPU) \
+ $(ENTRY_OPTION) -dll /BASE:$(DLLBASE) -machine:$(CPU) \
$(COMMENT) \
-subsystem:windows -out:$@ -map:$*.map \
$(BUILDFILES) $(VIRTFILES) $(MDLLIBFILES) $(SYSLIBFILES) \
@@ -57,4 +66,5 @@
$(LIBNAME) $(LIBNAME:.lib=.exp) \
$(DLLNAME) $(DLLNAME:.dll=.pdb) $(DLLNAME:.dll=.map) \
$(EXENAME) $(EXENAME:.exe=.pdb) \
- $(CLEANFILES) >nul 2>&1
+ $(CLEANFILES)
+# $(CLEANFILES) >nul 2>&1
Added: harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/ICUInterface34.dll
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/ICUInterface34.dll?view=auto&rev=510043
==============================================================================
Binary file - no diff available.
Propchange: harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/ICUInterface34.dll
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/README.txt
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/README.txt?view=auto&rev=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/README.txt (added)
+++ harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/README.txt Wed Feb 21 06:53:17 2007
@@ -0,0 +1,9 @@
+64-bit windows builds of ICU libraries.
+
+Note these are available as source under the X license
+from
+
+ http://icu.sourceforge.net/
+
+
+
Propchange: harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/README.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icudt34.dll
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icudt34.dll?view=auto&rev=510043
==============================================================================
Binary file - no diff available.
Propchange: harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icudt34.dll
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icuin34.dll
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icuin34.dll?view=auto&rev=510043
==============================================================================
Binary file - no diff available.
Propchange: harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icuin34.dll
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icuuc34.dll
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icuuc34.dll?view=auto&rev=510043
==============================================================================
Binary file - no diff available.
Propchange: harmony/enhanced/classlib/trunk/depends/libs/windows.x86_64/icuuc34.dll
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: harmony/enhanced/classlib/trunk/depends/oss/icu4c-3.4-harmony-windows.x86_64.zip
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/depends/oss/icu4c-3.4-harmony-windows.x86_64.zip?view=auto&rev=510043
==============================================================================
Binary file - no diff available.
Propchange: harmony/enhanced/classlib/trunk/depends/oss/icu4c-3.4-harmony-windows.x86_64.zip
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: harmony/enhanced/classlib/trunk/make/build-native.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/make/build-native.xml?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/make/build-native.xml (original)
+++ harmony/enhanced/classlib/trunk/make/build-native.xml Wed Feb 21 06:53:17 2007
@@ -27,8 +27,7 @@
<!-- import common properties -->
<import file="${basedir}/make/properties.xml" />
-
- <property file="make/depends.properties" />
+ <import file="${basedir}/make/depends.xml" />
<property name="hy.hdk" location="deploy" />
<property name="hy.jdk" location="${hy.hdk}/jdk" />
@@ -131,9 +130,9 @@
</target>
- <target name="layout.windows" if="is.windows">
+ <target name="layout.windows" if="is.windows" depends="-select-win-deps-x86_64,-select-win-deps-x86">
<!-- workaround until msdll is moved. -->
- <copy file="${msvcr71.dll}" todir="${hy.jdk}/jre/bin" overwrite="yes" />
+ <copy file="${msvcr.dll}" todir="${hy.jdk}/jre/bin" overwrite="yes" />
</target>
<!-- =================================
@@ -154,7 +153,15 @@
<!-- =================================
target: overlay-oss
================================= -->
- <property name="iculib.zip" location="${depends.oss}/icu4c-3.4-harmony.zip" />
+ <condition property="iculib.zip"
+ value="${depends.oss}/icu4c-3.4-harmony-windows.x86_64.zip"
+ else="${depends.oss}/icu4c-3.4-harmony.zip">
+ <and>
+ <isset property="is.windows"/>
+ <isset property="is.x86_64"/>
+ </and>
+ </condition>
+
<target name="overlay-oss">
<ant dir="modules/luni" antfile="build.xml"
target="overlay-oss" />
Modified: harmony/enhanced/classlib/trunk/make/depends.properties
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/make/depends.properties?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/make/depends.properties (original)
+++ harmony/enhanced/classlib/trunk/make/depends.properties Wed Feb 21 06:53:17 2007
@@ -46,11 +46,18 @@
bcprov.md5=6141379cf543ba9b24536d281181c6f3
bcprov.url=http://www.bouncycastle.org/download/bcprov-jdk15-134.jar
-msvcr71.dir=${depends.dir}/libs/windows.x86
-msvcr71.dll=${msvcr71.dir}/msvcr71.dll
-#msvcr71.url=${hyenv.SystemRoot}/system32/msvcr71.dll
-msvcr71.url=file:///${hyenv.SystemRoot}/system32/msvcr71.dll
-msvcr71.md5=86f1895ae8c5e8b17d99ece768a70732
+msvcr.dir.x86=${depends.dir}/libs/windows.x86
+msvcr.dll.x86=${msvcr.dir.x86}/msvcr71.dll
+msvcr.dll.file.x86=msvcr71.dll
+msvcr.url.x86=file:///${hyenv.SystemRoot}/system32/msvcr71.dll
+msvcr.md5.x86=86f1895ae8c5e8b17d99ece768a70732
+
+msvcr.dir.x86_64=${depends.dir}/libs/windows.x86_64
+msvcr.dll.x86_64=${msvcr.dir.x86_64}/msvcr80.dll
+msvcr.dll.file.x86_64=msvcr80.dll
+#msvcr.url.x86_64=file:///${hyenv.SystemRoot}/system32/msvcr80.dll
+msvcr.url.x86_64=file:///C:/Program%20Files%20(x86)/Microsoft%20Visual%20Studio%208/VC/redist/amd64/Microsoft.VC80.CRT/msvcr80.dll
+msvcr.md5.x86_64=465cebd7da2ceaba5e552fc9118a1415
icu4j.dir=${depends.jars}/icu4j_3.4.4
icu4j.jar=${icu4j.dir}/icu4j_3_4_4.jar
@@ -109,10 +116,20 @@
servlet-api.md5=c27c02fb0a00cc3a7d05ea993a9bf56e
servlet-api.url=${mirror.base}/jetty/servlet-api/2.5-6.0.0/servlet-api-2.5-6.0.0.jar
-people.apache.base=http://people.apache.org/~geirm/harmony/
-awtdeps.dir=${depends.dir}/libs/windows.x86
-awtdeps.tar=${awtdeps.dir}/swing_awt_deps_winxp_2006-09-28.tgz
-awtdeps.url=${people.apache.base}swing_awt_deps_winxp_2006-09-28.tgz
-awtdeps.md5=d61a27e4b305d9fcabaaacf34f8f534a
-awtdeps.extract.dir=${depends.dir}/libs/build
-awtdeps.testfile=${awtdeps.extract.dir}/winxp_2006-09-28.txt
+awtdeps.base.x86=http://people.apache.org/~geirm/harmony/
+awtdeps.dir.x86=${depends.dir}/libs/windows.x86
+awtdeps.tar.x86=${awtdeps.dir.x86}/swing_awt_deps_winxp_2006-09-28.tgz
+awtdeps.url.x86=${awtdeps.base.x86}swing_awt_deps_winxp_2006-09-28.tgz
+awtdeps.md5.x86=d61a27e4b305d9fcabaaacf34f8f534a
+awtdeps.extract.dir.x86=${depends.dir}/libs/build
+awtdeps.testfile.x86=${awtdeps.extract.dir.x86}/winxp_2006-09-28.txt
+
+awtdeps.base.x86_64=http://people.apache.org/~ayza/harmony/64bit/
+awtdeps.dir.x86_64=${depends.dir}/libs/windows.x86_64
+awtdeps.tar.x86_64=${awtdeps.dir.x86_64}/swing_awt_deps_win64_2007-02-08.tgz
+awtdeps.url.x86_64=${awtdeps.base.x86_64}swing_awt_deps_win64_2007-02-08.tgz
+awtdeps.md5.x86_64=f2bbb1f4f23100393783fd02a77fcc68
+awtdeps.extract.dir.x86_64=${depends.dir}/libs/build
+awtdeps.testfile.x86_64=${awtdeps.extract.dir.x86_64}/win64_2007-02-08.txt
+
+
Modified: harmony/enhanced/classlib/trunk/make/depends.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/make/depends.xml?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/make/depends.xml (original)
+++ harmony/enhanced/classlib/trunk/make/depends.xml Wed Feb 21 06:53:17 2007
@@ -53,9 +53,42 @@
<target name="-check-win" if="is.windows" depends="-really-check-win" />
- <target name="-really-check-win" if="is.windows">
+ <target name="-select-win-deps-x86" if="is.x86">
+ <property name="people.apache.base" value="${people.apache.base.x86}"/>
+ <property name="awtdeps.dir" value="${awtdeps.dir.x86}"/>
+ <property name="awtdeps.tar" value="${awtdeps.tar.x86}"/>
+ <property name="awtdeps.url" value="${awtdeps.url.x86}"/>
+ <property name="awtdeps.md5" value="${awtdeps.md5.x86}"/>
+ <property name="awtdeps.extract.dir" value="${awtdeps.extract.dir.x86}"/>
+ <property name="awtdeps.testfile" value="${awtdeps.testfile.x86}"/>
+
+ <property name="msvcr.dir" value="${msvcr.dir.x86}"/>
+ <property name="msvcr.dll" value="${msvcr.dll.x86}"/>
+ <property name="msvcr.url" value="${msvcr.url.x86}"/>
+ <property name="msvcr.dll.file" value="${msvcr.dll.file.x86}"/>
+ <property name="msvcr.md5" value="${msvcr.md5.x86}"/>
+ </target>
+
+ <target name="-select-win-deps-x86_64" if="is.x86_64">
+ <property name="people.apache.base" value="${people.apache.base.x86_64}"/>
+ <property name="awtdeps.dir" value="${awtdeps.dir.x86_64}"/>
+ <property name="awtdeps.tar" value="${awtdeps.tar.x86_64}"/>
+ <property name="awtdeps.url" value="${awtdeps.url.x86_64}"/>
+ <property name="awtdeps.md5" value="${awtdeps.md5.x86_64}"/>
+ <property name="awtdeps.extract.dir" value="${awtdeps.extract.dir.x86_64}"/>
+ <property name="awtdeps.testfile" value="${awtdeps.testfile.x86_64}"/>
+
+ <property name="msvcr.dir" value="${msvcr.dir.x86_64}"/>
+ <property name="msvcr.dll" value="${msvcr.dll.x86_64}"/>
+ <property name="msvcr.url" value="${msvcr.url.x86_64}"/>
+ <property name="msvcr.dll.file" value="${msvcr.dll.file.x86_64}"/>
+ <property name="msvcr.md5" value="${msvcr.md5.x86_64}"/>
+ </target>
+
+ <target name="-really-check-win" if="is.windows" depends="-select-win-deps-x86_64,-select-win-deps-x86">
<property environment="hyenv" />
- <check-one-file src="${msvcr71.url}" dest="${msvcr71.dll}" />
+
+ <check-one-file src="${msvcr.url}" dest="${msvcr.dll}" />
<check-one-file src="${awtdeps.url}" dest="${awtdeps.tar}" />
<uptodate property="awtdeps.uptodate"
srcfile="${awtdeps.tar}"
@@ -319,14 +352,14 @@
</target>
- <target name="-download-win" if="is.windows">
+ <target name="-download-win" if="is.windows" depends="-select-win-deps-x86_64,-select-win-deps-x86">
<property environment="hyenv" />
- <mkdir dir="${msvcr71.dir}" />
+ <mkdir dir="${msvcr.dir}" />
- <download-one-file src="${msvcr71.url}" dest="${msvcr71.dll}"
- md5="${msvcr71.md5}" />
+ <download-one-file src="${msvcr.url}" dest="${msvcr.dll}"
+ md5="${msvcr.md5}" />
<mkdir dir="${awtdeps.dir}" />
<download-one-file src="${awtdeps.url}" dest="${awtdeps.tar}"
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/win32wrapper/windows/WinDataTransfer.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/win32wrapper/windows/WinDataTransfer.cpp?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/win32wrapper/windows/WinDataTransfer.cpp (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/win32wrapper/windows/WinDataTransfer.cpp Wed Feb 21 06:53:17 2007
@@ -266,7 +266,7 @@
return NULL;
}
- return env->NewString(info.wszWebCharset, (jsize)wcslen(info.wszWebCharset));
+ return env->NewString((const jchar *)info.wszWebCharset, (jsize)wcslen(info.wszWebCharset));
}
JNIEXPORT jobjectArray JNICALL
@@ -371,14 +371,14 @@
jstring WinDataObject::getStringA(JNIEnv * env, const char * cstr) {
if (cstr == NULL) {
- return env->NewString(L"", 0);
+ return env->NewString((const jchar *)L"", 0);
}
jstring jstr = NULL;
int len = MultiByteToWideChar(CP_ACP, 0, cstr, -1, NULL, 0);
if (len > 0) {
wchar_t * wstr = new wchar_t[len];
if (len == MultiByteToWideChar(CP_ACP, 0, cstr, -1, wstr, len)) {
- jstr = env->NewString(wstr, (jsize)wcslen(wstr));
+ jstr = env->NewString((const jchar *)wstr, (jsize)wcslen(wstr));
}
delete [] wstr;
}
@@ -395,9 +395,9 @@
jstring WinDataObject::getStringW(JNIEnv * env, HGLOBAL hGlobal) {
wchar_t * wstr = (wchar_t *)GlobalLock(hGlobal);
if (wstr == NULL) {
- return env->NewString(L"", 0);
+ return env->NewString((const jchar *)L"", 0);
}
- jstring jstr = env->NewString(wstr, (jsize)wcslen(wstr));
+ jstring jstr = env->NewString((const jchar *)wstr, (jsize)wcslen(wstr));
GlobalUnlock(hGlobal);
return jstr;
}
@@ -456,7 +456,7 @@
wstr = files;
for (jsize i=0; *wstr; i++) {
size_t len = wcslen(wstr);
- jstring jstr = env->NewString(wstr, (jsize)len);
+ jstring jstr = env->NewString((const jchar *)wstr, (jsize)len);
wstr += len + 1;
env->SetObjectArrayElement(result, i, jstr);
}
@@ -862,7 +862,7 @@
FORMATETC format = { 0, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };
jboolean isCopy;
const jchar * name = env->GetStringChars(nativeFormat, &isCopy);
- format.cfFormat = RegisterClipboardFormatW(name);
+ format.cfFormat = RegisterClipboardFormatW((LPCWSTR)name);
env->ReleaseStringChars(nativeFormat, name);
STGMEDIUM stgmed;
@@ -921,8 +921,8 @@
return result;
}
const jchar * formatNameW = env->GetStringChars(nativeFormat, NULL);
- if (wcsstr(formatNameW, FORMAT_SERIALIZED) != NULL) {
- UINT format = RegisterClipboardFormatW(formatNameW);
+ if (wcsstr((const wchar_t *)formatNameW, FORMAT_SERIALIZED) != NULL) {
+ UINT format = RegisterClipboardFormatW((LPCWSTR)formatNameW);
if (format != 0) {
result = queryFormat(dataObject, format);
}
@@ -936,7 +936,7 @@
wchar_t formatName[formatNameLength];
if (0 != GetClipboardFormatNameW(format, formatName, formatNameLength) ) {
if (wcsstr(formatName, FORMAT_SERIALIZED) != NULL) {
- return env->NewString(formatName, (jsize)wcslen(formatName));
+ return env->NewString((const jchar *)formatName, (jsize)wcslen(formatName));
}
}
return NULL;
@@ -991,8 +991,8 @@
UINT WinDataObject::getSerializedFormat(JNIEnv * env, jstring formatName) {
const jchar * formatNameW = env->GetStringChars(formatName, NULL);
UINT result = 0;
- if (wcsstr(formatNameW, FORMAT_SERIALIZED) != NULL) {
- result = RegisterClipboardFormatW(formatNameW);
+ if (wcsstr((const wchar_t *)formatNameW, FORMAT_SERIALIZED) != NULL) {
+ result = RegisterClipboardFormatW((LPCWSTR)formatNameW);
}
env->ReleaseStringChars(formatName, formatNameW);
return result;
@@ -1130,7 +1130,7 @@
if (wstr == NULL) {
return NULL;
}
- env->GetStringRegion(text, 0, len, wstr);
+ env->GetStringRegion(text, 0, len, (jchar *)wstr);
wstr[len] = 0;
return (HGLOBAL)wstr;
}
@@ -1140,7 +1140,7 @@
if (wstr == NULL) {
return NULL;
}
- env->GetStringRegion(text, 0, len, wstr);
+ env->GetStringRegion(text, 0, len, (jchar *)wstr);
wstr[len] = 0;
int cLen = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);
@@ -1241,7 +1241,7 @@
(jstring)env->GetObjectArrayElement(fileList, i);
jsize len = (jstr != NULL) ? env->GetStringLength(jstr) : 0;
if (len != 0) {
- env->GetStringRegion(jstr, 0, len, wstr + charCount);
+ env->GetStringRegion(jstr, 0, len, (jchar *)(wstr + charCount));
charCount += len + 1;
wstr[charCount - 1] = 0;
}
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/winFont.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/winFont.cpp?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/winFont.cpp (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/winFont.cpp Wed Feb 21 06:53:17 2007
@@ -377,7 +377,7 @@
initStr);
for (;i < famCount;i++){
- env->SetObjectArrayElement(ret,i,env->NewString(families[i], (jsize)_tcslen(families[i]))); // number of chars == length of string -1
+ env->SetObjectArrayElement(ret,i,env->NewString((const jchar *)families[i], (jsize)_tcslen(families[i]))); // number of chars == length of string -1
}
return ret;
@@ -431,7 +431,7 @@
initStr);
for (;i < fonts.count; i++){
- env->SetObjectArrayElement(faces,i,env->NewString(fonts.faceNames[i], (jsize)_tcslen(fonts.faceNames[i]))); // number of chars == length of string -1
+ env->SetObjectArrayElement(faces,i,env->NewString((const jchar *)fonts.faceNames[i], (jsize)_tcslen(fonts.faceNames[i]))); // number of chars == length of string -1
}
@@ -469,7 +469,7 @@
// message to other applications about installed font
// SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
- env->ReleaseStringCritical(absPath, path);
+ env->ReleaseStringCritical(absPath, (const jchar *)path);
return fontAdded;
}
@@ -519,7 +519,7 @@
lf.lfPitchAndFamily = DEFAULT_PITCH;
length = env->GetStringLength(jFace);
- fontName = env->GetStringCritical(jFace, &iscopy);
+ fontName = (const TCHAR *)env->GetStringCritical(jFace, &iscopy);
lf.lfFaceName[0] = 0;
if ( fontName ) {
@@ -529,7 +529,7 @@
}
}
- env->ReleaseStringCritical(jFace, fontName);
+ env->ReleaseStringCritical(jFace, (const jchar *)fontName);
res = CreateFontIndirect(& lf);
@@ -652,7 +652,7 @@
_tcscpy(name, (TCHAR *)((char *) outm + (int) outm[0].otmpFamilyName));
- res = env->NewString(name, (int)_tcslen(name));
+ res = env->NewString((const jchar *)name, (int)_tcslen(name));
SelectObject(hDC, hOld);
DeleteDC(hDC);
@@ -687,7 +687,7 @@
memset(& name, 0, sizeof(name));
_tcscpy(name, (TCHAR *)((char *) outm + (int) outm[0].otmpFaceName));
- res = env->NewString(name, (jsize)_tcslen(name));
+ res = env->NewString((const jchar *)name, (jsize)_tcslen(name));
SelectObject(hDC, hOld);
DeleteDC(hDC);
@@ -727,7 +727,7 @@
fontRemoved = RemoveFontResource(path);
- env->ReleaseStringCritical(absPath, path);
+ env->ReleaseStringCritical(absPath, (const jchar *)path);
return fontRemoved;
}
@@ -842,7 +842,7 @@
break;
fontName = (const TCHAR *) szValueName;
- pdest = _tcsstr( fontName, TrueType );
+ pdest = (TCHAR *)_tcsstr( fontName, TrueType );
if (pdest !=NULL ){
if (counter == (size - 1)) {
size = size << 1;
@@ -868,7 +868,7 @@
initStr);
for (i = 0;i < counter;i++){
- env->SetObjectArrayElement(ret,i,env->NewString(fontNames[i], fontSizes[i]));
+ env->SetObjectArrayElement(ret,i,env->NewString((const jchar *)fontNames[i], fontSizes[i]));
free(fontNames[i]);
}
@@ -1185,7 +1185,7 @@
free(arr);
SelectObject(hDC, hOld);
DeleteDC(hDC);
- env->ReleaseStringCritical(str, chars);
+ env->ReleaseStringCritical(str, (const jchar *)chars);
return intArray;
}
@@ -1405,7 +1405,7 @@
env->SetShortArrayRegion(LCIDs, 0, size, lcidTable.lcids);
for (i = 0; i < size; i++){
- env->SetObjectArrayElement(shortStrings, i, env->NewString((TCHAR *)lcidTable.names[i], (jsize)_tcslen(lcidTable.names[i])));
+ env->SetObjectArrayElement(shortStrings, i, env->NewString((const jchar *)(TCHAR *)lcidTable.names[i], (jsize)_tcslen(lcidTable.names[i])));
}
return size;
@@ -1464,7 +1464,7 @@
PointF *origin = new PointF(xOffset, yOffset);
- text = env->GetStringCritical( jText, &iscopy);
+ text = (const TCHAR *)env->GetStringCritical( jText, &iscopy);
result = graphics->DrawString(text,
length,
@@ -1472,7 +1472,7 @@
*origin,
brush);
- env->ReleaseStringCritical(jText, text);
+ env->ReleaseStringCritical(jText, (const jchar *)text);
delete origin;
delete gdipFont;
Modified: harmony/enhanced/classlib/trunk/modules/instrument/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/instrument/build.xml?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/instrument/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/instrument/build.xml Wed Feb 21 06:53:17 2007
@@ -37,7 +37,14 @@
</or>
</fileset>
- <property name="iculib.zip" location="${depends.oss}/icu4c-3.4-harmony.zip" />
+ <condition property="iculib.zip"
+ value="${depends.oss}/icu4c-3.4-harmony-windows.x86_64.zip"
+ else="${depends.oss}/icu4c-3.4-harmony.zip">
+ <and>
+ <isset property="is.windows"/>
+ <isset property="is.x86_64"/>
+ </and>
+ </condition>
<property name="instrument.exclude.file" location="${hy.hdk}/build/instrument.exclude" />
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/native/fdlibm/windows/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/native/fdlibm/windows/makefile?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/native/fdlibm/windows/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/native/fdlibm/windows/makefile Wed Feb 21 06:53:17 2007
@@ -62,3 +62,5 @@
-del *.obj dist\*.obj
-del $(LIBNAME)
-del $(LIBPATH)hyfdlibm.pdb
+ -del $(SHAREDSUB)*.obj
+
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/windows/OSMemoryWin32.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/windows/OSMemoryWin32.c?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/windows/OSMemoryWin32.c (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/windows/OSMemoryWin32.c Wed Feb 21 06:53:17 2007
@@ -24,6 +24,11 @@
#include "OSMemory.h"
#include "IMemorySystem.h"
+
+#ifdef _WIN64
+ #define __ptr64 __int64 *
+#endif
+
JNIEXPORT jboolean JNICALL Java_org_apache_harmony_luni_platform_OSMemory_isLittleEndianImpl
(JNIEnv * env, jclass clazz)
{
@@ -45,7 +50,7 @@
(JNIEnv * env, jobject thiz, jlong address)
{
#if defined(_WIN64)
- return *(POINTER_64) address;
+ return *((POINTER_64) address);
#else
return (jlong) * (long *) address;
#endif
@@ -56,7 +61,7 @@
(JNIEnv * env, jobject thiz, jlong address, jlong value)
{
#if defined(_WIN64)
- *(POINTER_64) address = value;
+ *((POINTER_64) address) = value;
#else
*(long *) address = (long) value;
#endif
Modified: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/makefile?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/makefile Wed Feb 21 06:53:17 2007
@@ -24,7 +24,7 @@
BUILDFILES = \
$(SHAREDSUB)libglob.obj $(SHAREDSUB)iohelp.obj \
$(SHAREDSUB)exceptions.obj $(SHAREDSUB)strhelp.obj \
- locklbl.obj lock386.obj \
+ $(HY_PLATFORM)\locklbl.obj lock386.obj \
$(SHAREDSUB)utf8decode.obj $(SHAREDSUB)utf8encode.obj
MDLLIBFILES =
Added: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/windows.x86_64/locklbl.asm
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/windows.x86_64/locklbl.asm?view=auto&rev=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/windows.x86_64/locklbl.asm (added)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/windows.x86_64/locklbl.asm Wed Feb 21 06:53:17 2007
@@ -0,0 +1,30 @@
+; Licensed to the Apache Software Foundation (ASF) under one or more
+; contributor license agreements. See the NOTICE file distributed with
+; this work for additional information regarding copyright ownership.
+; The ASF licenses this file to You under the Apache License, Version 2.0
+; (the "License"); you may not use this file except in compliance with
+; the License. You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+; .386p
+; assume cs:flat,ds:flat,ss:flat
+
+public lockFixupEnd
+public lockFixupBegin
+
+CONST$_LOCKFIXUPS_A SEGMENT
+lockFixupBegin:
+CONST$_LOCKFIXUPS_A ends
+
+CONST$_LOCKFIXUPS_Z SEGMENT
+lockFixupEnd:
+CONST$_LOCKFIXUPS_Z ends
+
+end
Propchange: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/common/windows/windows.x86_64/locklbl.asm
------------------------------------------------------------------------------
svn:eol-style = native
Modified: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/include/shared/hyport.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/include/shared/hyport.h?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/include/shared/hyport.h (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/include/shared/hyport.h Wed Feb 21 06:53:17 2007
@@ -1022,6 +1022,7 @@
#define HYPORT_ARCH_S390X "s390x"
#define HYPORT_ARCH_PARISC "PA-RISC"
#define HYPORT_ARCH_X86_64 "amd64"
+#define HYPORT_ARCH_HAMMER "hammer"
#define HYPORT_TTY_IN 0
#define HYPORT_TTY_OUT 1
#define HYPORT_TTY_ERR 2
Modified: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/windows/hysignal.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/windows/hysignal.c?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/windows/hysignal.c (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/windows/hysignal.c Wed Feb 21 06:53:17 2007
@@ -479,8 +479,30 @@
}
#undef CDEV_CURRENT_FUNCTION
-
#define CDEV_CURRENT_FUNCTION infoForGPR
+
+#ifdef _WIN64
+ #define _EDI_ Rdi
+ #define _ESI_ Rsi
+ #define _EAX_ Rax
+ #define _EBX_ Rbx
+ #define _ECX_ Rcx
+ #define _EDX_ Rdx
+ #define _EIP_ Rip
+ #define _ESP_ Rsp
+ #define _EBP_ Rbp
+#else
+ #define _EDI_ Edi
+ #define _ESI_ Esi
+ #define _EAX_ Eax
+ #define _EBX_ Ebx
+ #define _ECX_ Ecx
+ #define _EDX_ Edx
+ #define _EIP_ Eip
+ #define _ESP_ Esp
+ #define _EBP_ Ebp
+#endif
+
static U_32
infoForGPR (struct HyPortLibrary *portLibrary, struct HyWin32SignalInfo *info,
I_32 index, const char **name, void **value)
@@ -494,37 +516,37 @@
case HYPORT_SIG_GPR_X86_EDI:
case 0:
*name = "EDI";
- *value = &info->ContextRecord->Edi;
+ *value = &info->ContextRecord->_EDI_;
return HYPORT_SIG_VALUE_ADDRESS;
case HYPORT_SIG_GPR_X86_ESI:
case 1:
*name = "ESI";
- *value = &info->ContextRecord->Esi;
+ *value = &info->ContextRecord->_ESI_;
return HYPORT_SIG_VALUE_ADDRESS;
case HYPORT_SIG_GPR_X86_EAX:
case 2:
*name = "EAX";
- *value = &info->ContextRecord->Eax;
+ *value = &info->ContextRecord->_EAX_;
return HYPORT_SIG_VALUE_ADDRESS;
case HYPORT_SIG_GPR_X86_EBX:
case 3:
*name = "EBX";
- *value = &info->ContextRecord->Ebx;
+ *value = &info->ContextRecord->_EBX_;
return HYPORT_SIG_VALUE_ADDRESS;
case HYPORT_SIG_GPR_X86_ECX:
case 4:
*name = "ECX";
- *value = &info->ContextRecord->Ecx;
+ *value = &info->ContextRecord->_ECX_;
return HYPORT_SIG_VALUE_ADDRESS;
case HYPORT_SIG_GPR_X86_EDX:
case 5:
*name = "EDX";
- *value = &info->ContextRecord->Edx;
+ *value = &info->ContextRecord->_EDX_;
return HYPORT_SIG_VALUE_ADDRESS;
default:
@@ -552,19 +574,19 @@
case HYPORT_SIG_CONTROL_PC:
case 0:
*name = "EIP";
- *value = &info->ContextRecord->Eip;
+ *value = &info->ContextRecord->_EIP_;
return HYPORT_SIG_VALUE_ADDRESS;
case HYPORT_SIG_CONTROL_SP:
case 1:
*name = "ESP";
- *value = &info->ContextRecord->Esp;
+ *value = &info->ContextRecord->_ESP_;
return HYPORT_SIG_VALUE_ADDRESS;
case HYPORT_SIG_CONTROL_BP:
case 2:
*name = "EBP";
- *value = &info->ContextRecord->Ebp;
+ *value = &info->ContextRecord->_EBP_;
return HYPORT_SIG_VALUE_ADDRESS;
default:
Modified: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/makefile?view=diff&rev=510043&r1=510042&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/makefile Wed Feb 21 06:53:17 2007
@@ -24,8 +24,8 @@
LIBNAME=$(LIBPATH)$(LIBBASE).lib
BUILDFILES = \
- $(SHAREDSUB)thread_copyright.obj thrhelp.obj thrspinlock.obj $(SHAREDSUB)hythread.obj \
- $(SHAREDSUB)hythreadinspect.obj $(SHAREDSUB)rwmutex.obj thrdsup.obj \
+ $(SHAREDSUB)thread_copyright.obj $(HY_PLATFORM)\thrhelp.obj $(HY_PLATFORM)\thrspinlock.obj \
+ $(SHAREDSUB)hythread.obj $(SHAREDSUB)hythreadinspect.obj $(SHAREDSUB)rwmutex.obj thrdsup.obj \
$(SHAREDSUB)thrprof.obj
# TOFIX $(LIBBASE).def should be a dependency on all libs
Copied: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrhelp.asm (from r510004, harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/thrhelp.asm)
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrhelp.asm?view=diff&rev=510043&p1=harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/thrhelp.asm&r1=510004&p2=harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrhelp.asm&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/thrhelp.asm (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrhelp.asm Wed Feb 21 06:53:17 2007
@@ -1,106 +1,106 @@
-; Licensed to the Apache Software Foundation (ASF) under one or more
-; contributor license agreements. See the NOTICE file distributed with
-; this work for additional information regarding copyright ownership.
-; The ASF licenses this file to You under the Apache License, Version 2.0
-; (the "License"); you may not use this file except in compliance with
-; the License. You may obtain a copy of the License at
-;
-; http://www.apache.org/licenses/LICENSE-2.0
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS,
-; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-; See the License for the specific language governing permissions and
-; limitations under the License.
-
- .586p
- assume cs:flat,ds:flat,ss:flat
- .xmm
-eq_hy_null equ 0
-eq_HyThreadMonitor_pinCount equ 28
-eq_pointer_size equ 4
-eqS_current_stack_depth equ 16
-eqS_hythread_monitor_pin equ 16
-eqS_hythread_monitor_unpin equ 16
-eqSR_current_stack_depth equ 2
-eqSR_hythread_monitor_pin equ 2
-eqSR_hythread_monitor_unpin equ 2
-eqSRS_current_stack_depth equ 8
-eqSRS_hythread_monitor_pin equ 8
-eqSRS_hythread_monitor_unpin equ 8
-eqSS_current_stack_depth equ 64
-eqSS_hythread_monitor_pin equ 64
-eqSS_hythread_monitor_unpin equ 64
- CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
- CONST ends
- _TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
- public hythread_monitor_pin
- public current_stack_depth
- public hythread_monitor_unpin
- align 16
-current_stack_depth PROC NEAR
- ; localStackUse = 16
- push EBP
- mov EBP,ESP
- push EBX
- sub ESP,64
- mov EBX,EBP
- jmp short L2
-L1:
- mov EBX,ECX
-L2:
- mov ECX,dword ptr [EBX]
- test ECX,ECX ; setFlags: true
- jnz short L1
- sub EBX,EBP
- mov ECX,EBX
- mov EAX,EBX ; RegReg opt
- add ESP,64
- pop EBX
- pop EBP
- ret
-current_stack_depth ENDP
-; Prototype: void hythread_monitor_pin( hythread_monitor_t monitor, hythread_t osThread);
-; Defined in: #THREAD Args: 2
- align 16
-hythread_monitor_pin PROC NEAR
- ; localStackUse = 16
- push EBP
- mov EBP,ESP
- push EBX
- sub ESP,64
- mov EBX,dword ptr (eqSRS_hythread_monitor_pin+0+8+eqSS_hythread_monitor_pin)[ESP]
- mov EBX,dword ptr (eqSRS_hythread_monitor_pin+0+4+eqSS_hythread_monitor_pin)[ESP]
-lockFixup3:
-CONST$_LOCKFIXUPS_B SEGMENT DWORD USE32 PUBLIC 'CONST'
- dd offset flat:lockFixup3
-CONST$_LOCKFIXUPS_B ends
- lock inc dword ptr eq_HyThreadMonitor_pinCount[EBX] ; (Converted add 1 to inc)
- add ESP,64
- pop EBX
- pop EBP
- ret
-hythread_monitor_pin ENDP
-; Prototype: void hythread_monitor_unpin( hythread_monitor_t monitor, hythread_t osThread);
-; Defined in: #THREAD Args: 2
- align 16
-hythread_monitor_unpin PROC NEAR
- ; localStackUse = 16
- push EBP
- mov EBP,ESP
- push EBX
- sub ESP,64
- mov EBX,dword ptr (eqSS_hythread_monitor_unpin+0+8+eqSRS_hythread_monitor_unpin)[ESP]
- mov EBX,dword ptr (eqSS_hythread_monitor_unpin+0+eqSRS_hythread_monitor_unpin+4)[ESP]
-lockFixup4:
-CONST$_LOCKFIXUPS_B SEGMENT DWORD USE32 PUBLIC 'CONST'
- dd offset flat:lockFixup4
-CONST$_LOCKFIXUPS_B ends
- lock dec dword ptr eq_HyThreadMonitor_pinCount[EBX] ; (Converted subtract 1 to dec)
- add ESP,64
- pop EBX
- pop EBP
- ret
-hythread_monitor_unpin ENDP
- _TEXT ends
- end
+; Licensed to the Apache Software Foundation (ASF) under one or more
+; contributor license agreements. See the NOTICE file distributed with
+; this work for additional information regarding copyright ownership.
+; The ASF licenses this file to You under the Apache License, Version 2.0
+; (the "License"); you may not use this file except in compliance with
+; the License. You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+ .586p
+ assume cs:flat,ds:flat,ss:flat
+ .xmm
+eq_hy_null equ 0
+eq_HyThreadMonitor_pinCount equ 28
+eq_pointer_size equ 4
+eqS_current_stack_depth equ 16
+eqS_hythread_monitor_pin equ 16
+eqS_hythread_monitor_unpin equ 16
+eqSR_current_stack_depth equ 2
+eqSR_hythread_monitor_pin equ 2
+eqSR_hythread_monitor_unpin equ 2
+eqSRS_current_stack_depth equ 8
+eqSRS_hythread_monitor_pin equ 8
+eqSRS_hythread_monitor_unpin equ 8
+eqSS_current_stack_depth equ 64
+eqSS_hythread_monitor_pin equ 64
+eqSS_hythread_monitor_unpin equ 64
+ CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
+ CONST ends
+ _TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
+ public hythread_monitor_pin
+ public current_stack_depth
+ public hythread_monitor_unpin
+ align 16
+current_stack_depth PROC NEAR
+ ; localStackUse = 16
+ push EBP
+ mov EBP,ESP
+ push EBX
+ sub ESP,64
+ mov EBX,EBP
+ jmp short L2
+L1:
+ mov EBX,ECX
+L2:
+ mov ECX,dword ptr [EBX]
+ test ECX,ECX ; setFlags: true
+ jnz short L1
+ sub EBX,EBP
+ mov ECX,EBX
+ mov EAX,EBX ; RegReg opt
+ add ESP,64
+ pop EBX
+ pop EBP
+ ret
+current_stack_depth ENDP
+; Prototype: void hythread_monitor_pin( hythread_monitor_t monitor, hythread_t osThread);
+; Defined in: #THREAD Args: 2
+ align 16
+hythread_monitor_pin PROC NEAR
+ ; localStackUse = 16
+ push EBP
+ mov EBP,ESP
+ push EBX
+ sub ESP,64
+ mov EBX,dword ptr (eqSRS_hythread_monitor_pin+0+8+eqSS_hythread_monitor_pin)[ESP]
+ mov EBX,dword ptr (eqSRS_hythread_monitor_pin+0+4+eqSS_hythread_monitor_pin)[ESP]
+lockFixup3:
+CONST$_LOCKFIXUPS_B SEGMENT DWORD USE32 PUBLIC 'CONST'
+ dd offset flat:lockFixup3
+CONST$_LOCKFIXUPS_B ends
+ lock inc dword ptr eq_HyThreadMonitor_pinCount[EBX] ; (Converted add 1 to inc)
+ add ESP,64
+ pop EBX
+ pop EBP
+ ret
+hythread_monitor_pin ENDP
+; Prototype: void hythread_monitor_unpin( hythread_monitor_t monitor, hythread_t osThread);
+; Defined in: #THREAD Args: 2
+ align 16
+hythread_monitor_unpin PROC NEAR
+ ; localStackUse = 16
+ push EBP
+ mov EBP,ESP
+ push EBX
+ sub ESP,64
+ mov EBX,dword ptr (eqSS_hythread_monitor_unpin+0+8+eqSRS_hythread_monitor_unpin)[ESP]
+ mov EBX,dword ptr (eqSS_hythread_monitor_unpin+0+eqSRS_hythread_monitor_unpin+4)[ESP]
+lockFixup4:
+CONST$_LOCKFIXUPS_B SEGMENT DWORD USE32 PUBLIC 'CONST'
+ dd offset flat:lockFixup4
+CONST$_LOCKFIXUPS_B ends
+ lock dec dword ptr eq_HyThreadMonitor_pinCount[EBX] ; (Converted subtract 1 to dec)
+ add ESP,64
+ pop EBX
+ pop EBP
+ ret
+hythread_monitor_unpin ENDP
+ _TEXT ends
+ end
Propchange: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrhelp.asm
------------------------------------------------------------------------------
svn:eol-style = native
Copied: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrspinlock.asm (from r510004, harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/thrspinlock.asm)
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrspinlock.asm?view=diff&rev=510043&p1=harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/thrspinlock.asm&r1=510004&p2=harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrspinlock.asm&r2=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/thrspinlock.asm (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrspinlock.asm Wed Feb 21 06:53:17 2007
@@ -1,122 +1,122 @@
-; Licensed to the Apache Software Foundation (ASF) under one or more
-; contributor license agreements. See the NOTICE file distributed with
-; this work for additional information regarding copyright ownership.
-; The ASF licenses this file to You under the Apache License, Version 2.0
-; (the "License"); you may not use this file except in compliance with
-; the License. You may obtain a copy of the License at
-;
-; http://www.apache.org/licenses/LICENSE-2.0
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS,
-; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-; See the License for the specific language governing permissions and
-; limitations under the License.
-
- .586p
- assume cs:flat,ds:flat,ss:flat
- .xmm
-eq_HyThreadAbstractMonitor_spinCount1 equ 48
-eq_HyThreadAbstractMonitor_spinCount2 equ 52
-eq_HyThreadAbstractMonitor_spinCount3 equ 56
-eq_HyThreadAbstractMonitor_spinlockState equ 40
-eq_pointer_size equ 4
-eqS_hythread_spinlock_acquire equ 18
-eqS_hythread_spinlock_swapState equ 16
-eqSR_hythread_spinlock_acquire equ 3
-eqSR_hythread_spinlock_swapState equ 2
-eqSRS_hythread_spinlock_acquire equ 12
-eqSRS_hythread_spinlock_swapState equ 8
-eqSS_hythread_spinlock_acquire equ 72
-eqSS_hythread_spinlock_swapState equ 64
-HYTHREAD_MONITOR_SPINLOCK_OWNED equ 1
-HYTHREAD_MONITOR_SPINLOCK_UNOWNED equ 0
- CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
- CONST ends
- _TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
- extrn hythread_yield:near
- public hythread_spinlock_acquire
- public hythread_spinlock_swapState
-; Prototype: IDATA hythread_spinlock_acquire(hythread_t self, hythread_monitor_t monitor);
-; Defined in: #THREAD Args: 2
- align 16
-hythread_spinlock_acquire PROC NEAR
- ; localStackUse = 18
- push EBP
- mov EBP,ESP
- push EBX
- push ESI
- sub ESP,72
- mov EDX,dword ptr (eqSS_hythread_spinlock_acquire+0+eqSRS_hythread_spinlock_acquire+8)[ESP]
- mov ECX,dword ptr eq_HyThreadAbstractMonitor_spinCount3[EDX]
-L2:
- mov EBX,dword ptr eq_HyThreadAbstractMonitor_spinCount2[EDX]
-L3:
-; Try to cmpxchg 0 into the target field (-1 indicates free)
- cmp dword ptr eq_HyThreadAbstractMonitor_spinlockState[EDX],HYTHREAD_MONITOR_SPINLOCK_UNOWNED ; setFlags: true
- jne short L10
- xor EAX,EAX
- mov ESI,HYTHREAD_MONITOR_SPINLOCK_OWNED
-lockFixup12:
-CONST$_LOCKFIXUPS_B SEGMENT DWORD USE32 PUBLIC 'CONST'
- dd offset flat:lockFixup12
-CONST$_LOCKFIXUPS_B ends
- lock cmpxchg dword ptr eq_HyThreadAbstractMonitor_spinlockState[EDX],ESI
- test EAX,EAX ; setFlags: true
- jnz short L10
- xor EBX,EBX
- jmp short L1
-L10:
- dw 37107 ; PAUSE
-; begin tight loop
- mov EAX,dword ptr eq_HyThreadAbstractMonitor_spinCount1[EDX]
-L11:
-; inside tight loop
- dec EAX ; setFlags: true(Converted subtract 1 to dec)
- jnz short L11
-; end tight loop
- dec EBX ; setFlags: true(Converted subtract 1 to dec)
- jnz short L3
- mov dword ptr 64[ESP],ECX ; save VMtemp3_1_3_(HyThreadAbstractMonitor->spinCount3)
- mov dword ptr 68[ESP],EDX ; save VMtemp3_1_2_(struct HyThreadAbstractMonitor*) in_HyVMThreadSpinlocks>>#hythread_spinlock_acquire
- call hythread_yield
- mov ECX,dword ptr 64[ESP] ; load VMtemp3_1_3_(HyThreadAbstractMonitor->spinCount3)
- dec ECX ; setFlags: true(Converted subtract 1 to dec)
- mov EDX,dword ptr 68[ESP] ; load VMtemp3_1_2_(struct HyThreadAbstractMonitor*) in_HyVMThreadSpinlocks>>#hythread_spinlock_acquire
- jnz short L2
- mov EBX,-1
-L1:
- mov EAX,EBX
- add ESP,72
- pop ESI
- pop EBX
- pop EBP
- ret
-hythread_spinlock_acquire ENDP
-; Prototype: UDATA hythread_spinlock_swapState(hythread_monitor_t monitor, UDATA newState);
-; Defined in: #THREAD Args: 2
- align 16
-hythread_spinlock_swapState PROC NEAR
- ; localStackUse = 16
- push EBP
- mov EBP,ESP
- push EBX
- sub ESP,64
- mov EBX,dword ptr (eqSS_hythread_spinlock_swapState+0+eqSRS_hythread_spinlock_swapState+4)[ESP]
- mov ECX,dword ptr (eqSS_hythread_spinlock_swapState+0+eqSRS_hythread_spinlock_swapState+8)[ESP]
-; If we are writing in UNOWNED, we are exiting the critical section, therefore
-; have to finish up any writes
- test ECX,ECX ; setFlags: true
- ; memory barrier (no code necessary for write barriers)
- xchg dword ptr eq_HyThreadAbstractMonitor_spinlockState[EBX],ECX
-; if we entered the critical section, (i.e. we swapped out UNOWNED) then
-; we have to issue a readBarrier
- test ECX,ECX ; setFlags: true
- mov EAX,ECX
- add ESP,64
- pop EBX
- pop EBP
- ret
-hythread_spinlock_swapState ENDP
- _TEXT ends
- end
+; Licensed to the Apache Software Foundation (ASF) under one or more
+; contributor license agreements. See the NOTICE file distributed with
+; this work for additional information regarding copyright ownership.
+; The ASF licenses this file to You under the Apache License, Version 2.0
+; (the "License"); you may not use this file except in compliance with
+; the License. You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+ .586p
+ assume cs:flat,ds:flat,ss:flat
+ .xmm
+eq_HyThreadAbstractMonitor_spinCount1 equ 48
+eq_HyThreadAbstractMonitor_spinCount2 equ 52
+eq_HyThreadAbstractMonitor_spinCount3 equ 56
+eq_HyThreadAbstractMonitor_spinlockState equ 40
+eq_pointer_size equ 4
+eqS_hythread_spinlock_acquire equ 18
+eqS_hythread_spinlock_swapState equ 16
+eqSR_hythread_spinlock_acquire equ 3
+eqSR_hythread_spinlock_swapState equ 2
+eqSRS_hythread_spinlock_acquire equ 12
+eqSRS_hythread_spinlock_swapState equ 8
+eqSS_hythread_spinlock_acquire equ 72
+eqSS_hythread_spinlock_swapState equ 64
+HYTHREAD_MONITOR_SPINLOCK_OWNED equ 1
+HYTHREAD_MONITOR_SPINLOCK_UNOWNED equ 0
+ CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
+ CONST ends
+ _TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
+ extrn hythread_yield:near
+ public hythread_spinlock_acquire
+ public hythread_spinlock_swapState
+; Prototype: IDATA hythread_spinlock_acquire(hythread_t self, hythread_monitor_t monitor);
+; Defined in: #THREAD Args: 2
+ align 16
+hythread_spinlock_acquire PROC NEAR
+ ; localStackUse = 18
+ push EBP
+ mov EBP,ESP
+ push EBX
+ push ESI
+ sub ESP,72
+ mov EDX,dword ptr (eqSS_hythread_spinlock_acquire+0+eqSRS_hythread_spinlock_acquire+8)[ESP]
+ mov ECX,dword ptr eq_HyThreadAbstractMonitor_spinCount3[EDX]
+L2:
+ mov EBX,dword ptr eq_HyThreadAbstractMonitor_spinCount2[EDX]
+L3:
+; Try to cmpxchg 0 into the target field (-1 indicates free)
+ cmp dword ptr eq_HyThreadAbstractMonitor_spinlockState[EDX],HYTHREAD_MONITOR_SPINLOCK_UNOWNED ; setFlags: true
+ jne short L10
+ xor EAX,EAX
+ mov ESI,HYTHREAD_MONITOR_SPINLOCK_OWNED
+lockFixup12:
+CONST$_LOCKFIXUPS_B SEGMENT DWORD USE32 PUBLIC 'CONST'
+ dd offset flat:lockFixup12
+CONST$_LOCKFIXUPS_B ends
+ lock cmpxchg dword ptr eq_HyThreadAbstractMonitor_spinlockState[EDX],ESI
+ test EAX,EAX ; setFlags: true
+ jnz short L10
+ xor EBX,EBX
+ jmp short L1
+L10:
+ dw 37107 ; PAUSE
+; begin tight loop
+ mov EAX,dword ptr eq_HyThreadAbstractMonitor_spinCount1[EDX]
+L11:
+; inside tight loop
+ dec EAX ; setFlags: true(Converted subtract 1 to dec)
+ jnz short L11
+; end tight loop
+ dec EBX ; setFlags: true(Converted subtract 1 to dec)
+ jnz short L3
+ mov dword ptr 64[ESP],ECX ; save VMtemp3_1_3_(HyThreadAbstractMonitor->spinCount3)
+ mov dword ptr 68[ESP],EDX ; save VMtemp3_1_2_(struct HyThreadAbstractMonitor*) in_HyVMThreadSpinlocks>>#hythread_spinlock_acquire
+ call hythread_yield
+ mov ECX,dword ptr 64[ESP] ; load VMtemp3_1_3_(HyThreadAbstractMonitor->spinCount3)
+ dec ECX ; setFlags: true(Converted subtract 1 to dec)
+ mov EDX,dword ptr 68[ESP] ; load VMtemp3_1_2_(struct HyThreadAbstractMonitor*) in_HyVMThreadSpinlocks>>#hythread_spinlock_acquire
+ jnz short L2
+ mov EBX,-1
+L1:
+ mov EAX,EBX
+ add ESP,72
+ pop ESI
+ pop EBX
+ pop EBP
+ ret
+hythread_spinlock_acquire ENDP
+; Prototype: UDATA hythread_spinlock_swapState(hythread_monitor_t monitor, UDATA newState);
+; Defined in: #THREAD Args: 2
+ align 16
+hythread_spinlock_swapState PROC NEAR
+ ; localStackUse = 16
+ push EBP
+ mov EBP,ESP
+ push EBX
+ sub ESP,64
+ mov EBX,dword ptr (eqSS_hythread_spinlock_swapState+0+eqSRS_hythread_spinlock_swapState+4)[ESP]
+ mov ECX,dword ptr (eqSS_hythread_spinlock_swapState+0+eqSRS_hythread_spinlock_swapState+8)[ESP]
+; If we are writing in UNOWNED, we are exiting the critical section, therefore
+; have to finish up any writes
+ test ECX,ECX ; setFlags: true
+ ; memory barrier (no code necessary for write barriers)
+ xchg dword ptr eq_HyThreadAbstractMonitor_spinlockState[EBX],ECX
+; if we entered the critical section, (i.e. we swapped out UNOWNED) then
+; we have to issue a readBarrier
+ test ECX,ECX ; setFlags: true
+ mov EAX,ECX
+ add ESP,64
+ pop EBX
+ pop EBP
+ ret
+hythread_spinlock_swapState ENDP
+ _TEXT ends
+ end
Propchange: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86/thrspinlock.asm
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrhelp.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrhelp.c?view=auto&rev=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrhelp.c (added)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrhelp.c Wed Feb 21 06:53:17 2007
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * @file
+ * @ingroup Thread
+ */
+
+#include <windows.h>
+#include <stdlib.h>
+#include "hycomp.h"
+#include "hythread.h"
+#include "hymutex.h"
+
+void hythread_monitor_pin( hythread_monitor_t monitor, hythread_t osThread) {
+ // TODO: need implementation
+}
+
+void hythread_monitor_unpin( hythread_monitor_t monitor, hythread_t osThread) {
+ // TODO: need implementation
+}
+
Propchange: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrhelp.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrspinlock.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrspinlock.c?view=auto&rev=510043
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrspinlock.c (added)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrspinlock.c Wed Feb 21 06:53:17 2007
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * @file
+ * @ingroup Thread
+ */
+
+#include <windows.h>
+#include <stdlib.h>
+#include "hycomp.h"
+#include "hythread.h"
+#include "hymutex.h"
+
+UDATA hythread_spinlock_swapState(hythread_monitor_t monitor, UDATA newState) {
+ // TODO: need implementation
+ return (UDATA)0;
+}
+
+IDATA hythread_spinlock_acquire(hythread_t self, hythread_monitor_t monitor) {
+ // TODO: need implementation
+ return (IDATA)0;
+}
+
+
Propchange: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/thread/windows/windows.x86_64/thrspinlock.c
------------------------------------------------------------------------------
svn:eol-style = native