Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::TransitionToNative Class Reference

#include <safepoint.h>

Inheritance diagram for dart::TransitionToNative:
dart::TransitionSafepointState dart::ThreadStackResource dart::StackResource

Public Member Functions

 TransitionToNative (Thread *T)
 
 ~TransitionToNative ()
 
- Public Member Functions inherited from dart::TransitionSafepointState
 TransitionSafepointState (Thread *T)
 
 ~TransitionSafepointState ()
 
SafepointHandlerhandler () const
 
- Public Member Functions inherited from dart::ThreadStackResource
 ThreadStackResource (Thread *T)
 
 ~ThreadStackResource ()
 
Threadthread () const
 
Isolateisolate () const
 
IsolateGroupisolate_group () const
 
- Public Member Functions inherited from dart::StackResource
 StackResource (ThreadState *thread)
 
virtual ~StackResource ()
 
ThreadStatethread () const
 

Additional Inherited Members

- Static Public Member Functions inherited from dart::StackResource
static void Unwind (ThreadState *thread)
 
static void UnwindAbove (ThreadState *thread, StackResource *new_top)
 

Detailed Description

Definition at line 497 of file safepoint.h.

Constructor & Destructor Documentation

◆ TransitionToNative()

dart::TransitionToNative::TransitionToNative ( Thread T)
inlineexplicit

Definition at line 499 of file safepoint.h.

500 : TransitionSafepointState(T), execution_state_(T->execution_state()) {
502 ASSERT((execution_state_ == Thread::kThreadInVM) ||
503 (execution_state_ == Thread::kThreadInNative));
504 if (execution_state_ == Thread::kThreadInVM) {
505 T->set_execution_state(Thread::kThreadInNative);
506 T->EnterSafepoint();
507 }
508 ASSERT(T->execution_state() == Thread::kThreadInNative);
509 }
static Thread * Current()
Definition: thread.h:362
@ kThreadInNative
Definition: thread.h:1036
#define ASSERT(E)
#define T
Definition: precompiler.cc:65

◆ ~TransitionToNative()

dart::TransitionToNative::~TransitionToNative ( )
inline

Definition at line 511 of file safepoint.h.

511 {
512 ASSERT(thread()->execution_state() == Thread::kThreadInNative);
513 if (execution_state_ == Thread::kThreadInVM) {
516 }
517 }
void set_execution_state(ExecutionState state)
Definition: thread.h:1048
void ExitSafepoint()
Definition: thread.h:1094

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