< prev index next >

src/java.base/share/native/include/jni.h

Print this page
rev 17266 : 8181147: JNI_GetStringPlatformChars should have a fast path for UTF-8
Reviewed-by: shade, chegar, erikj


 594       (JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value);
 595     void (JNICALL *SetStaticShortField)
 596       (JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value);
 597     void (JNICALL *SetStaticIntField)
 598       (JNIEnv *env, jclass clazz, jfieldID fieldID, jint value);
 599     void (JNICALL *SetStaticLongField)
 600       (JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value);
 601     void (JNICALL *SetStaticFloatField)
 602       (JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value);
 603     void (JNICALL *SetStaticDoubleField)
 604       (JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value);
 605 
 606     jstring (JNICALL *NewString)
 607       (JNIEnv *env, const jchar *unicode, jsize len);
 608     jsize (JNICALL *GetStringLength)
 609       (JNIEnv *env, jstring str);
 610     const jchar *(JNICALL *GetStringChars)
 611       (JNIEnv *env, jstring str, jboolean *isCopy);
 612     void (JNICALL *ReleaseStringChars)
 613       (JNIEnv *env, jstring str, const jchar *chars);




 614 
 615     jstring (JNICALL *NewStringUTF)
 616       (JNIEnv *env, const char *utf);
 617     jsize (JNICALL *GetStringUTFLength)
 618       (JNIEnv *env, jstring str);
 619     const char* (JNICALL *GetStringUTFChars)
 620       (JNIEnv *env, jstring str, jboolean *isCopy);
 621     void (JNICALL *ReleaseStringUTFChars)
 622       (JNIEnv *env, jstring str, const char* chars);
 623 
 624 
 625     jsize (JNICALL *GetArrayLength)
 626       (JNIEnv *env, jarray array);
 627 
 628     jobjectArray (JNICALL *NewObjectArray)
 629       (JNIEnv *env, jsize len, jclass clazz, jobject init);
 630     jobject (JNICALL *GetObjectArrayElement)
 631       (JNIEnv *env, jobjectArray array, jsize index);
 632     void (JNICALL *SetObjectArrayElement)
 633       (JNIEnv *env, jobjectArray array, jsize index, jobject val);


1594                         jfloat value) {
1595       functions->SetStaticFloatField(this,clazz,fieldID,value);
1596     }
1597     void SetStaticDoubleField(jclass clazz, jfieldID fieldID,
1598                         jdouble value) {
1599       functions->SetStaticDoubleField(this,clazz,fieldID,value);
1600     }
1601 
1602     jstring NewString(const jchar *unicode, jsize len) {
1603         return functions->NewString(this,unicode,len);
1604     }
1605     jsize GetStringLength(jstring str) {
1606         return functions->GetStringLength(this,str);
1607     }
1608     const jchar *GetStringChars(jstring str, jboolean *isCopy) {
1609         return functions->GetStringChars(this,str,isCopy);
1610     }
1611     void ReleaseStringChars(jstring str, const jchar *chars) {
1612         functions->ReleaseStringChars(this,str,chars);
1613     }







1614 
1615     jstring NewStringUTF(const char *utf) {
1616         return functions->NewStringUTF(this,utf);
1617     }
1618     jsize GetStringUTFLength(jstring str) {
1619         return functions->GetStringUTFLength(this,str);
1620     }
1621     const char* GetStringUTFChars(jstring str, jboolean *isCopy) {
1622         return functions->GetStringUTFChars(this,str,isCopy);
1623     }
1624     void ReleaseStringUTFChars(jstring str, const char* chars) {
1625         functions->ReleaseStringUTFChars(this,str,chars);
1626     }
1627 
1628     jsize GetArrayLength(jarray array) {
1629         return functions->GetArrayLength(this,array);
1630     }
1631 
1632     jobjectArray NewObjectArray(jsize len, jclass clazz,
1633                                 jobject init) {




 594       (JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value);
 595     void (JNICALL *SetStaticShortField)
 596       (JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value);
 597     void (JNICALL *SetStaticIntField)
 598       (JNIEnv *env, jclass clazz, jfieldID fieldID, jint value);
 599     void (JNICALL *SetStaticLongField)
 600       (JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value);
 601     void (JNICALL *SetStaticFloatField)
 602       (JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value);
 603     void (JNICALL *SetStaticDoubleField)
 604       (JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value);
 605 
 606     jstring (JNICALL *NewString)
 607       (JNIEnv *env, const jchar *unicode, jsize len);
 608     jsize (JNICALL *GetStringLength)
 609       (JNIEnv *env, jstring str);
 610     const jchar *(JNICALL *GetStringChars)
 611       (JNIEnv *env, jstring str, jboolean *isCopy);
 612     void (JNICALL *ReleaseStringChars)
 613       (JNIEnv *env, jstring str, const jchar *chars);
 614     const jbyte *(JNICALL *GetStringBytesCritical)
 615       (JNIEnv *env, jstring str, jint *len, jbyte *encoding, jboolean *isCopy);
 616     void (JNICALL *ReleaseStringBytesCritical)
 617       (JNIEnv *env, jstring str, const jbyte *bytes);
 618 
 619     jstring (JNICALL *NewStringUTF)
 620       (JNIEnv *env, const char *utf);
 621     jsize (JNICALL *GetStringUTFLength)
 622       (JNIEnv *env, jstring str);
 623     const char* (JNICALL *GetStringUTFChars)
 624       (JNIEnv *env, jstring str, jboolean *isCopy);
 625     void (JNICALL *ReleaseStringUTFChars)
 626       (JNIEnv *env, jstring str, const char* chars);
 627 
 628 
 629     jsize (JNICALL *GetArrayLength)
 630       (JNIEnv *env, jarray array);
 631 
 632     jobjectArray (JNICALL *NewObjectArray)
 633       (JNIEnv *env, jsize len, jclass clazz, jobject init);
 634     jobject (JNICALL *GetObjectArrayElement)
 635       (JNIEnv *env, jobjectArray array, jsize index);
 636     void (JNICALL *SetObjectArrayElement)
 637       (JNIEnv *env, jobjectArray array, jsize index, jobject val);


1598                         jfloat value) {
1599       functions->SetStaticFloatField(this,clazz,fieldID,value);
1600     }
1601     void SetStaticDoubleField(jclass clazz, jfieldID fieldID,
1602                         jdouble value) {
1603       functions->SetStaticDoubleField(this,clazz,fieldID,value);
1604     }
1605 
1606     jstring NewString(const jchar *unicode, jsize len) {
1607         return functions->NewString(this,unicode,len);
1608     }
1609     jsize GetStringLength(jstring str) {
1610         return functions->GetStringLength(this,str);
1611     }
1612     const jchar *GetStringChars(jstring str, jboolean *isCopy) {
1613         return functions->GetStringChars(this,str,isCopy);
1614     }
1615     void ReleaseStringChars(jstring str, const jchar *chars) {
1616         functions->ReleaseStringChars(this,str,chars);
1617     }
1618     const jbyte *GetStringBytesCritical(jstring str, jint *len, jbyte *encoding, jboolean *isCopy) {
1619         return functions->GetStringBytesCritical(this,str,len,encoding,isCopy);
1620     }
1621     void ReleaseStringBytesCritical(jstring str, const jbyte *bytes) {
1622         functions->ReleaseStringBytesCritical(this,str,bytes);
1623     }
1624 
1625 
1626     jstring NewStringUTF(const char *utf) {
1627         return functions->NewStringUTF(this,utf);
1628     }
1629     jsize GetStringUTFLength(jstring str) {
1630         return functions->GetStringUTFLength(this,str);
1631     }
1632     const char* GetStringUTFChars(jstring str, jboolean *isCopy) {
1633         return functions->GetStringUTFChars(this,str,isCopy);
1634     }
1635     void ReleaseStringUTFChars(jstring str, const char* chars) {
1636         functions->ReleaseStringUTFChars(this,str,chars);
1637     }
1638 
1639     jsize GetArrayLength(jarray array) {
1640         return functions->GetArrayLength(this,array);
1641     }
1642 
1643     jobjectArray NewObjectArray(jsize len, jclass clazz,
1644                                 jobject init) {


< prev index next >