diff --git a/runtime/compiler/x/amd64/runtime/AMD64CompressString_nasm.inc b/runtime/compiler/x/amd64/runtime/AMD64CompressString_nasm.inc index 42ad448edee..512229074eb 100644 --- a/runtime/compiler/x/amd64/runtime/AMD64CompressString_nasm.inc +++ b/runtime/compiler/x/amd64/runtime/AMD64CompressString_nasm.inc @@ -20,16 +20,16 @@ segment .text - global _compressString - global _compressStringJ - global _compressStringNoCheck - global _compressStringNoCheckJ - global _andORString + DECLARE_GLOBAL compressString + DECLARE_GLOBAL compressStringJ + DECLARE_GLOBAL compressStringNoCheck + DECLARE_GLOBAL compressStringNoCheckJ + DECLARE_GLOBAL andORString align 16 -_compressString: +compressString: shr rcx, 4 add rsi, rax add rsi, rax @@ -89,7 +89,7 @@ ret ; ecx has length of copy in bytes ; esi has source address ; edi has destination address -_compressStringJ: +compressStringJ: shr rcx, 4 add rsi, rax add rsi, rax @@ -120,7 +120,7 @@ eightcharsJ: shr rax, 32 ret -_andORString: +andORString: shr rcx, 4 add rsi, rax add rsi, rax @@ -159,7 +159,7 @@ eightchars2: ret -_compressStringNoCheckJ: +compressStringNoCheckJ: shr rcx, 4 add rsi, rax add rsi, rax @@ -181,7 +181,7 @@ eightcharsNoCheckJ: loop eightcharsNoCheckJ ret -_compressStringNoCheck: +compressStringNoCheck: shr rcx, 4 add rsi, rax add rsi, rax diff --git a/runtime/compiler/x/amd64/runtime/AMD64Recompilation.nasm b/runtime/compiler/x/amd64/runtime/AMD64Recompilation.nasm index 9c76fd6a31b..49a47754a0d 100644 --- a/runtime/compiler/x/amd64/runtime/AMD64Recompilation.nasm +++ b/runtime/compiler/x/amd64/runtime/AMD64Recompilation.nasm @@ -22,21 +22,20 @@ %include "jilconsts.inc" - - extern _jitRetranslateMethod - extern _jitCallCFunction - extern _induceRecompilation_unwrapper - extern _mcc_AMD64callPointPatching_unwrapper - extern _initialInvokeExactThunk_unwrapper - extern _methodHandleJ2I_unwrapper - - global _countingRecompileMethod - global _samplingRecompileMethod - global _countingPatchCallSite - global _samplingPatchCallSite - global _induceRecompilation - global _initialInvokeExactThunkGlue - global _methodHandleJ2IGlue + DECLARE_EXTERN jitRetranslateMethod + DECLARE_EXTERN jitCallCFunction + DECLARE_EXTERN induceRecompilation_unwrapper + DECLARE_EXTERN mcc_AMD64callPointPatching_unwrapper + DECLARE_EXTERN initialInvokeExactThunk_unwrapper + DECLARE_EXTERN methodHandleJ2I_unwrapper + + DECLARE_GLOBAL countingRecompileMethod + DECLARE_GLOBAL samplingRecompileMethod + DECLARE_GLOBAL countingPatchCallSite + DECLARE_GLOBAL samplingPatchCallSite + DECLARE_GLOBAL induceRecompilation + DECLARE_GLOBAL initialInvokeExactThunkGlue + DECLARE_GLOBAL methodHandleJ2IGlue segment .text @@ -106,7 +105,7 @@ ret ;exitRecompileMethod endp ; align 16 ; -_countingRecompileMethod: +countingRecompileMethod: ; pop rdi ; Return address in snippet saveRegs @@ -123,7 +122,7 @@ _countingRecompileMethod: mov rax, qword [rax+eq_BodyInfo_MethodInfo] mov rax, qword [rax+eq_MethodInfo_J9Method] - CallHelperUseReg _jitRetranslateMethod,rax + CallHelperUseReg jitRetranslateMethod,rax test rax, rax jnz countingGotStartAddress @@ -153,7 +152,7 @@ ret ; align 16 ; -_samplingRecompileMethod: +samplingRecompileMethod: ; pop rdi ; Return address in preprologue saveRegs @@ -169,7 +168,7 @@ _samplingRecompileMethod: mov rax, qword [rax+eq_BodyInfo_MethodInfo] mov rax, qword [rax+eq_MethodInfo_J9Method] - CallHelperUseReg _jitRetranslateMethod,rax + CallHelperUseReg jitRetranslateMethod,rax ; If the compilation has not been done yet, restart this method. ; It should now execute normally @@ -193,7 +192,7 @@ ret align 16 ; -_induceRecompilation: +induceRecompilation: ; xchg rdi, [rsp] ; Return address in snippet push rsi ; Preserve @@ -203,15 +202,15 @@ _induceRecompilation: movsxd rsi, dword [rdi+eq_induceSnippet_startPCOffset] add rsi, rdi - ; set up args to _induceRecompilation_unwrapper + ; set up args to induceRecompilation_unwrapper push rbp ; parm: vmThread push rsi ; parm: startPC - ; set up args to _jitCallCFunction - MoveHelper rax, _induceRecompilation_unwrapper ; parm: C function to call + ; set up args to jitCallCFunction + MoveHelper rax, induceRecompilation_unwrapper ; parm: C function to call mov rsi, rsp ; parm: args array ; parm: result pointer; don't care - CallHelper _jitCallCFunction + CallHelper jitCallCFunction add rsp, 16 ; restore regs and return to snippet @@ -227,7 +226,7 @@ ret align 16 ; -_countingPatchCallSite: +countingPatchCallSite: ; xchg qword [rsp], rdi push rdx @@ -278,7 +277,7 @@ patchCallSite: push rsi ; preserve rsi xor rsi, rsi push rsi ; extraArg - push rax ; pass old startPC to _mcc_AMD64callPointPatching_unwrapper + push rax ; pass old startPC to mcc_AMD64callPointPatching_unwrapper mov rsi, qword [rax+eq_startPC_BodyInfo] mov rsi, qword [rsi+eq_BodyInfo_MethodInfo] mov rax, qword [rsi+eq_MethodInfo_J9Method] ; rax = j9method @@ -288,10 +287,10 @@ patchCallSite: push rsi ; new startPC push rdx ; call instruction push rax ; j9method - MoveHelper rax, _mcc_AMD64callPointPatching_unwrapper + MoveHelper rax, mcc_AMD64callPointPatching_unwrapper lea rsi, [rsp] lea rdx, [rsp] - call _jitCallCFunction + call jitCallCFunction add rsp, 48 pop rsi @@ -334,7 +333,7 @@ ret align 16 ; -_samplingPatchCallSite: +samplingPatchCallSite: ; xchg qword [rsp], rdi push rdx @@ -368,12 +367,12 @@ samplingPatchToRecompile: ; HCR: we've got our hands on a new j9method that hasn't been compiled yet, ; so there's no way to patch the call site without first compiling the new method ; - ; Make the world look the way it should for a call to _samplingRecompileMethod + ; Make the world look the way it should for a call to samplingRecompileMethod pop rdi pop rax pop rdx xchg qword [rsp], rdi - jmp _samplingRecompileMethod + jmp samplingRecompileMethod ; ; ret @@ -381,22 +380,22 @@ ret align 16 ; -_initialInvokeExactThunkGlue: +initialInvokeExactThunkGlue: ; ; preserve all non-scratch regs push rax push rsi push rdx - ; set up args to _initialInvokeExactThunk_unwrapper + ; set up args to initialInvokeExactThunk_unwrapper push rbp ; parm: vmThread push rax ; parm: receiver MethodHandle; also, result goes here - ; set up args to _jitCallCFunction - MoveHelper rax, _initialInvokeExactThunk_unwrapper ; parm: C function to call + ; set up args to jitCallCFunction + MoveHelper rax, initialInvokeExactThunk_unwrapper ; parm: C function to call mov rsi, rsp ; parm: args array mov rdx, rsp ; parm: result pointer - CallHelper _jitCallCFunction + CallHelper jitCallCFunction pop rax ; result jitted entry point pop rbp @@ -416,7 +415,7 @@ ret align 16 ; -_methodHandleJ2IGlue: +methodHandleJ2IGlue: ; ; Note: this glue is not called, it is jumped to. There is no ; return address on the stack. @@ -426,17 +425,17 @@ _methodHandleJ2IGlue: push rsi push rdx - ; set up args to _initialInvokeExactThunk_unwrapper + ; set up args to initialInvokeExactThunk_unwrapper push rbp ; parm: vmThread lea rsi, [rsp+40] push rsi ; parm: stack pointer before the call to the j2i thunk push rax ; parm: receiver MethodHandle; also, result goes here - ; set up args to _jitCallCFunction - MoveHelper rax, _methodHandleJ2I_unwrapper ; parm: C function to call + ; set up args to jitCallCFunction + MoveHelper rax, methodHandleJ2I_unwrapper ; parm: C function to call mov rsi, rsp ; parm: args array mov rdx, rsp ; parm: result pointer - CallHelper _jitCallCFunction + CallHelper jitCallCFunction pop rax ; result (currently unused) pop rsi pop rbp diff --git a/runtime/compiler/x/runtime/X86ArrayTranslate.nasm b/runtime/compiler/x/runtime/X86ArrayTranslate.nasm index 9436f32f3c2..90385bad461 100644 --- a/runtime/compiler/x/runtime/X86ArrayTranslate.nasm +++ b/runtime/compiler/x/runtime/X86ArrayTranslate.nasm @@ -22,9 +22,10 @@ segment .text - global _arrayTranslateTRTO - global _arrayTranslateTROTNoBreak - global _arrayTranslateTROT + DECLARE_GLOBAL arrayTranslateTRTO + DECLARE_GLOBAL arrayTranslateTROTNoBreak + DECLARE_GLOBAL arrayTranslateTROT + align 16 ; pseudocode: @@ -33,7 +34,7 @@ segment .text ; if (chararray[i] && DX != 0) break; //DX is the register ; else bytearray[i] = (byte) chararray[i]) ; return i - _arrayTranslateTRTO: ;TO stands for Two bytes to One byte + arrayTranslateTRTO: ;TO stands for Two bytes to One byte %ifdef TR_HOST_64BIT mov ecx, ecx %endif @@ -85,7 +86,7 @@ segment .text ; int i; ; for (i = 0; i < N; i++) ; chararray[i] = (char) bytearray[i]; - _arrayTranslateTROTNoBreak: ;OT stands for One byte to Two bytes + arrayTranslateTROTNoBreak: ;OT stands for One byte to Two bytes %ifdef TR_HOST_64BIT mov ecx, ecx %endif @@ -156,7 +157,7 @@ segment .text ; if (bytearray[i] < 0) break; ; else chararray[i] = (char) bytearray[i]; ; return i; - _arrayTranslateTROT: ;OT stands for One byte to Two bytes + arrayTranslateTROT: ;OT stands for One byte to Two bytes %ifdef TR_HOST_64BIT mov ecx, ecx %endif diff --git a/runtime/compiler/x/runtime/X86Codert.nasm b/runtime/compiler/x/runtime/X86Codert.nasm index f0255140d1f..d859ae552d4 100644 --- a/runtime/compiler/x/runtime/X86Codert.nasm +++ b/runtime/compiler/x/runtime/X86Codert.nasm @@ -127,30 +127,31 @@ ONEHALF: segment .text %ifdef TR_HOST_32BIT - global _doubleToLong - global _doubleToInt - global _floatToLong - global _floatToInt + DECLARE_GLOBAL doubleToLong + DECLARE_GLOBAL doubleToInt + DECLARE_GLOBAL floatToLong + DECLARE_GLOBAL floatToInt %endif - global _X87floatRemainder - global _X87doubleRemainder - global _SSEfloatRemainder - global _SSEdoubleRemainder - global _SSEfloatRemainderIA32Thunk - global _SSEdoubleRemainderIA32Thunk + DECLARE_GLOBAL X87floatRemainder + DECLARE_GLOBAL X87doubleRemainder + + DECLARE_GLOBAL SSEfloatRemainder + DECLARE_GLOBAL SSEdoubleRemainder + DECLARE_GLOBAL SSEfloatRemainderIA32Thunk + DECLARE_GLOBAL SSEdoubleRemainderIA32Thunk %ifdef TR_HOST_32BIT - global _SSEdouble2LongIA32 + DECLARE_GLOBAL SSEdouble2LongIA32 %endif - global _jitFPHelpersBegin - global _jitFPHelpersEnd + DECLARE_GLOBAL jitFPHelpersBegin + DECLARE_GLOBAL jitFPHelpersEnd align 16 -_jitFPHelpersBegin: +jitFPHelpersBegin: %ifdef TR_HOST_32BIT -; _doubleToInt +; doubleToInt ; ; Convert doubles to ints when it has already been determined that the ; double cannot be represented in an int OR if it appears that the @@ -165,7 +166,7 @@ _jitFPHelpersBegin: ; eax - equivalent integer: either 0, MAX_INT, or MIN_INT ; align 16 -_doubleToInt: +doubleToInt: push edx mov eax, dword [esp + 12] ; binary representation of high dword of double mov edx, eax @@ -195,7 +196,7 @@ d2i_done: retn -; _doubleToLong +; doubleToLong ; ; Convert doubles to longs when it has already been determined that the ; double cannot be represented in a long OR if it appears that the @@ -211,7 +212,7 @@ d2i_done: ; ST0 - unchanged ; align 16 -_doubleToLong: +doubleToLong: push ecx sub esp, 8 fst qword [esp] @@ -247,7 +248,7 @@ d2l_done: retn -; _floatToInt +; floatToInt ; ; Convert floats to ints when it has already been determined that the ; float cannot be represented in an int OR if it appears that the float @@ -262,7 +263,7 @@ d2l_done: ; eax - equivalent integer: either 0, MAX_INT, or MIN_INT ; align 16 -_floatToInt: +floatToInt: push edx mov eax, dword [esp+8] ; binary representation of float mov edx, eax @@ -285,7 +286,7 @@ f2i_done: retn -; _floatToLong +; floatToLong ; ; Convert floats to longs when it has already been determined that the ; float cannot be represented in a long OR if it appears that the @@ -301,7 +302,7 @@ f2i_done: ; ST0 - unchanged ; align 16 -_floatToLong:; proc near +floatToLong:; proc near push ecx sub esp, 4 fst dword [esp] @@ -334,7 +335,7 @@ f2l_done: %endif ; TR_HOST_32BIT -; _X87floatRemainder, _X87doubleRemainder +; X87floatRemainder, X87doubleRemainder ; ; Compute the remainder from the division of two floats, or two doubles, ; respectively, using the Intel floating-point partial remainder instruction @@ -352,7 +353,7 @@ f2l_done: ; align 16 -_X87floatRemainder: +X87floatRemainder: %ifdef NO_X87_UNDER_WIN64 int 3 %else @@ -370,7 +371,7 @@ fremloop: %endif align 16 -_X87doubleRemainder: +X87doubleRemainder: %ifdef NO_X87_UNDER_WIN64 int 3 %else @@ -393,7 +394,7 @@ dremloop: ; address. ; align 16 -_SSEfloatRemainderIA32Thunk: +SSEfloatRemainderIA32Thunk: sub rsp, 8 movq qword [rsp], xmm1 cvtss2sd xmm1, dword [rsp +16] ; dividend @@ -410,7 +411,7 @@ _SSEfloatRemainderIA32Thunk: ; address. ; align 16 -_SSEdoubleRemainderIA32Thunk: +SSEdoubleRemainderIA32Thunk: sub rsp, 8 movq qword [rsp], xmm1 movq xmm1, qword [rsp +20] ; dividend @@ -422,7 +423,7 @@ _SSEdoubleRemainderIA32Thunk: align 16 -_SSEfloatRemainder: +SSEfloatRemainder: cvtss2sd xmm0, xmm0 cvtss2sd xmm1, xmm1 call doSSEdoubleRemainder @@ -430,7 +431,7 @@ _SSEfloatRemainder: ret align 16 -_SSEdoubleRemainder: +SSEdoubleRemainder: doSSEdoubleRemainder: %ifdef ASM_J9VM_USE_GOT @@ -718,7 +719,7 @@ LARGE_NUMS: ; Note that the double is assumed to have an exponent >= 32. align 16 -_SSEdouble2LongIA32: +SSEdouble2LongIA32: mov edx, dword [rsp+8] ; load the double into edx:eax mov eax, dword [rsp+4] @@ -833,20 +834,20 @@ SSEd2l_NaN: ; if the number is a NaN, return 0 (note: no %endif -_jitFPHelpersEnd: +jitFPHelpersEnd: eq_J9VMThread_heapAlloc equ J9TR_VMThread_heapAlloc eq_J9VMThread_heapTop equ J9TR_VMThread_heapTop eq_J9VMThread_PrefetchCursor equ J9TR_VMThread_tlhPrefetchFTA - global _prefetchTLH - global _newPrefetchTLH + DECLARE_GLOBAL prefetchTLH + DECLARE_GLOBAL newPrefetchTLH %ifdef ASM_J9VM_GC_TLH_PREFETCH_FTA align 16 -_prefetchTLH: +prefetchTLH: push rcx %ifdef TR_HOST_64BIT @@ -890,7 +891,7 @@ eq_prefetchWindow equ 64*4 eq_prefetchTriggerDistance equ 64*8 align 16 -_newPrefetchTLH: +newPrefetchTLH: push rcx ; preserve push rdx ; preserve @@ -997,16 +998,16 @@ ret %else ; ASM_J9VM_GC_TLH_PREFETCH_FTA align 16 -_prefetchTLH: +prefetchTLH: ret align 16 -_newPrefetchTLH: +newPrefetchTLH: ret %endif ; REALTIME - global _jitReleaseVMAccess + DECLARE_GLOBAL jitReleaseVMAccess %ifndef TR_HOST_64BIT @@ -1016,9 +1017,9 @@ _newPrefetchTLH: ; ; -------------------------------------------------------------------------------- - global _clearFPStack + DECLARE_GLOBAL clearFPStack -_jitReleaseVMAccess: +jitReleaseVMAccess: pusha push ebp mov eax, [ebp+J9TR_VMThread_javaVM] @@ -1035,7 +1036,7 @@ _jitReleaseVMAccess: ; Wipe the entire FP stack without raising any exceptions. ; align 16 -_clearFPStack: +clearFPStack: ffree st0 ffree st1 ffree st2 @@ -1054,7 +1055,7 @@ _clearFPStack: ; ; -------------------------------------------------------------------------------- -_jitReleaseVMAccess: +jitReleaseVMAccess: ; Save system-linkage volatile regs ; GPRs push r11 ; Lin Win diff --git a/runtime/compiler/x/runtime/X86EncodeUTF16.nasm b/runtime/compiler/x/runtime/X86EncodeUTF16.nasm index 0ac795c9310..690ff8ab974 100644 --- a/runtime/compiler/x/runtime/X86EncodeUTF16.nasm +++ b/runtime/compiler/x/runtime/X86EncodeUTF16.nasm @@ -24,13 +24,15 @@ SURROGATE_BITS32 equ 0d800d800h SSE_MIN_CHARS equ 32 +%include "jilconsts.inc" + segment .text - global _encodeUTF16Big - global _encodeUTF16Little + DECLARE_GLOBAL encodeUTF16Big + DECLARE_GLOBAL encodeUTF16Little align 16 -_encodeUTF16Big_shufmask: +encodeUTF16Big_shufmask: dq 0607040502030001h dq 0e0f0c0d0a0b0809h @@ -121,7 +123,7 @@ Laligned16_%1: ; helperName %if %2 ;&bigEndian ; shuffle mask for PSHUFB - movdqa xmm4, oword [rel _encodeUTF16Big_shufmask] + movdqa xmm4, oword [rel encodeUTF16Big_shufmask] %endif L8_at_a_time_%1: ; helperName @@ -179,5 +181,5 @@ Lend_%1: ;&helperName: ; Expand out the two helpers -DefineUTF16EncodeHelper _encodeUTF16Big, 1 -DefineUTF16EncodeHelper _encodeUTF16Little, 0 +DefineUTF16EncodeHelper encodeUTF16Big, 1 +DefineUTF16EncodeHelper encodeUTF16Little, 0 diff --git a/runtime/compiler/x/runtime/X86LockReservation.nasm b/runtime/compiler/x/runtime/X86LockReservation.nasm index 8517249356a..4c44ba16931 100644 --- a/runtime/compiler/x/runtime/X86LockReservation.nasm +++ b/runtime/compiler/x/runtime/X86LockReservation.nasm @@ -20,18 +20,18 @@ %include "jilconsts.inc" - global _jitMonitorEnterReserved - global _jitMonitorEnterReservedPrimitive - global _jitMonitorEnterPreservingReservation - global _jitMethodMonitorEnterReserved - global _jitMethodMonitorEnterReservedPrimitive - global _jitMethodMonitorEnterPreservingReservation - global _jitMonitorExitReserved - global _jitMonitorExitReservedPrimitive - global _jitMonitorExitPreservingReservation - global _jitMethodMonitorExitPreservingReservation - global _jitMethodMonitorExitReserved - global _jitMethodMonitorExitReservedPrimitive + DECLARE_GLOBAL jitMonitorEnterReserved + DECLARE_GLOBAL jitMonitorEnterReservedPrimitive + DECLARE_GLOBAL jitMonitorEnterPreservingReservation + DECLARE_GLOBAL jitMethodMonitorEnterReserved + DECLARE_GLOBAL jitMethodMonitorEnterReservedPrimitive + DECLARE_GLOBAL jitMethodMonitorEnterPreservingReservation + DECLARE_GLOBAL jitMonitorExitReserved + DECLARE_GLOBAL jitMonitorExitReservedPrimitive + DECLARE_GLOBAL jitMonitorExitPreservingReservation + DECLARE_GLOBAL jitMethodMonitorExitPreservingReservation + DECLARE_GLOBAL jitMethodMonitorExitReserved + DECLARE_GLOBAL jitMethodMonitorExitReservedPrimitive %ifdef WINDOWS UseFastCall equ 1 @@ -286,40 +286,40 @@ eq_J9Monitor_CNTFLCClearMask equ 0FFFFFFFFFFFFFF05h segment .text -extern _jitMonitorEntry -extern _jitMethodMonitorEntry -extern _jitMonitorExit -extern _jitMethodMonitorExit +DECLARE_EXTERN jitMonitorEntry +DECLARE_EXTERN jitMethodMonitorEntry +DECLARE_EXTERN jitMonitorExit +DECLARE_EXTERN jitMethodMonitorExit %ifdef TR_HOST_64BIT - entryFallback equ _jitMonitorEntry - methodEntryFallback equ _jitMethodMonitorEntry + entryFallback equ jitMonitorEntry + methodEntryFallback equ jitMethodMonitorEntry %else entryFallback: - ; _jitMonitorEntry won't clean up the extra argument + ; jitMonitorEntry won't clean up the extra argument pop eax mov dword [esp], eax - jmp _jitMonitorEntry + jmp jitMonitorEntry retn methodEntryFallback: - ; _jitMethodMonitorEntry won't clean up the extra argument + ; jitMethodMonitorEntry won't clean up the extra argument pop eax mov dword [esp], eax - jmp _jitMethodMonitorEntry + jmp jitMethodMonitorEntry retn %endif -MonitorReservationFunction _jitMonitorEnterReserved, entryFallback, MonitorEnterReserved -MonitorReservationFunction _jitMethodMonitorEnterReserved, methodEntryFallback, MonitorEnterReserved -MonitorReservationFunction _jitMonitorEnterReservedPrimitive, entryFallback, MonitorEnterReservedPrimitive -MonitorReservationFunction _jitMethodMonitorEnterReservedPrimitive, methodEntryFallback, MonitorEnterReservedPrimitive -MonitorReservationFunction _jitMonitorEnterPreservingReservation, _jitMonitorEntry, MonitorEnterPreservingReservation -MonitorReservationFunction _jitMethodMonitorEnterPreservingReservation, _jitMethodMonitorEntry, MonitorEnterPreservingReservation +MonitorReservationFunction jitMonitorEnterReserved, entryFallback, MonitorEnterReserved +MonitorReservationFunction jitMethodMonitorEnterReserved, methodEntryFallback, MonitorEnterReserved +MonitorReservationFunction jitMonitorEnterReservedPrimitive, entryFallback, MonitorEnterReservedPrimitive +MonitorReservationFunction jitMethodMonitorEnterReservedPrimitive, methodEntryFallback, MonitorEnterReservedPrimitive +MonitorReservationFunction jitMonitorEnterPreservingReservation, jitMonitorEntry, MonitorEnterPreservingReservation +MonitorReservationFunction jitMethodMonitorEnterPreservingReservation, jitMethodMonitorEntry, MonitorEnterPreservingReservation -MonitorReservationFunction _jitMonitorExitReserved, _jitMonitorExit, MonitorExitReserved -MonitorReservationFunction _jitMethodMonitorExitReserved, _jitMethodMonitorExit, MonitorExitReserved -MonitorReservationFunction _jitMonitorExitReservedPrimitive, _jitMonitorExit, MonitorExitReservedPrimitive -MonitorReservationFunction _jitMethodMonitorExitReservedPrimitive, _jitMethodMonitorExit, MonitorExitReservedPrimitive -MonitorReservationFunction _jitMonitorExitPreservingReservation, _jitMonitorExit, MonitorExitPreservingReservation -MonitorReservationFunction _jitMethodMonitorExitPreservingReservation, _jitMethodMonitorExit, MonitorExitPreservingReservation \ No newline at end of file +MonitorReservationFunction jitMonitorExitReserved, jitMonitorExit, MonitorExitReserved +MonitorReservationFunction jitMethodMonitorExitReserved, jitMethodMonitorExit, MonitorExitReserved +MonitorReservationFunction jitMonitorExitReservedPrimitive, jitMonitorExit, MonitorExitReservedPrimitive +MonitorReservationFunction jitMethodMonitorExitReservedPrimitive, jitMethodMonitorExit, MonitorExitReservedPrimitive +MonitorReservationFunction jitMonitorExitPreservingReservation, jitMonitorExit, MonitorExitPreservingReservation +MonitorReservationFunction jitMethodMonitorExitPreservingReservation, jitMethodMonitorExit, MonitorExitPreservingReservation \ No newline at end of file diff --git a/runtime/compiler/x/runtime/X86PicBuilder.nasm b/runtime/compiler/x/runtime/X86PicBuilder.nasm index 3922e589b7d..40294729402 100644 --- a/runtime/compiler/x/runtime/X86PicBuilder.nasm +++ b/runtime/compiler/x/runtime/X86PicBuilder.nasm @@ -33,33 +33,33 @@ segment .text - extern _jitLookupInterfaceMethod - extern _jitResolveInterfaceMethod - extern _jitResolveVirtualMethod - extern _jitCallJitAddPicToPatchOnClassUnload - extern _jitInstanceOf - extern _j2iVirtual - - global _resolveIPicClass - global _populateIPicSlotClass - global _populateIPicSlotCall - global _dispatchInterpretedFromIPicSlot - global _IPicLookupDispatch - - global _resolveVPicClass - global _populateVPicSlotClass - global _populateVPicSlotCall - global _dispatchInterpretedFromVPicSlot - global _populateVPicVTableDispatch - global _resolveAndPopulateVTableDispatch - global _memoryFence + DECLARE_EXTERN jitLookupInterfaceMethod + DECLARE_EXTERN jitResolveInterfaceMethod + DECLARE_EXTERN jitResolveVirtualMethod + DECLARE_EXTERN jitCallJitAddPicToPatchOnClassUnload + DECLARE_EXTERN jitInstanceOf + DECLARE_EXTERN j2iVirtual + + DECLARE_GLOBAL resolveIPicClass + DECLARE_GLOBAL populateIPicSlotClass + DECLARE_GLOBAL populateIPicSlotCall + DECLARE_GLOBAL dispatchInterpretedFromIPicSlot + DECLARE_GLOBAL IPicLookupDispatch + + DECLARE_GLOBAL resolveVPicClass + DECLARE_GLOBAL populateVPicSlotClass + DECLARE_GLOBAL populateVPicSlotCall + DECLARE_GLOBAL dispatchInterpretedFromVPicSlot + DECLARE_GLOBAL populateVPicVTableDispatch + DECLARE_GLOBAL resolveAndPopulateVTableDispatch + DECLARE_GLOBAL memoryFence ; Perform a memory fence. The capabilities of the target architecture must be inspected at runtime ; to determine the appropriate fence instruction to use. ; align 16 -_memoryFence: +memoryFence: push ecx ; preserve mov ecx, [ebp + J9TR_VMThread_javaVM] @@ -108,7 +108,7 @@ dispatchDirectMethod: dispatchDirectMethodInterpreted: lea edx, [eax+J9TR_J9_VTABLE_INDEX_DIRECT_METHOD_FLAG] ; low-tagged J9Method - MoveHelper edi, _j2iVirtual + MoveHelper edi, j2iVirtual mergeDispatchDirectMethod: pop eax ; restore @@ -126,7 +126,7 @@ ret ; across the call to the resolution helper. ; align 16 -_resolveIPicClass: ; proc near +resolveIPicClass: ; proc near push edx ; preserve push edi ; preserve mov edi, dword [esp+8] ; RA in code cache @@ -163,9 +163,9 @@ mergeFindDataBlockForResolveIPicClass: callResolveInterfaceMethod: push edi ; p) jit valid EIP push edx ; p) push the address of the constant pool and cpIndex - CallHelperUseReg _jitResolveInterfaceMethod,eax ; returns interpreter vtable index + CallHelperUseReg jitResolveInterfaceMethod,eax ; returns interpreter vtable index - call _memoryFence ; Ensure IPIC data area drains to memory before proceeding. + call memoryFence ; Ensure IPIC data area drains to memory before proceeding. test dword [edx+eq_IPicData_itableOffset], J9TR_J9_ITABLE_OFFSET_DIRECT jnz typeCheckAndDirectDispatchIPic @@ -187,8 +187,8 @@ callResolveInterfaceMethod: ; Construct the call instruction in edx:eax that should have brought ; us to this helper + the following 3 bytes. ; - MoveHelper eax, _resolveIPicClass - MoveHelper ebx, _populateIPicSlotClass + MoveHelper eax, resolveIPicClass + MoveHelper ebx, populateIPicSlotClass mov edi, dword [esp+20] ; edi = RA in mainline (call to helper) mov edx, dword [edi-1] ; edx = 3 bytes after the call to helper + high byte of disp32 sub eax, edi ; Expected disp32 for call to helper @@ -197,7 +197,7 @@ callResolveInterfaceMethod: mov al, 0e8h ; add CALL opcode ; Construct the byte sequence in ecx:ebx to re-route the call - ; to _populateIPicSlotClass. + ; to populateIPicSlotClass. ; sub ebx, edi ; disp32 to populate snippet mov ecx, edx @@ -262,7 +262,7 @@ ret ; across the call to the lookup helper. ; align 16 -_populateIPicSlotClass: ; proc near +populateIPicSlotClass: ; proc near push edx ; preserve push edi ; preserve mov edi, dword [esp+8] ; RA in code cache @@ -298,7 +298,7 @@ mergePopulateIPicClass: push edx ; p) EA of resolved interface class LoadClassPointerFromObjectHeader eax, eax, eax push eax ; p) receiver class - CallHelperUseReg _jitLookupInterfaceMethod,eax ; returns interpreter vtable offset + CallHelperUseReg jitLookupInterfaceMethod,eax ; returns interpreter vtable offset ; Lookup succeeded--attempt to grab the PIC slot for this receivers class. ; @@ -323,7 +323,7 @@ mergePopulateIPicClass: ; lea esi, [edx-eq_IPicData_interfaceClass] ; esi = EA of IClass in data block - MoveHelper eax, _populateIPicSlotClass + MoveHelper eax, populateIPicSlotClass mov edi, dword [esp+24] ; edi = RA in mainline (call to helper) mov edx, dword [edi-1] ; edx = 3 bytes after the call to helper + high byte of disp32 sub eax, edi ; Expected disp32 for call to snippet @@ -370,7 +370,7 @@ mergePopulateIPicClass: lea edi, [edi-3] ; EA of immediate push edi ; p) address to patch push edx ; p) receivers class - CallHelper _jitCallJitAddPicToPatchOnClassUnload + CallHelper jitCallJitAddPicToPatchOnClassUnload IPicClassSlotUpdateFailed: %endif @@ -400,7 +400,7 @@ ret ; getJitVirtualMethodResolvePushes() across the call to the lookup helper. ; align 16 -_populateIPicSlotCall: +populateIPicSlotCall: push edx ; preserve push edi ; preserve mov edi, dword [esp+8] ; RA in code cache @@ -439,7 +439,7 @@ mergeIPicSlotCall: push edi ; p) jit EIP push edx ; p) EA of resolved interface class push eax ; p) receiver class - CallHelperUseReg _jitLookupInterfaceMethod,eax ; returns interpreter vtable offset + CallHelperUseReg jitLookupInterfaceMethod,eax ; returns interpreter vtable offset mov edx, eax pop eax ; restore receiver push ecx ; preserve @@ -469,7 +469,7 @@ populateLastIPicSlot: jmp mergeIPicSlotCall IPicSlotMethodInterpreted: - MoveHelper ecx, _dispatchInterpretedFromIPicSlot + MoveHelper ecx, dispatchInterpretedFromIPicSlot jmp short mergeUpdateIPicSlotCall ret @@ -481,7 +481,7 @@ ret ; across the call to the lookup helper. ; align 16 -_dispatchInterpretedFromIPicSlot: +dispatchInterpretedFromIPicSlot: push edx ; preserve push edi ; preserve mov edi, dword [esp+8] ; RA in code cache @@ -518,7 +518,7 @@ mergeIPicInterpretedDispatch: push edi ; p) jit EIP push edx ; p) EA of resolved interface class push eax ; p) receiver class - CallHelperUseReg _jitLookupInterfaceMethod,eax ; returns interpreter vtable offset + CallHelperUseReg jitLookupInterfaceMethod,eax ; returns interpreter vtable offset mov edx, eax pop eax ; restore receiver push ecx ; preserve @@ -561,7 +561,7 @@ ret ; across the call to the lookup helper. ; align 16 -_IPicLookupDispatch: +IPicLookupDispatch: push edx ; preserve push edi ; preserve mov edi, dword [esp+8] ; RA in code cache @@ -587,7 +587,7 @@ _IPicLookupDispatch: push edi ; p) jit EIP push edi ; p) EA of resolved interface class in IPic push edx ; p) receiver class - CallHelperUseReg _jitLookupInterfaceMethod,eax ; returns interpreter vtable offset + CallHelperUseReg jitLookupInterfaceMethod,eax ; returns interpreter vtable offset sub eax, J9TR_InterpVTableOffset neg eax ; JIT vtable offset mov edi, [edx+eax] ; target in JIT side vtable @@ -608,14 +608,14 @@ ret ; across the call to the resolution helper. ; align 16 -_resolveVPicClass: +resolveVPicClass: push edx ; preserve push edi ; preserve mov edi, dword [esp+8] ; RA in code cache cmp byte [edi+1], 075h ; is it a short branch? - jnz _resolveVPicClassLongBranch ; no + jnz resolveVPicClassLongBranch ; no lea edi, [edi+9] ; EA of disp8 in JMP ; 9 = 1 + 2 (JNE) + 5 (CALL) + 1 (JMP) @@ -643,7 +643,7 @@ mergeFindDataBlockForResolveVPicClass: push edi ; p) jit valid EIP push edx ; p) push the address of the constant pool and cpIndex - CallHelperUseReg _jitResolveVirtualMethod,eax ; returns compiler vtable index + CallHelperUseReg jitResolveVirtualMethod,eax ; returns compiler vtable index test eax, J9TR_J9_VTABLE_INDEX_DIRECT_METHOD_FLAG jnz resolvedToDirectMethodVPic @@ -665,8 +665,8 @@ mergeFindDataBlockForResolveVPicClass: ; Construct the call instruction in edx:eax that should have brought ; us to this helper + the following 3 bytes. ; - MoveHelper eax, _resolveVPicClass - MoveHelper ebx, _populateVPicSlotClass + MoveHelper eax, resolveVPicClass + MoveHelper ebx, populateVPicSlotClass mov edi, dword [esp+20] ; edi = RA in mainline (call to helper) mov edx, dword [edi-1] ; edx = 3 bytes after the call to helper + high byte of disp32 sub eax, edi ; Expected disp32 for call to helper @@ -675,7 +675,7 @@ mergeFindDataBlockForResolveVPicClass: mov al, 0e8h ; add CALL opcode ; Construct the byte sequence in ecx:ebx to re-route the call - ; to _populateVPicSlotClass. + ; to populateVPicSlotClass. ; sub ebx, edi ; disp32 to populate snippet mov ecx, edx @@ -731,7 +731,7 @@ ret ; across the call to the lookup helper. ; align 16 -_populateVPicSlotClass: +populateVPicSlotClass: push edx ; preserve push edi ; preserve @@ -771,7 +771,7 @@ mergePopulateVPicClass: ; mov esi, edx ; esi = EA of VPic data block - MoveHelper eax, _populateVPicSlotClass + MoveHelper eax, populateVPicSlotClass mov edi, dword [esp+24] ; edi = RA in mainline (call to helper) mov edx, dword [edi-1] ; edx = 3 bytes after the call to helper + high byte of disp32 sub eax, edi ; Expected disp32 for call to snippet @@ -811,7 +811,7 @@ mergePopulateVPicClass: lea edi, [edi-3] ; EA of immediate push edi ; p) address to patch push edx ; p) receivers class - CallHelper _jitCallJitAddPicToPatchOnClassUnload + CallHelper jitCallJitAddPicToPatchOnClassUnload VPicClassSlotUpdateFailed: %endif @@ -838,7 +838,7 @@ ret ; across the call to the lookup helper. ; align 16 -_populateVPicSlotCall: +populateVPicSlotCall: push edx ; preserve push edi ; preserve @@ -869,7 +869,7 @@ mergeVPicSlotCall: ; push edi ; p) jit valid EIP push edx ; p) push the address of the constant pool and cpIndex - CallHelperUseReg _jitResolveVirtualMethod,eax ; returns compiler vtable index + CallHelperUseReg jitResolveVirtualMethod,eax ; returns compiler vtable index mov edx, dword [esp] ; edx = receiver @@ -907,7 +907,7 @@ populateLastVPicSlot: jmp mergeVPicSlotCall VPicSlotMethodInterpreted: - MoveHelper edx, _dispatchInterpretedFromVPicSlot + MoveHelper edx, dispatchInterpretedFromVPicSlot jmp short mergeUpdateVPicSlotCall ret @@ -921,7 +921,7 @@ ret ; across the call to the lookup helper. ; align 16 -_dispatchInterpretedFromVPicSlot: +dispatchInterpretedFromVPicSlot: push edx ; preserve push edi ; preserve @@ -984,7 +984,7 @@ vtableCallNotPatched: lea edx, [edx-eq_VPicData_size] ; edx = EA of VPic data push dword [esp+12] ; p) jit valid EIP push edx ; p) push the address of the constant pool and cpIndex - CallHelperUseReg _jitResolveVirtualMethod,eax ; eax = compiler vtable index + CallHelperUseReg jitResolveVirtualMethod,eax ; eax = compiler vtable index lea edx, [edx+eq_VPicData_size] ; restore edx = EA of vtable dispatch jmp short mergeCheckIfMethodCompiled @@ -998,7 +998,7 @@ ret ; across the call to the resolution helper. ; align 16 -_populateVPicVTableDispatch: +populateVPicVTableDispatch: push edx ; preserve push edi ; preserve @@ -1017,7 +1017,7 @@ _populateVPicVTableDispatch: ; push edi ; p) jit valid EIP push edx ; p) push the address of the constant pool and cpIndex - CallHelperUseReg _jitResolveVirtualMethod,eax ; returns compiler vtable index + CallHelperUseReg jitResolveVirtualMethod,eax ; returns compiler vtable index push ebx ; preserve push ecx ; preserve @@ -1046,7 +1046,7 @@ _populateVPicVTableDispatch: ; Construct the call instruction in edx:eax that should have brought ; us to this helper + the following 3 bytes. ; - MoveHelper eax, _populateVPicVTableDispatch + MoveHelper eax, populateVPicVTableDispatch mov edx, dword [edi-1] ; edx = 3 bytes after the call to helper + high byte of disp32 mov esi, edx ; copy to preserve 3 bytes sub eax, edi ; Expected disp32 for call to helper @@ -1097,7 +1097,7 @@ ret ; branch will ; ; vtableDispatchSnippet: ; push edx -; call _resolveAndPopulateVTableDispatch +; call resolveAndPopulateVTableDispatch ; dd cpAddr ; dd cpIndex ; dw CALL opcode + modRM @@ -1107,7 +1107,7 @@ ret ; branch will ; align 16 -_resolveAndPopulateVTableDispatch: +resolveAndPopulateVTableDispatch: ; edx was preserved prior to the call and is available as a scratch register ; @@ -1125,7 +1125,7 @@ _resolveAndPopulateVTableDispatch: ; push edx ; p) jit valid EIP push edx ; p) push the address of the constant pool and cpIndex - CallHelperUseReg _jitResolveVirtualMethod,eax ; returns compiler vtable index + CallHelperUseReg jitResolveVirtualMethod,eax ; returns compiler vtable index push ebx ; preserve push ecx ; preserve @@ -1210,37 +1210,37 @@ ret ; branch will mispredict s segment .text - global _resolveIPicClass - global _populateIPicSlotClass - global _populateIPicSlotCall - global _dispatchInterpretedFromIPicSlot - global _IPicLookupDispatch + DECLARE_GLOBAL resolveIPicClass + DECLARE_GLOBAL populateIPicSlotClass + DECLARE_GLOBAL populateIPicSlotCall + DECLARE_GLOBAL dispatchInterpretedFromIPicSlot + DECLARE_GLOBAL IPicLookupDispatch - global _resolveVPicClass - global _populateVPicSlotClass - global _populateVPicSlotCall - global _dispatchInterpretedFromVPicSlot - global _populateVPicVTableDispatch + DECLARE_GLOBAL resolveVPicClass + DECLARE_GLOBAL populateVPicSlotClass + DECLARE_GLOBAL populateVPicSlotCall + DECLARE_GLOBAL dispatchInterpretedFromVPicSlot + DECLARE_GLOBAL populateVPicVTableDispatch - extern _jitResolveInterfaceMethod - extern _jitLookupInterfaceMethod - extern _jitResolveVirtualMethod - extern _jitCallCFunction - extern _jitCallJitAddPicToPatchOnClassUnload - extern _jitMethodIsNative - extern _jitInstanceOf + DECLARE_EXTERN jitResolveInterfaceMethod + DECLARE_EXTERN jitLookupInterfaceMethod + DECLARE_EXTERN jitResolveVirtualMethod + DECLARE_EXTERN jitCallCFunction + DECLARE_EXTERN jitCallJitAddPicToPatchOnClassUnload + DECLARE_EXTERN jitMethodIsNative + DECLARE_EXTERN jitInstanceOf - extern _resolveIPicClassHelperIndex - extern _populateIPicSlotClassHelperIndex - extern _dispatchInterpretedFromIPicSlotHelperIndex - extern _resolveVPicClassHelperIndex - extern _populateVPicSlotClassHelperIndex - extern _dispatchInterpretedFromVPicSlotHelperIndex - extern _populateVPicVTableDispatchHelperIndex + DECLARE_EXTERN resolveIPicClassHelperIndex + DECLARE_EXTERN populateIPicSlotClassHelperIndex + DECLARE_EXTERN dispatchInterpretedFromIPicSlotHelperIndex + DECLARE_EXTERN resolveVPicClassHelperIndex + DECLARE_EXTERN populateVPicSlotClassHelperIndex + DECLARE_EXTERN dispatchInterpretedFromVPicSlotHelperIndex + DECLARE_EXTERN populateVPicVTableDispatchHelperIndex - extern _mcc_lookupHelperTrampoline_unwrapper - extern _mcc_reservationInterfaceCache_unwrapper - extern _mcc_callPointPatching_unwrapper + DECLARE_EXTERN mcc_lookupHelperTrampoline_unwrapper + DECLARE_EXTERN mcc_reservationInterfaceCache_unwrapper + DECLARE_EXTERN mcc_callPointPatching_unwrapper @@ -1286,10 +1286,10 @@ selectHelperOrTrampolineDisp32: ; Call MCC service ; - MoveHelper rax, _mcc_lookupHelperTrampoline_unwrapper ; p1) helper address + MoveHelper rax, mcc_lookupHelperTrampoline_unwrapper ; p1) helper address lea rsi, [rsp] ; p2) EA parms in TLS area lea rdx, [rsp+32] ; p3) EA of return value in TLS area - call _jitCallCFunction + call jitCallCFunction add rsp, 32 pop rax ; trampoline address from return area mov rdx, rcx ; restore RA in code cache @@ -1303,20 +1303,20 @@ helperIsReachable: ret %if 0 -(10) mov rdi, 0x0000ffffffffffff call _resolveIPicClass -> _populateIPicSlotClass +(10) mov rdi, 0x0000ffffffffffff call resolveIPicClass -> populateIPicSlotClass (3) cmp rdx, rdi (2) jne checkNextSlot -(5) call devirtualizedTarget call _populateIPicSlotCall +(5) call devirtualizedTarget call populateIPicSlotCall (2) jmp done (2) .align 8 .align 8 checkLastSlot: -(10) mov rdi, 0x0000ffffffffffff call _populateIPicSlotClass +(10) mov rdi, 0x0000ffffffffffff call populateIPicSlotClass (3) cmp rdx, rdi (6) jne lookupDispatchSnippet -(5) call devirtualizedTarget call _populateIPicSlotCall +(5) call devirtualizedTarget call populateIPicSlotCall 0: ret addr to picbuilder 1: arg3 @@ -1379,7 +1379,7 @@ ret ; across the call to the resolution helper. ; align 16 -_resolveIPicClass: +resolveIPicClass: %ifdef ENABLE_PIC_INT3 int 3 @@ -1420,7 +1420,7 @@ mergeResolveIPicClass: callResolveInterfaceMethod: mov rsi, rdi ; p2) jit valid EIP mov rax, rdx ; p1) address of the constant pool and cpIndex - CallHelperUseReg _jitResolveInterfaceMethod,rax ; returns interpreter vtable index + CallHelperUseReg jitResolveInterfaceMethod,rax ; returns interpreter vtable index mfence ; Ensure IPIC data area drains to memory before proceeding. @@ -1431,16 +1431,16 @@ callResolveInterfaceMethod: ; Construct the call instruction in rax that should have brought ; us to this helper + the following 3 bytes. ; - MoveHelper rax, _populateIPicSlotClass ; p1) rax = helper address - LoadHelperIndex esi, _populateIPicSlotClassHelperIndex ; p2) rsi = helper index + MoveHelper rax, populateIPicSlotClass ; p1) rax = helper address + LoadHelperIndex esi, populateIPicSlotClassHelperIndex ; p2) rsi = helper index mov rdx, rdi ; p3) rdx = JIT RA call selectHelperOrTrampolineDisp32 mov rcx, rax shl rcx, 8 mov cl, 0e8h - MoveHelper rax, _resolveIPicClass ; p1) rax = helper address - LoadHelperIndex esi, _resolveIPicClassHelperIndex ; p2) rsi = helper index + MoveHelper rax, resolveIPicClass ; p1) rax = helper address + LoadHelperIndex esi, resolveIPicClassHelperIndex ; p2) rsi = helper index ; p3) rdx = JIT RA call selectHelperOrTrampolineDisp32 shl rax, 8 @@ -1467,7 +1467,7 @@ resolveIPicClassLongBranch: typeCheckAndDirectDispatchIPic: mov rax, qword [rdx+eq_IPicData_interfaceClass] ; p1) interface class mov rsi, qword [rsp+24] ; p2) receiver (saved rax) - CallHelperUseReg _jitInstanceOf, rax + CallHelperUseReg jitInstanceOf, rax test rax, rax jz throwOnFailedTypeCheckIPic @@ -1485,7 +1485,7 @@ throwOnFailedTypeCheckIPic: lea rsi, [rdx+eq_IPicData_interfaceClass] ; p2) rsi = resolved interface class EA mov rcx, rdx ; p4) rcx = address of constant pool and cpIndex mov rdx, qword [rsp+40] ; p3) rdx = jit RIP (saved RA in code cache) - CallHelperUseReg _jitLookupInterfaceMethod, rax ; guaranteed to throw + CallHelperUseReg jitLookupInterfaceMethod, rax ; guaranteed to throw int 3 ret @@ -1497,7 +1497,7 @@ ret ; across the call to the lookup helper. ; align 16 -_populateIPicSlotClass: +populateIPicSlotClass: %ifdef ENABLE_PIC_INT3 int 3 @@ -1536,7 +1536,7 @@ mergePopulateIPicClass: ; p2) rsi = resolved interface class EA ; p3) rdx = jit RIP ; p4) rcx = address of constant pool and cpIndex - CallHelperUseReg _jitLookupInterfaceMethod,rax ; returns interpreter vtable offset + CallHelperUseReg jitLookupInterfaceMethod,rax ; returns interpreter vtable offset mov rdi, rcx ; start of IPIC data @@ -1545,8 +1545,8 @@ mergePopulateIPicClass: ; Construct the call instruction in rax that should have brought ; us to this helper + the following 3 bytes. ; - MoveHelper rax, _populateIPicSlotClass ; p1) rax = helper address - LoadHelperIndex esi, _populateIPicSlotClassHelperIndex ; p2) rsi = helper index + MoveHelper rax, populateIPicSlotClass ; p1) rax = helper address + LoadHelperIndex esi, populateIPicSlotClassHelperIndex ; p2) rsi = helper index ; p3) rdx = JIT RA call selectHelperOrTrampolineDisp32 shl rax, 8 @@ -1578,7 +1578,7 @@ mergePopulateIPicClass: ; p1) rax = receivers class lea rsi, [rdx-3] ; p2) rsi = EA of Imm64 to patch - CallHelper _jitCallJitAddPicToPatchOnClassUnload + CallHelper jitCallJitAddPicToPatchOnClassUnload IPicClassSlotUpdateFailed: %endif @@ -1609,7 +1609,7 @@ ret ; getJitVirtualMethodResolvePushes() across the call to the lookup helper. ; align 16 -_populateIPicSlotCall: +populateIPicSlotCall: %ifdef ENABLE_PIC_INT3 int 3 @@ -1653,7 +1653,7 @@ mergeIPicSlotCall: ; p2) rsi = resolved interface class EA ; p3) rdx = jit RIP ; p4) rcx = address of constant pool and cpIndex - CallHelperUseReg _jitLookupInterfaceMethod,rax ; returns interpreter vtable offset + CallHelperUseReg jitLookupInterfaceMethod,rax ; returns interpreter vtable offset mov rax, qword [rdi+rax] ; rax = J9Method from interpreter vtable test byte [rax + J9TR_MethodPCStartOffset], J9TR_MethodNotCompiledBit ; method compiled? @@ -1666,10 +1666,10 @@ mergeIPicSlotCall: mergeUpdateIPicSlotCallWithCompiledMethod: push rax ; build descriptor : J9Method push rdx ; build descriptor : call site - MoveHelper rax, _mcc_reservationInterfaceCache_unwrapper ; p1) helper + MoveHelper rax, mcc_reservationInterfaceCache_unwrapper ; p1) helper lea rsi, [rsp] ; p2) pointer to args lea rdx, [rsp] ; p3) pointer to return - call _jitCallCFunction + call jitCallCFunction pop rdx ; tear down descriptor pop rax ; tear down descriptor @@ -1702,8 +1702,8 @@ populateIPicSlotCallExit: ret ; branch will mispredict so single-byte RET is ok IPicSlotMethodInterpreted: - MoveHelper rax, _dispatchInterpretedFromIPicSlot ; p1) rax = helper address - LoadHelperIndex esi, _dispatchInterpretedFromIPicSlotHelperIndex ; p2) rsi = helper index + MoveHelper rax, dispatchInterpretedFromIPicSlot ; p1) rax = helper address + LoadHelperIndex esi, dispatchInterpretedFromIPicSlotHelperIndex ; p2) rsi = helper index ; p3) rdx = JIT RA call selectHelperOrTrampolineDisp32 mov ecx, eax ; 32-bit copy because disp32 @@ -1721,10 +1721,10 @@ populateIPicSlotCallWithTrampoline: push rsi ; argsPtr[1] : call site (EA of CALL instruction) push rax ; argsPtr[0] : J9Method - MoveHelper rax, _mcc_callPointPatching_unwrapper ; p1) rax = helper address + MoveHelper rax, mcc_callPointPatching_unwrapper ; p1) rax = helper address lea rsi, [rsp] ; p2) rsi = descriptor EA (args) lea rdx, [rsp] ; p3) rdx = return value (meaningless because call is void) - call _jitCallCFunction + call jitCallCFunction add rsp, 32 jmp populateIPicSlotCallExit @@ -1737,7 +1737,7 @@ ret ; across the call to the lookup helper. ; align 16 -_dispatchInterpretedFromIPicSlot: +dispatchInterpretedFromIPicSlot: %ifdef ENABLE_PIC_INT3 int 3 @@ -1783,7 +1783,7 @@ mergeIPicInterpretedDispatch: ; p2) rsi = resolved interface class EA ; p3) rdx = jit RIP ; p4) rcx = address of constant pool and cpIndex - CallHelperUseReg _jitLookupInterfaceMethod,rax ; returns interpreter vtable offset + CallHelperUseReg jitLookupInterfaceMethod,rax ; returns interpreter vtable offset mov r8, rax mov rax, qword [rdi+rax] ; rax = J9Method from interpreter vtable @@ -1808,7 +1808,7 @@ ret ; across the call to the lookup helper. ; align 16 -_IPicLookupDispatch: +IPicLookupDispatch: %ifdef ENABLE_PIC_INT3 int 3 @@ -1840,7 +1840,7 @@ _IPicLookupDispatch: ; p2) rsi = resolved interface class EA ; p3) rdx = jit RIP ; p4) rcx = address of constant pool and cpIndex - CallHelperUseReg _jitLookupInterfaceMethod,rax ; returns interpreter vtable offset + CallHelperUseReg jitLookupInterfaceMethod,rax ; returns interpreter vtable offset mov r8, rax mergeIPicLookupDispatch: @@ -1866,7 +1866,7 @@ ret ; across the call to the resolution helper. ; align 16 -_resolveVPicClass: +resolveVPicClass: %ifdef ENABLE_PIC_INT3 int 3 @@ -1905,7 +1905,7 @@ mergeResolveVPicClass: mov rax, rdx ; p1) address of the constant pool and cpIndex mov rsi, rdi ; p2) jit valid EIP - CallHelperUseReg _jitResolveVirtualMethod,rax ; returns compiler vtable index, , or (low-tagged) direct J9Method pointer + CallHelperUseReg jitResolveVirtualMethod,rax ; returns compiler vtable index, , or (low-tagged) direct J9Method pointer test rax, J9TR_J9_VTABLE_INDEX_DIRECT_METHOD_FLAG jnz resolvedToDirectMethodVPic @@ -1913,16 +1913,16 @@ mergeResolveVPicClass: ; Construct the call instruction in rax that should have brought ; us to this helper + the following 3 bytes. ; - MoveHelper rax, _populateVPicSlotClass ; p1) rax = helper address - LoadHelperIndex esi, _populateVPicSlotClassHelperIndex ; p2) rsi = helper index + MoveHelper rax, populateVPicSlotClass ; p1) rax = helper address + LoadHelperIndex esi, populateVPicSlotClassHelperIndex ; p2) rsi = helper index mov rdx, rdi ; p3) rdx = JIT RA call selectHelperOrTrampolineDisp32 mov rcx, rax shl rcx, 8 mov cl, 0e8h - MoveHelper rax, _resolveVPicClass ; p1) rax = helper address - LoadHelperIndex esi, _resolveVPicClassHelperIndex ; p2) rsi = helper index + MoveHelper rax, resolveVPicClass ; p1) rax = helper address + LoadHelperIndex esi, resolveVPicClassHelperIndex ; p2) rsi = helper index ; p3) rdx = JIT RA call selectHelperOrTrampolineDisp32 shl rax, 8 @@ -1980,7 +1980,7 @@ ret ; across the call to the lookup helper. ; align 16 -_populateVPicSlotClass: ;proc +populateVPicSlotClass: ;proc %ifdef ENABLE_PIC_INT3 int 3 @@ -2017,8 +2017,8 @@ mergePopulateVPicClass: ; Construct the call instruction in rax that should have brought ; us to this helper + the following 3 bytes. ; - MoveHelper rax, _populateVPicSlotClass ; p1) rax = helper address - LoadHelperIndex esi, _populateVPicSlotClassHelperIndex ; p2) rsi = helper index + MoveHelper rax, populateVPicSlotClass ; p1) rax = helper address + LoadHelperIndex esi, populateVPicSlotClassHelperIndex ; p2) rsi = helper index ; p3) rdx = JIT RA call selectHelperOrTrampolineDisp32 shl rax, 8 @@ -2042,7 +2042,7 @@ mergePopulateVPicClass: ; mov rax, rsi ; p1) rax = receivers class lea rsi, [rdx-3] ; p2) rsi = EA of Imm64 to patch - CallHelper _jitCallJitAddPicToPatchOnClassUnload + CallHelper jitCallJitAddPicToPatchOnClassUnload VPicClassSlotUpdateFailed: %endif @@ -2071,7 +2071,7 @@ ret ; across the call to the lookup helper. ; align 16 -_populateVPicSlotCall: +populateVPicSlotCall: %ifdef ENABLE_PIC_INT3 int 3 @@ -2112,7 +2112,7 @@ mergeVPicSlotCall: ; ; p1) rax = address of constant pool and cpIndex mov rsi, rdx ; p2) rsi = jit valid EIP - CallHelperUseReg _jitResolveVirtualMethod,rax ; returns compiler vtable index + CallHelperUseReg jitResolveVirtualMethod,rax ; returns compiler vtable index ; Check the RAM method to see if the target is compiled. ; @@ -2124,7 +2124,7 @@ mergeVPicSlotCall: ; Now check if the target is a native because they need special handling. ; mov rcx, rax ; rcx = RAM method - CallHelperUseReg _jitMethodIsNative,rax + CallHelperUseReg jitMethodIsNative,rax test rax, rax mov rax, rcx ; restore rax jnz short VPicSlotMethodIsNative @@ -2136,10 +2136,10 @@ mergeVPicSlotCall: mergeUpdateVPicSlotCallWithCompiledMethod: push rax ; build descriptor : J9Method push rdx ; build descriptor : call site - MoveHelper rax, _mcc_reservationInterfaceCache_unwrapper ; p1) helper + MoveHelper rax, mcc_reservationInterfaceCache_unwrapper ; p1) helper lea rsi, [rsp] ; p2) pointer to args lea rdx, [rsp] ; p3) pointer to return - call _jitCallCFunction + call jitCallCFunction pop rdx ; tear down descriptor pop rax ; tear down descriptor @@ -2172,8 +2172,8 @@ populateVPicSlotCallExit: ret ; branch will mispredict so single-byte RET is ok VPicSlotMethodInterpreted: - MoveHelper rax, _dispatchInterpretedFromVPicSlot ; p1) rax = helper address - LoadHelperIndex esi, _dispatchInterpretedFromVPicSlotHelperIndex ; p2) rsi = helper index + MoveHelper rax, dispatchInterpretedFromVPicSlot ; p1) rax = helper address + LoadHelperIndex esi, dispatchInterpretedFromVPicSlotHelperIndex ; p2) rsi = helper index ; p3) rdx = JIT RA call selectHelperOrTrampolineDisp32 mov ecx, eax ; 32-bit copy because disp32 @@ -2221,10 +2221,10 @@ populateVPicSlotCallWithTrampoline: push rsi ; argsPtr[1] : call site (EA of CALL instruction) push rax ; argsPtr[0] : J9Method - MoveHelper rax, _mcc_callPointPatching_unwrapper ; p1) rax = helper address + MoveHelper rax, mcc_callPointPatching_unwrapper ; p1) rax = helper address lea rsi, [rsp] ; p2) rsi = descriptor EA (args) lea rdx, [rsp] ; p3) rdx = return value (meaningless because call is void) - call _jitCallCFunction + call jitCallCFunction add rsp, 32 jmp populateVPicSlotCallExit @@ -2239,7 +2239,7 @@ ret ; across the call to the lookup helper. ; align 16 -_dispatchInterpretedFromVPicSlot: ;proc +dispatchInterpretedFromVPicSlot: ;proc %ifdef ENABLE_PIC_INT3 int 3 @@ -2303,7 +2303,7 @@ mergeCheckIfMethodCompiled: ; they may need special handling. ; mov rcx, rax ; rcx = RAM method - CallHelperUseReg _jitMethodIsNative,rax + CallHelperUseReg jitMethodIsNative,rax test rax, rax mov rax, rcx ; restore rax jz mergeUpdateVPicSlotCallWithCompiledMethod ; branch if not native @@ -2360,7 +2360,7 @@ vtableCallNotPatched: lea rax, [rax-eq_VPicData_size] ; p1) rax = address of constant pool and cpIndex ; -20 = -4 (instr data) - 16 (cpAddr,cpIndex) mov rsi, rdx ; p2) rsi = jit valid EIP - CallHelperUseReg _jitResolveVirtualMethod,rax ; returns compiler vtable index + CallHelperUseReg jitResolveVirtualMethod,rax ; returns compiler vtable index jmp mergeCheckIfMethodCompiled ret @@ -2373,7 +2373,7 @@ ret ; across the call to the lookup helper. ; align 16 -_populateVPicVTableDispatch: +populateVPicVTableDispatch: %ifdef ENABLE_PIC_INT3 int 3 @@ -2404,7 +2404,7 @@ _populateVPicVTableDispatch: mov rdi, rax ; p1) rax = address of constant pool and cpIndex mov rsi, rdx ; p2) rsi = jit valid EIP - CallHelperUseReg _jitResolveVirtualMethod,rax ; returns compiler vtable index + CallHelperUseReg jitResolveVirtualMethod,rax ; returns compiler vtable index ; Construct the indirect call instruction in rcx plus the first ; byte of the direct long jump. @@ -2427,8 +2427,8 @@ mergePopulateVPicVTableDispatch: ; Construct the call instruction in rax that should have brought ; us to this helper + the following 3 bytes. ; - MoveHelper rax, _populateVPicVTableDispatch ; p1) rax = helper address - LoadHelperIndex esi, _populateVPicVTableDispatchHelperIndex ; p2) rsi = helper index + MoveHelper rax, populateVPicVTableDispatch ; p1) rax = helper address + LoadHelperIndex esi, populateVPicVTableDispatchHelperIndex ; p2) rsi = helper index ; p3) rdx = JIT RA call selectHelperOrTrampolineDisp32 shl rax, 8 diff --git a/runtime/compiler/x/runtime/X86Unresolveds.nasm b/runtime/compiler/x/runtime/X86Unresolveds.nasm index 6effa23bf96..29ebc25adcb 100644 --- a/runtime/compiler/x/runtime/X86Unresolveds.nasm +++ b/runtime/compiler/x/runtime/X86Unresolveds.nasm @@ -36,82 +36,82 @@ segment .text - global _interpreterUnresolvedStaticGlue - global _interpreterUnresolvedSpecialGlue - global _updateInterpreterDispatchGlueSite - global _interpreterVoidStaticGlue - global _interpreterSyncVoidStaticGlue - global _interpreterEAXStaticGlue - global _interpreterSyncEAXStaticGlue - global _interpreterEDXEAXStaticGlue - global _interpreterSyncEDXEAXStaticGlue - global _interpreterST0FStaticGlue - global _interpreterSyncST0FStaticGlue - global _interpreterST0DStaticGlue - global _interpreterSyncST0DStaticGlue - - global _interpreterUnresolvedStringGlue - global _interpreterUnresolvedMethodTypeGlue - global _interpreterUnresolvedMethodHandleGlue - global _interpreterUnresolvedCallSiteTableEntryGlue - global _interpreterUnresolvedMethodTypeTableEntryGlue - global _interpreterUnresolvedClassGlue - global _interpreterUnresolvedClassFromStaticFieldGlue - global _interpreterUnresolvedStaticFieldGlue - global _interpreterUnresolvedStaticFieldSetterGlue - global _interpreterUnresolvedFieldGlue - global _interpreterUnresolvedFieldSetterGlue - global _interpreterUnresolvedConstantDynamicGlue - - global _MTUnresolvedInt32Load - global _MTUnresolvedInt64Load - global _MTUnresolvedFloatLoad - global _MTUnresolvedDoubleLoad - global _MTUnresolvedAddressLoad - - global _MTUnresolvedInt32Store - global _MTUnresolvedInt64Store - global _MTUnresolvedFloatStore - global _MTUnresolvedDoubleStore - global _MTUnresolvedAddressStore - - extern _jitResolveStaticMethod - extern _jitResolveSpecialMethod - extern _jitCallCFunction - extern _jitResolveString - extern _jitResolveConstantDynamic - extern _jitResolveMethodType - extern _jitResolveMethodHandle - extern _jitResolveInvokeDynamic - extern _jitResolveHandleMethod - extern _jitResolveClass - extern _jitResolveClassFromStaticField - extern _jitResolveStaticField - extern _jitResolveStaticFieldSetter - extern _jitResolveField - extern _jitResolveFieldSetter + DECLARE_GLOBAL interpreterUnresolvedStaticGlue + DECLARE_GLOBAL interpreterUnresolvedSpecialGlue + DECLARE_GLOBAL updateInterpreterDispatchGlueSite + DECLARE_GLOBAL interpreterVoidStaticGlue + DECLARE_GLOBAL interpreterSyncVoidStaticGlue + DECLARE_GLOBAL interpreterEAXStaticGlue + DECLARE_GLOBAL interpreterSyncEAXStaticGlue + DECLARE_GLOBAL interpreterEDXEAXStaticGlue + DECLARE_GLOBAL interpreterSyncEDXEAXStaticGlue + DECLARE_GLOBAL interpreterST0FStaticGlue + DECLARE_GLOBAL interpreterSyncST0FStaticGlue + DECLARE_GLOBAL interpreterST0DStaticGlue + DECLARE_GLOBAL interpreterSyncST0DStaticGlue + + DECLARE_GLOBAL interpreterUnresolvedStringGlue + DECLARE_GLOBAL interpreterUnresolvedMethodTypeGlue + DECLARE_GLOBAL interpreterUnresolvedMethodHandleGlue + DECLARE_GLOBAL interpreterUnresolvedCallSiteTableEntryGlue + DECLARE_GLOBAL interpreterUnresolvedMethodTypeTableEntryGlue + DECLARE_GLOBAL interpreterUnresolvedClassGlue + DECLARE_GLOBAL interpreterUnresolvedClassFromStaticFieldGlue + DECLARE_GLOBAL interpreterUnresolvedStaticFieldGlue + DECLARE_GLOBAL interpreterUnresolvedStaticFieldSetterGlue + DECLARE_GLOBAL interpreterUnresolvedFieldGlue + DECLARE_GLOBAL interpreterUnresolvedFieldSetterGlue + DECLARE_GLOBAL interpreterUnresolvedConstantDynamicGlue + + DECLARE_GLOBAL MTUnresolvedInt32Load + DECLARE_GLOBAL MTUnresolvedInt64Load + DECLARE_GLOBAL MTUnresolvedFloatLoad + DECLARE_GLOBAL MTUnresolvedDoubleLoad + DECLARE_GLOBAL MTUnresolvedAddressLoad + + DECLARE_GLOBAL MTUnresolvedInt32Store + DECLARE_GLOBAL MTUnresolvedInt64Store + DECLARE_GLOBAL MTUnresolvedFloatStore + DECLARE_GLOBAL MTUnresolvedDoubleStore + DECLARE_GLOBAL MTUnresolvedAddressStore + + DECLARE_EXTERN jitResolveStaticMethod + DECLARE_EXTERN jitResolveSpecialMethod + DECLARE_EXTERN jitCallCFunction + DECLARE_EXTERN jitResolveString + DECLARE_EXTERN jitResolveConstantDynamic + DECLARE_EXTERN jitResolveMethodType + DECLARE_EXTERN jitResolveMethodHandle + DECLARE_EXTERN jitResolveInvokeDynamic + DECLARE_EXTERN jitResolveHandleMethod + DECLARE_EXTERN jitResolveClass + DECLARE_EXTERN jitResolveClassFromStaticField + DECLARE_EXTERN jitResolveStaticField + DECLARE_EXTERN jitResolveStaticFieldSetter + DECLARE_EXTERN jitResolveField + DECLARE_EXTERN jitResolveFieldSetter ;1179 - extern _jitResolvedFieldIsVolatile - - extern _icallVMprJavaSendStatic0 - extern _icallVMprJavaSendStatic1 - extern _icallVMprJavaSendStaticJ - extern _icallVMprJavaSendStaticF - extern _icallVMprJavaSendStaticD - extern _icallVMprJavaSendStaticSync0 - extern _icallVMprJavaSendStaticSync1 - extern _icallVMprJavaSendStaticSyncJ - extern _icallVMprJavaSendStaticSyncF - extern _icallVMprJavaSendStaticSyncD - extern _interpretedDispatchGlueDisp32_unwrapper + DECLARE_EXTERN jitResolvedFieldIsVolatile + + DECLARE_EXTERN icallVMprJavaSendStatic0 + DECLARE_EXTERN icallVMprJavaSendStatic1 + DECLARE_EXTERN icallVMprJavaSendStaticJ + DECLARE_EXTERN icallVMprJavaSendStaticF + DECLARE_EXTERN icallVMprJavaSendStaticD + DECLARE_EXTERN icallVMprJavaSendStaticSync0 + DECLARE_EXTERN icallVMprJavaSendStaticSync1 + DECLARE_EXTERN icallVMprJavaSendStaticSyncJ + DECLARE_EXTERN icallVMprJavaSendStaticSyncF + DECLARE_EXTERN icallVMprJavaSendStaticSyncD + DECLARE_EXTERN interpretedDispatchGlueDisp32_unwrapper %ifdef WINDOWS - extern j9thread_self - extern j9thread_tls_get - extern vmThreadTLSKey:dword + DECLARE_EXTERN j9thread_self + DECLARE_EXTERN j9thread_tls_get + DECLARE_EXTERN vmThreadTLSKey:dword %endif - extern _memoryFence + DECLARE_EXTERN memoryFence %macro CheckIfMethodCompiledAndPatch 1 ; args: helperName @@ -155,7 +155,7 @@ retn ; (5) call interpreterUnresolved{Static|Special}Glue ; replaced with "mov edi, 0xaabbccdd" ; (3) NOP ; --- -; (5) call _updateInterpreterDispatchGlueSite ; replaced with "JMP disp32" +; (5) call updateInterpreterDispatchGlueSite ; replaced with "JMP disp32" ; (2) dw 2-byte glue method helper index ; (4) dd cpAddr ; (4) dd cpIndex @@ -172,7 +172,7 @@ retn ; across the call to the lookup helper. ; align 16 -_interpreterUnresolvedStaticGlue: +interpreterUnresolvedStaticGlue: pop edi ; RA in snippet (see [1] above) push dword [edi+14] ; p3) cpIndex @@ -180,7 +180,7 @@ _interpreterUnresolvedStaticGlue: push dword [edi+10] ; p2) cpAddr ; 10 = 3 (NOP) + 5 (CALL) + 2 (DW) push dword [esp+8] ; p1) RA in mainline code - CallHelperUseReg _jitResolveStaticMethod,eax + CallHelperUseReg jitResolveStaticMethod,eax ; The interpreter may low-tag the result to avoid populating the constant pool--whack it. ; @@ -192,7 +192,7 @@ _interpreterUnresolvedStaticGlue: ; Patch the call that brought us here into a load of the resolved RAM method into EDI. ; mov ebx, eax - MoveHelper eax, _interpreterUnresolvedStaticGlue + MoveHelper eax, interpreterUnresolvedStaticGlue mergeInterpreterUnresolvedDispatch: @@ -234,7 +234,7 @@ mergeInterpreterUnresolvedDispatch: align 16 -_interpreterUnresolvedSpecialGlue: +interpreterUnresolvedSpecialGlue: pop edi ; RA in snippet (see [1] above) push dword [edi+14] ; p3) cpIndex @@ -242,20 +242,20 @@ _interpreterUnresolvedSpecialGlue: push dword [edi+10] ; p2) cpAddr ; 10 = 3 (NOP) + 5 (CALL) + 2 (DW) push dword [esp+8] ; p1) RA in mainline code - CallHelperUseReg _jitResolveSpecialMethod,eax + CallHelperUseReg jitResolveSpecialMethod,eax push ebx ; preserve push ecx ; preserve mov ebx, eax - MoveHelper eax, _interpreterUnresolvedSpecialGlue + MoveHelper eax, interpreterUnresolvedSpecialGlue jmp mergeInterpreterUnresolvedDispatch retn -; _updateInterpreterDispatchGlueSite +; updateInterpreterDispatchGlueSite ; ; Now that a resolved RAM method is available, determine the appropriate interpreter ; dispatch glue code to call and then patch the snippet to jump to it directly. @@ -265,7 +265,7 @@ retn ; [1] The RAM method is in EDI on entry. It was loaded by the preceding instruction. ; align 16 -_updateInterpreterDispatchGlueSite: +updateInterpreterDispatchGlueSite: mov edx, dword [esp] ; edx = snippet RA @@ -276,9 +276,9 @@ _updateInterpreterDispatchGlueSite: push edx ; p3) EA of return value in TLS area lea edx, [esp+4] push edx ; p2) EA parms in TLS area - MoveHelper edx, _interpretedDispatchGlueDisp32_unwrapper + MoveHelper edx, interpretedDispatchGlueDisp32_unwrapper push edx ; p1) helper address - call _jitCallCFunction + call jitCallCFunction add esp, 8 ; tear down descriptor pop eax ; eax = return value (disp32 to dispatch glue) @@ -297,7 +297,7 @@ _updateInterpreterDispatchGlueSite: ; esp+0 : esi ; mov ebx, eax - MoveHelper eax, _updateInterpreterDispatchGlueSite + MoveHelper eax, updateInterpreterDispatchGlueSite ; Construct the call instruction in edx:eax that should have brought ; us to this helper + the following 3 bytes. @@ -348,7 +348,7 @@ checkReferenceVolatility: push edx ; us to this snippet + the following 3 bytes. push esi ; The RA in mainline code - ; _jitResolvedFieldIsVolatile requires us to restore ebp before calling it + ; jitResolvedFieldIsVolatile requires us to restore ebp before calling it ; mov ebp, dword [esp + 28] ; [esp + 4 + 24] @@ -369,7 +369,7 @@ checkReferenceVolatility: ; call the volatile check ; xor eax, eax - CallHelperUseReg _jitResolvedFieldIsVolatile, eax + CallHelperUseReg jitResolvedFieldIsVolatile, eax ;clear ebp which will be used as to tell if we need to patch over a barrier in the mainline code. ; @@ -535,53 +535,53 @@ ret ;1179 align 16 -_interpreterVoidStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStatic0 +interpreterVoidStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStatic0 retn align 16 -_interpreterSyncVoidStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticSync0 +interpreterSyncVoidStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticSync0 retn align 16 -_interpreterEAXStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStatic1 +interpreterEAXStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStatic1 retn align 16 -_interpreterSyncEAXStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticSync1 +interpreterSyncEAXStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticSync1 retn align 16 -_interpreterEDXEAXStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticJ +interpreterEDXEAXStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticJ retn align 16 -_interpreterSyncEDXEAXStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticSyncJ +interpreterSyncEDXEAXStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticSyncJ retn align 16 -_interpreterST0FStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticF +interpreterST0FStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticF retn align 16 -_interpreterSyncST0FStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticSyncF +interpreterSyncST0FStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticSyncF retn align 16 -_interpreterST0DStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticD +interpreterST0DStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticD retn align 16 -_interpreterSyncST0DStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticSyncD +interpreterSyncST0DStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticSyncD retn @@ -741,105 +741,105 @@ retn ; code. ; align 16 -_interpreterUnresolvedStringGlue: +interpreterUnresolvedStringGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveString + DispatchUnresolvedDataHelper jitResolveString ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedConstantDynamicGlue: +interpreterUnresolvedConstantDynamicGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveConstantDynamic + DispatchUnresolvedDataHelper jitResolveConstantDynamic ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedMethodTypeGlue: +interpreterUnresolvedMethodTypeGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveMethodType + DispatchUnresolvedDataHelper jitResolveMethodType ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedMethodHandleGlue: +interpreterUnresolvedMethodHandleGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveMethodHandle + DispatchUnresolvedDataHelper jitResolveMethodHandle ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedCallSiteTableEntryGlue: +interpreterUnresolvedCallSiteTableEntryGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveInvokeDynamic + DispatchUnresolvedDataHelper jitResolveInvokeDynamic ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedMethodTypeTableEntryGlue: +interpreterUnresolvedMethodTypeTableEntryGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveHandleMethod + DispatchUnresolvedDataHelper jitResolveHandleMethod ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedClassGlue: +interpreterUnresolvedClassGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveClass + DispatchUnresolvedDataHelper jitResolveClass ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedClassFromStaticFieldGlue: +interpreterUnresolvedClassFromStaticFieldGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveClassFromStaticField + DispatchUnresolvedDataHelper jitResolveClassFromStaticField ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedStaticFieldGlue: +interpreterUnresolvedStaticFieldGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveStaticField + DispatchUnresolvedDataHelper jitResolveStaticField ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedStaticFieldSetterGlue: +interpreterUnresolvedStaticFieldSetterGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveStaticFieldSetter + DispatchUnresolvedDataHelper jitResolveStaticFieldSetter ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedFieldGlue: +interpreterUnresolvedFieldGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveField + DispatchUnresolvedDataHelper jitResolveField ; int 3 jmp commonUnresolvedCode retn align 16 -_interpreterUnresolvedFieldSetterGlue: +interpreterUnresolvedFieldSetterGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveFieldSetter + DispatchUnresolvedDataHelper jitResolveFieldSetter ; int 3 commonUnresolvedCode: @@ -919,7 +919,7 @@ commonUnresolvedCode: patchDisp32: mov dword [esi+edx+1], edi ; patch the disp32 field in the snippet - call _memoryFence ; make sure all stores crossing a line are issued + call memoryFence ; make sure all stores crossing a line are issued disp32AlreadyPatched: @@ -1073,34 +1073,34 @@ retn -_MTUnresolvedInt32Load: +MTUnresolvedInt32Load: retn -_MTUnresolvedInt64Load: +MTUnresolvedInt64Load: retn -_MTUnresolvedFloatLoad: +MTUnresolvedFloatLoad: retn -_MTUnresolvedDoubleLoad: +MTUnresolvedDoubleLoad: retn -_MTUnresolvedAddressLoad: +MTUnresolvedAddressLoad: retn -_MTUnresolvedInt32Store: +MTUnresolvedInt32Store: retn -_MTUnresolvedInt64Store: +MTUnresolvedInt64Store: retn -_MTUnresolvedFloatStore: +MTUnresolvedFloatStore: retn -_MTUnresolvedDoubleStore: +MTUnresolvedDoubleStore: retn -_MTUnresolvedAddressStore: +MTUnresolvedAddressStore: retn %else @@ -1125,76 +1125,76 @@ eq_offsetof_J9Object_clazz equ 16 ; offset of class pointer in a J9Objec segment .text - global _interpreterUnresolvedStaticGlue - global _interpreterUnresolvedSpecialGlue - global _updateInterpreterDispatchGlueSite - global _interpreterVoidStaticGlue - global _interpreterEAXStaticGlue - global _interpreterRAXStaticGlue - global _interpreterXMM0FStaticGlue - global _interpreterXMM0DStaticGlue - global _interpreterSyncVoidStaticGlue - global _interpreterSyncEAXStaticGlue - global _interpreterSyncRAXStaticGlue - global _interpreterSyncXMM0FStaticGlue - global _interpreterSyncXMM0DStaticGlue - - global _interpreterUnresolvedStringGlue - global _interpreterUnresolvedMethodTypeGlue - global _interpreterUnresolvedMethodHandleGlue - global _interpreterUnresolvedCallSiteTableEntryGlue - global _interpreterUnresolvedMethodTypeTableEntryGlue - global _interpreterUnresolvedClassGlue - global _interpreterUnresolvedClassFromStaticFieldGlue - global _interpreterUnresolvedStaticFieldGlue - global _interpreterUnresolvedStaticFieldSetterGlue - global _interpreterUnresolvedFieldGlue - global _interpreterUnresolvedFieldSetterGlue - global _interpreterUnresolvedConstantDynamicGlue - - global _MTUnresolvedInt32Load - global _MTUnresolvedInt64Load - global _MTUnresolvedFloatLoad - global _MTUnresolvedDoubleLoad - global _MTUnresolvedAddressLoad - - global _MTUnresolvedInt32Store - global _MTUnresolvedInt64Store - global _MTUnresolvedFloatStore - global _MTUnresolvedDoubleStore - global _MTUnresolvedAddressStore - - extern _jitResolveStaticMethod - extern _jitResolveSpecialMethod - extern _jitCallCFunction - extern _jitResolveString - extern _jitResolveConstantDynamic - extern _jitResolveMethodType - extern _jitResolveMethodHandle - extern _jitResolveInvokeDynamic - extern _jitResolveHandleMethod - extern _jitResolveClass - extern _jitResolveClassFromStaticField - extern _jitResolveStaticField - extern _jitResolveStaticFieldSetter - extern _jitResolveField - extern _jitResolveFieldSetter + DECLARE_GLOBAL interpreterUnresolvedStaticGlue + DECLARE_GLOBAL interpreterUnresolvedSpecialGlue + DECLARE_GLOBAL updateInterpreterDispatchGlueSite + DECLARE_GLOBAL interpreterVoidStaticGlue + DECLARE_GLOBAL interpreterEAXStaticGlue + DECLARE_GLOBAL interpreterRAXStaticGlue + DECLARE_GLOBAL interpreterXMM0FStaticGlue + DECLARE_GLOBAL interpreterXMM0DStaticGlue + DECLARE_GLOBAL interpreterSyncVoidStaticGlue + DECLARE_GLOBAL interpreterSyncEAXStaticGlue + DECLARE_GLOBAL interpreterSyncRAXStaticGlue + DECLARE_GLOBAL interpreterSyncXMM0FStaticGlue + DECLARE_GLOBAL interpreterSyncXMM0DStaticGlue + + DECLARE_GLOBAL interpreterUnresolvedStringGlue + DECLARE_GLOBAL interpreterUnresolvedMethodTypeGlue + DECLARE_GLOBAL interpreterUnresolvedMethodHandleGlue + DECLARE_GLOBAL interpreterUnresolvedCallSiteTableEntryGlue + DECLARE_GLOBAL interpreterUnresolvedMethodTypeTableEntryGlue + DECLARE_GLOBAL interpreterUnresolvedClassGlue + DECLARE_GLOBAL interpreterUnresolvedClassFromStaticFieldGlue + DECLARE_GLOBAL interpreterUnresolvedStaticFieldGlue + DECLARE_GLOBAL interpreterUnresolvedStaticFieldSetterGlue + DECLARE_GLOBAL interpreterUnresolvedFieldGlue + DECLARE_GLOBAL interpreterUnresolvedFieldSetterGlue + DECLARE_GLOBAL interpreterUnresolvedConstantDynamicGlue + + DECLARE_GLOBAL MTUnresolvedInt32Load + DECLARE_GLOBAL MTUnresolvedInt64Load + DECLARE_GLOBAL MTUnresolvedFloatLoad + DECLARE_GLOBAL MTUnresolvedDoubleLoad + DECLARE_GLOBAL MTUnresolvedAddressLoad + + DECLARE_GLOBAL MTUnresolvedInt32Store + DECLARE_GLOBAL MTUnresolvedInt64Store + DECLARE_GLOBAL MTUnresolvedFloatStore + DECLARE_GLOBAL MTUnresolvedDoubleStore + DECLARE_GLOBAL MTUnresolvedAddressStore + + DECLARE_EXTERN jitResolveStaticMethod + DECLARE_EXTERN jitResolveSpecialMethod + DECLARE_EXTERN jitCallCFunction + DECLARE_EXTERN jitResolveString + DECLARE_EXTERN jitResolveConstantDynamic + DECLARE_EXTERN jitResolveMethodType + DECLARE_EXTERN jitResolveMethodHandle + DECLARE_EXTERN jitResolveInvokeDynamic + DECLARE_EXTERN jitResolveHandleMethod + DECLARE_EXTERN jitResolveClass + DECLARE_EXTERN jitResolveClassFromStaticField + DECLARE_EXTERN jitResolveStaticField + DECLARE_EXTERN jitResolveStaticFieldSetter + DECLARE_EXTERN jitResolveField + DECLARE_EXTERN jitResolveFieldSetter ;1179 - extern _jitResolvedFieldIsVolatile + DECLARE_EXTERN jitResolvedFieldIsVolatile - extern _icallVMprJavaSendStatic0 - extern _icallVMprJavaSendStatic1 - extern _icallVMprJavaSendStaticJ - extern _icallVMprJavaSendStaticF - extern _icallVMprJavaSendStaticD - extern _icallVMprJavaSendStaticSync0 - extern _icallVMprJavaSendStaticSync1 - extern _icallVMprJavaSendStaticSyncJ - extern _icallVMprJavaSendStaticSyncF - extern _icallVMprJavaSendStaticSyncD + DECLARE_EXTERN icallVMprJavaSendStatic0 + DECLARE_EXTERN icallVMprJavaSendStatic1 + DECLARE_EXTERN icallVMprJavaSendStaticJ + DECLARE_EXTERN icallVMprJavaSendStaticF + DECLARE_EXTERN icallVMprJavaSendStaticD + DECLARE_EXTERN icallVMprJavaSendStaticSync0 + DECLARE_EXTERN icallVMprJavaSendStaticSync1 + DECLARE_EXTERN icallVMprJavaSendStaticSyncJ + DECLARE_EXTERN icallVMprJavaSendStaticSyncF + DECLARE_EXTERN icallVMprJavaSendStaticSyncD - extern _adjustTrampolineInterpretedDispatchGlueDisp32_unwrapper - extern _mcc_callPointPatching_unwrapper + DECLARE_EXTERN adjustTrampolineInterpretedDispatchGlueDisp32_unwrapper + DECLARE_EXTERN mcc_callPointPatching_unwrapper %macro CheckIfMethodCompiledAndPatch 1 ; helperName @@ -1212,7 +1212,7 @@ segment .text ; The unresolved {Static|Special} interpreted dispatch snippet look like: ; align 8 ; (10) call interpreterUnresolved{Static|Special}Glue ; replaced with "mov rdi, 0x0000aabbccddeeff" -; (5) call _updateInterpreterDispatchGlueSite ; replaced with "JMP disp32" +; (5) call updateInterpreterDispatchGlueSite ; replaced with "JMP disp32" ; (2) dw 2-byte glue method helper index ; (8) dq cpAddr ; (4) dd cpIndex @@ -1234,7 +1234,7 @@ segment .text ; across the call to the lookup helper. ; align 16 -_interpreterUnresolvedStaticGlue: +interpreterUnresolvedStaticGlue: pop rdi ; RA in snippet (see [2] above) ; Attempt to resolve static method. @@ -1244,7 +1244,7 @@ _interpreterUnresolvedStaticGlue: ; 12 = 5 + 5 (call update) + 2 (DW) mov edx, dword [rdi+20] ; p3) rdx = cpIndex ; 20 = 5 + 5 (call update) + 2 (DW) + 8 (cpAddr) - CallHelperUseReg _jitResolveStaticMethod,rax + CallHelperUseReg jitResolveStaticMethod,rax ; The interpreter may low-tag the result to avoid populating the constant pool--whack it. ; @@ -1268,7 +1268,7 @@ ret align 16 -_interpreterUnresolvedSpecialGlue: +interpreterUnresolvedSpecialGlue: pop rdi ; RA in snippet ; Attempt to resolve special method. @@ -1278,13 +1278,13 @@ _interpreterUnresolvedSpecialGlue: ; 12 = 5 + 5 (call update) + 2 (DW) mov edx, dword [rdi+20] ; p3) rdx = cpIndex ; 20 = 5 + 5 (call update) + 2 (DW) + 8 (cpAddr) - CallHelperUseReg _jitResolveSpecialMethod,rax + CallHelperUseReg jitResolveSpecialMethod,rax jmp mergeInterpreterUnresolvedDispatch ret -; _updateInterpreterDispatchGlueSite +; updateInterpreterDispatchGlueSite ; ; Now that a resolved RAM method is available, determine the appropriate interpreter ; dispatch glue code to call and then patch the snippet to jump to it directly (or @@ -1300,7 +1300,7 @@ ret ; already occured at this point. ; align 16 -_updateInterpreterDispatchGlueSite: +updateInterpreterDispatchGlueSite: mov rcx, qword [rsp] ; rcx = snippet RA sub rsp, 8 ; descriptor+32: return value @@ -1310,10 +1310,10 @@ _updateInterpreterDispatchGlueSite: mov rdx, qword [rcx+2] ; 2 = (DW index) push rdx ; descriptor+8: cpAddr push rdi ; descriptor+0: RAM method - MoveHelper rax, _adjustTrampolineInterpretedDispatchGlueDisp32_unwrapper ; p1) helper address + MoveHelper rax, adjustTrampolineInterpretedDispatchGlueDisp32_unwrapper ; p1) helper address lea rsi, [rsp] ; p2) EA parms in TLS area lea rdx, [rsp+32] ; p3) EA of return value in TLS area - call _jitCallCFunction + call jitCallCFunction add rsp, 32 ; tear down descriptor pop rax ; rax = return value (disp32) @@ -1368,10 +1368,10 @@ mergedStaticGlueCallFixer2: push rcx ; descriptor+16: compiled method PC push rsi ; descriptor+8: call site push rdi ; descriptor+0: RAM method - MoveHelper rax, _mcc_callPointPatching_unwrapper ; p1) rax = helper + MoveHelper rax, mcc_callPointPatching_unwrapper ; p1) rax = helper lea rsi, [rsp] ; p2) rsi = EA of descriptor lea rdx, [rsp] ; p3) rdx = EA of return value - call _jitCallCFunction + call jitCallCFunction add rsp, 32 ; tear down descriptor jmp rcx ; Dispatch compiled method through the interpreted entry ; point. This is because the linkage registers may not be @@ -1389,53 +1389,53 @@ ret ; compiled method directly. ; align 16 -_interpreterVoidStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStatic0 +interpreterVoidStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStatic0 ret align 16 -_interpreterSyncVoidStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticSync0 +interpreterSyncVoidStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticSync0 ret align 16 -_interpreterEAXStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStatic1 +interpreterEAXStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStatic1 ret align 16 -_interpreterSyncEAXStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticSync1 +interpreterSyncEAXStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticSync1 ret align 16 -_interpreterRAXStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticJ +interpreterRAXStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticJ ret align 16 -_interpreterSyncRAXStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticSyncJ +interpreterSyncRAXStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticSyncJ ret align 16 -_interpreterXMM0FStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticF +interpreterXMM0FStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticF ret align 16 -_interpreterSyncXMM0FStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticSyncF +interpreterSyncXMM0FStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticSyncF ret align 16 -_interpreterXMM0DStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticD +interpreterXMM0DStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticD ret align 16 -_interpreterSyncXMM0DStaticGlue: - CheckIfMethodCompiledAndPatch _icallVMprJavaSendStaticSyncD +interpreterSyncXMM0DStaticGlue: + CheckIfMethodCompiledAndPatch icallVMprJavaSendStaticSyncD ret @@ -1549,7 +1549,7 @@ checkReferenceVolatility: push rbx push r9 - ; _jitResolvedFieldIsVolatile requires us to restore ebp before calling it + ; jitResolvedFieldIsVolatile requires us to restore ebp before calling it ; mov rbp, qword [rsp + 240] ; [rsp + 176 + 8 + 56] ; [rsp + rbp stack slot + proc RA + local reg preservation] @@ -1565,7 +1565,7 @@ checkReferenceVolatility: ; call the volatile check ; - CallHelperUseReg _jitResolvedFieldIsVolatile,rax + CallHelperUseReg jitResolvedFieldIsVolatile,rax ; if this field is not volatile, patch the barrier with a nop ; @@ -1765,104 +1765,104 @@ ret ; across the resolution helper. align 16 -_interpreterUnresolvedStringGlue: +interpreterUnresolvedStringGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveString + DispatchUnresolvedDataHelper jitResolveString ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedConstantDynamicGlue: +interpreterUnresolvedConstantDynamicGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveConstantDynamic + DispatchUnresolvedDataHelper jitResolveConstantDynamic ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedMethodTypeGlue: +interpreterUnresolvedMethodTypeGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveMethodType + DispatchUnresolvedDataHelper jitResolveMethodType ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedMethodHandleGlue: +interpreterUnresolvedMethodHandleGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveMethodHandle + DispatchUnresolvedDataHelper jitResolveMethodHandle ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedCallSiteTableEntryGlue: +interpreterUnresolvedCallSiteTableEntryGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveInvokeDynamic + DispatchUnresolvedDataHelper jitResolveInvokeDynamic ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedMethodTypeTableEntryGlue: +interpreterUnresolvedMethodTypeTableEntryGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveHandleMethod + DispatchUnresolvedDataHelper jitResolveHandleMethod ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedClassGlue: +interpreterUnresolvedClassGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveClass + DispatchUnresolvedDataHelper jitResolveClass ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedClassFromStaticFieldGlue: +interpreterUnresolvedClassFromStaticFieldGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveClassFromStaticField + DispatchUnresolvedDataHelper jitResolveClassFromStaticField ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedStaticFieldGlue: +interpreterUnresolvedStaticFieldGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveStaticField + DispatchUnresolvedDataHelper jitResolveStaticField ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedStaticFieldSetterGlue: +interpreterUnresolvedStaticFieldSetterGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveStaticFieldSetter + DispatchUnresolvedDataHelper jitResolveStaticFieldSetter ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedFieldGlue: +interpreterUnresolvedFieldGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveField + DispatchUnresolvedDataHelper jitResolveField ; int 3 jmp commonUnresolvedCode ret align 16 -_interpreterUnresolvedFieldSetterGlue: +interpreterUnresolvedFieldSetterGlue: DataResolvePrologue - DispatchUnresolvedDataHelper _jitResolveFieldSetter + DispatchUnresolvedDataHelper jitResolveFieldSetter ; int 3 commonUnresolvedCode: @@ -2040,34 +2040,34 @@ noVolatileCheck4Byte: ret -_MTUnresolvedInt32Load: +MTUnresolvedInt32Load: ret -_MTUnresolvedInt64Load: +MTUnresolvedInt64Load: ret -_MTUnresolvedFloatLoad: +MTUnresolvedFloatLoad: ret -_MTUnresolvedDoubleLoad: +MTUnresolvedDoubleLoad: ret -_MTUnresolvedAddressLoad: +MTUnresolvedAddressLoad: ret -_MTUnresolvedInt32Store: +MTUnresolvedInt32Store: ret -_MTUnresolvedInt64Store: +MTUnresolvedInt64Store: ret -_MTUnresolvedFloatStore: +MTUnresolvedFloatStore: ret -_MTUnresolvedDoubleStore: +MTUnresolvedDoubleStore: ret -_MTUnresolvedAddressStore: +MTUnresolvedAddressStore: ret %endif