Flutter Engine
The Flutter Engine
Classes | Namespaces | Macros | Functions
isolate.cc File Reference
#include <utility>
#include "vm/isolate.h"
#include "include/dart_api.h"
#include "include/dart_native_api.h"
#include "platform/assert.h"
#include "platform/atomic.h"
#include "platform/text_buffer.h"
#include "vm/canonical_tables.h"
#include "vm/class_finalizer.h"
#include "vm/code_observers.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_api_message.h"
#include "vm/dart_api_state.h"
#include "vm/dart_entry.h"
#include "vm/debugger.h"
#include "vm/deopt_instructions.h"
#include "vm/dispatch_table.h"
#include "vm/ffi_callback_metadata.h"
#include "vm/flags.h"
#include "vm/heap/heap.h"
#include "vm/heap/pointer_block.h"
#include "vm/heap/safepoint.h"
#include "vm/heap/verifier.h"
#include "vm/image_snapshot.h"
#include "vm/isolate_reload.h"
#include "vm/kernel_isolate.h"
#include "vm/lockers.h"
#include "vm/log.h"
#include "vm/message_handler.h"
#include "vm/message_snapshot.h"
#include "vm/object.h"
#include "vm/object_id_ring.h"
#include "vm/object_store.h"
#include "vm/os_thread.h"
#include "vm/port.h"
#include "vm/profiler.h"
#include "vm/reusable_handles.h"
#include "vm/reverse_pc_lookup_cache.h"
#include "vm/service.h"
#include "vm/service_event.h"
#include "vm/service_isolate.h"
#include "vm/simulator.h"
#include "vm/stack_frame.h"
#include "vm/stub_code.h"
#include "vm/symbols.h"
#include "vm/tags.h"
#include "vm/thread.h"
#include "vm/thread_interrupter.h"
#include "vm/thread_registry.h"
#include "vm/timeline.h"
#include "vm/visitor.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/stub_code_compiler.h"

Go to the source code of this file.

Classes

class  dart::FinalizeWeakPersistentHandlesVisitor
 
class  dart::IsolateMessageHandler
 
class  dart::LibraryPrefixMapTraits
 
class  dart::IsolateKillerVisitor
 

Namespaces

namespace  dart
 

Macros

#define T   (thread())
 
#define I   (isolate())
 
#define IG   (isolate_group())
 
#define ISOLATE_GROUP_METRIC_CONSTRUCTORS(type, variable, name, unit)    metric_##variable##_.InitInstance(this, name, nullptr, Metric::unit);
 
#define INIT_FROM_FLAG(when, name, bitname, isolate_flag, flag)    api_flags->isolate_flag = flag;
 
#define INIT_FROM_FIELD(when, name, bitname, isolate_flag, flag)    api_flags->isolate_flag = name();
 
#define FLAG_FOR_PRECOMPILER(action)
 
#define FLAG_FOR_NONPRODUCT(action)   action
 
#define FLAG_FOR_PRODUCT(action)   action
 
#define SET_FROM_FLAG(when, name, bitname, isolate_flag, flag)
 
#define INIT_FROM_FLAG(when, name, bitname, isolate_flag, flag)    api_flags->isolate_flag = flag;
 
#define INIT_FROM_FIELD(when, name, bitname, isolate_flag, flag)    api_flags->isolate_flag = name();
 
#define FLAG_FOR_PRECOMPILER(action)
 
#define FLAG_FOR_NONPRODUCT(action)   action
 
#define FLAG_FOR_PRODUCT(action)   action
 
#define SET_FROM_FLAG(when, name, bitname, isolate_flag, flag)
 
#define REUSABLE_HANDLE_SCOPE_INIT(object)
 
#define REUSABLE_HANDLE_INITIALIZERS(object)   object##_handle_(nullptr),
 
#define ISOLATE_METRIC_CONSTRUCTORS(type, variable, name, unit)    metric_##variable##_(),
 
#define ISOLATE_METRIC_INIT(type, variable, name, unit)
 
#define ISOLATE_GROUP_METRIC_PRINT(type, variable, name, unit)    OS::PrintErr("%s\n", isolate_group_->Get##variable##Metric()->ToString());
 
#define ISOLATE_METRIC_PRINT(type, variable, name, unit)    OS::PrintErr("%s\n", metric_##variable##_.ToString());
 
#define TO_STRING(s)   STR(s)
 
#define STR(s)   #s
 
#define ADD_ISOLATE_FLAGS(when, name, bitname, isolate_flag_name, flag_name)
 

Functions

 dart::DECLARE_FLAG (bool, print_metrics)
 
 dart::DECLARE_FLAG (bool, trace_service)
 
 dart::DECLARE_FLAG (bool, trace_shutdown)
 
 dart::DECLARE_FLAG (bool, warn_on_pause_with_no_debugger)
 
 dart::DECLARE_FLAG (int, old_gen_growth_time_ratio)
 
 dart::DECLARE_FLAG (int, reload_every)
 
 dart::DECLARE_FLAG (bool, check_reloaded)
 
 dart::DECLARE_FLAG (bool, reload_every_back_off)
 
 dart::DECLARE_FLAG (bool, trace_reload)
 
static void dart::DeterministicModeHandler (bool value)
 
 dart::DEFINE_FLAG_HANDLER (DeterministicModeHandler, deterministic, "Enable deterministic mode.")
 
 dart::DEFINE_FLAG (bool, disable_thread_pool_limit, false, "Disables the limit of the thread pool (simulates custom embedder " "with custom message handler on unlimited number of threads).")
 
static std::unique_ptr< Messagedart::SerializeMessage (Dart_Port dest_port, const Instance &obj)
 
static std::unique_ptr< Messagedart::SerializeMessage (Zone *zone, Dart_Port dest_port, Dart_CObject *obj)
 
static MessageHandler::MessageStatus dart::StoreError (Thread *thread, const Error &error)
 
static void dart::ShutdownIsolate (uword parameter)
 
static const char * dart::ExceptionPauseInfoToServiceEnum (Dart_ExceptionPauseInfo pi)
 
static ServiceEvent dart::IsolatePauseEvent (Isolate *isolate)
 

Macro Definition Documentation

◆ ADD_ISOLATE_FLAGS

#define ADD_ISOLATE_FLAGS (   when,
  name,
  bitname,
  isolate_flag_name,
  flag_name 
)
Value:
{ \
JSONObject jsflag(&jsflags); \
jsflag.AddProperty("name", TO_STRING(name)); \
jsflag.AddProperty("valueAsString", name() ? "true" : "false"); \
}
DEF_SWITCHES_START aot vmservice shared library name
Definition: switches.h:32
#define TO_STRING(s)

◆ FLAG_FOR_NONPRODUCT [1/2]

#define FLAG_FOR_NONPRODUCT (   action)    action

◆ FLAG_FOR_NONPRODUCT [2/2]

#define FLAG_FOR_NONPRODUCT (   action)    action

◆ FLAG_FOR_PRECOMPILER [1/2]

#define FLAG_FOR_PRECOMPILER (   action)

◆ FLAG_FOR_PRECOMPILER [2/2]

#define FLAG_FOR_PRECOMPILER (   action)

◆ FLAG_FOR_PRODUCT [1/2]

#define FLAG_FOR_PRODUCT (   action)    action

◆ FLAG_FOR_PRODUCT [2/2]

#define FLAG_FOR_PRODUCT (   action)    action

◆ I

#define I   (isolate())

Definition at line 103 of file isolate.cc.

◆ IG

#define IG   (isolate_group())

Definition at line 104 of file isolate.cc.

◆ INIT_FROM_FIELD [1/2]

#define INIT_FROM_FIELD (   when,
  name,
  bitname,
  isolate_flag,
  flag 
)     api_flags->isolate_flag = name();

◆ INIT_FROM_FIELD [2/2]

#define INIT_FROM_FIELD (   when,
  name,
  bitname,
  isolate_flag,
  flag 
)     api_flags->isolate_flag = name();

◆ INIT_FROM_FLAG [1/2]

#define INIT_FROM_FLAG (   when,
  name,
  bitname,
  isolate_flag,
  flag 
)     api_flags->isolate_flag = flag;

◆ INIT_FROM_FLAG [2/2]

#define INIT_FROM_FLAG (   when,
  name,
  bitname,
  isolate_flag,
  flag 
)     api_flags->isolate_flag = flag;

◆ ISOLATE_GROUP_METRIC_CONSTRUCTORS

#define ISOLATE_GROUP_METRIC_CONSTRUCTORS (   type,
  variable,
  name,
  unit 
)     metric_##variable##_.InitInstance(this, name, nullptr, Metric::unit);

◆ ISOLATE_GROUP_METRIC_PRINT

#define ISOLATE_GROUP_METRIC_PRINT (   type,
  variable,
  name,
  unit 
)     OS::PrintErr("%s\n", isolate_group_->Get##variable##Metric()->ToString());

◆ ISOLATE_METRIC_CONSTRUCTORS

#define ISOLATE_METRIC_CONSTRUCTORS (   type,
  variable,
  name,
  unit 
)     metric_##variable##_(),

◆ ISOLATE_METRIC_INIT

#define ISOLATE_METRIC_INIT (   type,
  variable,
  name,
  unit 
)
Value:
result->metric_##variable##_.InitInstance(result, name, nullptr, \
Metric::unit);
GAsyncResult * result

◆ ISOLATE_METRIC_PRINT

#define ISOLATE_METRIC_PRINT (   type,
  variable,
  name,
  unit 
)     OS::PrintErr("%s\n", metric_##variable##_.ToString());

◆ REUSABLE_HANDLE_INITIALIZERS

#define REUSABLE_HANDLE_INITIALIZERS (   object)    object##_handle_(nullptr),

Definition at line 1714 of file isolate.cc.

◆ REUSABLE_HANDLE_SCOPE_INIT

#define REUSABLE_HANDLE_SCOPE_INIT (   object)

Definition at line 1711 of file isolate.cc.

◆ SET_FROM_FLAG [1/2]

#define SET_FROM_FLAG (   when,
  name,
  bitname,
  isolate_flag,
  flag 
)
Value:
FLAG_FOR_##when(isolate_group_flags_ = bitname##Bit::update( \
api_flags.isolate_flag, isolate_group_flags_));

◆ SET_FROM_FLAG [2/2]

#define SET_FROM_FLAG (   when,
  name,
  bitname,
  isolate_flag,
  flag 
)
Value:
FLAG_FOR_##when(isolate_flags_ = bitname##Bit::update( \
api_flags.isolate_flag, isolate_flags_));

◆ STR

#define STR (   s)    #s

◆ T

#define T   (thread())

Definition at line 102 of file isolate.cc.

◆ TO_STRING

#define TO_STRING (   s)    STR(s)