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-1555) [drlvm] [jvmti] Bugfixing single step and breakpoints for JIT and interpreter
Date Sat, 23 Sep 2006 14:21:28 GMT
     [ http://issues.apache.org/jira/browse/HARMONY-1555?page=all ]

Geir Magnusson Jr reassigned HARMONY-1555:
------------------------------------------

    Assignee: Geir Magnusson Jr

> [drlvm] [jvmti] Bugfixing single step and breakpoints for JIT and interpreter
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-1555
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1555
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Gregory Shimansky
>         Assigned To: Geir Magnusson Jr
>         Attachments: JVMTI-fixes-for-single-step.patch
>
>
> After lots of merging with other submitted JIRAs I've created this patch to bind them
all :). I can now step in when debugging a simple application in eclipse on JIT!!
> The following problems were fixed in this patch:
> - Fixed raise area status for calling method_exit from exception throwing function
> - Fixed next bytecode prediction from native code.The bytecode which should be marked
for single stepping should be the next one after the currently stopped in Java
> - Fixed single stepping in interpreter. Single step flag should be cleared for every
bytecode. Also created M2N transition for many JVMTI calls into VM like field watching, breakpoint
and single step.
> - Fixed prediction of invokevirtual and invokeinterface bytecodes. This is a very tricky
part, it parses the JIT generated code
> - Fixed prediction of return bytecodes which may return to a tail of invoke* instruction
based on information from stack_iterator
> - Fixed disassembler to ignore AL, XMM and other registers which aren't needed
> - Fixed disassembler constructors to initialize all fields
> - Changed disassembler interface to allow getting register information for parsed instruction
> - Fixed NT debugging style from int3 to CLI which eases debugging JVMTI breakpoints under
VS.NET debugger. This is by far more convenient when debugging the debugger because otherwise
VC.NET studio reacts to int3 as if it is a runtime breakpoint and doesn't allow the application
to receive the exception.
> - Fixed class loader class_get_method_from_vt_offset function to return correct information
> - Fixed breakpoints implementation to work correctly for indirect jump/call. This is
also a tricky part, it parses code for invokevirtual bytecode which VM generates.
> - Added missing synchronization locks for interprter handler of breakpoints
> On interpreter stepping seems to work ok (to use interpreter specify -Xint in VM option
in debugging dialog). Step out on JIT still doesn't work however...
> To let eclipse debugging it is necessary to build JDWP agent in HARMONY-1410 and place
DLL/lib*.so files in drlvm bin directory.

-- 
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

        

Mime
View raw message