You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Mikhail Loenko (JIRA)" <ji...@apache.org> on 2007/10/26 08:56:50 UTC

[jira] Commented: (HARMONY-4689) [drlvm][jvmti] JVMTI Extension: Native Code Access Interface (NCAI) implementation

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

Mikhail Loenko commented on HARMONY-4689:
-----------------------------------------

vote passed

> [drlvm][jvmti] JVMTI Extension: Native Code Access Interface (NCAI) implementation
> ----------------------------------------------------------------------------------
>
>                 Key: HARMONY-4689
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4689
>             Project: Harmony
>          Issue Type: New Feature
>          Components: Contributions, DRLVM
>            Reporter: Ilya Berezhniuk
>         Attachments: ncai_bulk.zip
>
>
> The contribution consists of the following component: 
>   - Native Code Access Interface (NCAI) implementation
> JVMTI enables debugging of Java frames but ignores native frames (e.g., frames within JNI code).  NCAI is a prototype JVMTI extension interface that allows the VM to participate in debugging operations on native code as well.  At EclipseCon 2007, we demoed this NCAI component along with a seamless mixed Java/JNI debugger that consumes this interface for an Eclipse extension (http://www.eclipsecon.org/2007/index.php?page=sub/&id=4129).  We wanted to donate this component which was prototyped using Apache Harmony so that it could help (a) promote mixed Java/JNI debugging discussions and (b) be harvested for potential additional uses within Apache Harmony.
> Below are some details on NCAI implementation.
> 1) Basic features provided by the current NCAI implementation:
> - Setting breakpoints in native code
> - Single stepping through native code with 3 step modes: STEP_INTO, STEP_OVER and STEP_OUT
> - Trapping OS-level signals/exceptions
> - Trapping loading and unloading of dynamic/shared libraries
> - Getting information about loaded dynamic/shared libraries
> - Getting list of threads running in VM process
> - OS-level threads suspending/resuming/terminating
> - Processor registers inspection and modification (for suspended threads)
> - Getting call stack for suspended threads including both Java and native frames
> - Memory inspection and modification
> - Getting OS-level signals/exceptions information
> 2) Harmony base:
> - Bulk contains a patch for existing DRLVM code and a set of new files arranged with DRLVM directory structure
> - Patch was rebased to apply over DRLVM revision r567700
> 3) Current implementation provides all the features listed above for IA-32 architecture only. DRLVM remains buildable on other platforms, but not all the features will work.

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