summaryrefslogtreecommitdiff
path: root/compiler/utils/jni_macro_assembler.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2022-11-24 16:31:25 +0100
committer Treehugger Robot <treehugger-gerrit@google.com> 2023-03-29 10:51:10 +0000
commitdb18e88d8a9e2a45639c6fd25e91341dd3f32f07 (patch)
tree25f0d9f6a397c00d54c2d45701671dd29541b36a /compiler/utils/jni_macro_assembler.h
parent63af30b8fe8d4e1dc32db4dcb5e5dae1efdc7f31 (diff)
Rewrite `LocalReferenceTable`.
Change `jobject` for local references to a `GcRoot<>*` with a `kLocal` tag, so that decoding can be done by clearing the tag and dereferencing. Optimize operations with CheckJNI disabled and small local reference table. Results for the timeGetBytesAscii#EMPTY benchmark from the libcore's StringToBytesBenchmark suite on blueline-userdebug with the cpu frequencies fixed at 1420800 (cpus 0-3; little) and 1459200 (cpus 4-7; big): 32-bit little: ~450 -> ~415 64-bit little: ~455 -> ~415 32-bit big: ~200 -> ~180 64-bit big: ~200 -> ~180 This CL also opens an opportunity for inlining a fast-path for local reference decoding to compiled JNI stubs for methods that return a reference. Test: m test-art-host-gtest Test: testrunner.py --host Bug: 172332525 Change-Id: Id6f2955419b966fd1ad860bace9c23947080f8ed
Diffstat (limited to 'compiler/utils/jni_macro_assembler.h')
0 files changed, 0 insertions, 0 deletions