diff options
| author | Po Lu | 2023-09-05 10:43:07 +0800 |
|---|---|---|
| committer | Po Lu | 2023-09-05 10:43:07 +0800 |
| commit | eb9cfa88525fd748cd069069a80fe1ca6aec0bc3 (patch) | |
| tree | d4ffe74b0f762e87cdabf23377d76935caa4314f /src | |
| parent | 483c6f191f20ff4604aa03c8520bc6af4998204b (diff) | |
| download | emacs-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.c | 12 |
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 | { |