Changeset 339 for trunk/openjdk/hotspot


Ignore:
Timestamp:
Feb 28, 2012, 7:49:15 PM (13 years ago)
Author:
dmik
Message:

Switch JNI calling convention from stdcall to _System on OS/2.

This makes JNI DLLs to be compatible with IBM Java (which uses
the _System cconv) and fixes applications using such DLLs (like
the standard LVMGUI and TCP/IP configuration OS/2 tools
written in Java).

Location:
trunk/openjdk/hotspot
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/openjdk/hotspot/make/os2/makefiles/vm.make

    r325 r339  
    9090        @echo -e 'LIBRARY jvm INITINSTANCE TERMINSTANCE \n \
    9191EXPORTS \n \
    92   JNI_GetDefaultJavaVMInitArgs = "_JNI_GetDefaultJavaVMInitArgs@4" \n \
    93   JNI_CreateJavaVM = "_JNI_CreateJavaVM@12" \n \
    94   JNI_GetCreatedJavaVMs = "_JNI_GetCreatedJavaVMs@12" \n \
    9592  _jio_snprintf \n \
    9693  _jio_printf \n \
     
    9996  _jio_vsnprintf \n \
    10097  $(AGCT_EXPORT) \
    101   JVM_GetVersionInfo = "_JVM_GetVersionInfo@12" \n \
    102   JVM_GetThreadStateNames = "_JVM_GetThreadStateNames@12" \n \
    103   JVM_GetThreadStateValues = "_JVM_GetThreadStateValues@8" \n \
    104   JVM_InitAgentProperties = "_JVM_InitAgentProperties@8" \n \
    105   JVM_FindClassFromBootLoader = "_JVM_FindClassFromBootLoader@8" \n \
    10698' > $(Def_File)
    10799
  • trunk/openjdk/hotspot/src/cpu/x86/vm/jni_x86.h

    r338 r339  
    4545  #define JNIEXPORT __declspec(dllexport)
    4646  #define JNIIMPORT __declspec(dllimport)
     47
     48#ifdef __OS2__
     49  #define JNICALL _System
     50#else
    4751  #define JNICALL __stdcall
     52#endif
    4853
    4954#ifdef TARGET_COMPILER_gcc
  • trunk/openjdk/hotspot/src/os/windows/vm/os_windows.cpp

    r336 r339  
    18381838
    18391839void os::print_jni_name_prefix_on(outputStream* st, int args_size) {
    1840 #ifndef _WIN64
     1840#if !defined(_WIN64) && !defined(__WIN32OS2__)
    18411841  st->print("_");
    18421842#endif
     
    18451845
    18461846void os::print_jni_name_suffix_on(outputStream* st, int args_size) {
    1847 #ifndef _WIN64
     1847#if !defined(_WIN64) && !defined(__WIN32OS2__)
    18481848  st->print("@%d", args_size  * sizeof(int));
    18491849#endif
Note: See TracChangeset for help on using the changeset viewer.