324325326327328329330331332333334
case SSHORT: a.movsx(rax, ax); break; case USHORT: a.movzx(rax, ax); break; case SINT: if (long.class == resultClass) a.movsxd(rax, eax); break;
134135136137138139140141142143144
a.movsx(eax, ptr(esp, disp, parameterTypes[i].nativeType)); break; case UCHAR: case USHORT: a.movzx(eax, ptr(esp, disp, parameterTypes[i].nativeType)); break; default: a.mov(eax, dword_ptr(esp, disp)); break;
209210211212213214215216217218219
case SCHAR: a.movsx(eax, byte_ptr(esp, save)); break; case UCHAR: a.movzx(eax, byte_ptr(esp, save)); break; case SSHORT: a.movsx(eax, word_ptr(esp, save)); break;
217218219220221222223224225226227
case SSHORT: a.movsx(eax, word_ptr(esp, save)); break; case USHORT: a.movzx(eax, word_ptr(esp, save)); break; case SLONGLONG: case ULONGLONG: a.mov(eax, dword_ptr(esp, save));
242243244245246247248249250251252
case SCHAR: a.movsx(eax, al); break; case UCHAR: a.movzx(eax, al); break; case SSHORT: a.movsx(eax, ax); break;
250251252253254255256257258259260
case SSHORT: a.movsx(eax, ax); break; case USHORT: a.movzx(eax, ax); break; } } if (long.class == resultClass) {
138139140141142143144145146147148
a.movsx(eax, ptr(esp, disp, parameterTypes[i].getNativeType())); break; case UCHAR: case USHORT: a.movzx(eax, ptr(esp, disp, parameterTypes[i].getNativeType())); break; default: a.mov(eax, dword_ptr(esp, disp)); break;
213214215216217218219220221222223
221222223224225226227228229230231
246247248249250251252253254255256