You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ilya Berezhniuk (JIRA)" <ji...@apache.org> on 2007/10/29 17:13:50 UTC
[jira] Updated: (HARMONY-5035) [drlvm][jit][JET] Parameters are
passed incorrectly to rt_helper_ti_field_modification stub
[ https://issues.apache.org/jira/browse/HARMONY-5035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Berezhniuk updated HARMONY-5035:
-------------------------------------
Summary: [drlvm][jit][JET] Parameters are passed incorrectly to rt_helper_ti_field_modification stub (was: [drlvm][jit][x86_64][JET] Parameters are passed incorrectly to rt_helper_ti_field_modification stub)
> [drlvm][jit][JET] Parameters are passed incorrectly to rt_helper_ti_field_modification stub
> -------------------------------------------------------------------------------------------
>
> Key: HARMONY-5035
> URL: https://issues.apache.org/jira/browse/HARMONY-5035
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: x86_64
> Reporter: Ilya Berezhniuk
>
> JET passes parameters incorrectly when calling rt_helper_ti_field_modification TI stub on x86_64.
> This prevents jvmti_field_modification_callback from working correctly.
> This problem appears on both Windows and Linux.
> The following code is generated:
> ------------Windows---------------
> 0000000005AE02D9 lea rcx,[rbp-230h]
> 0000000005AE02E0 sub rsp,10h
> 0000000005AE02E4 mov rcx,537ED70h
> 0000000005AE02EE mov rdx,537F0C8h
> 0000000005AE02F8 mov r8,0Fh
> 0000000005AE0302 mov r9,0
> 0000000005AE030C mov qword ptr [rsp],rcx
> 0000000005AE0310 mov r10,2AB7AE0h
> 0000000005AE031A call r10
> 0000000005AE031D add rsp,10h
> ----------------------------------------
> ---------------Linux------------------
> 0x2aaabe2fa041: movl $0xad788000,0xfffffffffffffde0(%rbp)
> .............................
> 0x2aaabe2fa080: lea 0xfffffffffffffde0(%rbp),%rdx
> 0x2aaabe2fa087: mov $0xf09990,%rdi
> 0x2aaabe2fa091: mov $0xf278a0,%rsi
> 0x2aaabe2fa09b: mov $0x1,%rdx
> 0x2aaabe2fa0a5: mov $0x0,%rcx
> 0x2aaabe2fa0af: mov %rdx,%r8
> 0x2aaabe2fa0b2: movl $0x1,0xfffffffffffffdec(%rbp)
> 0x2aaabe2fa0bc: movl $0x1,0xfffffffffffffde8(%rbp)
> 0x2aaabe2fa0c6: mov $0x2aaaac2bf480,%r9
> 0x2aaabe2fa0d0: rex64Z callq *%r9
> ----------------------------------------
> On Windows RCX register holding an address of new field value is reassigned before storing it to stack .
> On Linux RDX register is reassigned before storing its value to R8 register.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.