aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2023-09-05 10:43:07 +0800
committerPo Lu2023-09-05 10:43:07 +0800
commiteb9cfa88525fd748cd069069a80fe1ca6aec0bc3 (patch)
treed4ffe74b0f762e87cdabf23377d76935caa4314f /src
parent483c6f191f20ff4604aa03c8520bc6af4998204b (diff)
downloademacs-eb9cfa88525fd748cd069069a80fe1ca6aec0bc3.tar.gz
emacs-eb9cfa88525fd748cd069069a80fe1ca6aec0bc3.zip
Avoid virtual function dispatch overhead
* src/androidvfs.c (android_saf_move_document): Circumvent JNI dynamic function dispatch on call to final method.
Diffstat (limited to 'src')
-rw-r--r--src/androidvfs.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/androidvfs.c b/src/androidvfs.c
index e8777892bd3..858816908f8 100644
--- a/src/androidvfs.c
+++ b/src/androidvfs.c
@@ -4410,11 +4410,13 @@ android_saf_move_document (const char *uri, char **doc_id,
4410 4410
4411 /* Do the rename. */ 4411 /* Do the rename. */
4412 method = service_class.move_document; 4412 method = service_class.move_document;
4413 result = (*android_java_env)->CallObjectMethod (android_java_env, 4413 result
4414 emacs_service, 4414 = (*android_java_env)->CallNonvirtualObjectMethod (android_java_env,
4415 method, uri1, 4415 emacs_service,
4416 doc_id1, dir_name1, 4416 service_class.class,
4417 dst_id1, src_id1); 4417 method, uri1,
4418 doc_id1, dir_name1,
4419 dst_id1, src_id1);
4418 if (android_saf_exception_check (5, src_id1, dst_id1, dir_name1, 4420 if (android_saf_exception_check (5, src_id1, dst_id1, dir_name1,
4419 doc_id1, uri1)) 4421 doc_id1, uri1))
4420 { 4422 {