Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
dart::StartIsolateScope Class Reference

#include <isolate.h>

Public Member Functions

 StartIsolateScope (Isolate *new_isolate)
 
 ~StartIsolateScope ()
 

Detailed Description

Definition at line 1710 of file isolate.h.

Constructor & Destructor Documentation

◆ StartIsolateScope()

dart::StartIsolateScope::StartIsolateScope ( Isolate new_isolate)
inlineexplicit

Definition at line 1712 of file isolate.h.

1713 : new_isolate_(new_isolate), saved_isolate_(Isolate::Current()) {
1714 if (new_isolate_ == nullptr) {
1715 ASSERT(Isolate::Current() == nullptr);
1716 // Do nothing.
1717 return;
1718 }
1719 if (saved_isolate_ != new_isolate_) {
1720 ASSERT(Isolate::Current() == nullptr);
1721 Thread::EnterIsolate(new_isolate_);
1722 // Ensure this is not a nested 'isolate enter' with prior state.
1723 ASSERT(Thread::Current()->top_exit_frame_info() == 0);
1724 }
1725 }
static Isolate * Current()
Definition isolate.h:939
static Thread * Current()
Definition thread.h:361
static void EnterIsolate(Isolate *isolate)
Definition thread.cc:366
#define ASSERT(E)

◆ ~StartIsolateScope()

dart::StartIsolateScope::~StartIsolateScope ( )
inline

Definition at line 1727 of file isolate.h.

1727 {
1728 if (new_isolate_ == nullptr) {
1729 ASSERT(Isolate::Current() == nullptr);
1730 // Do nothing.
1731 return;
1732 }
1733 if (saved_isolate_ != new_isolate_) {
1734 ASSERT(saved_isolate_ == nullptr);
1735 // ASSERT that we have bottomed out of all Dart invocations.
1736 ASSERT(Thread::Current()->top_exit_frame_info() == 0);
1738 }
1739 }
static void ExitIsolate(bool isolate_shutdown=false)
Definition thread.cc:423

The documentation for this class was generated from the following file: