blob: f410b200e585daed8533dd10b5c8eec84b45bdb6 [file] [log] [blame]
//===-------- InlineMethods.cpp - Initialize the inline methods -----------===//
//
// The VMKit project
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include <llvm/CallingConv.h>
#include <llvm/Constants.h>
#include <llvm/DerivedTypes.h>
#include <llvm/Instructions.h>
#include <llvm/LLVMContext.h>
#include <llvm/Module.h>
#include <llvm/Type.h>
using namespace llvm;
namespace mmtk {
namespace mmtk_vt_malloc {
#include "MMTkVTMallocInline.inc"
}
namespace mmtk_vmkit_malloc {
#include "MMTkVMKitMallocInline.inc"
}
namespace mmtk_array_write {
#include "MMTkArrayWriteInline.inc"
}
namespace mmtk_field_write {
#include "MMTkFieldWriteInline.inc"
}
namespace mmtk_non_heap_write {
#include "MMTkNonHeapWriteInline.inc"
}
}
extern "C" void MMTk_InlineMethods(llvm::Module* module) {
mmtk::mmtk_vt_malloc::makeLLVMFunction(module);
mmtk::mmtk_vmkit_malloc::makeLLVMFunction(module);
mmtk::mmtk_field_write::makeLLVMFunction(module);
mmtk::mmtk_array_write::makeLLVMFunction(module);
mmtk::mmtk_non_heap_write::makeLLVMFunction(module);
}
namespace vmkit {
extern "C" void vmkit::makeLLVMFunctions_FinalMMTk(llvm::Module* module) {
MMTk_InlineMethods(module);
}
}