Make failures caused by unimplemented entry points much clearer.
Before:
F 32344 32344 runtime_linux.cc:183] *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
F 32344 32344 runtime_linux.cc:183] Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) fault addr (nil)
F 32344 32344 libartd.so:-1] #00 ??+0x3adc15 [0x5592ac15]
F 32344 32344 libartd.so:-1] #01 ??+0x3ae5b9 [0x5592b5b9]
F 32344 32344 ??:-1] #02 [0x55573410]
F 32344 32344 libartd.so:-1] #03 ??+0x24cb86 [0x557c9b86]
F 32344 32344 libartd.so:-1] #04 ??+0x24d0c3 [0x557ca0c3]
F 32344 32344 libartd.so:-1] #05 art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+0x48 [0x557d76e8]
F 32344 32344 libartd.so:-1] #06 art::CheckJNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+0xce [0x556e5cee]
F 32344 32344 oatexecd:-1] #07 _JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+0x29 [0x8085739]
F 32344 32344 oatexecd:-1] #08 ?? [0x8073c35]
F 32344 32344 oatexecd:-1] #09 ?? [0x8073fd7]
F 32344 32344 libc.so.6:-1] #10 __libc_start_main()+0xe6 [0x55afcbd6]
F 32344 32344 oatexecd:-1] #11 ?? [0x8071fc1]
After:
F 5527 5527 thread.cc:81] void art::UnimplementedEntryPoint() unimplemented
F 5527 5527 runtime.cc:160] Runtime aborting...
F 5527 5527 runtime.cc:160] "main" prio=5 tid=1 Runnable
F 5527 5527 runtime.cc:160] | group="main" sCount=0 dsCount=0 obj=0x6121e928 self=0x8c0c618
F 5527 5527 runtime.cc:160] | sysTid=5527 nice=0 sched=0/0 cgrp=default handle=1439185696
F 5527 5527 runtime.cc:160] | schedstat=( 66360090 54151 15 ) utm=6 stm=0 core=20 HZ=100
F 5527 5527 runtime.cc:160] at java.lang.Math.ceil(Native method)
F 5527 5527 runtime.cc:160] at java.lang.RealToString.longDigitGenerator(RealToString.java:269)
F 5527 5527 runtime.cc:160] at java.lang.RealToString.convertDouble(RealToString.java:111)
F 5527 5527 runtime.cc:160] at java.lang.RealToString.doubleToString(RealToString.java:59)
F 5527 5527 runtime.cc:160] at java.lang.Double.toString(Double.java:317)
F 5527 5527 runtime.cc:160] at java.lang.String.valueOf(String.java:1676)
F 5527 5527 runtime.cc:160] at java.io.PrintStream.println(PrintStream.java:479)
F 5527 5527 runtime.cc:160] at ReflectionTest.testFieldReflection(ReflectionTest.java:40)
F 5527 5527 runtime.cc:160] at ReflectionTest.main(ReflectionTest.java:269)
F 5527 5527 runtime.cc:160]
F 5527 5527 libartd.so:-1] #00 ??+0x3adcb5 [0x5592acb5]
F 5527 5527 libartd.so:-1] #01 art::Runtime::Abort(char const*, int)+0x99 [0x558a1439]
F 5527 5527 libartd.so:-1] #02 art::LogMessage::~LogMessage()+0x3d0 [0x557dc060]
F 5527 5527 libartd.so:-1] #03 ??+0x33f644 [0x558bc644]
F 5527 5527 ??:-1] #04 [0x60735b9a]
F 5527 5527 libartd.so:-1] #05 ??+0x24cb86 [0x557c9b86]
F 5527 5527 libartd.so:-1] #06 ??+0x24d0c3 [0x557ca0c3]
F 5527 5527 libartd.so:-1] #07 art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+0x48 [0x557d76e8]
F 5527 5527 libartd.so:-1] #08 art::CheckJNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+0xce [0x556e5cee]
F 5527 5527 oatexecd:-1] #09 _JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+0x29 [0x8085739]
F 5527 5527 oatexecd:-1] #10 ?? [0x8073c35]
F 5527 5527 oatexecd:-1] #11 ?? [0x8073fd7]
F 5527 5527 libc.so.6:-1] #12 __libc_start_main()+0xe6 [0x55afcbd6]
F 5527 5527 oatexecd:-1] #13 ?? [0x8071fc1]
Change-Id: Id55f10f910ace94de3c985fabfd9a0fe15c3c8bf
2 files changed