Skip to content

Commit ffa8897

Browse files
committed
8228758: assert(_no_handle_mark_nesting == 0) failed: allocating handle inside NoHandleMark
Reviewed-by: coleenp, dcubed, dholmes
1 parent de87e8e commit ffa8897

File tree

3 files changed

+37
-68
lines changed

3 files changed

+37
-68
lines changed

src/hotspot/share/prims/jni.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ JNI_ENTRY(jclass, jni_GetSuperclass(JNIEnv *env, jclass sub))
559559
return obj;
560560
JNI_END
561561

562-
JNI_QUICK_ENTRY(jboolean, jni_IsAssignableFrom(JNIEnv *env, jclass sub, jclass super))
562+
JNI_ENTRY_NO_PRESERVE(jboolean, jni_IsAssignableFrom(JNIEnv *env, jclass sub, jclass super))
563563
JNIWrapper("IsSubclassOf");
564564

565565
HOTSPOT_JNI_ISASSIGNABLEFROM_ENTRY(env, sub, super);
@@ -694,7 +694,7 @@ JNI_ENTRY_NO_PRESERVE(void, jni_ExceptionDescribe(JNIEnv *env))
694694
JNI_END
695695

696696

697-
JNI_QUICK_ENTRY(void, jni_ExceptionClear(JNIEnv *env))
697+
JNI_ENTRY_NO_PRESERVE(void, jni_ExceptionClear(JNIEnv *env))
698698
JNIWrapper("ExceptionClear");
699699

700700
HOTSPOT_JNI_EXCEPTIONCLEAR_ENTRY(env);
@@ -791,7 +791,7 @@ JNI_ENTRY_NO_PRESERVE(void, jni_DeleteGlobalRef(JNIEnv *env, jobject ref))
791791
HOTSPOT_JNI_DELETEGLOBALREF_RETURN();
792792
JNI_END
793793

794-
JNI_QUICK_ENTRY(void, jni_DeleteLocalRef(JNIEnv *env, jobject obj))
794+
JNI_ENTRY_NO_PRESERVE(void, jni_DeleteLocalRef(JNIEnv *env, jobject obj))
795795
JNIWrapper("DeleteLocalRef");
796796

797797
HOTSPOT_JNI_DELETELOCALREF_ENTRY(env, obj);
@@ -801,7 +801,7 @@ JNI_QUICK_ENTRY(void, jni_DeleteLocalRef(JNIEnv *env, jobject obj))
801801
HOTSPOT_JNI_DELETELOCALREF_RETURN();
802802
JNI_END
803803

804-
JNI_QUICK_ENTRY(jboolean, jni_IsSameObject(JNIEnv *env, jobject r1, jobject r2))
804+
JNI_ENTRY_NO_PRESERVE(jboolean, jni_IsSameObject(JNIEnv *env, jobject r1, jobject r2))
805805
JNIWrapper("IsSameObject");
806806

807807
HOTSPOT_JNI_ISSAMEOBJECT_ENTRY(env, r1, r2);
@@ -1277,7 +1277,7 @@ JNI_ENTRY(jclass, jni_GetObjectClass(JNIEnv *env, jobject obj))
12771277
return ret;
12781278
JNI_END
12791279

1280-
JNI_QUICK_ENTRY(jboolean, jni_IsInstanceOf(JNIEnv *env, jobject obj, jclass clazz))
1280+
JNI_ENTRY_NO_PRESERVE(jboolean, jni_IsInstanceOf(JNIEnv *env, jobject obj, jclass clazz))
12811281
JNIWrapper("IsInstanceOf");
12821282

12831283
HOTSPOT_JNI_ISINSTANCEOF_ENTRY(env, obj, clazz);
@@ -2066,7 +2066,7 @@ JNI_END
20662066
DT_RETURN_MARK_DECL_FOR(Result, Get##Result##Field, Return \
20672067
, ReturnProbe); \
20682068
\
2069-
JNI_QUICK_ENTRY(Return, jni_Get##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID)) \
2069+
JNI_ENTRY_NO_PRESERVE(Return, jni_Get##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID)) \
20702070
JNIWrapper("Get" XSTR(Result) "Field"); \
20712071
\
20722072
EntryProbe; \
@@ -2137,7 +2137,7 @@ address jni_GetDoubleField_addr() {
21372137
return (address)jni_GetDoubleField;
21382138
}
21392139

2140-
JNI_QUICK_ENTRY(void, jni_SetObjectField(JNIEnv *env, jobject obj, jfieldID fieldID, jobject value))
2140+
JNI_ENTRY_NO_PRESERVE(void, jni_SetObjectField(JNIEnv *env, jobject obj, jfieldID fieldID, jobject value))
21412141
JNIWrapper("SetObjectField");
21422142
HOTSPOT_JNI_SETOBJECTFIELD_ENTRY(env, obj, (uintptr_t) fieldID, value);
21432143
oop o = JNIHandles::resolve_non_null(obj);
@@ -2159,7 +2159,7 @@ JNI_END
21592159
#define DEFINE_SETFIELD(Argument,Fieldname,Result,SigType,unionType \
21602160
, EntryProbe, ReturnProbe) \
21612161
\
2162-
JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \
2162+
JNI_ENTRY_NO_PRESERVE(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \
21632163
JNIWrapper("Set" XSTR(Result) "Field"); \
21642164
\
21652165
EntryProbe; \
@@ -2425,7 +2425,7 @@ JNI_ENTRY(jstring, jni_NewString(JNIEnv *env, const jchar *unicodeChars, jsize l
24252425
JNI_END
24262426

24272427

2428-
JNI_QUICK_ENTRY(jsize, jni_GetStringLength(JNIEnv *env, jstring string))
2428+
JNI_ENTRY_NO_PRESERVE(jsize, jni_GetStringLength(JNIEnv *env, jstring string))
24292429
JNIWrapper("GetStringLength");
24302430
HOTSPOT_JNI_GETSTRINGLENGTH_ENTRY(env, string);
24312431
jsize ret = 0;
@@ -2436,7 +2436,7 @@ JNI_QUICK_ENTRY(jsize, jni_GetStringLength(JNIEnv *env, jstring string))
24362436
JNI_END
24372437

24382438

2439-
JNI_QUICK_ENTRY(const jchar*, jni_GetStringChars(
2439+
JNI_ENTRY_NO_PRESERVE(const jchar*, jni_GetStringChars(
24402440
JNIEnv *env, jstring string, jboolean *isCopy))
24412441
JNIWrapper("GetStringChars");
24422442
HOTSPOT_JNI_GETSTRINGCHARS_ENTRY(env, string, (uintptr_t *) isCopy);
@@ -2471,7 +2471,7 @@ JNI_QUICK_ENTRY(const jchar*, jni_GetStringChars(
24712471
JNI_END
24722472

24732473

2474-
JNI_QUICK_ENTRY(void, jni_ReleaseStringChars(JNIEnv *env, jstring str, const jchar *chars))
2474+
JNI_ENTRY_NO_PRESERVE(void, jni_ReleaseStringChars(JNIEnv *env, jstring str, const jchar *chars))
24752475
JNIWrapper("ReleaseStringChars");
24762476
HOTSPOT_JNI_RELEASESTRINGCHARS_ENTRY(env, str, (uint16_t *) chars);
24772477
//%note jni_6
@@ -2543,7 +2543,7 @@ HOTSPOT_JNI_RELEASESTRINGUTFCHARS_RETURN();
25432543
JNI_END
25442544

25452545

2546-
JNI_QUICK_ENTRY(jsize, jni_GetArrayLength(JNIEnv *env, jarray array))
2546+
JNI_ENTRY_NO_PRESERVE(jsize, jni_GetArrayLength(JNIEnv *env, jarray array))
25472547
JNIWrapper("GetArrayLength");
25482548
HOTSPOT_JNI_GETARRAYLENGTH_ENTRY(env, array);
25492549
arrayOop a = arrayOop(JNIHandles::resolve_non_null(array));
@@ -2700,7 +2700,7 @@ static char* get_bad_address() {
27002700
#define DEFINE_GETSCALARARRAYELEMENTS(ElementTag,ElementType,Result, Tag \
27012701
, EntryProbe, ReturnProbe) \
27022702
\
2703-
JNI_QUICK_ENTRY(ElementType*, \
2703+
JNI_ENTRY_NO_PRESERVE(ElementType*, \
27042704
jni_Get##Result##ArrayElements(JNIEnv *env, ElementType##Array array, jboolean *isCopy)) \
27052705
JNIWrapper("Get" XSTR(Result) "ArrayElements"); \
27062706
EntryProbe; \
@@ -2762,7 +2762,7 @@ DEFINE_GETSCALARARRAYELEMENTS(T_DOUBLE, jdouble, Double, double
27622762
#define DEFINE_RELEASESCALARARRAYELEMENTS(ElementTag,ElementType,Result,Tag \
27632763
, EntryProbe, ReturnProbe);\
27642764
\
2765-
JNI_QUICK_ENTRY(void, \
2765+
JNI_ENTRY_NO_PRESERVE(void, \
27662766
jni_Release##Result##ArrayElements(JNIEnv *env, ElementType##Array array, \
27672767
ElementType *buf, jint mode)) \
27682768
JNIWrapper("Release" XSTR(Result) "ArrayElements"); \
@@ -3262,7 +3262,7 @@ JNI_ENTRY(void, jni_DeleteWeakGlobalRef(JNIEnv *env, jweak ref))
32623262
JNI_END
32633263

32643264

3265-
JNI_QUICK_ENTRY(jboolean, jni_ExceptionCheck(JNIEnv *env))
3265+
JNI_ENTRY_NO_PRESERVE(jboolean, jni_ExceptionCheck(JNIEnv *env))
32663266
JNIWrapper("jni_ExceptionCheck");
32673267
HOTSPOT_JNI_EXCEPTIONCHECK_ENTRY(env);
32683268
jni_check_async_exceptions(thread);

src/hotspot/share/prims/jvm.cpp

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1105,7 +1105,7 @@ JVM_ENTRY(jobjectArray, JVM_GetClassInterfaces(JNIEnv *env, jclass cls))
11051105
JVM_END
11061106

11071107

1108-
JVM_QUICK_ENTRY(jboolean, JVM_IsInterface(JNIEnv *env, jclass cls))
1108+
JVM_ENTRY(jboolean, JVM_IsInterface(JNIEnv *env, jclass cls))
11091109
JVMWrapper("JVM_IsInterface");
11101110
oop mirror = JNIHandles::resolve_non_null(cls);
11111111
if (java_lang_Class::is_primitive(mirror)) {
@@ -1278,14 +1278,14 @@ JVM_ENTRY(jobject, JVM_GetStackAccessControlContext(JNIEnv *env, jclass cls))
12781278
JVM_END
12791279

12801280

1281-
JVM_QUICK_ENTRY(jboolean, JVM_IsArrayClass(JNIEnv *env, jclass cls))
1281+
JVM_ENTRY(jboolean, JVM_IsArrayClass(JNIEnv *env, jclass cls))
12821282
JVMWrapper("JVM_IsArrayClass");
12831283
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
12841284
return (k != NULL) && k->is_array_klass() ? true : false;
12851285
JVM_END
12861286

12871287

1288-
JVM_QUICK_ENTRY(jboolean, JVM_IsPrimitiveClass(JNIEnv *env, jclass cls))
1288+
JVM_ENTRY(jboolean, JVM_IsPrimitiveClass(JNIEnv *env, jclass cls))
12891289
JVMWrapper("JVM_IsPrimitiveClass");
12901290
oop mirror = JNIHandles::resolve_non_null(cls);
12911291
return (jboolean) java_lang_Class::is_primitive(mirror);
@@ -2253,7 +2253,7 @@ JVM_ENTRY(const char*, JVM_GetClassNameUTF(JNIEnv *env, jclass cls))
22532253
JVM_END
22542254

22552255

2256-
JVM_QUICK_ENTRY(void, JVM_GetClassCPTypes(JNIEnv *env, jclass cls, unsigned char *types))
2256+
JVM_ENTRY(void, JVM_GetClassCPTypes(JNIEnv *env, jclass cls, unsigned char *types))
22572257
JVMWrapper("JVM_GetClassCPTypes");
22582258
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
22592259
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2269,23 +2269,23 @@ JVM_QUICK_ENTRY(void, JVM_GetClassCPTypes(JNIEnv *env, jclass cls, unsigned char
22692269
JVM_END
22702270

22712271

2272-
JVM_QUICK_ENTRY(jint, JVM_GetClassCPEntriesCount(JNIEnv *env, jclass cls))
2272+
JVM_ENTRY(jint, JVM_GetClassCPEntriesCount(JNIEnv *env, jclass cls))
22732273
JVMWrapper("JVM_GetClassCPEntriesCount");
22742274
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
22752275
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
22762276
return (!k->is_instance_klass()) ? 0 : InstanceKlass::cast(k)->constants()->length();
22772277
JVM_END
22782278

22792279

2280-
JVM_QUICK_ENTRY(jint, JVM_GetClassFieldsCount(JNIEnv *env, jclass cls))
2280+
JVM_ENTRY(jint, JVM_GetClassFieldsCount(JNIEnv *env, jclass cls))
22812281
JVMWrapper("JVM_GetClassFieldsCount");
22822282
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
22832283
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
22842284
return (!k->is_instance_klass()) ? 0 : InstanceKlass::cast(k)->java_fields_count();
22852285
JVM_END
22862286

22872287

2288-
JVM_QUICK_ENTRY(jint, JVM_GetClassMethodsCount(JNIEnv *env, jclass cls))
2288+
JVM_ENTRY(jint, JVM_GetClassMethodsCount(JNIEnv *env, jclass cls))
22892289
JVMWrapper("JVM_GetClassMethodsCount");
22902290
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
22912291
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2298,7 +2298,7 @@ JVM_END
22982298
// Typically, these methods are called in a loop with bounds determined
22992299
// by the results of JVM_GetClass{Fields,Methods}Count, which return
23002300
// zero for arrays.
2301-
JVM_QUICK_ENTRY(void, JVM_GetMethodIxExceptionIndexes(JNIEnv *env, jclass cls, jint method_index, unsigned short *exceptions))
2301+
JVM_ENTRY(void, JVM_GetMethodIxExceptionIndexes(JNIEnv *env, jclass cls, jint method_index, unsigned short *exceptions))
23022302
JVMWrapper("JVM_GetMethodIxExceptionIndexes");
23032303
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
23042304
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2313,7 +2313,7 @@ JVM_QUICK_ENTRY(void, JVM_GetMethodIxExceptionIndexes(JNIEnv *env, jclass cls, j
23132313
JVM_END
23142314

23152315

2316-
JVM_QUICK_ENTRY(jint, JVM_GetMethodIxExceptionsCount(JNIEnv *env, jclass cls, jint method_index))
2316+
JVM_ENTRY(jint, JVM_GetMethodIxExceptionsCount(JNIEnv *env, jclass cls, jint method_index))
23172317
JVMWrapper("JVM_GetMethodIxExceptionsCount");
23182318
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
23192319
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2322,7 +2322,7 @@ JVM_QUICK_ENTRY(jint, JVM_GetMethodIxExceptionsCount(JNIEnv *env, jclass cls, ji
23222322
JVM_END
23232323

23242324

2325-
JVM_QUICK_ENTRY(void, JVM_GetMethodIxByteCode(JNIEnv *env, jclass cls, jint method_index, unsigned char *code))
2325+
JVM_ENTRY(void, JVM_GetMethodIxByteCode(JNIEnv *env, jclass cls, jint method_index, unsigned char *code))
23262326
JVMWrapper("JVM_GetMethodIxByteCode");
23272327
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
23282328
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2331,7 +2331,7 @@ JVM_QUICK_ENTRY(void, JVM_GetMethodIxByteCode(JNIEnv *env, jclass cls, jint meth
23312331
JVM_END
23322332

23332333

2334-
JVM_QUICK_ENTRY(jint, JVM_GetMethodIxByteCodeLength(JNIEnv *env, jclass cls, jint method_index))
2334+
JVM_ENTRY(jint, JVM_GetMethodIxByteCodeLength(JNIEnv *env, jclass cls, jint method_index))
23352335
JVMWrapper("JVM_GetMethodIxByteCodeLength");
23362336
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
23372337
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2340,7 +2340,7 @@ JVM_QUICK_ENTRY(jint, JVM_GetMethodIxByteCodeLength(JNIEnv *env, jclass cls, jin
23402340
JVM_END
23412341

23422342

2343-
JVM_QUICK_ENTRY(void, JVM_GetMethodIxExceptionTableEntry(JNIEnv *env, jclass cls, jint method_index, jint entry_index, JVM_ExceptionTableEntryType *entry))
2343+
JVM_ENTRY(void, JVM_GetMethodIxExceptionTableEntry(JNIEnv *env, jclass cls, jint method_index, jint entry_index, JVM_ExceptionTableEntryType *entry))
23442344
JVMWrapper("JVM_GetMethodIxExceptionTableEntry");
23452345
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
23462346
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2353,7 +2353,7 @@ JVM_QUICK_ENTRY(void, JVM_GetMethodIxExceptionTableEntry(JNIEnv *env, jclass cls
23532353
JVM_END
23542354

23552355

2356-
JVM_QUICK_ENTRY(jint, JVM_GetMethodIxExceptionTableLength(JNIEnv *env, jclass cls, int method_index))
2356+
JVM_ENTRY(jint, JVM_GetMethodIxExceptionTableLength(JNIEnv *env, jclass cls, int method_index))
23572357
JVMWrapper("JVM_GetMethodIxExceptionTableLength");
23582358
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
23592359
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2362,7 +2362,7 @@ JVM_QUICK_ENTRY(jint, JVM_GetMethodIxExceptionTableLength(JNIEnv *env, jclass cl
23622362
JVM_END
23632363

23642364

2365-
JVM_QUICK_ENTRY(jint, JVM_GetMethodIxModifiers(JNIEnv *env, jclass cls, int method_index))
2365+
JVM_ENTRY(jint, JVM_GetMethodIxModifiers(JNIEnv *env, jclass cls, int method_index))
23662366
JVMWrapper("JVM_GetMethodIxModifiers");
23672367
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
23682368
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2371,15 +2371,15 @@ JVM_QUICK_ENTRY(jint, JVM_GetMethodIxModifiers(JNIEnv *env, jclass cls, int meth
23712371
JVM_END
23722372

23732373

2374-
JVM_QUICK_ENTRY(jint, JVM_GetFieldIxModifiers(JNIEnv *env, jclass cls, int field_index))
2374+
JVM_ENTRY(jint, JVM_GetFieldIxModifiers(JNIEnv *env, jclass cls, int field_index))
23752375
JVMWrapper("JVM_GetFieldIxModifiers");
23762376
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
23772377
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
23782378
return InstanceKlass::cast(k)->field_access_flags(field_index) & JVM_RECOGNIZED_FIELD_MODIFIERS;
23792379
JVM_END
23802380

23812381

2382-
JVM_QUICK_ENTRY(jint, JVM_GetMethodIxLocalsCount(JNIEnv *env, jclass cls, int method_index))
2382+
JVM_ENTRY(jint, JVM_GetMethodIxLocalsCount(JNIEnv *env, jclass cls, int method_index))
23832383
JVMWrapper("JVM_GetMethodIxLocalsCount");
23842384
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
23852385
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2388,7 +2388,7 @@ JVM_QUICK_ENTRY(jint, JVM_GetMethodIxLocalsCount(JNIEnv *env, jclass cls, int me
23882388
JVM_END
23892389

23902390

2391-
JVM_QUICK_ENTRY(jint, JVM_GetMethodIxArgsSize(JNIEnv *env, jclass cls, int method_index))
2391+
JVM_ENTRY(jint, JVM_GetMethodIxArgsSize(JNIEnv *env, jclass cls, int method_index))
23922392
JVMWrapper("JVM_GetMethodIxArgsSize");
23932393
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
23942394
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2397,7 +2397,7 @@ JVM_QUICK_ENTRY(jint, JVM_GetMethodIxArgsSize(JNIEnv *env, jclass cls, int metho
23972397
JVM_END
23982398

23992399

2400-
JVM_QUICK_ENTRY(jint, JVM_GetMethodIxMaxStack(JNIEnv *env, jclass cls, int method_index))
2400+
JVM_ENTRY(jint, JVM_GetMethodIxMaxStack(JNIEnv *env, jclass cls, int method_index))
24012401
JVMWrapper("JVM_GetMethodIxMaxStack");
24022402
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
24032403
k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
@@ -2406,7 +2406,7 @@ JVM_QUICK_ENTRY(jint, JVM_GetMethodIxMaxStack(JNIEnv *env, jclass cls, int metho
24062406
JVM_END
24072407

24082408

2409-
JVM_QUICK_ENTRY(jboolean, JVM_IsConstructorIx(JNIEnv *env, jclass cls, int method_index))
2409+
JVM_ENTRY(jboolean, JVM_IsConstructorIx(JNIEnv *env, jclass cls, int method_index))
24102410
JVMWrapper("JVM_IsConstructorIx");
24112411
ResourceMark rm(THREAD);
24122412
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
@@ -2416,7 +2416,7 @@ JVM_QUICK_ENTRY(jboolean, JVM_IsConstructorIx(JNIEnv *env, jclass cls, int metho
24162416
JVM_END
24172417

24182418

2419-
JVM_QUICK_ENTRY(jboolean, JVM_IsVMGeneratedMethodIx(JNIEnv *env, jclass cls, int method_index))
2419+
JVM_ENTRY(jboolean, JVM_IsVMGeneratedMethodIx(JNIEnv *env, jclass cls, int method_index))
24202420
JVMWrapper("JVM_IsVMGeneratedMethodIx");
24212421
ResourceMark rm(THREAD);
24222422
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
@@ -2593,7 +2593,7 @@ JVM_ENTRY(jint, JVM_GetCPFieldModifiers(JNIEnv *env, jclass cls, int cp_index, j
25932593
JVM_END
25942594

25952595

2596-
JVM_QUICK_ENTRY(jint, JVM_GetCPMethodModifiers(JNIEnv *env, jclass cls, int cp_index, jclass called_cls))
2596+
JVM_ENTRY(jint, JVM_GetCPMethodModifiers(JNIEnv *env, jclass cls, int cp_index, jclass called_cls))
25972597
JVMWrapper("JVM_GetCPMethodModifiers");
25982598
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
25992599
Klass* k_called = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(called_cls));
@@ -3064,7 +3064,7 @@ JVM_ENTRY(void, JVM_Interrupt(JNIEnv* env, jobject jthread))
30643064
JVM_END
30653065

30663066

3067-
JVM_QUICK_ENTRY(jboolean, JVM_IsInterrupted(JNIEnv* env, jobject jthread, jboolean clear_interrupted))
3067+
JVM_ENTRY(jboolean, JVM_IsInterrupted(JNIEnv* env, jobject jthread, jboolean clear_interrupted))
30683068
JVMWrapper("JVM_IsInterrupted");
30693069

30703070
ThreadsListHandle tlh(thread);

src/hotspot/share/runtime/interfaceSupport.inline.hpp

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -393,16 +393,6 @@ class RuntimeHistogramElement : public HistogramElement {
393393
/* begin of body */
394394

395395

396-
// QUICK_ENTRY routines behave like ENTRY but without a handle mark
397-
398-
#define VM_QUICK_ENTRY_BASE(result_type, header, thread) \
399-
TRACE_CALL(result_type, header) \
400-
debug_only(NoHandleMark __hm;) \
401-
Thread* THREAD = thread; \
402-
os::verify_stack_alignment(); \
403-
/* begin of body */
404-
405-
406396
#define JRT_ENTRY(result_type, header) \
407397
result_type header { \
408398
ThreadInVMfromJava __tiv(thread); \
@@ -474,18 +464,6 @@ extern "C" { \
474464
VM_ENTRY_BASE(result_type, header, thread)
475465

476466

477-
// Ensure that the VMNativeEntryWrapper constructor, which can cause
478-
// a GC, is called outside the NoHandleMark (set via VM_QUICK_ENTRY_BASE).
479-
#define JNI_QUICK_ENTRY(result_type, header) \
480-
extern "C" { \
481-
result_type JNICALL header { \
482-
JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
483-
assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
484-
ThreadInVMfromNative __tiv(thread); \
485-
debug_only(VMNativeEntryWrapper __vew;) \
486-
VM_QUICK_ENTRY_BASE(result_type, header, thread)
487-
488-
489467
#define JNI_LEAF(result_type, header) \
490468
extern "C" { \
491469
result_type JNICALL header { \
@@ -519,15 +497,6 @@ extern "C" { \
519497
VM_ENTRY_BASE(result_type, header, thread)
520498

521499

522-
#define JVM_QUICK_ENTRY(result_type, header) \
523-
extern "C" { \
524-
result_type JNICALL header { \
525-
JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
526-
ThreadInVMfromNative __tiv(thread); \
527-
debug_only(VMNativeEntryWrapper __vew;) \
528-
VM_QUICK_ENTRY_BASE(result_type, header, thread)
529-
530-
531500
#define JVM_LEAF(result_type, header) \
532501
extern "C" { \
533502
result_type JNICALL header { \

0 commit comments

Comments
 (0)