Mercurial > hg > graal-jvmci-8
comparison src/share/vm/prims/jni.cpp @ 6837:75982791ddb6
7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
Summary: Don't use HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N directly.
Reviewed-by: coleenp, kamg, dholmes, sspitsyn
Contributed-by: Mark Wielaard <mjw@redhat.com>
author | coleenp |
---|---|
date | Mon, 08 Oct 2012 09:18:54 -0400 |
parents | d8ce2825b193 |
children | 9855b7e559ae |
comparison
equal
deleted
inserted
replaced
6836:f2eb2d4488db | 6837:75982791ddb6 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * Copyright (c) 2012 Red Hat, Inc. | |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 5 * |
5 * This code is free software; you can redistribute it and/or modify it | 6 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 7 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 8 * published by the Free Software Foundation. |
2818 #define DEFINE_SETFIELD(Argument,Fieldname,Result,SigType,unionType) \ | 2819 #define DEFINE_SETFIELD(Argument,Fieldname,Result,SigType,unionType) \ |
2819 \ | 2820 \ |
2820 JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ | 2821 JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ |
2821 JNIWrapper("Set" XSTR(Result) "Field"); \ | 2822 JNIWrapper("Set" XSTR(Result) "Field"); \ |
2822 \ | 2823 \ |
2823 HS_DTRACE_PROBE_CDECL_N(hotspot_jni, Set##Result##Field__entry, \ | 2824 FP_SELECT_##Result( \ |
2824 ( JNIEnv*, jobject, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ | 2825 DTRACE_PROBE4(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID, value), \ |
2825 HS_DTRACE_PROBE_N(hotspot_jni, Set##Result##Field__entry, \ | 2826 DTRACE_PROBE3(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID)); \ |
2826 ( env, obj, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ | |
2827 \ | 2827 \ |
2828 oop o = JNIHandles::resolve_non_null(obj); \ | 2828 oop o = JNIHandles::resolve_non_null(obj); \ |
2829 Klass* k = o->klass(); \ | 2829 Klass* k = o->klass(); \ |
2830 int offset = jfieldIDWorkaround::from_instance_jfieldID(k, fieldID); \ | 2830 int offset = jfieldIDWorkaround::from_instance_jfieldID(k, fieldID); \ |
2831 /* Keep JVMTI addition small and only check enabled flag here. */ \ | 2831 /* Keep JVMTI addition small and only check enabled flag here. */ \ |
3128 #ifndef USDT2 | 3128 #ifndef USDT2 |
3129 #define DEFINE_SETSTATICFIELD(Argument,Fieldname,Result,SigType,unionType) \ | 3129 #define DEFINE_SETSTATICFIELD(Argument,Fieldname,Result,SigType,unionType) \ |
3130 \ | 3130 \ |
3131 JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass clazz, jfieldID fieldID, Argument value)) \ | 3131 JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass clazz, jfieldID fieldID, Argument value)) \ |
3132 JNIWrapper("SetStatic" XSTR(Result) "Field"); \ | 3132 JNIWrapper("SetStatic" XSTR(Result) "Field"); \ |
3133 HS_DTRACE_PROBE_CDECL_N(hotspot_jni, SetStatic##Result##Field__entry,\ | 3133 FP_SELECT_##Result( \ |
3134 ( JNIEnv*, jclass, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ | 3134 DTRACE_PROBE4(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID, value), \ |
3135 HS_DTRACE_PROBE_N(hotspot_jni, SetStatic##Result##Field__entry, \ | 3135 DTRACE_PROBE3(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID)); \ |
3136 ( env, clazz, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ | |
3137 \ | 3136 \ |
3138 JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ | 3137 JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ |
3139 assert(id->is_static_field_id(), "invalid static field id"); \ | 3138 assert(id->is_static_field_id(), "invalid static field id"); \ |
3140 /* Keep JVMTI addition small and only check enabled flag here. */ \ | 3139 /* Keep JVMTI addition small and only check enabled flag here. */ \ |
3141 /* jni_SetField_probe() assumes that is okay to create handles. */ \ | 3140 /* jni_SetField_probe() assumes that is okay to create handles. */ \ |