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.
2 files changed