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-1555) [drlvm] [jvmti] Bugfixing single step and breakpoints for JIT and interpreter
Date Fri, 22 Sep 2006 23:48:22 GMT
[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
         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


View raw message