harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gregory Shimansky (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-4953) [drlvm][jet][jvmti] Wrong order of arguments for rt_helper_ti_method_exit on ia32 architecture
Date Tue, 16 Oct 2007 16:42:50 GMT
[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