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