summaryrefslogtreecommitdiff
path: root/thirdparty/embree-aarch64/kernels/common/vector.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/embree-aarch64/kernels/common/vector.h')
-rw-r--r--thirdparty/embree-aarch64/kernels/common/vector.h76
1 files changed, 0 insertions, 76 deletions
diff --git a/thirdparty/embree-aarch64/kernels/common/vector.h b/thirdparty/embree-aarch64/kernels/common/vector.h
deleted file mode 100644
index b478762240..0000000000
--- a/thirdparty/embree-aarch64/kernels/common/vector.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2009-2020 Intel Corporation
-// SPDX-License-Identifier: Apache-2.0
-
-#include "default.h"
-
-namespace embree
-{
- /*! invokes the memory monitor callback */
- struct MemoryMonitorInterface {
- virtual void memoryMonitor(ssize_t bytes, bool post) = 0;
- };
-
- /*! allocator that performs aligned monitored allocations */
- template<typename T, size_t alignment = 64>
- struct aligned_monitored_allocator
- {
- typedef T value_type;
- typedef T* pointer;
- typedef const T* const_pointer;
- typedef T& reference;
- typedef const T& const_reference;
- typedef std::size_t size_type;
- typedef std::ptrdiff_t difference_type;
-
- __forceinline aligned_monitored_allocator(MemoryMonitorInterface* device)
- : device(device), hugepages(false) {}
-
- __forceinline pointer allocate( size_type n )
- {
- if (n) {
- assert(device);
- device->memoryMonitor(n*sizeof(T),false);
- }
- if (n*sizeof(value_type) >= 14 * PAGE_SIZE_2M)
- {
- pointer p = (pointer) os_malloc(n*sizeof(value_type),hugepages);
- assert(p);
- return p;
- }
- return (pointer) alignedMalloc(n*sizeof(value_type),alignment);
- }
-
- __forceinline void deallocate( pointer p, size_type n )
- {
- if (p)
- {
- if (n*sizeof(value_type) >= 14 * PAGE_SIZE_2M)
- os_free(p,n*sizeof(value_type),hugepages);
- else
- alignedFree(p);
- }
- else assert(n == 0);
-
- if (n) {
- assert(device);
- device->memoryMonitor(-ssize_t(n)*sizeof(T),true);
- }
- }
-
- __forceinline void construct( pointer p, const_reference val ) {
- new (p) T(val);
- }
-
- __forceinline void destroy( pointer p ) {
- p->~T();
- }
-
- private:
- MemoryMonitorInterface* device;
- bool hugepages;
- };
-
- /*! monitored vector */
- template<typename T>
- using mvector = vector_t<T,aligned_monitored_allocator<T,std::alignment_of<T>::value> >;
-}