hotspot/src/share/vm/prims/jniCheck.cpp
changeset 36508 5f9eee6b383b
parent 34633 2a6c7c7b30a7
child 42307 cefc81dc1d52
--- a/hotspot/src/share/vm/prims/jniCheck.cpp	Tue Mar 15 13:48:21 2016 -0700
+++ b/hotspot/src/share/vm/prims/jniCheck.cpp	Thu Mar 17 19:04:01 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1989,7 +1989,48 @@
     return result;
 JNI_END
 
+JNI_ENTRY_CHECKED(jobject,
+  checked_jni_GetModule(JNIEnv *env,
+                        jclass clazz))
+    functionEnter(thr);
+    IN_VM(
+      jniCheck::validate_class(thr, clazz, false);
+    )
+    jobject result = UNCHECKED()->GetModule(env,clazz);
+    functionExit(thr);
+    return result;
+JNI_END
 
+JNI_ENTRY_CHECKED(void,
+  checked_jni_AddModuleReads(JNIEnv *env,
+                             jobject fromModule,
+                             jobject sourceModule))
+    functionEnter(thr);
+    IN_VM(
+      jniCheck::validate_object(thr, fromModule);
+      if (sourceModule != NULL) {
+        jniCheck::validate_object(thr, sourceModule);
+      }
+    )
+    UNCHECKED()->AddModuleReads(env,fromModule,sourceModule);
+    functionExit(thr);
+JNI_END
+
+JNI_ENTRY_CHECKED(jboolean,
+  checked_jni_CanReadModule(JNIEnv *env,
+                            jobject askingModule,
+                            jobject sourceModule))
+    functionEnter(thr);
+    IN_VM(
+      jniCheck::validate_object(thr, askingModule);
+      if (sourceModule != NULL) {
+        jniCheck::validate_object(thr, sourceModule);
+      }
+    )
+    jboolean result = UNCHECKED()->CanReadModule(env,askingModule,sourceModule);
+    functionExit(thr);
+    return result;
+JNI_END
 
 /*
  * Structure containing all checked jni functions
@@ -2272,7 +2313,13 @@
 
     // New 1.6 Features
 
-    checked_jni_GetObjectRefType
+    checked_jni_GetObjectRefType,
+
+    // Module Features
+
+    checked_jni_GetModule,
+    checked_jni_AddModuleReads,
+    checked_jni_CanReadModule
 };