From 25bf44622d6359c1d49c2a8a8b45938ff099f811 Mon Sep 17 00:00:00 2001 From: Alex Light Date: Mon, 11 Jun 2018 10:28:06 -0700 Subject: Rewrite JVMTI method tracing to use trampolines Now that we have working instrumentation trampolines we can rewrite the MethodEntry and MethodExit events to use these instead of the interpreter. This will improve performance of code being traced in this way by allowing the actual code to still use optimized jit code. Test: ./test/testrunner/testrunner.py --host --runtime-option=-Xjitthreshold:0 --jit Test: ./test/testrunner/testrunner.py --host --jit --debug --runtime-option=-Xplugin:libtracefast-trampolined.so Test: ./test/testrunner/testrunner.py --host --jit --debug --runtime-option=-Xjitthreshold:0 --runtime-option=-Xplugin:libtracefast-trampolined.so Test: ./test/testrunner/testrunner.py --host --debuggable --run-test-option='--with-agent libtifast.so=MethodEntry,MethodExit' Test: ./test/testrunner/testrunner.py --host --debuggable --jit --runtime-option=-Xjitthreshold:0 --run-test-option='--with-agent libtifast.so=MethodEntry,MethodExit' Test: adb shell am start-activity -S --attach-agent /data/local/tmp/libtifast.so=MethodEntry,MethodExit Change-Id: I37c2ece14b1b12a79390da7d668ebbefa2966f87 --- runtime/jit/jit_code_cache.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'runtime/jit/jit_code_cache.h') diff --git a/runtime/jit/jit_code_cache.h b/runtime/jit/jit_code_cache.h index f7829de8e7..19de978cd4 100644 --- a/runtime/jit/jit_code_cache.h +++ b/runtime/jit/jit_code_cache.h @@ -215,6 +215,8 @@ class JitCodeCache { REQUIRES(!lock_) REQUIRES_SHARED(Locks::mutator_lock_); + void ClearAllCompiledDexCode() REQUIRES(!lock_, Locks::mutator_lock_); + void CopyInlineCacheInto(const InlineCache& ic, Handle> array) REQUIRES(!lock_) REQUIRES_SHARED(Locks::mutator_lock_); -- cgit v1.2.3-59-g8ed1b