summaryrefslogtreecommitdiff
path: root/src/compiler/codegen
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2011-08-28 14:39:07 -0700
committer buzbee <buzbee@google.com> 2011-08-28 17:38:59 -0700
commitdd3efae34ee77935cbd275d09c0ad35e5b79daee (patch)
treeb5633fdbd542d613da669e512ae773a4b57d98b1 /src/compiler/codegen
parent1caa2c205e51dda670207828f25451fb7623cea6 (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.cc32
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);