Compiler cleanup
o Added slow path for string resolution
o Removed dead throw internal and runtime error
o Restructured debug and optimization disable flags for make it easier
for command-line option support.
o Removed/converted #if 1/0 blocks
Change-Id: I65fc561a55437b3f74d0dfff5af87f938008d70e
diff --git a/src/thread.cc b/src/thread.cc
index 87a2017..29531f4 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -59,6 +59,12 @@
static Method* gThreadGroup_removeThread = NULL;
static Method* gUncaughtExceptionHandler_uncaughtException = NULL;
+// TODO: flesh out and move to appropriate location
+String* ResolveStringFromCode(Method* method, int32_t string_idx) {
+ UNIMPLEMENTED(FATAL) << "Resolve string; handle OOM";
+ return NULL; // Must return valid string or if exception, doesn't return
+}
+
void Thread::InitFunctionPointers() {
#if defined(__arm__)
pShlLong = art_shl_long;
@@ -96,11 +102,9 @@
pTestSuspendFromCode = art_test_suspend;
pThrowArrayBoundsFromCode = art_throw_array_bounds_from_code;
pThrowDivZeroFromCode = art_throw_div_zero_from_code;
- pThrowInternalErrorFromCode = art_throw_internal_error_from_code;
pThrowNegArraySizeFromCode = art_throw_neg_array_size_from_code;
pThrowNoSuchMethodFromCode = art_throw_no_such_method_from_code;
pThrowNullPointerFromCode = art_throw_null_pointer_exception_from_code;
- pThrowRuntimeExceptionFromCode = art_throw_runtime_exception_from_code;
pThrowStackOverflowFromCode = art_throw_stack_overflow_from_code;
pThrowVerificationErrorFromCode = art_throw_verification_error_from_code;
pUnlockObjectFromCode = art_unlock_object_from_code;
@@ -124,6 +128,7 @@
pCheckSuspendFromCode = artCheckSuspendFromCode;
pFindNativeMethod = FindNativeMethod;
pDecodeJObjectInThread = DecodeJObjectInThread;
+ pResolveStringFromCode = ResolveStringFromCode;
pDebugMe = DebugMe;
}