Implement LLVM version of stack walking. Fix Jni_Compiler tests.
Thread.cc has many visitors such as CatchBlockStackVisitor and
ReferenceMapVisitor that assume non-LLVM stack layout. LLVM version's
exception handling and gc have no use of those. Per Ian's suggestion,
this LLVM CL relies on ShadowFrame to implement stack walking. And
we use the same Frame class in LLVM version. Result: The Thread.cc
runtime is common across LLVM and non-LLVM compilers, except for
WalkStack utility in Thread.cc.
Key: LLVM's Frame has its (only) field point to the method* in the
ShadowFrame. With this, we finally pass all the jni_compiler tests.
(cherry picked from commit aa4923361d850f8094a546e84ec18672ebbb19fb)
2 files changed