summaryrefslogtreecommitdiffstats
path: root/contrib/restricted/wavm/Lib/Runtime/ResourceQuota.cpp
blob: eaa2406d26cf8f69e345ae24df0dd4548a4508e6 (plain) (blame)
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
37
38
39
40
#include <memory>
#include "RuntimePrivate.h"
#include "WAVM/Platform/Mutex.h"
#include "WAVM/Runtime/Runtime.h"

using namespace WAVM;
using namespace WAVM::Runtime;

ResourceQuotaRef Runtime::createResourceQuota() { return std::make_shared<ResourceQuota>(); }

Uptr Runtime::getResourceQuotaMaxTableElems(ResourceQuotaConstRefParam resourceQuota)
{
	return resourceQuota->tableElems.getMax();
}

Uptr Runtime::getResourceQuotaCurrentTableElems(ResourceQuotaConstRefParam resourceQuota)
{
	return resourceQuota->tableElems.getCurrent();
}

void Runtime::setResourceQuotaMaxTableElems(ResourceQuotaRefParam resourceQuota, Uptr maxTableElems)
{
	resourceQuota->tableElems.setMax(maxTableElems);
}

Uptr Runtime::getResourceQuotaMaxMemoryPages(ResourceQuotaConstRefParam resourceQuota)
{
	return resourceQuota->memoryPages.getMax();
}

Uptr Runtime::getResourceQuotaCurrentMemoryPages(ResourceQuotaConstRefParam resourceQuota)
{
	return resourceQuota->memoryPages.getCurrent();
}

void Runtime::setResourceQuotaMaxMemoryPages(ResourceQuotaRefParam resourceQuota,
											 Uptr maxMemoryPages)
{
	resourceQuota->memoryPages.setMax(maxMemoryPages);
}