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