#include <safepoint.h>
Definition at line 81 of file safepoint.h.
◆ SafepointHandler()
dart::SafepointHandler::SafepointHandler |
( |
IsolateGroup * |
I | ) |
|
|
explicit |
Definition at line 62 of file safepoint.cc.
63 : isolate_group_(isolate_group) {
70}
◆ ~SafepointHandler()
dart::SafepointHandler::~SafepointHandler |
( |
| ) |
|
◆ AnySafepointInProgressLocked()
bool dart::SafepointHandler::AnySafepointInProgressLocked |
( |
| ) |
|
|
inline |
Definition at line 108 of file safepoint.h.
108 {
110 if (handlers_[
level]->SafepointInProgress()) {
111 return true;
112 }
113 }
114 return false;
115 }
◆ BlockForSafepoint()
void dart::SafepointHandler::BlockForSafepoint |
( |
Thread * |
T | ) |
|
Definition at line 324 of file safepoint.cc.
324 {
325 ASSERT(!
T->BypassSafepoints());
326 MonitorLocker tl(
T->thread_lock());
327
329 if (
T->IsSafepointRequestedLocked(
level)) {
330 EnterSafepointLocked(
T, &tl,
level);
331 ExitSafepointLocked(
T, &tl,
level);
333 }
334}
◆ EnterSafepointUsingLock()
void dart::SafepointHandler::EnterSafepointUsingLock |
( |
Thread * |
T | ) |
|
Definition at line 279 of file safepoint.cc.
279 {
280 MonitorLocker tl(
T->thread_lock());
281 EnterSafepointLocked(
T, &tl,
T->current_safepoint_level());
282}
◆ ExitSafepointUsingLock()
void dart::SafepointHandler::ExitSafepointUsingLock |
( |
Thread * |
T | ) |
|
Definition at line 284 of file safepoint.cc.
284 {
285 MonitorLocker tl(
T->thread_lock());
287 ExitSafepointLocked(
T, &tl,
T->current_safepoint_level());
288 ASSERT(!
T->IsSafepointRequestedLocked(
T->current_safepoint_level()));
289}
◆ InnermostSafepointOperation()
SafepointLevel dart::SafepointHandler::InnermostSafepointOperation |
( |
const Thread * |
current_thread | ) |
const |
Definition at line 291 of file safepoint.cc.
292 {
293
294 intptr_t last_count = -1;
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
312 if (handlers_[
level]->owner_ == current_thread) {
313 const intptr_t
count = handlers_[
level]->operation_count_;
314 if (
count < last_count)
return last_level;
317 } else {
318 return last_level;
319 }
320 }
321 return last_level;
322}
◆ ForceGrowthSafepointOperationScope
◆ HeapIterationScope
◆ Isolate
◆ IsolateGroup
◆ SafepointOperationScope
The documentation for this class was generated from the following files: