< prev index next >

src/java.base/share/native/libjava/ConstantPool.c

Print this page
rev 52749 : Bootstrap method consolidation
* clean up and simplify JDK support code for BSM invocation
* simplify JVM bootstrap handshake: use BootstrapCallInfo only
* remove unused JVM paths and data fields
* move bootstrap argument processing from MethodHandleNatives to ConstantPool
* remove ConstantGroup; merge argument access into BootstrapCallInfo
* adjust BSM argument access: remove copyArguments, add argumentRef API
* add metadata-free BSM modes, including symbolic arguments from CP


   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 #include "jvm.h"
  27 #include "jdk_internal_reflect_ConstantPool.h"
  28 
  29 JNIEXPORT jint JNICALL Java_jdk_internal_reflect_ConstantPool_getSize0
  30 (JNIEnv *env, jobject unused, jobject jcpool)
  31 {
  32   return JVM_ConstantPoolGetSize(env, unused, jcpool);
  33 }
  34 
  35 JNIEXPORT jclass JNICALL Java_jdk_internal_reflect_ConstantPool_getClassAt0
  36 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
  37 {
  38   return JVM_ConstantPoolGetClassAt(env, unused, jcpool, index);
  39 }
  40 
  41 JNIEXPORT jclass JNICALL Java_jdk_internal_reflect_ConstantPool_getClassAtIfLoaded0
  42 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
  43 {
  44   return JVM_ConstantPoolGetClassAtIfLoaded(env, unused, jcpool, index);
  45 }
  46 
  47 JNIEXPORT jint JNICALL Java_jdk_internal_reflect_ConstantPool_getClassRefIndexAt0
  48 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
  49 {
  50     return JVM_ConstantPoolGetClassRefIndexAt(env, unused, jcpool, index);
  51 }
  52 
  53 JNIEXPORT jobject JNICALL Java_jdk_internal_reflect_ConstantPool_getMethodAt0
  54 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
  55 {
  56   return JVM_ConstantPoolGetMethodAt(env, unused, jcpool, index);
  57 }
  58 
  59 JNIEXPORT jobject JNICALL Java_jdk_internal_reflect_ConstantPool_getMethodAtIfLoaded0
  60 (JNIEnv *env, jobject unused, jobject jcpool, jint index)


  61 {
  62   return JVM_ConstantPoolGetMethodAtIfLoaded(env, unused, jcpool, index);

  63 }
  64 
  65 JNIEXPORT jobject JNICALL Java_jdk_internal_reflect_ConstantPool_getFieldAt0
  66 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
  67 {
  68   return JVM_ConstantPoolGetFieldAt(env, unused, jcpool, index);
  69 }
  70 
  71 JNIEXPORT jobject JNICALL Java_jdk_internal_reflect_ConstantPool_getFieldAtIfLoaded0
  72 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
  73 {
  74   return JVM_ConstantPoolGetFieldAtIfLoaded(env, unused, jcpool, index);
  75 }
  76 
  77 JNIEXPORT jobjectArray JNICALL Java_jdk_internal_reflect_ConstantPool_getMemberRefInfoAt0
  78 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
  79 {
  80   return JVM_ConstantPoolGetMemberRefInfoAt(env, unused, jcpool, index);
  81 }
  82 
  83 JNIEXPORT jint JNICALL Java_jdk_internal_reflect_ConstantPool_getNameAndTypeRefIndexAt0
  84 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
  85 {
  86     return JVM_ConstantPoolGetNameAndTypeRefIndexAt(env, unused, jcpool, index);
  87 }
  88 
  89 JNIEXPORT jobjectArray JNICALL Java_jdk_internal_reflect_ConstantPool_getNameAndTypeRefInfoAt0
  90 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
  91 {
  92   return JVM_ConstantPoolGetNameAndTypeRefInfoAt(env, unused, jcpool, index);
  93 }
  94 
  95 JNIEXPORT jint JNICALL Java_jdk_internal_reflect_ConstantPool_getIntAt0
  96 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
  97 {
  98   return JVM_ConstantPoolGetIntAt(env, unused, jcpool, index);
  99 }
 100 
 101 JNIEXPORT jlong JNICALL Java_jdk_internal_reflect_ConstantPool_getLongAt0
 102 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
 103 {
 104   return JVM_ConstantPoolGetLongAt(env, unused, jcpool, index);
 105 }
 106 
 107 JNIEXPORT jfloat JNICALL Java_jdk_internal_reflect_ConstantPool_getFloatAt0
 108 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
 109 {
 110   return JVM_ConstantPoolGetFloatAt(env, unused, jcpool, index);
 111 }
 112 
 113 JNIEXPORT jdouble JNICALL Java_jdk_internal_reflect_ConstantPool_getDoubleAt0
 114 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
 115 {
 116   return JVM_ConstantPoolGetDoubleAt(env, unused, jcpool, index);
 117 }
 118 
 119 JNIEXPORT jstring JNICALL Java_jdk_internal_reflect_ConstantPool_getStringAt0
 120 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
 121 {
 122   return JVM_ConstantPoolGetStringAt(env, unused, jcpool, index);
 123 }
 124 
 125 JNIEXPORT jstring JNICALL Java_jdk_internal_reflect_ConstantPool_getUTF8At0
 126 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
 127 {
 128   return JVM_ConstantPoolGetUTF8At(env, unused, jcpool, index);
 129 }
 130 
 131 JNIEXPORT jbyte JNICALL Java_jdk_internal_reflect_ConstantPool_getTagAt0
 132 (JNIEnv *env, jobject unused, jobject jcpool, jint index)
 133 {
 134   return JVM_ConstantPoolGetTagAt(env, unused, jcpool, index);
 135 }
 136 


   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 #include "jvm.h"
  27 #include "jdk_internal_reflect_ConstantPool.h"
  28 
  29 JNIEXPORT jclass JNICALL Java_jdk_internal_reflect_ConstantPool_getHolder1
  30 (JNIEnv *env, jobject jcpool)
  31 {
  32   return JVM_ConstantPool1GetHolder(env, jcpool);
  33 }
  34 
  35 JNIEXPORT jint JNICALL Java_jdk_internal_reflect_ConstantPool_getSize1
  36 (JNIEnv *env, jobject jcpool)
  37 {
  38   return JVM_ConstantPool1GetSize(env, jcpool);
  39 }
  40 
  41 JNIEXPORT jint JNICALL Java_jdk_internal_reflect_ConstantPool_getWordCountAt1
  42 (JNIEnv *env, jobject jcpool, jint index)
  43 {
  44     return JVM_ConstantPool1GetWordCountAt(env, jcpool, index);
  45 }
  46 
  47 JNIEXPORT jint JNICALL Java_jdk_internal_reflect_ConstantPool_getWordAt1
  48 (JNIEnv *env, jobject jcpool, jint index, jint word)
  49 {
  50     return JVM_ConstantPool1GetWordAt(env, jcpool, index, word);
  51 }
  52 
  53 JNIEXPORT jobject JNICALL Java_jdk_internal_reflect_ConstantPool_getRefAt1
  54 (JNIEnv *env, jobject jcpool, jint index, jint word, jbyte resolving, jobject if_not_present)
  55 {
  56   return JVM_ConstantPool1GetRefAt(env, jcpool, index, word, resolving, if_not_present);
  57 }
  58 
  59 JNIEXPORT void JNICALL Java_jdk_internal_reflect_ConstantPool_copyOutRefsAt1
  60 (JNIEnv *env, jobject jcpool, jint index, jint start_word, jint end_word,
  61  jobject buf, jint buf_pos, jbyte resolving,
  62  jobject if_not_present, jobject if_null_constant, jboolean skip_non_null)
  63 {
  64   JVM_ConstantPool1CopyOutRefsAt(env, jcpool, index, start_word, end_word,
  65                                  buf, buf_pos, resolving, if_not_present, if_null_constant, skip_non_null);
  66 }
  67 
  68 JNIEXPORT jint JNICALL Java_jdk_internal_reflect_ConstantPool_getIntAt1
  69 (JNIEnv *env, jobject jcpool, jint index)
  70 {
  71   return JVM_ConstantPool1GetIntAt(env, jcpool, index);
  72 }
  73 
  74 JNIEXPORT jlong JNICALL Java_jdk_internal_reflect_ConstantPool_getLongAt1
  75 (JNIEnv *env, jobject jcpool, jint index)
  76 {
  77   return JVM_ConstantPool1GetLongAt(env, jcpool, index);
  78 }
  79 
  80 JNIEXPORT jfloat JNICALL Java_jdk_internal_reflect_ConstantPool_getFloatAt1
  81 (JNIEnv *env, jobject jcpool, jint index)
  82 {
  83   return JVM_ConstantPool1GetFloatAt(env, jcpool, index);
  84 }
  85 
  86 JNIEXPORT jdouble JNICALL Java_jdk_internal_reflect_ConstantPool_getDoubleAt1
  87 (JNIEnv *env, jobject jcpool, jint index)
  88 {
  89   return JVM_ConstantPool1GetDoubleAt(env, jcpool, index);
  90 }
  91 
  92 JNIEXPORT jbyte JNICALL Java_jdk_internal_reflect_ConstantPool_getTagAt1
  93 (JNIEnv *env, jobject jcpool, jint index)
  94 {
  95   return JVM_ConstantPool1GetTagAt(env, jcpool, index);
  96 }
  97 
  98 JNIEXPORT jbyteArray JNICALL Java_jdk_internal_reflect_ConstantPool_getTags1
  99 (JNIEnv *env, jobject jcpool)
 100 {
 101   return JVM_ConstantPool1GetTags(env, jcpool);




































 102 }
 103 
< prev index next >