@@ -42,28 +42,28 @@ using ET_RUNTIME_NAMESPACE::MethodMeta;
42
42
using ET_RUNTIME_NAMESPACE::Program;
43
43
44
44
namespace {
45
- runtime::Result<std::unique_ptr<runtime::DataLoader>> load_file (
45
+ runtime::Result<std::unique_ptr<runtime::DataLoader>> make_data_loader (
46
46
const std::string& file_path,
47
47
Module::LoadMode mode) {
48
- std::unique_ptr<runtime::DataLoader> res = nullptr ;
48
+ std::unique_ptr<runtime::DataLoader> data_loader ;
49
49
switch (mode) {
50
50
case Module::LoadMode::File:
51
- res = ET_UNWRAP_UNIQUE (FileDataLoader::from (file_path.c_str ()));
51
+ data_loader = ET_UNWRAP_UNIQUE (FileDataLoader::from (file_path.c_str ()));
52
52
break ;
53
53
case Module::LoadMode::Mmap:
54
- res = ET_UNWRAP_UNIQUE (MmapDataLoader::from (
54
+ data_loader = ET_UNWRAP_UNIQUE (MmapDataLoader::from (
55
55
file_path.c_str (), MmapDataLoader::MlockConfig::NoMlock));
56
56
break ;
57
57
case Module::LoadMode::MmapUseMlock:
58
- res = ET_UNWRAP_UNIQUE (MmapDataLoader::from (file_path.c_str ()));
58
+ data_loader = ET_UNWRAP_UNIQUE (MmapDataLoader::from (file_path.c_str ()));
59
59
break ;
60
60
case Module::LoadMode::MmapUseMlockIgnoreErrors:
61
- res = ET_UNWRAP_UNIQUE (MmapDataLoader::from (
61
+ data_loader = ET_UNWRAP_UNIQUE (MmapDataLoader::from (
62
62
file_path.c_str (),
63
63
MmapDataLoader::MlockConfig::UseMlockIgnoreErrors));
64
64
break ;
65
65
}
66
- return res ;
66
+ return data_loader ;
67
67
}
68
68
} // namespace
69
69
@@ -137,29 +137,17 @@ Module::Module(
137
137
138
138
runtime::Error Module::load (const Program::Verification verification) {
139
139
if (!is_loaded ()) {
140
- // Load the program
141
140
if (!data_loader_) {
142
- auto res = load_file (file_path_, load_mode_);
143
- if (!res.ok ()) {
144
- return res.error ();
145
- }
146
- data_loader_ = std::move (res.get ());
141
+ data_loader_ = ET_UNWRAP (make_data_loader (file_path_, load_mode_));
147
142
}
148
- // If a .ptd path was given load it.
149
- if (data_map_path_ != " " ) {
150
- auto res = load_file (data_map_path_, load_mode_);
151
- if (!res.ok ()) {
152
- return res.error ();
153
- }
154
- data_map_loader_ = std::move (res.get ());
143
+ if (!data_map_path_.empty ()) {
144
+ data_map_loader_ =
145
+ ET_UNWRAP (make_data_loader (data_map_path_, load_mode_));
155
146
}
156
- // If we have a .ptd loader, then load the map.
157
147
if (data_map_loader_) {
158
148
data_map_ =
159
149
ET_UNWRAP_UNIQUE (FlatTensorDataMap::load (data_map_loader_.get ()));
160
150
}
161
- // else: either the map itself was provided or we have no data map, either
162
- // way no work to do.
163
151
auto program =
164
152
ET_UNWRAP_UNIQUE (Program::load (data_loader_.get (), verification));
165
153
program_ = std::shared_ptr<Program>(
0 commit comments