diff options
| author | 2011-07-21 22:00:15 -0700 | |
|---|---|---|
| committer | 2011-07-22 15:16:43 -0700 | |
| commit | 45a76cb99104a222d6a9bd768a084893dcb7cf30 (patch) | |
| tree | 995557ba95942309ffe9c4a13819a10da8c4b4bb /src/assembler_arm.cc | |
| parent | 69759eaa6fd4386f1e6d8748052ad221087b3476 (diff) | |
Exception and suspend count polling on JNI bridge return.
Change-Id: I0e5597fcbdcdb88100b18d63323e7ba8d27f13fe
Diffstat (limited to 'src/assembler_arm.cc')
| -rw-r--r-- | src/assembler_arm.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/assembler_arm.cc b/src/assembler_arm.cc index 603be6877b..d470b90efd 100644 --- a/src/assembler_arm.cc +++ b/src/assembler_arm.cc @@ -1412,6 +1412,10 @@ void Assembler::StoreStackOffsetToThread(ThreadOffset thr_offs, TR, thr_offs.Int32Value()); } +void Assembler::StoreStackPointerToThread(ThreadOffset thr_offs) { + StoreToOffset(kStoreWord, SP, TR, thr_offs.Int32Value()); +} + void Assembler::Move(ManagedRegister dest, ManagedRegister src) { if (dest.IsCoreRegister()) { CHECK(src.IsCoreRegister()); @@ -1504,4 +1508,19 @@ void Assembler::Call(ManagedRegister base, Offset offset, // TODO: place reference map on call } +// Generate code to check if Thread::Current()->suspend_count_ is non-zero +// and branch to a SuspendSlowPath if it is. The SuspendSlowPath will continue +// at the next instruction. +void Assembler::SuspendPoll(ManagedRegister scratch, ManagedRegister return_reg, + FrameOffset return_save_location, + size_t return_size) { + LOG(WARNING) << "Unimplemented: Suspend poll"; +} + +// Generate code to check if Thread::Current()->exception_ is non-null +// and branch to a ExceptionSlowPath if it is. +void Assembler::ExceptionPoll(ManagedRegister scratch) { + LOG(WARNING) << "Unimplemented: Exception poll"; +} + } // namespace art |