Working dex2oat and oatexec

adb shell dex2oatd --dex-file=/system/framework/core.jar     --image=/system/framework/boot.oat --base=0x50000000 "'--method=Ljava/lang/System;logI(Ljava/lang/String;)V'" "'--method=Ljava/lang/System;log(CLjava/lang/String;Ljava/lang/Throwable;)V'"
adb shell dex2oatd --boot-dex-file=/system/framework/core.jar --boot=/system/framework/boot.oat --dex-file=/system/framework/art-test-dex-HelloWorld.jar --image=/system/framework/art-test-dex-HelloWorld.oat
adb shell oatexecd -Xbootclasspath:/system/framework/core.jar -Xbootimage:/system/framework/boot.oat -classpath /system/framework/art-test-dex-HelloWorld.jar -Ximage:/system/framework/art-test-dex-HelloWorld.oat HelloWorld

09-05 17:58:18.912  2385  2385 I System  : Hello, world!

Change-Id: I53e534068584f0c3a837313e4d517a0e4a7154fc
diff --git a/src/object.h b/src/object.h
index fa09782..9b3bf88 100644
--- a/src/object.h
+++ b/src/object.h
@@ -2494,7 +2494,6 @@
 inline void Field::SetName(String* new_name) {
   SetFieldObject(OFFSET_OF_OBJECT_MEMBER(Field, name_),
                  new_name, false);
-
 }
 
 inline uint32_t Field::GetAccessFlags() const {
@@ -2602,6 +2601,12 @@
 
 // C++ mirror of java.lang.Throwable
 class Throwable : public Object {
+ public:
+  void SetDetailMessage(String* new_detail_message) {
+    SetFieldObject(OFFSET_OF_OBJECT_MEMBER(Throwable, detail_message_),
+                   new_detail_message, false);
+  }
+
  private:
   // Field order required by test "ValidateFieldOrderOfJavaCppUnionClasses".
   Throwable* cause_;