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.