diff options
| author | 2011-08-28 14:39:07 -0700 | |
|---|---|---|
| committer | 2011-08-28 17:38:59 -0700 | |
| commit | dd3efae34ee77935cbd275d09c0ad35e5b79daee (patch) | |
| tree | b5633fdbd542d613da669e512ae773a4b57d98b1 /src/compiler/codegen | |
| parent | 1caa2c205e51dda670207828f25451fb7623cea6 (diff) | |
Add instance field get/put test
Still need to handle unresolved at compile-time case.
Change-Id: I4d9c82c4bbe4810aaa147ac19418706635a29a7f
Diffstat (limited to 'src/compiler/codegen')
| -rw-r--r-- | src/compiler/codegen/arm/Thumb2/Gen.cc | 32 |
1 files changed, 4 insertions, 28 deletions
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); |