aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/lite/allocation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/contrib/lite/allocation.cc')
-rw-r--r--tensorflow/contrib/lite/allocation.cc49
1 files changed, 9 insertions, 40 deletions
diff --git a/tensorflow/contrib/lite/allocation.cc b/tensorflow/contrib/lite/allocation.cc
index a4772731ec..21cb1832a7 100644
--- a/tensorflow/contrib/lite/allocation.cc
+++ b/tensorflow/contrib/lite/allocation.cc
@@ -13,56 +13,22 @@ See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/
-#include <fcntl.h>
-#include <sys/mman.h>
+#include "tensorflow/contrib/lite/allocation.h"
+
#include <sys/stat.h>
#include <sys/types.h>
-#include <unistd.h>
#include <cassert>
#include <cstdarg>
#include <cstdint>
#include <cstring>
#include <utility>
-#include "tensorflow/contrib/lite/allocation.h"
-#include "tensorflow/contrib/lite/context.h"
-#include "tensorflow/contrib/lite/error_reporter.h"
-#include "tensorflow/contrib/lite/nnapi_delegate.h"
+#include "tensorflow/contrib/lite/c/c_api_internal.h"
+#include "tensorflow/contrib/lite/core/api/error_reporter.h"
namespace tflite {
-MMAPAllocation::MMAPAllocation(const char* filename,
- ErrorReporter* error_reporter)
- : Allocation(error_reporter), mmapped_buffer_(MAP_FAILED) {
- mmap_fd_ = open(filename, O_RDONLY);
- if (mmap_fd_ == -1) {
- error_reporter_->Report("Could not open '%s'.", filename);
- return;
- }
- struct stat sb;
- fstat(mmap_fd_, &sb);
- buffer_size_bytes_ = sb.st_size;
- mmapped_buffer_ =
- mmap(nullptr, buffer_size_bytes_, PROT_READ, MAP_SHARED, mmap_fd_, 0);
- if (mmapped_buffer_ == MAP_FAILED) {
- error_reporter_->Report("Mmap of '%s' failed.", filename);
- return;
- }
-}
-
-MMAPAllocation::~MMAPAllocation() {
- if (valid()) {
- munmap(const_cast<void*>(mmapped_buffer_), buffer_size_bytes_);
- }
- if (mmap_fd_ != -1) close(mmap_fd_);
-}
-
-const void* MMAPAllocation::base() const { return mmapped_buffer_; }
-
-size_t MMAPAllocation::bytes() const { return buffer_size_bytes_; }
-
-bool MMAPAllocation::valid() const { return mmapped_buffer_ != MAP_FAILED; }
-
+#ifndef TFLITE_MCU
FileCopyAllocation::FileCopyAllocation(const char* filename,
ErrorReporter* error_reporter)
: Allocation(error_reporter) {
@@ -94,7 +60,9 @@ FileCopyAllocation::FileCopyAllocation(const char* filename,
filename);
return;
}
- copied_buffer_ = std::move(buffer);
+ // Versions of GCC before 6.2.0 don't support std::move from non-const
+ // char[] to const char[] unique_ptrs.
+ copied_buffer_.reset(const_cast<char const*>(buffer.release()));
}
FileCopyAllocation::~FileCopyAllocation() {}
@@ -104,6 +72,7 @@ const void* FileCopyAllocation::base() const { return copied_buffer_.get(); }
size_t FileCopyAllocation::bytes() const { return buffer_size_bytes_; }
bool FileCopyAllocation::valid() const { return copied_buffer_ != nullptr; }
+#endif
MemoryAllocation::MemoryAllocation(const void* ptr, size_t num_bytes,
ErrorReporter* error_reporter)