Revert "Change LLVM check for pending exception to use thread flags."
This reverts commit 2281a0ea6e3fbb7a26bd7ca030ee20296b8fed58
Change-Id: Iee5f99df242265528d9a363e302bb58811bda021
diff --git a/src/compiler_llvm/runtime_support_builder.cc b/src/compiler_llvm/runtime_support_builder.cc
index 9513d4a..169f8e8 100644
--- a/src/compiler_llvm/runtime_support_builder.cc
+++ b/src/compiler_llvm/runtime_support_builder.cc
@@ -147,12 +147,11 @@
}
llvm::Value* RuntimeSupportBuilder::EmitIsExceptionPending() {
- Value* state_and_flags = EmitLoadFromThreadOffset(Thread::ThreadFlagsOffset().Int32Value(),
- irb_.getInt16Ty(),
- kTBAARuntimeInfo);
- // Mask exception pending status and return true if non-zero.
- Value* exception_pending = irb_.CreateAnd(state_and_flags, irb_.getInt16(kExceptionPending));
- return irb_.CreateICmpNE(exception_pending, irb_.getInt16(0));
+ Value* exception = EmitLoadFromThreadOffset(Thread::ExceptionOffset().Int32Value(),
+ irb_.getJObjectTy(),
+ kTBAARuntimeInfo);
+ // If exception not null
+ return irb_.CreateIsNotNull(exception);
}