| // 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 |