summaryrefslogtreecommitdiffstats
path: root/runtime/entrypoints/quick
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-09-26 14:32:37 -0700
committerMathieu Chartier <mathieuc@google.com>2014-09-26 19:54:39 -0700
commit76433275dbe39e5ced1c223b006d1b900b1937f6 (patch)
treea72c101defa86ceff8b633cf2eaa606c87f783eb /runtime/entrypoints/quick
parent88adf36315237947d3a5d10b28fdf8b9da7794a4 (diff)
downloadart-76433275dbe39e5ced1c223b006d1b900b1937f6.zip
art-76433275dbe39e5ced1c223b006d1b900b1937f6.tar.gz
art-76433275dbe39e5ced1c223b006d1b900b1937f6.tar.bz2
Optimize get/set reflection performance
Speedups mostly from reducing how often access checks are needed, and adding more inlining, and adding templates. Field_getInt from ~850ns -> 350ns. Field_setInt from ~900ns -> 370ns. Bug: 14063288 (cherry picked from commit ffc788cb7b5b9f53734d7bb8af2d5e45d885546b) Change-Id: I2441581ff3478c6ae43b6aa49939ff3f07555ec8
Diffstat (limited to 'runtime/entrypoints/quick')
-rw-r--r--runtime/entrypoints/quick/callee_save_frame.h2
-rw-r--r--runtime/entrypoints/quick/quick_jni_entrypoints.cc1
2 files changed, 3 insertions, 0 deletions
diff --git a/runtime/entrypoints/quick/callee_save_frame.h b/runtime/entrypoints/quick/callee_save_frame.h
index e573d6d..e728f7d 100644
--- a/runtime/entrypoints/quick/callee_save_frame.h
+++ b/runtime/entrypoints/quick/callee_save_frame.h
@@ -18,7 +18,9 @@
#define ART_RUNTIME_ENTRYPOINTS_QUICK_CALLEE_SAVE_FRAME_H_
#include "base/mutex.h"
+#include "gc_root-inl.h"
#include "instruction_set.h"
+#include "runtime-inl.h"
#include "thread-inl.h"
// Specific frame size code is in architecture-specific files. We include this to compile-time
diff --git a/runtime/entrypoints/quick/quick_jni_entrypoints.cc b/runtime/entrypoints/quick/quick_jni_entrypoints.cc
index 87f04bb..c239535 100644
--- a/runtime/entrypoints/quick/quick_jni_entrypoints.cc
+++ b/runtime/entrypoints/quick/quick_jni_entrypoints.cc
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include "entrypoints/entrypoint_utils-inl.h"
#include "mirror/object-inl.h"
#include "thread-inl.h"
#include "verify_object-inl.h"