blob: d03e9e25eee601be2b7d35a0ccc4165babc896af [file] [log] [blame]
//===- ParPoolAllocator.cpp: ----------------------------------------------===//
//
// The SAFECode Compiler
//
// This file was developed by the LLVM research group and is distributed under
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This allocator is used for parallel checking, which puts the execution of
// poolreigster / poolunregister into the checking thread.
//
//===----------------------------------------------------------------------===//
#include "ParPoolAllocator.h"
extern "C" {
void __sc_par_poolinit(PoolTy *Pool, unsigned NodeSize) {
ParPoolAllocator::poolinit(Pool, NodeSize);
}
void * __sc_par_poolalloc(PoolTy *Pool, unsigned NumBytes) {
return ParPoolAllocator::poolalloc(Pool, NumBytes);
}
void __sc_par_poolfree(PoolTy *Pool, void *Node) {
ParPoolAllocator::poolfree(Pool, Node);
}
void * __sc_par_poolrealloc(PoolTy *Pool, void *Node, unsigned NumBytes) {
return PoolAllocatorFacade<ParPoolAllocator>::realloc(Pool, Node, NumBytes);
}
void * __sc_par_poolcalloc(PoolTy *Pool, unsigned Number, unsigned NumBytes) {
return PoolAllocatorFacade<ParPoolAllocator>::calloc(Pool, Number, NumBytes);
}
void * __sc_par_poolstrdup(PoolTy *Pool, char *Node) {
return PoolAllocatorFacade<ParPoolAllocator>::strdup(Pool, Node);
}
}