blob: cb2ce48c2d8e88c89e7c0c1c4c4bc0bf0bedd54c [file] [log] [blame] [edit]
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "bin/mappable.h"
#include "platform/globals.h"
#include "bin/file.h"
namespace dart {
namespace bin {
Mappable* Mappable::FromPath(const char* path) {
return new FileMappable(File::Open(/*namespc=*/nullptr, path, File::kRead,
/*executable=*/true));
}
#if defined(DART_HOST_OS_FUCHSIA) || defined(DART_HOST_OS_LINUX)
Mappable* Mappable::FromFD(int fd) {
return new FileMappable(File::OpenFD(fd));
}
#endif
Mappable* Mappable::FromMemory(const uint8_t* memory, size_t size) {
return new MemoryMappable(memory, size);
}
} // namespace bin
} // namespace dart