From 68b56858367e29461ae290fd797443a1ef6d8005 Mon Sep 17 00:00:00 2001 From: Ian Rogers Date: Fri, 29 Aug 2014 20:19:11 -0700 Subject: Reduce and speed-up class def searches. Use the class linker for descriptor lookups from the compile driver so that dex caches are populated. Reduce the scope of functions for scanning class paths to just the class linker where they are performed. If we see more than a threshold number of find class def misses on a dex file lazily compute an index, so that future lookups are constant time (part of the collection code is taken from https://android-review.googlesource.com/#/c/103865/3). Note that we take a lazy approach so that we don't serialize on loading dex files, this avoids the reason the index was removed in 8b2c0b9abc3f520495f4387ea040132ba85cae69. Remove an implicit and unnecessary std::string creation for PrintableString. Single threaded interpret-only dex2oat performance is improved by roughly 10%. Bug: 16853450 Change-Id: Icf72df76b0a4328f2a24075e81f4ff267b9401f4 --- runtime/jdwp/jdwp_handler.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'runtime/jdwp') diff --git a/runtime/jdwp/jdwp_handler.cc b/runtime/jdwp/jdwp_handler.cc index b9379f5e7f..330d235c03 100644 --- a/runtime/jdwp/jdwp_handler.cc +++ b/runtime/jdwp/jdwp_handler.cc @@ -921,7 +921,7 @@ static JdwpError SR_Value(JdwpState*, Request& request, ExpandBuf* pReply) ObjectId stringObject = request.ReadObjectId(); std::string str(Dbg::StringToUtf8(stringObject)); - VLOG(jdwp) << StringPrintf(" --> %s", PrintableString(str).c_str()); + VLOG(jdwp) << StringPrintf(" --> %s", PrintableString(str.c_str()).c_str()); expandBufAddUtf8String(pReply, str); -- cgit v1.2.3