[ltt-dev] [PATCH] Fix marker_field access in the JNI interface
Matthew Khouzam
matthew.khouzam at ericsson.com
Fri Sep 10 17:35:03 EDT 2010
I can confirm this works with 2.3, 2.5 and v2.6 traces in tmf.
On 10-09-09 06:30 PM, alexandre.montplaisir at polymtl.ca wrote:
> From: Alexandre Montplaisir<alexandre.montplaisir at gmail.com>
>
> Reflect the new way to access marker_field fields introduced in 1184dc3
>
> Signed-off-by: Alexandre Montplaisir<alexandre.montplaisir at gmail.com>
> ---
> ltt/jni_interface.c | 19 ++-----------------
> 1 files changed, 2 insertions(+), 17 deletions(-)
>
> diff --git a/ltt/jni_interface.c b/ltt/jni_interface.c
> index 255f322..d1bd993 100644
> --- a/ltt/jni_interface.c
> +++ b/ltt/jni_interface.c
> @@ -998,20 +998,6 @@ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_
> return (jint)newPtr->type;
> }
>
> -/* Get of offset */
> -JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getOffset(JNIEnv *env, jobject jobj, jlong marker_field_ptr) {
> - struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr);
> -
> - return CONVERT_UINT64_TO_JLONG(newPtr->offset);
> -}
> -
> -/* Get of size */
> -JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getSize(JNIEnv *env, jobject jobj, jlong marker_field_ptr) {
> - struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr);
> -
> - return CONVERT_UINT64_TO_JLONG(newPtr->size);
> -}
> -
> /* Get of alignment */
> JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getAlignment(JNIEnv *env, jobject jobj, jlong marker_field_ptr) {
> struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr);
> @@ -1046,8 +1032,6 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_
>
> printf("name : %s\n" ,g_quark_to_string(newPtr->name) );
> printf("type : %i\n" ,(int)newPtr->type );
> - printf("offset : %lu\n" ,(long unsigned int)newPtr->offset );
> - printf("size : %lu\n" ,(long unsigned int)newPtr->size );
> printf("alignment : %lu\n" ,(long unsigned int)newPtr->alignment );
> printf("attributes : %lu\n" ,(long unsigned int)newPtr->attributes );
> printf("static_offset : %i\n" ,(int)newPtr->static_offset );
> @@ -1068,6 +1052,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_
> JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getParsedData(JNIEnv *env, jclass accessClass, jobject javaObj, jlong event_ptr, jlong marker_field_ptr) {
> LttEvent newEventPtr = *(LttEvent*)(CONVERT_JLONG_TO_PTR(event_ptr));
> struct marker_field *newMarkerFieldPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr);
> + struct LttField *newLttFieldPtr = ltt_event_field(&newEventPtr, marker_field_get_index(newMarkerFieldPtr));
>
> jmethodID accessFunction = NULL;
>
> @@ -1131,7 +1116,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getP
> accessClass,
> accessFunction,
> javaObj,
> - CONVERT_PTR_TO_JLONG(*(GINT_TYPE_FOR_PTR*)(newEventPtr.data + newMarkerFieldPtr->offset))
> + CONVERT_PTR_TO_JLONG(*(GINT_TYPE_FOR_PTR*)(newEventPtr.data + newLttFieldPtr->offset))
> );
> break;
>
>
More information about the lttng-dev
mailing list