From 7a2697d327936e20ef5484f7819e2e4bf91c891f Mon Sep 17 00:00:00 2001 From: Ben Cheng Date: Mon, 7 Jun 2010 13:44:23 -0700 Subject: Implement method inlining for getters/setters Changes include: 1) Force the trace that ends with an invoke instruction to include the next instruction if it is a move-result (because both need to be turned into no-ops if callee is inlined). 2) Interpreter entry point/trace builder changes so that return target won't automatically be considered as trace starting points (to avoid duplicate traces that include the move result instructions). 3) Codegen changes to handle getters/setters invoked from both monomorphic and polymorphic callsites. 4) Extend/fix self-verification to form identical trace regions and handle traces with inlined callees. 5) Apply touchups to the method based parsing - still not in use. Change-Id: I116b934df01bf9ada6d5a25187510e352bccd13c --- vm/compiler/codegen/arm/ArchUtility.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'vm/compiler/codegen/arm/ArchUtility.c') diff --git a/vm/compiler/codegen/arm/ArchUtility.c b/vm/compiler/codegen/arm/ArchUtility.c index 2daa871ca..d5acd13ef 100644 --- a/vm/compiler/codegen/arm/ArchUtility.c +++ b/vm/compiler/codegen/arm/ArchUtility.c @@ -277,7 +277,8 @@ void dvmDumpLIRInsn(LIR *arg, unsigned char *baseAddr) LOGD("-------- BARRIER"); break; case kArmPseudoExtended: - /* intentional fallthrough */ + LOGD("-------- %s\n", (char *) dest); + break; case kArmPseudoSSARep: DUMP_SSA_REP(LOGD("-------- %s\n", (char *) dest)); break; -- cgit v1.2.3