harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Afremov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-4953) [drlvm][jet][jvmti] Wrong order of arguments for rt_helper_ti_method_exit on ia32 architecture
Date Tue, 06 Nov 2007 13:44:50 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-4953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12540436
] 

Pavel Afremov commented on HARMONY-4953:
----------------------------------------

Rotations of helpers parametrs are in two places in VM code oly:
	...\vm\vmcore\src\jit\jit_runtime_support.cpp(208):   "o1=i0;"
	...\vm\vmcore\src\jit\jit_runtime_support.cpp(1670): "o1=i0;"
I think we shoul declare rth_ldc_ref_helper and jvmti_method_exit_callback_ptr as stdcall
and use  in2out platform:void; instead "o0=i1;" "o1=i0;" code.


> [drlvm][jet][jvmti] Wrong order of arguments for rt_helper_ti_method_exit on ia32 architecture
> ----------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4953
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4953
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Gregory Shimansky
>            Priority: Minor
>
> I've just found a funny place in the code. The stub that calls callback jvmti_method_exit_callback
has the following code in jit_runtime_support.cpp:
>         "o0=i1;"
>         "o1=i0;"
> This code swaps input arguments to pass them to jvmti_method_exit_callback function.
On ia32 it works correctly, so I assume that JET generated code pushes these arguments in
a wrong mode that requires swapping.
> On EM64T arguments are pushed in correct order, 1st one in RDI, 2nd one in RSI, but stub
(without modifications) swaps them and this makes jvmti_method_exit_callback receive its arguments
in wrong order. I had to make a fix for this problem for EM64T to pass arguments in correct
order without swapping, so event now works correctly. My fix is committed at 585194. To fix
this bug completely it is necessary to fix JET so that it pass arguments in correct order
to the helper stub.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message