From dd3efae34ee77935cbd275d09c0ad35e5b79daee Mon Sep 17 00:00:00 2001 From: buzbee Date: Sun, 28 Aug 2011 14:39:07 -0700 Subject: Add instance field get/put test Still need to handle unresolved at compile-time case. Change-Id: I4d9c82c4bbe4810aaa147ac19418706635a29a7f --- src/compiler/codegen/arm/Thumb2/Gen.cc | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) (limited to 'src/compiler/codegen') diff --git a/src/compiler/codegen/arm/Thumb2/Gen.cc b/src/compiler/codegen/arm/Thumb2/Gen.cc index eb136b8002..16adae7c11 100644 --- a/src/compiler/codegen/arm/Thumb2/Gen.cc +++ b/src/compiler/codegen/arm/Thumb2/Gen.cc @@ -374,13 +374,7 @@ static void genIGetX(CompilationUnit* cUnit, MIR* mir, OpSize size, Field* fieldPtr = cUnit->method->GetDeclaringClass()->GetDexCache()-> GetResolvedField(mir->dalvikInsn.vC); if (fieldPtr == NULL) { - /* - * With current scheme, we should never be in a situation - * in which the fieldPtr is null here. If something changes - * and we need to handle it, generate code to load the field - * pointer at run-time. - */ - LOG(FATAL) << "Unexpected null field pointer"; + UNIMPLEMENTED(FATAL) << "Need to handle unresolved field"; } #if ANDROID_SMP != 0 bool isVolatile = dvmIsVolatileField(fieldPtr); @@ -409,13 +403,7 @@ static void genIPutX(CompilationUnit* cUnit, MIR* mir, OpSize size, Field* fieldPtr = cUnit->method->GetDeclaringClass()->GetDexCache()-> GetResolvedField(mir->dalvikInsn.vC); if (fieldPtr == NULL) { - /* - * With current scheme, we should never be in a situation - * in which the fieldPtr is null here. If something changes - * and we need to handle it, generate code to load the field - * pointer at run-time. - */ - LOG(FATAL) << "Unexpected null field pointer"; + UNIMPLEMENTED(FATAL) << "Need to handle unresolved field"; } #if ANDROID_SMP != 0 bool isVolatile = dvmIsVolatileField(fieldPtr); @@ -445,13 +433,7 @@ static void genIGetWideX(CompilationUnit* cUnit, MIR* mir, RegLocation rlDest, Field* fieldPtr = cUnit->method->GetDeclaringClass()->GetDexCache()-> GetResolvedField(mir->dalvikInsn.vC); if (fieldPtr == NULL) { - /* - * With current scheme, we should never be in a situation - * in which the fieldPtr is null here. If something changes - * and we need to handle it, generate code to load the field - * pointer at run-time. - */ - LOG(FATAL) << "Unexpected null field pointer"; + UNIMPLEMENTED(FATAL) << "Need to handle unresolved field"; } #if ANDROID_SMP != 0 bool isVolatile = dvmIsVolatileField(fieldPtr); @@ -486,13 +468,7 @@ static void genIPutWideX(CompilationUnit* cUnit, MIR* mir, RegLocation rlSrc, Field* fieldPtr = cUnit->method->GetDeclaringClass()->GetDexCache()-> GetResolvedField(mir->dalvikInsn.vC); if (fieldPtr == NULL) { - /* - * With current scheme, we should never be in a situation - * in which the fieldPtr is null here. If something changes - * and we need to handle it, generate code to load the field - * pointer at run-time. - */ - LOG(FATAL) << "Unexpected null field pointer"; + UNIMPLEMENTED(FATAL) << "Need to handle unresolved field"; } #if ANDROID_SMP != 0 bool isVolatile = dvmIsVolatileField(fieldPtr); -- cgit v1.2.3-59-g8ed1b