[vmkit-commits] [vmkit] r82138 - in /vmkit/trunk/lib/JnJVM/Compiler: GCInfoPass.cpp JnjvmModule.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Thu Sep 17 02:27:58 PDT 2009
Author: geoffray
Date: Thu Sep 17 04:27:58 2009
New Revision: 82138
URL: http://llvm.org/viewvc/llvm-project?rev=82138&view=rev
Log:
No need for a GC info pass: we can get the GC info
from the GC strategy object.
Removed:
vmkit/trunk/lib/JnJVM/Compiler/GCInfoPass.cpp
Modified:
vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp
Removed: vmkit/trunk/lib/JnJVM/Compiler/GCInfoPass.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/GCInfoPass.cpp?rev=82137&view=auto
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/GCInfoPass.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/GCInfoPass.cpp (removed)
@@ -1,57 +0,0 @@
-//===---- GCInfoPass.cpp - Get GC info for JIT-generated functions --------===//
-//
-// The VMKit project
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#include "llvm/Function.h"
-#include "llvm/Pass.h"
-#include "llvm/CodeGen/GCMetadata.h"
-#include "llvm/Support/Compiler.h"
-
-#include "jnjvm/JnjvmModule.h"
-
-using namespace jnjvm;
-using namespace llvm;
-
-namespace {
- class VISIBILITY_HIDDEN GCInfoPass : public FunctionPass {
- public:
- static char ID;
- JavaLLVMCompiler* Comp;
- GCInfoPass(JavaLLVMCompiler* C) : FunctionPass(&ID) {
- Comp = C;
- }
-
- void getAnalysisUsage(AnalysisUsage &AU) const {
- FunctionPass::getAnalysisUsage(AU);
- AU.setPreservesAll();
- AU.addRequired<GCModuleInfo>();
- }
-
- bool runOnFunction(Function &F) {
- // Quick exit for functions that do not use GC.
- assert(F.hasGC() && "Function without GC");
- GCFunctionInfo &FI = getAnalysis<GCModuleInfo>().getFunctionInfo(F);
- JavaMethod* meth = Comp->getJavaMethod(&F);
- assert(meth && "Function without a Java method");
-
- LLVMMethodInfo* LMI = Comp->getMethodInfo(meth);
- LMI->GCInfo = &FI;
- return false;
- }
- };
-}
-
-char GCInfoPass::ID = 0;
-
-namespace jnjvm {
- FunctionPass* createGCInfo(JavaLLVMCompiler* C) {
- return new GCInfoPass(C);
- }
-}
-
Modified: vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp?rev=82138&r1=82137&r2=82138&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JnjvmModule.cpp Thu Sep 17 04:27:58 2009
@@ -377,7 +377,6 @@
namespace jnjvm {
llvm::FunctionPass* createLowerConstantCallsPass(JnjvmModule* M);
- llvm::FunctionPass* createGCInfo(JavaLLVMCompiler* Comp);
}
void JavaLLVMCompiler::addJavaPasses() {
@@ -386,8 +385,6 @@
// Lower constant calls to lower things like getClass used
// on synchronized methods.
JavaNativeFunctionPasses->add(createLowerConstantCallsPass(getIntrinsics()));
- if (cooperativeGC)
- JavaNativeFunctionPasses->add(createGCInfo(this));
JavaFunctionPasses = new FunctionPassManager(TheModuleProvider);
JavaFunctionPasses->add(new TargetData(TheModule));
@@ -398,6 +395,4 @@
// be given to the GC.
//JavaFunctionPasses->add(mvm::createEscapeAnalysisPass());
JavaFunctionPasses->add(createLowerConstantCallsPass(getIntrinsics()));
- if (cooperativeGC)
- JavaFunctionPasses->add(createGCInfo(this));
}
More information about the vmkit-commits
mailing list