@@ -17,62 +17,56 @@ Java_org_rapidyaml_Rapidyaml_ysparse_1timing_1set(JNIEnv *, jobject, jboolean ye
1717}
1818
1919JNIEXPORT jlong JNICALL
20- Java_org_rapidyaml_Rapidyaml_ys2evt_1init (JNIEnv *env, jobject)
20+ Java_org_rapidyaml_Rapidyaml_ysparse_1init (JNIEnv *env, jobject)
2121{
22- Ryml2Evt *obj = ys2evt_init ();
22+ ysparse *obj = ysparse_init ();
2323 return (jlong)obj;
2424}
2525
2626
2727JNIEXPORT void JNICALL
28- Java_org_rapidyaml_Rapidyaml_ys2evt_1destroy (JNIEnv *, jobject, jlong obj)
28+ Java_org_rapidyaml_Rapidyaml_ysparse_1destroy (JNIEnv *, jobject, jlong obj)
2929{
30- ys2evt_destroy ((Ryml2Evt *)obj);
30+ ysparse_destroy ((ysparse *)obj);
3131}
3232
3333
3434JNIEXPORT jint JNICALL
35- Java_org_rapidyaml_Rapidyaml_ys2evt_1parse (JNIEnv *env, jobject,
35+ Java_org_rapidyaml_Rapidyaml_ysparse_1parse (JNIEnv *env, jobject,
3636 jlong obj, jstring jfilename,
3737 jbyteArray src, jint src_len,
3838 jintArray dst, jint dst_len)
3939{
40- TIMED_SECTION (" jni_ys2evt_parse " , (size_type)src_len);
40+ TIMED_SECTION (" jni:ysparse " , (size_type)src_len);
4141 jbyte* src_ = nullptr ;
4242 int * dst_ = nullptr ;
4343 const char *filename = nullptr ;
4444 jboolean dst_is_copy = false ;
4545 jboolean src_is_copy = false ;
4646 {
47- TIMED_SECTION (" jni_ys2evt_parse/get_jni" , (size_type)src_len);
47+ TIMED_SECTION (" jni:ysparse/get_jni" , (size_type)src_len);
48+ // this is __S__L__O__W__
49+ // https://stackoverflow.com/questions/43763129/jni-is-getintarrayelements-always-linear-in-time
50+ // https://stackoverflow.com/questions/7395695/how-to-convert-from-bytebuffer-to-integer-and-string
4851 {
49- TIMED_SECTION (" jni_ys2evt_parse /GetByteArray(src)" );
52+ TIMED_SECTION (" jni:ysparse /GetByteArray(src)" );
5053 src_ = env->GetByteArrayElements (src, &src_is_copy);
5154 }
5255 {
53- // TODO this is __S__L__O__W__
54- //
55- // the problem is with GetIntArrayElements(). we should
56- // use GetDirectBufferAddress(), but that requires a ByteBuffer->jobject
57- // instead of a int[]->jintArray
58- //
59- // see:
60- // https://stackoverflow.com/questions/43763129/jni-is-getintarrayelements-always-linear-in-time
61- // https://stackoverflow.com/questions/7395695/how-to-convert-from-bytebuffer-to-integer-and-string
62- TIMED_SECTION (" jni_ys2evt_parse/GetIntArray(dst)" );
56+ TIMED_SECTION (" jni:ysparse/GetIntArray(dst)" );
6357 dst_ = env->GetIntArrayElements (dst, &dst_is_copy);
6458 }
6559 {
66- TIMED_SECTION (" jni_ys2evt_parse /GetStringUTFChars()" );
60+ TIMED_SECTION (" jni:ysparse /GetStringUTFChars()" );
6761 filename = env->GetStringUTFChars (jfilename, 0 );
6862 }
6963 }
7064 int rc = 0 ;
7165 {
72- TIMED_SECTION (" jni_ys2evt_parse/call_parse " , (size_type)src_len);
66+ TIMED_SECTION (" jni:ysparse/parse " , (size_type)src_len);
7367 try
7468 {
75- rc = ys2evt_parse ((Ryml2Evt *)obj, filename,
69+ rc = ysparse_parse ((ysparse *)obj, filename,
7670 (char *)src_, src_len,
7771 dst_, dst_len);
7872 }
@@ -86,18 +80,18 @@ Java_org_rapidyaml_Rapidyaml_ys2evt_1parse(JNIEnv *env, jobject,
8680 }
8781 }
8882 {
89- TIMED_SECTION (" jni_ys2evt_parse/release" );
83+ TIMED_SECTION (" jni:ysparse/release" );
84+ // __S__L__O__W__
9085 {
91- TIMED_SECTION (" jni_ys2evt_parse /ReleaseByteArray(src)" );
86+ TIMED_SECTION (" jni:ysparse /ReleaseByteArray(src)" );
9287 env->ReleaseByteArrayElements (src, src_, 0 );
9388 }
9489 {
95- // TODO __S__L__O__W__
96- TIMED_SECTION (" jni_ys2evt_parse/ReleaseIntArray(dst)" );
90+ TIMED_SECTION (" jni:ysparse/ReleaseIntArray(dst)" );
9791 env->ReleaseIntArrayElements (dst, dst_, 0 );
9892 }
9993 {
100- TIMED_SECTION (" jni_ys2evt_parse /ReleaseStringUTFChars()" );
94+ TIMED_SECTION (" jni:ysparse /ReleaseStringUTFChars()" );
10195 env->ReleaseStringUTFChars (jfilename, filename);
10296 }
10397 }
@@ -106,17 +100,17 @@ Java_org_rapidyaml_Rapidyaml_ys2evt_1parse(JNIEnv *env, jobject,
106100
107101
108102JNIEXPORT jint JNICALL
109- Java_org_rapidyaml_Rapidyaml_ys2evt_1parse_1buf (JNIEnv *env, jobject,
103+ Java_org_rapidyaml_Rapidyaml_ysparse_1parse_1buf (JNIEnv *env, jobject,
110104 jlong obj, jstring jfilename,
111105 jobject src, jint src_len,
112106 jobject dst, jint dst_len)
113107{
114- TIMED_SECTION (" jni_ys2evt_parse " , (size_type)src_len);
108+ TIMED_SECTION (" jni:ysparse_buf " , (size_type)src_len);
115109 char * src_ = nullptr ;
116110 int * dst_ = nullptr ;
117111 const char *filename = nullptr ;
118112 {
119- TIMED_SECTION (" jni_ys2evt_parse /get_jni" , (size_type)src_len);
113+ TIMED_SECTION (" jni:ysparse_buf /get_jni" , (size_type)src_len);
120114 src_ = (char *)env->GetDirectBufferAddress (src);
121115 dst_ = (int *)env->GetDirectBufferAddress (dst);
122116 filename = env->GetStringUTFChars (jfilename, 0 );
@@ -126,10 +120,10 @@ Java_org_rapidyaml_Rapidyaml_ys2evt_1parse_1buf(JNIEnv *env, jobject,
126120 throw_runtime_exception (env, " null pointer: dst" );
127121 }
128122 {
129- TIMED_SECTION (" jni_ys2evt_parse/call_parse " , (size_type)src_len);
123+ TIMED_SECTION (" jni:ysparse_buf/parse " , (size_type)src_len);
130124 try
131125 {
132- return ys2evt_parse ((Ryml2Evt *)obj, filename, src_, src_len, dst_, dst_len);
126+ return ysparse_parse ((ysparse *)obj, filename, src_, src_len, dst_, dst_len);
133127 }
134128 catch (YsParseError const & exc)
135129 {
0 commit comments