harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr (JIRA)" <j...@apache.org>
Subject [jira] Assigned: (HARMONY-1681) [drlvm][jvmti]{set|get}local variable may work incorrectly under Jitrino.JET
Date Fri, 06 Oct 2006 16:35:24 GMT
     [ http://issues.apache.org/jira/browse/HARMONY-1681?page=all ]

Geir Magnusson Jr reassigned HARMONY-1681:

    Assignee: Geir Magnusson Jr

> [drlvm][jvmti]{set|get}local variable may work incorrectly under Jitrino.JET
> ----------------------------------------------------------------------------
>                 Key: HARMONY-1681
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1681
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Assigned To: Geir Magnusson Jr
>         Attachments: jvmti_set_get_local.patch, jvmti_set_get_local.patch, jvmti_set_get_local.patch.nocrlf
> The problem: 
> Implementation of set/get local variable in .jet only operates with 
> the local variables in method's stack frame (in memory). It does not 
> work if a variable is stored on a register.
> Normaly, Jitrino.JET does not allocate registers for local variables
> globally when running under JVMTI. 
> However, many operations may reuest temporary register and store a 
> value on it. For example:
>     INVOKExxx foo()I ; returned value is now in EAX
>     ISTORE_x         ; local#x is now on EAX
>     <do_something>   ; <=get_local_var(x) will get a wrong value here
> The solution:
> To handle such situations, code generator must spill out all registers
> after each bytecode instruction.
> The attached fix does it.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message