12faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes/* 20f3c55331439970e01af67f80ac117c473bc04cfElliott Hughes * Copyright (C) 2012 The Android Open Source Project 32faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * 42faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * Licensed under the Apache License, Version 2.0 (the "License"); 52faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * you may not use this file except in compliance with the License. 62faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * You may obtain a copy of the License at 72faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * 82faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 92faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * 102faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * Unless required by applicable law or agreed to in writing, software 112faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 122faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * See the License for the specific language governing permissions and 142faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes * limitations under the License. 152faa5f1271587cda765f26bcf2951065300a01ffElliott Hughes */ 16b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers 1757b86d47b66322693a070185fadfb43cb9c12eabIan Rogers#include "callee_save_frame.h" 187b078e8c04f3e1451dbdd18543c8b9692b5b067eIan Rogers#include "thread-inl.h" 19c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson 20b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogersnamespace art { 21b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers 2290443477f9a0061581c420775ce3b7eeae7468bcMathieu Chartierextern "C" void artTestSuspendFromCode(Thread* self) SHARED_REQUIRES(Locks::mutator_lock_) { 2357b86d47b66322693a070185fadfb43cb9c12eabIan Rogers // Called when suspend count check value is 0 and thread->suspend_count_ != 0 241d8cdbc5202378a5f1a4b3a1fba610675ed4dcd5Ian Rogers ScopedQuickEntrypointChecks sqec(self); 257b078e8c04f3e1451dbdd18543c8b9692b5b067eIan Rogers self->CheckSuspend(); 26c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson} 27b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers 28b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers} // namespace art 29