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/11/09 17:00:50 UTC
[jira] Reopened: (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 reopened HARMONY-5035:
--------------------------------------
I've checked the bug with r593136, it still appears.
Both FieldModificationTest and FieldModification002Test JPDA tests still fail on x86_64.
JITted code of method calling rt_helper_ti_field_modification stub is below.
5th parameter is still rewritten with one of first 4 parameters:
------------Windows---------------
00000000064F0080 lea rdx,[rbp-220h]
00000000064F0087 sub rsp,8
00000000064F008B mov rcx,5A25C30h
00000000064F0095 mov rdx,5A260C0h
00000000064F009F mov r8,1
00000000064F00A9 mov r9,0
00000000064F00B3 mov qword ptr [rsp],rdx
00000000064F00B7 mov dword ptr [rbp-214h],1
00000000064F00C1 mov dword ptr [rbp-218h],1
00000000064F00CB mov r10,2AB7AE0h
00000000064F00D5 call r10
00000000064F00D8 add rsp,8
----------------------------------------
---------------Linux------------------
0x2aaabe2fd080: lea 0xfffffffffffffde0(%rbp),%rdx
0x2aaabe2fd087: sub $0x8,%rsp
0x2aaabe2fd08b: mov $0xf7bf30,%rdi
0x2aaabe2fd095: mov $0xf80550,%rsi
0x2aaabe2fd09f: mov $0x1,%rdx
0x2aaabe2fd0a9: mov $0x0,%rcx
0x2aaabe2fd0b3: mov %rdx,%r8
0x2aaabe2fd0b6: movl $0x1,0xfffffffffffffdec(%rbp)
0x2aaabe2fd0c0: movl $0x1,0xfffffffffffffde8(%rbp)
0x2aaabe2fd0ca: mov $0x2aaaac2bd500,%r9
0x2aaabe2fd0d4: rex64Z callq *%r9
0x2aaabe2fd0d7: add $0x8,%rsp
----------------------------------------
> [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
> Assignee: Alexey Varlamov
>
> 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.