about summary refs log tree commit diff
path: root/src/rt/memory.h
blob: 5bcc5ea9df824ebb94d22cee6ddc782e6b5a56fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// -*- c++ -*-
#ifndef MEMORY_H
#define MEMORY_H

// FIXME: It would be really nice to be able to get rid of this.
inline void *operator new[](size_t size, rust_task *task) {
    return task->malloc(size);
}

template <typename T>
inline void *task_owned<T>::operator new(size_t size, rust_task *task) {
    return task->malloc(size);
}

template <typename T>
inline void *task_owned<T>::operator new[](size_t size, rust_task *task) {
    return task->malloc(size);
}

template <typename T>
inline void *task_owned<T>::operator new(size_t size, rust_task &task) {
    return task.malloc(size);
}

template <typename T>
inline void *task_owned<T>::operator new[](size_t size, rust_task &task) {
    return task.malloc(size);
}

template <typename T>
inline void *kernel_owned<T>::operator new(size_t size, rust_kernel *kernel) {
    return kernel->malloc(size);
}


#endif /* MEMORY_H */