5#ifndef RUNTIME_BIN_ISOLATE_DATA_H_
6#define RUNTIME_BIN_ISOLATE_DATA_H_
21class MallocGrowableArray;
39 const char* packages_file,
41 bool isolate_run_app_snapshot);
47 return kernel_buffer_;
55 ASSERT(kernel_buffer_.get() ==
nullptr);
56 kernel_buffer_ = std::shared_ptr<uint8_t>(
buffer, FreeUnownedKernelBuffer);
57 kernel_buffer_size_ = size;
64 ASSERT(kernel_buffer_.get() ==
nullptr);
65 kernel_buffer_ = std::shared_ptr<uint8_t>(
buffer, free);
66 kernel_buffer_size_ = size;
74 ASSERT(kernel_buffer_.get() ==
nullptr);
75 kernel_buffer_ = std::move(
buffer);
76 kernel_buffer_size_ = size;
80 return resolved_packages_config_;
84 if (resolved_packages_config_ !=
nullptr) {
85 free(resolved_packages_config_);
86 resolved_packages_config_ =
nullptr;
97 return app_snapshot_ !=
nullptr || isolate_run_app_snapshot_;
101 loading_units_.Add(loading_unit);
107 std::unique_ptr<AppSnapshot> app_snapshot_;
109 char* resolved_packages_config_;
110 std::shared_ptr<uint8_t> kernel_buffer_;
111 intptr_t kernel_buffer_size_;
112 char* packages_file_ =
nullptr;
113 bool isolate_run_app_snapshot_;
115 static void FreeUnownedKernelBuffer(uint8_t*) {}
132 free(packages_file_);
133 packages_file_ =
nullptr;
141 ASSERT(loader_ !=
nullptr);
154 char* packages_file_;
static char * StrDup(const char *s)
void UpdatePackagesFile(const char *packages_file)
void set_loader(Loader *loader)
const char * packages_file() const
IsolateGroupData * isolate_group_data() const
void SetKernelBufferAlreadyOwned(std::shared_ptr< uint8_t > buffer, intptr_t size)
intptr_t kernel_buffer_size() const
void SetKernelBufferNewlyOwned(uint8_t *buffer, intptr_t size)
void set_resolved_packages_config(const char *packages_config)
void AddLoadingUnit(AppSnapshot *loading_unit)
const std::shared_ptr< uint8_t > & kernel_buffer() const
bool RunFromAppSnapshot() const
void SetKernelBufferUnowned(uint8_t *buffer, intptr_t size)
const char * resolved_packages_config() const
static const uint8_t buffer[]