5#ifndef RUNTIME_VM_KERNEL_H_
6#define RUNTIME_VM_KERNEL_H_
26 operator int()
const {
return value_; }
34#if !defined(DART_PRECOMPILED_RUNTIME)
45struct ProcedureAttributesMetadata;
46class TableSelectorMetadata;
47class UnboxingInfoMetadata;
54 operator int()
const {
return value_; }
68 const char**
error =
nullptr);
70 static std::unique_ptr<Program>
ReadFromFile(
const char* script_uri,
71 const char**
error =
nullptr);
73 intptr_t buffer_length,
74 const char**
error =
nullptr);
77 const char**
error =
nullptr);
85 return metadata_payloads_offset_;
88 return metadata_mappings_offset_;
100 bool single_program_;
101 NameIndex main_method_reference_;
102 intptr_t library_count_;
105 intptr_t source_table_offset_;
108 intptr_t constant_table_offset_;
111 intptr_t component_index_offset_;
114 intptr_t name_table_offset_;
117 intptr_t metadata_payloads_offset_;
120 intptr_t metadata_mappings_offset_;
123 intptr_t string_table_offset_;
127 DISALLOW_COPY_AND_ASSIGN(Program);
137 uint32_t
At(intptr_t index)
const {
138 return helper_->At(line_starts_data_, index);
149 intptr_t* col =
nullptr)
const;
155 intptr_t line_number,
160 class KernelLineStartsHelper {
162 KernelLineStartsHelper() {}
163 virtual ~KernelLineStartsHelper() {}
170 class KernelUint16LineStartsHelper :
public KernelLineStartsHelper {
172 KernelUint16LineStartsHelper() {}
179 class KernelUint32LineStartsHelper :
public KernelLineStartsHelper {
181 KernelUint32LineStartsHelper() {}
189 KernelLineStartsHelper* helper_;
196 intptr_t kernel_offset,
197 bool is_annotations_offset);
206 BitVector* is_covariant,
207 BitVector* is_generic_covariant_impl);
225 const KernelProgramInfo&
info,
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
DART_WARN_UNUSED_RESULT bool LocationForPosition(intptr_t position, intptr_t *line, intptr_t *col=nullptr) const
KernelLineStartsReader(const dart::TypedData &line_starts_data, dart::Zone *zone)
uint32_t MaxPosition() const
~KernelLineStartsReader()
DART_WARN_UNUSED_RESULT bool TokenRangeAtLine(intptr_t line_number, dart::TokenPosition *first_token_index, dart::TokenPosition *last_token_index) const
uint32_t At(intptr_t index) const
static constexpr int kInvalidName
intptr_t metadata_mappings_offset() const
intptr_t constant_table_offset()
intptr_t component_index_offset()
intptr_t string_table_offset() const
static std::unique_ptr< Program > ReadFromBuffer(const uint8_t *buffer, intptr_t buffer_length, const char **error=nullptr)
intptr_t name_table_offset() const
const TypedDataBase & binary()
static std::unique_ptr< Program > ReadFrom(Reader *reader, const char **error=nullptr)
static std::unique_ptr< Program > ReadFromTypedData(const ExternalTypedData &typed_data, const char **error=nullptr)
static std::unique_ptr< Program > ReadFromFile(const char *script_uri, const char **error=nullptr)
intptr_t source_table_offset() const
intptr_t metadata_payloads_offset() const
#define DART_WARN_UNUSED_RESULT
const uint8_t uint32_t uint32_t GError ** error
Dart_NativeFunction function
ObjectPtr BuildParameterDescriptor(const Function &function)
bool NeedsDynamicInvocationForwarder(const Function &function)
void ReadParameterCovariance(const Function &function, BitVector *is_covariant, BitVector *is_generic_covariant_impl)
static ProcedureAttributesMetadata ProcedureAttributesOf(Zone *zone, const KernelProgramInfo &kernel_program_info, const TypedDataView &kernel_data, intptr_t kernel_data_program_offset, intptr_t kernel_offset)
TableSelectorMetadata * TableSelectorMetadataForProgram(const KernelProgramInfo &info, Zone *zone)
ObjectPtr EvaluateMetadata(const Library &library, intptr_t kernel_offset, bool is_annotations_offset)
static UnboxingInfoMetadata * UnboxingInfoMetadataOf(Zone *zone, const KernelProgramInfo &kernel_program_info, const TypedDataView &kernel_data, intptr_t kernel_data_program_offset, intptr_t kernel_offset)
ObjectPtr EvaluateStaticConstFieldInitializer(const Field &field)
static int8_t data[kExtLength]
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service A custom Dart VM Service port The default is to pick a randomly available open port disable vm Disable the Dart VM Service The Dart VM Service is never available in release mode disable vm service Disable mDNS Dart VM Service publication Bind to the IPv6 localhost address for the Dart VM Service Ignored if vm service host is set endless trace buffer